diff --git a/apps/web/src/lib/components/DeckStack.svelte b/apps/web/src/lib/components/DeckStack.svelte index 5014b4f..0251e72 100644 --- a/apps/web/src/lib/components/DeckStack.svelte +++ b/apps/web/src/lib/components/DeckStack.svelte @@ -5,6 +5,7 @@ import { t, tn } from '$lib/i18n/index.svelte.ts'; import CardSurface from './CardSurface.svelte'; import DeckCategoryIcon from './DeckCategoryIcon.svelte'; + import { PencilSimple } from '@mana/shared-icons'; interface Props { deck: Deck; @@ -43,6 +44,16 @@ {/each} {/if} + e.stopPropagation()} + aria-label="Deck bearbeiten" + title="Deck bearbeiten" + > + + + diff --git a/apps/web/src/lib/i18n/de.ts b/apps/web/src/lib/i18n/de.ts index da90080..23b4cf2 100644 --- a/apps/web/src/lib/i18n/de.ts +++ b/apps/web/src/lib/i18n/de.ts @@ -57,6 +57,18 @@ export const de: TranslationNode = { deck_stack: { aria_label: 'Stapel "{name}" — {cards} Karten, {due} fällig', }, + deck_edit: { + title: 'Deck bearbeiten', + back: '← Zurück zum Deck', + name_label: 'Name', + description_label: 'Beschreibung (optional)', + color_label: 'Farbe', + save: 'Speichern', + saving: 'Speichere…', + cancel: 'Abbrechen', + save_failed: 'Speichern fehlgeschlagen: {msg}', + saved: 'Deck gespeichert', + }, deck_new: { title: 'Neues Deck', name_label: 'Name', diff --git a/apps/web/src/lib/i18n/en.ts b/apps/web/src/lib/i18n/en.ts index eb99780..f80aecd 100644 --- a/apps/web/src/lib/i18n/en.ts +++ b/apps/web/src/lib/i18n/en.ts @@ -54,6 +54,18 @@ export const en: TranslationNode = { deck_stack: { aria_label: 'Stack "{name}" — {cards} cards, {due} due', }, + deck_edit: { + title: 'Edit deck', + back: '← Back to deck', + name_label: 'Name', + description_label: 'Description (optional)', + color_label: 'Color', + save: 'Save', + saving: 'Saving…', + cancel: 'Cancel', + save_failed: 'Save failed: {msg}', + saved: 'Deck saved', + }, deck_new: { title: 'New deck', name_label: 'Name', diff --git a/apps/web/src/routes/decks/[id]/edit/+page.svelte b/apps/web/src/routes/decks/[id]/edit/+page.svelte new file mode 100644 index 0000000..ba1ee50 --- /dev/null +++ b/apps/web/src/routes/decks/[id]/edit/+page.svelte @@ -0,0 +1,233 @@ + + +{#if !loading} +
+ {t('deck_edit.back')} +

{t('deck_edit.title')}

+ +
+
+ + + + +
+ {t('deck_edit.color_label')} +
+ + {color} + +
+
+
+ +
+ + {t('deck_edit.cancel')} +
+
+
+{/if} + +