frontend-toegevoegd

This commit is contained in:
2026-10-27 15:34:56 +01:00
parent 777d9f199d
commit 02337fafaa
43 changed files with 10548 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
<div class="page-heading">
<div>
<p class="eyebrow">JOUW ORGANISATIE</p>
<h1>Alle ruimte om te dansen.</h1>
<p class="lede">Van de eerste les tot het grote podium. Beheer je dansschool op één plek.</p>
</div>
<button type="button" class="button primary" (click)="editor.set(true)">
<span aria-hidden="true">+</span> Dansschool toevoegen
</button>
</div>
@if (notice()) {
<div class="alert success" role="status">
{{ notice()
}}<button type="button" aria-label="Melding sluiten" (click)="notice.set('')">×</button>
</div>
}
@if (loading()) {
<div class="loading-state" role="status"><span class="spinner"></span> Dansscholen laden…</div>
} @else if (error()) {
<div class="alert error" role="alert">
<p>{{ error() }}</p>
<button class="button secondary" type="button" (click)="load()">Opnieuw proberen</button>
</div>
} @else {
<div class="stats-grid">
<div class="stat">
<span class="stat-label">Dansscholen</span><strong>{{ schools().length }}</strong
><span class="stat-caption">Een plek voor iedere danser</span>
</div>
<div class="stat">
<span class="stat-label">Dansers</span><strong>{{ totalDancers() }}</strong
><span class="stat-caption">Samen in beweging</span>
</div>
<div class="stat">
<span class="stat-label">Dansgroepen</span><strong>{{ totalGroups() }}</strong
><span class="stat-caption">Ieder met een eigen ritme</span>
</div>
</div>
<div class="section-heading">
<h2>
Mijn dansscholen <span class="count-badge">{{ schools().length }}</span>
</h2>
<span class="muted">Selecteer een school om aan de slag te gaan</span>
</div>
<div class="school-grid">
@for (school of schools(); track school.id) {
<a class="school-card" [routerLink]="['/schools', school.id, 'overview']">
<div class="card-top">
<span aria-hidden="true" class="avatar">{{ school.name.charAt(0).toUpperCase() }}</span
><span class="round-arrow" aria-hidden="true">↗</span>
</div>
<h3>{{ school.name }}</h3>
<p>Dansschool</p>
<div class="card-meta">
<span
><strong>{{ school.dancerIds.length }}</strong> dansers</span
><span
><strong>{{ school.danceGroupIds.length }}</strong> groepen</span
><span
><strong>{{ school.showIds.length }}</strong> shows</span
>
</div>
<div class="card-link">Dansschool beheren <span aria-hidden="true">→</span></div>
</a>
} @empty {
<div class="empty-state full-width">
<span class="empty-symbol" aria-hidden="true">✳</span>
<h2>Hier begint jouw dansschool</h2>
<p>Maak een school aan en geef je dansers, groepen en shows een thuis.</p>
<button class="button primary" type="button" (click)="editor.set(true)">
Eerste dansschool aanmaken
</button>
</div>
}
</div>
<aside class="tip-panel">
<span class="tip-icon" aria-hidden="true">✦</span>
<div>
<h3>Van studio naar spotlight</h3>
<p>
Voeg je dansers toe, stel groepen samen en maak alvast een show aan. Zo bouw je stap voor
stap aan je volgende optreden.
</p>
</div>
</aside>
}
@if (editor()) {
<app-entity-editor
[target]="{ kind: 'school' }"
(closed)="editor.set(false)"
(saved)="created()"
/>
}