diff --git a/app/src/lib/types.ts b/app/src/lib/types.ts index ef52edf..219319b 100644 --- a/app/src/lib/types.ts +++ b/app/src/lib/types.ts @@ -43,6 +43,7 @@ export interface Mitglied { } export type Rolle = 'admin' | 'trainer'; +export type Verfuegbarkeit = 'offen' | 'bestaetigt' | 'abgesagt' | 'vertretung_gesucht'; export interface Gruppe { id: string; @@ -87,6 +88,8 @@ export interface Termin { ende?: string; ort?: string; gruppe_ids: string[]; + durchfuehrender_id?: string; + verfuegbarkeit?: Verfuegbarkeit; } export interface Nachricht { diff --git a/app/src/routes/(app)/einstellungen/+page.svelte b/app/src/routes/(app)/einstellungen/+page.svelte index 455e201..8cba42a 100644 --- a/app/src/routes/(app)/einstellungen/+page.svelte +++ b/app/src/routes/(app)/einstellungen/+page.svelte @@ -208,7 +208,7 @@ {#if isAdmin()}
-

Trainer

+

Durchführende

{#if trainer.length === 0}

Noch keine Trainer eingeladen.

{:else} diff --git a/app/src/routes/(app)/termine/+page.svelte b/app/src/routes/(app)/termine/+page.svelte index ed2d3fc..47f2314 100644 --- a/app/src/routes/(app)/termine/+page.svelte +++ b/app/src/routes/(app)/termine/+page.svelte @@ -1,25 +1,29 @@ @@ -134,13 +156,21 @@

Termine

- + {#if isAdmin()} + + {/if}
+{#if isAdmin() && offene.length > 0} +
+ ⚠ {offene.length} {offene.length === 1 ? 'Termin benötigt' : 'Termine benötigen'} eine Bestätigung +
+{/if} + {#if loading}

Laden…

{:else if termine.length === 0} -

Noch keine Termine – lege den ersten an!

+

Noch keine Termine geplant.

{:else} {#if upcoming.length > 0} @@ -184,9 +253,11 @@ {t.titel} {formatDatum(t.beginn)}{t.ort ? ' · ' + t.ort : ''} -
- -
+ {#if isAdmin()} +
+ +
+ {/if} {/each} @@ -194,18 +265,16 @@ {/if} {/if} - -{#if showForm} + +{#if showForm && isAdmin()} {/if} - + {#if showDelete}