Training + Liste erneuert

This commit is contained in:
2024-11-27 20:30:52 +01:00
parent 2c7fbac29c
commit ab021cb4c2
6 changed files with 274 additions and 51 deletions

View File

@@ -1,12 +1,11 @@
// src/app/deck-list.component.ts
import { Component, OnInit, ViewChild } from '@angular/core';
import { DeckService, Deck } from './deck.service';
import { DeckService, Deck, DeckImage } from './deck.service';
import { CommonModule } from '@angular/common';
import { CreateDeckModalComponent } from './create-deck-modal/create-deck-modal.component';
import { TrainingComponent } from './training/training.component';
import { UploadImageModalComponent } from './upload-image-modal/upload-image-modal.component';
@Component({
selector: 'app-deck-list',
templateUrl: './deck-list.component.html',
@@ -50,6 +49,22 @@ export class DeckListComponent implements OnInit {
});
}
// Neue Methode zum Löschen eines Bildes
deleteImage(deck: Deck, image: DeckImage): void {
if (!confirm(`Bist du sicher, dass du das Bild "${image.name}" löschen möchtest?`)) {
return;
}
// Hier gehen wir davon aus, dass das Deck eine eindeutige ID hat. Falls nicht, passe den Code entsprechend an.
const deckId = deck.id; // Stelle sicher, dass das Deck eine `id` hat
const imageName = image.name; // Stelle sicher, dass das Bild eine `id` hat
this.deckService.deleteImage(imageName).subscribe({
next: () => this.loadDecks(),
error: (err) => console.error('Fehler beim Löschen des Bildes', err)
});
}
openTraining(deck: Deck): void {
this.selectedDeck = deck;
}
@@ -69,4 +84,3 @@ export class DeckListComponent implements OnInit {
this.uploadImageModal.open();
}
}