refactor: unify recipe routes into [recipeLang] slug with full bilingual support

Consolidate /rezepte and /recipes routes into single [recipeLang] structure to eliminate code duplication. All pages now use conditional API routing and reactive labels based on language parameter.

- Merge duplicate route structures into /[recipeLang] with 404 for invalid slugs
- Add English API endpoints for search, favorites, tags, and categories
- Implement language dropdown in header with localStorage persistence
- Convert all pages to use Svelte 5 runes (, , )
- Add German-only redirects (301) for add/edit pages
- Make all view pages (list, detail, filters, search, favorites) fully bilingual
- Remove floating language switcher in favor of header dropdown
This commit is contained in:
2025-12-26 21:19:27 +01:00
parent 36a7fac39a
commit 6de3d76504
72 changed files with 417511 additions and 1097 deletions

View File

@@ -4,6 +4,7 @@
import Search from './Search.svelte';
export let icons
export let active_icon
export let routePrefix = '/rezepte'
</script>
<style>
@@ -68,7 +69,7 @@
<div class=flex>
{#each icons as icon, i}
<a class:active={active_icon == icon} href="/rezepte/icon/{icon}">{icon}</a>
<a class:active={active_icon == icon} href="{routePrefix}/icon/{icon}">{icon}</a>
{/each}
</div>
<section>