This commit is contained in:
Tizian.Breuch
2025-09-09 16:09:28 +02:00
parent 5601cd0110
commit b97fc21024
17 changed files with 645 additions and 249 deletions

View File

@@ -1,11 +1,26 @@
<div class="menu-container" [class.open]="isOpen">
<!-- Hier wird der Button, der das Menü auslöst, von außen eingefügt -->
<div (click)="toggle()">
<ng-content select="[menu-trigger]"></ng-content>
</div>
<div class="menu-container" [class.open]="isMenuOpen">
<div class="menu-panel card">
<!-- Hier werden die Menü-Einträge von außen eingefügt -->
<ng-content></ng-content>
<!-- Der Trigger-Button bleibt Teil der Komponente -->
<app-button (click)="isMenuOpen = !isMenuOpen">
Menü öffnen
</app-button>
<!-- Das Panel wird nur angezeigt, wenn das Menü offen ist -->
<div *ngIf="isMenuOpen" class="menu-panel card" @menuAnimation>
<!-- Schleife, die die dynamischen Einträge rendert -->
<ng-container *ngFor="let item of items">
<!-- Zeigt einen Trenner an, wenn `dividerBefore` true ist -->
<hr class="divider" *ngIf="item.dividerBefore" />
<!-- Der eigentliche Menü-Eintrag -->
<a
class="menu-item"
[class.menu-item-danger]="item.isDanger"
(click)="onItemClick(item)">
{{ item.label }}
</a>
</ng-container>
</div>
</div>