diff --git a/src/app/deck-list.component.html b/src/app/deck-list.component.html
index afacd6b..28dd7f0 100644
--- a/src/app/deck-list.component.html
+++ b/src/app/deck-list.component.html
@@ -31,17 +31,19 @@
-
-
-
-
- {{ image.name }}
-
-
-
-

+
+
+
+
+

+
+
+
+ {{ image.name }}
+
+
({{ image.boxes.length }} Boxen)
-
({{ image.boxes.length }} Boxen)
-
-
-
-
-
-
-
diff --git a/src/app/deck-list.component.ts b/src/app/deck-list.component.ts
index e794931..60caf55 100644
--- a/src/app/deck-list.component.ts
+++ b/src/app/deck-list.component.ts
@@ -26,12 +26,13 @@ export class DeckListComponent implements OnInit {
currentUploadDeckName: string = '';
- // Hinzugefügt: Set zur Verfolgung erweiterter Decks
+ // Set zur Verfolgung erweiterter Decks
expandedDecks: Set = new Set();
constructor(private deckService: DeckService) { }
ngOnInit(): void {
+ this.loadExpandedDecks();
this.loadDecks();
}
@@ -52,7 +53,7 @@ export class DeckListComponent implements OnInit {
});
}
- deleteImage(image: DeckImage): void {
+ deleteImage(deck: Deck, image: DeckImage): void {
if (!confirm(`Bist du sicher, dass du das Bild "${image.name}" löschen möchtest?`)) {
return;
}
@@ -84,17 +85,50 @@ export class DeckListComponent implements OnInit {
this.uploadImageModal.open();
}
- // Hinzugefügt: Methode zum Umschalten der Deck-Erweiterung
+ // Methode zum Umschalten der Deck-Erweiterung
toggleDeckExpansion(deckId: number): void {
if (this.expandedDecks.has(deckId)) {
this.expandedDecks.delete(deckId);
} else {
this.expandedDecks.add(deckId);
}
+ this.saveExpandedDecks();
}
- // Hinzugefügt: Methode zur Überprüfung, ob ein Deck erweitert ist
+ // Methode zur Überprüfung, ob ein Deck erweitert ist
isDeckExpanded(deckId: number): boolean {
return this.expandedDecks.has(deckId);
}
+
+ // Laden der erweiterten Decks aus dem sessionStorage
+ loadExpandedDecks(): void {
+ const stored = sessionStorage.getItem('expandedDecks');
+ if (stored) {
+ try {
+ const parsed: number[] = JSON.parse(stored);
+ this.expandedDecks = new Set(parsed);
+ } catch (e) {
+ console.error('Fehler beim Parsen der erweiterten Decks aus sessionStorage', e);
+ }
+ } else {
+ // Wenn keine Daten gespeichert sind, alle Decks standardmäßig erweitern
+ this.expandedDecks = new Set();
+ // Dieser Teil wird nach dem Laden der Decks initialisiert
+ // Wir erweitern alle Decks, sobald sie geladen sind
+ this.deckService.getDecks().subscribe({
+ next: (data) => {
+ data.forEach(deck => this.expandedDecks.add(deck.id));
+ this.saveExpandedDecks();
+ this.decks = data;
+ },
+ error: (err) => console.error('Fehler beim Laden der Decks', err)
+ });
+ }
+ }
+
+ // Speichern der erweiterten Decks in das sessionStorage
+ saveExpandedDecks(): void {
+ const expandedArray = Array.from(this.expandedDecks);
+ sessionStorage.setItem('expandedDecks', JSON.stringify(expandedArray));
+ }
}
diff --git a/src/app/upload-image-modal/upload-image-modal.component.ts b/src/app/upload-image-modal/upload-image-modal.component.ts
index f4ecfa8..0acbc22 100644
--- a/src/app/upload-image-modal/upload-image-modal.component.ts
+++ b/src/app/upload-image-modal/upload-image-modal.component.ts
@@ -230,7 +230,7 @@ export class UploadImageModalComponent implements AfterViewInit, OnDestroy {
top: top,
width: width,
height: height,
- fill: 'rgba(0, 0, 0, 0.3)',
+ fill: 'rgba(255, 0, 0, 0.3)',
selectable: true,
hasControls: true,
hasBorders: true,