From 85600777592e1c619abb2019ecfff6aa45b6109f Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Tue, 10 Feb 2026 21:46:16 +0100 Subject: [PATCH] refactor: reorganize components into domain subfolders and replace relative imports Move components from flat src/lib/components/ into recipes/, faith/, and cospend/ subdirectories. Replace ~144 relative imports across API routes and lib files with $models, $utils, $types, and $lib aliases. Add $types alias to svelte.config.js. Remove unused EditRecipe.svelte. --- src/lib/components/EditRecipe.svelte | 326 ------------------ .../components/{ => cospend}/BarChart.svelte | 0 .../{ => cospend}/DebtBreakdown.svelte | 0 .../{ => cospend}/EnhancedBalance.svelte | 0 .../{ => cospend}/PaymentModal.svelte | 2 +- .../{ => cospend}/ProfilePicture.svelte | 0 .../{ => cospend}/SplitMethodSelector.svelte | 0 .../components/{ => cospend}/UsersList.svelte | 0 .../{ => faith}/BenedictusMedal.svelte | 0 .../components/{ => faith}/BibleModal.svelte | 0 .../components/{ => faith}/FireEffect.svelte | 0 .../{ => faith}/LanguageToggle.svelte | 2 +- .../components/{ => faith}/MysteryIcon.svelte | 0 .../components/{ => faith}/PipImage.svelte | 0 .../components/{ => faith}/StickyImage.svelte | 2 +- .../components/{ => faith}/StreakAura.svelte | 0 .../{ => faith}/StreakCounter.svelte | 2 +- .../{ => faith}/prayers/AblassGebete.svelte | 0 .../{ => faith}/prayers/AveMaria.svelte | 0 .../prayers/BruderKlausGebet.svelte | 0 .../{ => faith}/prayers/Confiteor.svelte | 0 .../{ => faith}/prayers/Credo.svelte | 0 .../{ => faith}/prayers/FatimaGebet.svelte | 0 .../{ => faith}/prayers/Gloria.svelte | 0 .../{ => faith}/prayers/GloriaPatri.svelte | 0 .../{ => faith}/prayers/JosephGebet.svelte | 0 .../{ => faith}/prayers/Kreuzzeichen.svelte | 0 .../{ => faith}/prayers/MichaelGebet.svelte | 0 .../{ => faith}/prayers/Paternoster.svelte | 0 .../{ => faith}/prayers/Prayer.svelte | 0 .../prayers/RosaryFinalPrayer.svelte | 0 .../{ => faith}/prayers/SalveRegina.svelte | 0 .../{ => recipes}/BaseRecipeSelector.svelte | 2 +- src/lib/components/{ => recipes}/Card.svelte | 0 .../components/{ => recipes}/CardAdd.svelte | 0 .../{ => recipes}/CategoryFilter.svelte | 2 +- .../{ => recipes}/CreateIngredientList.svelte | 4 +- .../{ => recipes}/CreateStepList.svelte | 4 +- .../{ => recipes}/EditRecipeNote.svelte | 0 .../{ => recipes}/EditableIngredients.svelte | 0 .../{ => recipes}/EditableInstructions.svelte | 0 .../{ => recipes}/FavoritesFilter.svelte | 2 +- .../{ => recipes}/FilterPanel.svelte | 0 .../GenerateAltTextButton.svelte | 0 .../{ => recipes}/HefeSwapper.svelte | 0 src/lib/components/{ => recipes}/Icon.svelte | 0 .../{ => recipes}/IconFilter.svelte | 2 +- .../{ => recipes}/IconLayout.svelte | 2 +- .../{ => recipes}/IngredientListList.svelte | 0 .../{ => recipes}/IngredientsPage.svelte | 0 .../{ => recipes}/InstructionsPage.svelte | 0 .../{ => recipes}/LogicModeToggle.svelte | 0 .../{ => recipes}/MediaScroller.svelte | 0 .../{ => recipes}/RecipeEditor.svelte | 14 +- .../RecipeLanguageSwitcher.svelte | 0 .../{ => recipes}/RecipeNote.svelte | 0 .../components/{ => recipes}/Recipes.svelte | 0 .../components/{ => recipes}/Search.svelte | 0 .../{ => recipes}/SeasonFilter.svelte | 2 +- .../{ => recipes}/SeasonLayout.svelte | 2 +- .../{ => recipes}/SeasonSelect.svelte | 0 .../components/{ => recipes}/TagChip.svelte | 0 .../components/{ => recipes}/TagFilter.svelte | 2 +- .../{ => recipes}/TitleImgParallax.svelte | 2 +- .../{ => recipes}/TranslationApproval.svelte | 4 +- .../TranslationFieldComparison.svelte | 0 src/lib/components/{ => recipes}/do_on_key.js | 0 src/lib/offline/db.ts | 2 +- src/lib/offline/sync.ts | 2 +- src/lib/server/scheduler.ts | 10 +- src/lib/utils/currency.ts | 4 +- src/lib/utils/recurring.ts | 2 +- .../[prayers=prayersLang]/+page.svelte | 30 +- .../[prayer]/+page.svelte | 30 +- .../[rosary=rosaryLang]/+page.svelte | 28 +- .../angelus/+page.svelte | 6 +- .../[recipeLang=recipeLang]/+page.svelte | 6 +- .../[name]/+page.svelte | 8 +- .../[recipeLang=recipeLang]/add/+page.svelte | 10 +- .../admin/untranslated/+page.svelte | 4 +- .../category/[category]/+page.svelte | 6 +- .../edit/[name]/+page.svelte | 14 +- .../favorites/+page.svelte | 6 +- .../[recipeLang=recipeLang]/icon/+page.svelte | 10 +- .../icon/[icon]/+page.svelte | 10 +- .../search/+page.svelte | 6 +- .../season/+page.svelte | 10 +- .../season/[month]/+page.svelte | 10 +- .../tag/[tag]/+page.svelte | 6 +- src/routes/api/cospend/balance/+server.ts | 6 +- src/routes/api/cospend/debts/+server.ts | 6 +- .../api/cospend/exchange-rates/+server.ts | 4 +- .../api/cospend/monthly-expenses/+server.ts | 4 +- src/routes/api/cospend/payments/+server.ts | 8 +- .../api/cospend/payments/[id]/+server.ts | 6 +- .../api/cospend/recurring-payments/+server.ts | 6 +- .../recurring-payments/[id]/+server.ts | 6 +- .../cron-execute/+server.ts | 10 +- .../recurring-payments/execute/+server.ts | 12 +- .../recurring-payments/scheduler/+server.ts | 2 +- src/routes/api/fitness/exercises/+server.ts | 2 +- .../api/fitness/exercises/[id]/+server.ts | 2 +- .../api/fitness/exercises/filters/+server.ts | 2 +- .../api/fitness/seed-example/+server.ts | 2 +- src/routes/api/fitness/sessions/+server.ts | 4 +- .../api/fitness/sessions/[id]/+server.ts | 2 +- src/routes/api/fitness/templates/+server.ts | 2 +- .../api/fitness/templates/[id]/+server.ts | 2 +- .../api/glaube/rosary-streak/+server.ts | 4 +- .../api/recipes/favorites/recipes/+server.ts | 8 +- .../api/recipes/items/[name]/+server.ts | 4 +- .../api/recipes/items/all_brief/+server.ts | 6 +- .../api/recipes/items/category/+server.ts | 4 +- .../items/category/[category]/+server.ts | 6 +- .../api/recipes/items/icon/[icon]/+server.ts | 6 +- .../items/in_season/[month]/+server.ts | 4 +- src/routes/api/recipes/items/tag/+server.ts | 4 +- .../api/recipes/items/tag/[tag]/+server.ts | 6 +- src/routes/api/recipes/search/+server.ts | 6 +- src/routes/api/rezepte/add/+server.ts | 4 +- .../api/rezepte/base-recipes/+server.ts | 4 +- .../rezepte/check-references/[id]/+server.ts | 4 +- src/routes/api/rezepte/delete/+server.ts | 8 +- src/routes/api/rezepte/edit/+server.ts | 6 +- src/routes/api/rezepte/favorites/+server.ts | 6 +- .../favorites/check/[shortName]/+server.ts | 6 +- .../api/rezepte/favorites/recipes/+server.ts | 8 +- .../api/rezepte/items/[name]/+server.ts | 6 +- .../api/rezepte/items/all_brief/+server.ts | 6 +- .../api/rezepte/items/category/+server.ts | 6 +- .../items/category/[category]/+server.ts | 6 +- src/routes/api/rezepte/items/icon/+server.ts | 6 +- .../api/rezepte/items/icon/[icon]/+server.ts | 6 +- .../items/in_season/[month]/+server.ts | 4 +- src/routes/api/rezepte/items/tag/+server.ts | 6 +- .../api/rezepte/items/tag/[tag]/+server.ts | 6 +- .../api/rezepte/json-ld/[name]/+server.ts | 6 +- src/routes/api/rezepte/offline-db/+server.ts | 6 +- src/routes/api/rezepte/search/+server.ts | 6 +- .../rezepte/translate/untranslated/+server.ts | 4 +- src/routes/cospend/+layout.svelte | 2 +- src/routes/cospend/+page.svelte | 8 +- src/routes/cospend/payments/+page.svelte | 2 +- src/routes/cospend/payments/add/+page.svelte | 6 +- .../cospend/payments/view/[id]/+page.svelte | 2 +- src/routes/cospend/recurring/+page.svelte | 2 +- .../cospend/recurring/edit/[id]/+page.svelte | 6 +- src/routes/cospend/settle/+page.svelte | 2 +- svelte.config.js | 3 +- 149 files changed, 286 insertions(+), 611 deletions(-) delete mode 100644 src/lib/components/EditRecipe.svelte rename src/lib/components/{ => cospend}/BarChart.svelte (100%) rename src/lib/components/{ => cospend}/DebtBreakdown.svelte (100%) rename src/lib/components/{ => cospend}/EnhancedBalance.svelte (100%) rename src/lib/components/{ => cospend}/PaymentModal.svelte (99%) rename src/lib/components/{ => cospend}/ProfilePicture.svelte (100%) rename src/lib/components/{ => cospend}/SplitMethodSelector.svelte (100%) rename src/lib/components/{ => cospend}/UsersList.svelte (100%) rename src/lib/components/{ => faith}/BenedictusMedal.svelte (100%) rename src/lib/components/{ => faith}/BibleModal.svelte (100%) rename src/lib/components/{ => faith}/FireEffect.svelte (100%) rename src/lib/components/{ => faith}/LanguageToggle.svelte (96%) rename src/lib/components/{ => faith}/MysteryIcon.svelte (100%) rename src/lib/components/{ => faith}/PipImage.svelte (100%) rename src/lib/components/{ => faith}/StickyImage.svelte (98%) rename src/lib/components/{ => faith}/StreakAura.svelte (100%) rename src/lib/components/{ => faith}/StreakCounter.svelte (97%) rename src/lib/components/{ => faith}/prayers/AblassGebete.svelte (100%) rename src/lib/components/{ => faith}/prayers/AveMaria.svelte (100%) rename src/lib/components/{ => faith}/prayers/BruderKlausGebet.svelte (100%) rename src/lib/components/{ => faith}/prayers/Confiteor.svelte (100%) rename src/lib/components/{ => faith}/prayers/Credo.svelte (100%) rename src/lib/components/{ => faith}/prayers/FatimaGebet.svelte (100%) rename src/lib/components/{ => faith}/prayers/Gloria.svelte (100%) rename src/lib/components/{ => faith}/prayers/GloriaPatri.svelte (100%) rename src/lib/components/{ => faith}/prayers/JosephGebet.svelte (100%) rename src/lib/components/{ => faith}/prayers/Kreuzzeichen.svelte (100%) rename src/lib/components/{ => faith}/prayers/MichaelGebet.svelte (100%) rename src/lib/components/{ => faith}/prayers/Paternoster.svelte (100%) rename src/lib/components/{ => faith}/prayers/Prayer.svelte (100%) rename src/lib/components/{ => faith}/prayers/RosaryFinalPrayer.svelte (100%) rename src/lib/components/{ => faith}/prayers/SalveRegina.svelte (100%) rename src/lib/components/{ => recipes}/BaseRecipeSelector.svelte (98%) rename src/lib/components/{ => recipes}/Card.svelte (100%) rename src/lib/components/{ => recipes}/CardAdd.svelte (100%) rename src/lib/components/{ => recipes}/CategoryFilter.svelte (98%) rename src/lib/components/{ => recipes}/CreateIngredientList.svelte (99%) rename src/lib/components/{ => recipes}/CreateStepList.svelte (99%) rename src/lib/components/{ => recipes}/EditRecipeNote.svelte (100%) rename src/lib/components/{ => recipes}/EditableIngredients.svelte (100%) rename src/lib/components/{ => recipes}/EditableInstructions.svelte (100%) rename src/lib/components/{ => recipes}/FavoritesFilter.svelte (95%) rename src/lib/components/{ => recipes}/FilterPanel.svelte (100%) rename src/lib/components/{ => recipes}/GenerateAltTextButton.svelte (100%) rename src/lib/components/{ => recipes}/HefeSwapper.svelte (100%) rename src/lib/components/{ => recipes}/Icon.svelte (100%) rename src/lib/components/{ => recipes}/IconFilter.svelte (98%) rename src/lib/components/{ => recipes}/IconLayout.svelte (96%) rename src/lib/components/{ => recipes}/IngredientListList.svelte (100%) rename src/lib/components/{ => recipes}/IngredientsPage.svelte (100%) rename src/lib/components/{ => recipes}/InstructionsPage.svelte (100%) rename src/lib/components/{ => recipes}/LogicModeToggle.svelte (100%) rename src/lib/components/{ => recipes}/MediaScroller.svelte (100%) rename src/lib/components/{ => recipes}/RecipeEditor.svelte (75%) rename src/lib/components/{ => recipes}/RecipeLanguageSwitcher.svelte (100%) rename src/lib/components/{ => recipes}/RecipeNote.svelte (100%) rename src/lib/components/{ => recipes}/Recipes.svelte (100%) rename src/lib/components/{ => recipes}/Search.svelte (100%) rename src/lib/components/{ => recipes}/SeasonFilter.svelte (98%) rename src/lib/components/{ => recipes}/SeasonLayout.svelte (96%) rename src/lib/components/{ => recipes}/SeasonSelect.svelte (100%) rename src/lib/components/{ => recipes}/TagChip.svelte (100%) rename src/lib/components/{ => recipes}/TagFilter.svelte (98%) rename src/lib/components/{ => recipes}/TitleImgParallax.svelte (98%) rename src/lib/components/{ => recipes}/TranslationApproval.svelte (99%) rename src/lib/components/{ => recipes}/TranslationFieldComparison.svelte (100%) rename src/lib/components/{ => recipes}/do_on_key.js (100%) diff --git a/src/lib/components/EditRecipe.svelte b/src/lib/components/EditRecipe.svelte deleted file mode 100644 index 95cd892..0000000 --- a/src/lib/components/EditRecipe.svelte +++ /dev/null @@ -1,326 +0,0 @@ - - - -

{title}

- - - -

Kurzname (für URL):

- - -
-
-

Eine etwas längere Beschreibung:

-

-
-

Saison:

- -
- -
-
- -
-
- -
-
- -
-
- -
-

Nachtrag:

-
-
- -{#if actions.includes('add')} -
-

Neues Rezept hinzufügen:

- - -
-{/if} -{#if actions.includes('edit')} -
-

Editiertes Rezept abspeichern:

- - -
-{/if} - -{#if actions.includes('delete')} -
-

Rezept löschen:

- - -
-{/if} diff --git a/src/lib/components/BarChart.svelte b/src/lib/components/cospend/BarChart.svelte similarity index 100% rename from src/lib/components/BarChart.svelte rename to src/lib/components/cospend/BarChart.svelte diff --git a/src/lib/components/DebtBreakdown.svelte b/src/lib/components/cospend/DebtBreakdown.svelte similarity index 100% rename from src/lib/components/DebtBreakdown.svelte rename to src/lib/components/cospend/DebtBreakdown.svelte diff --git a/src/lib/components/EnhancedBalance.svelte b/src/lib/components/cospend/EnhancedBalance.svelte similarity index 100% rename from src/lib/components/EnhancedBalance.svelte rename to src/lib/components/cospend/EnhancedBalance.svelte diff --git a/src/lib/components/PaymentModal.svelte b/src/lib/components/cospend/PaymentModal.svelte similarity index 99% rename from src/lib/components/PaymentModal.svelte rename to src/lib/components/cospend/PaymentModal.svelte index caca979..262e607 100644 --- a/src/lib/components/PaymentModal.svelte +++ b/src/lib/components/cospend/PaymentModal.svelte @@ -3,7 +3,7 @@ import { goto } from '$app/navigation'; import { page } from '$app/stores'; import ProfilePicture from './ProfilePicture.svelte'; - import EditButton from './EditButton.svelte'; + import EditButton from '$lib/components/EditButton.svelte'; import { getCategoryEmoji, getCategoryName } from '$lib/utils/categories'; import { formatCurrency as formatCurrencyUtil } from '$lib/utils/formatters'; diff --git a/src/lib/components/ProfilePicture.svelte b/src/lib/components/cospend/ProfilePicture.svelte similarity index 100% rename from src/lib/components/ProfilePicture.svelte rename to src/lib/components/cospend/ProfilePicture.svelte diff --git a/src/lib/components/SplitMethodSelector.svelte b/src/lib/components/cospend/SplitMethodSelector.svelte similarity index 100% rename from src/lib/components/SplitMethodSelector.svelte rename to src/lib/components/cospend/SplitMethodSelector.svelte diff --git a/src/lib/components/UsersList.svelte b/src/lib/components/cospend/UsersList.svelte similarity index 100% rename from src/lib/components/UsersList.svelte rename to src/lib/components/cospend/UsersList.svelte diff --git a/src/lib/components/BenedictusMedal.svelte b/src/lib/components/faith/BenedictusMedal.svelte similarity index 100% rename from src/lib/components/BenedictusMedal.svelte rename to src/lib/components/faith/BenedictusMedal.svelte diff --git a/src/lib/components/BibleModal.svelte b/src/lib/components/faith/BibleModal.svelte similarity index 100% rename from src/lib/components/BibleModal.svelte rename to src/lib/components/faith/BibleModal.svelte diff --git a/src/lib/components/FireEffect.svelte b/src/lib/components/faith/FireEffect.svelte similarity index 100% rename from src/lib/components/FireEffect.svelte rename to src/lib/components/faith/FireEffect.svelte diff --git a/src/lib/components/LanguageToggle.svelte b/src/lib/components/faith/LanguageToggle.svelte similarity index 96% rename from src/lib/components/LanguageToggle.svelte rename to src/lib/components/faith/LanguageToggle.svelte index 951e036..053873c 100644 --- a/src/lib/components/LanguageToggle.svelte +++ b/src/lib/components/faith/LanguageToggle.svelte @@ -1,7 +1,7 @@