init release

This commit is contained in:
2024-11-17 11:56:55 +01:00
parent 435753880c
commit 21cde45999
18 changed files with 1023 additions and 157 deletions

View File

@@ -0,0 +1,58 @@
// src/app/deck-list.component.ts
import { Component, OnInit } from '@angular/core';
import { DeckService, Deck } from './deck.service';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
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';
import { initFlowbite } from 'flowbite';
@Component({
selector: 'app-deck-list',
templateUrl: './deck-list.component.html',
standalone: true,
imports: [
CommonModule,
CreateDeckModalComponent,
UploadImageModalComponent,
TrainingComponent
]
})
export class DeckListComponent implements OnInit {
decks: Deck[] = [];
selectedDeck: Deck | null = null;
constructor(private deckService: DeckService) { }
ngOnInit(): void {
this.loadDecks();
}
loadDecks(): void {
this.deckService.getDecks().subscribe({
next: (data) => this.decks = data,
error: (err) => console.error('Fehler beim Laden der Decks', err)
});
}
deleteDeck(deckName: string): void {
if (!confirm(`Bist du sicher, dass du das Deck "${deckName}" löschen möchtest?`)) {
return;
}
this.deckService.deleteDeck(deckName).subscribe({
next: () => this.loadDecks(),
error: (err) => console.error('Fehler beim Löschen des Decks', err)
});
}
openTraining(deck: Deck): void {
this.selectedDeck = deck;
}
closeTraining(): void {
this.selectedDeck = null;
this.loadDecks();
}
}