From 3e43b731c9cdc8ebeeb3626d54d07fa2a4626440 Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Fri, 26 Dec 2025 22:48:01 +0100 Subject: [PATCH] add route matcher to fix /login and /logout routes Use SvelteKit param matcher to constrain [recipeLang] to only match 'recipes' or 'rezepte', preventing it from catching /login, /logout, and other non-recipe routes. --- src/params/recipeLang.ts | 5 +++++ .../+layout.server.ts | 0 .../{[recipeLang] => [recipeLang=recipeLang]}/+layout.svelte | 0 .../+page.server.ts | 0 .../{[recipeLang] => [recipeLang=recipeLang]}/+page.svelte | 0 .../[name]/+page.server.ts | 0 .../[name]/+page.svelte | 0 .../[name]/+page.ts | 0 .../add/+page.server.ts | 0 .../add/+page.svelte | 0 .../category/+page.svelte | 0 .../category/+page.ts | 0 .../category/[category]/+page.server.ts | 0 .../category/[category]/+page.svelte | 0 .../edit/[name]/+page.server.ts | 0 .../edit/[name]/+page.svelte | 0 .../favorites/+page.server.ts | 0 .../favorites/+page.svelte | 0 .../icon/+page.svelte | 0 .../{[recipeLang] => [recipeLang=recipeLang]}/icon/+page.ts | 0 .../icon/[icon]/+page.server.ts | 0 .../icon/[icon]/+page.svelte | 0 .../search/+page.server.ts | 0 .../search/+page.svelte | 0 .../season/+page.server.ts | 0 .../season/+page.svelte | 0 .../season/[month]/+page.server.ts | 0 .../season/[month]/+page.svelte | 0 .../tag/+page.svelte | 0 .../{[recipeLang] => [recipeLang=recipeLang]}/tag/+page.ts | 0 .../tag/[tag]/+page.server.ts | 0 .../tag/[tag]/+page.svelte | 0 .../tips-and-tricks/+page.svelte | 0 .../tips-and-tricks/Converter.svelte | 0 34 files changed, 5 insertions(+) create mode 100644 src/params/recipeLang.ts rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/+layout.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/+layout.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/[name]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/[name]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/[name]/+page.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/add/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/add/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/category/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/category/+page.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/category/[category]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/category/[category]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/edit/[name]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/edit/[name]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/favorites/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/favorites/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/icon/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/icon/+page.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/icon/[icon]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/icon/[icon]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/search/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/search/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/season/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/season/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/season/[month]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/season/[month]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tag/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tag/+page.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tag/[tag]/+page.server.ts (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tag/[tag]/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tips-and-tricks/+page.svelte (100%) rename src/routes/{[recipeLang] => [recipeLang=recipeLang]}/tips-and-tricks/Converter.svelte (100%) diff --git a/src/params/recipeLang.ts b/src/params/recipeLang.ts new file mode 100644 index 0000000..c121430 --- /dev/null +++ b/src/params/recipeLang.ts @@ -0,0 +1,5 @@ +import type { ParamMatcher } from '@sveltejs/kit'; + +export const match: ParamMatcher = (param) => { + return param === 'recipes' || param === 'rezepte'; +}; diff --git a/src/routes/[recipeLang]/+layout.server.ts b/src/routes/[recipeLang=recipeLang]/+layout.server.ts similarity index 100% rename from src/routes/[recipeLang]/+layout.server.ts rename to src/routes/[recipeLang=recipeLang]/+layout.server.ts diff --git a/src/routes/[recipeLang]/+layout.svelte b/src/routes/[recipeLang=recipeLang]/+layout.svelte similarity index 100% rename from src/routes/[recipeLang]/+layout.svelte rename to src/routes/[recipeLang=recipeLang]/+layout.svelte diff --git a/src/routes/[recipeLang]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/+page.server.ts diff --git a/src/routes/[recipeLang]/+page.svelte b/src/routes/[recipeLang=recipeLang]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/+page.svelte diff --git a/src/routes/[recipeLang]/[name]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/[name]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/[name]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/[name]/+page.server.ts diff --git a/src/routes/[recipeLang]/[name]/+page.svelte b/src/routes/[recipeLang=recipeLang]/[name]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/[name]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/[name]/+page.svelte diff --git a/src/routes/[recipeLang]/[name]/+page.ts b/src/routes/[recipeLang=recipeLang]/[name]/+page.ts similarity index 100% rename from src/routes/[recipeLang]/[name]/+page.ts rename to src/routes/[recipeLang=recipeLang]/[name]/+page.ts diff --git a/src/routes/[recipeLang]/add/+page.server.ts b/src/routes/[recipeLang=recipeLang]/add/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/add/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/add/+page.server.ts diff --git a/src/routes/[recipeLang]/add/+page.svelte b/src/routes/[recipeLang=recipeLang]/add/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/add/+page.svelte rename to src/routes/[recipeLang=recipeLang]/add/+page.svelte diff --git a/src/routes/[recipeLang]/category/+page.svelte b/src/routes/[recipeLang=recipeLang]/category/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/category/+page.svelte rename to src/routes/[recipeLang=recipeLang]/category/+page.svelte diff --git a/src/routes/[recipeLang]/category/+page.ts b/src/routes/[recipeLang=recipeLang]/category/+page.ts similarity index 100% rename from src/routes/[recipeLang]/category/+page.ts rename to src/routes/[recipeLang=recipeLang]/category/+page.ts diff --git a/src/routes/[recipeLang]/category/[category]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/category/[category]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/category/[category]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/category/[category]/+page.server.ts diff --git a/src/routes/[recipeLang]/category/[category]/+page.svelte b/src/routes/[recipeLang=recipeLang]/category/[category]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/category/[category]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/category/[category]/+page.svelte diff --git a/src/routes/[recipeLang]/edit/[name]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/edit/[name]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/edit/[name]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/edit/[name]/+page.server.ts diff --git a/src/routes/[recipeLang]/edit/[name]/+page.svelte b/src/routes/[recipeLang=recipeLang]/edit/[name]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/edit/[name]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/edit/[name]/+page.svelte diff --git a/src/routes/[recipeLang]/favorites/+page.server.ts b/src/routes/[recipeLang=recipeLang]/favorites/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/favorites/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/favorites/+page.server.ts diff --git a/src/routes/[recipeLang]/favorites/+page.svelte b/src/routes/[recipeLang=recipeLang]/favorites/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/favorites/+page.svelte rename to src/routes/[recipeLang=recipeLang]/favorites/+page.svelte diff --git a/src/routes/[recipeLang]/icon/+page.svelte b/src/routes/[recipeLang=recipeLang]/icon/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/icon/+page.svelte rename to src/routes/[recipeLang=recipeLang]/icon/+page.svelte diff --git a/src/routes/[recipeLang]/icon/+page.ts b/src/routes/[recipeLang=recipeLang]/icon/+page.ts similarity index 100% rename from src/routes/[recipeLang]/icon/+page.ts rename to src/routes/[recipeLang=recipeLang]/icon/+page.ts diff --git a/src/routes/[recipeLang]/icon/[icon]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/icon/[icon]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/icon/[icon]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/icon/[icon]/+page.server.ts diff --git a/src/routes/[recipeLang]/icon/[icon]/+page.svelte b/src/routes/[recipeLang=recipeLang]/icon/[icon]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/icon/[icon]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/icon/[icon]/+page.svelte diff --git a/src/routes/[recipeLang]/search/+page.server.ts b/src/routes/[recipeLang=recipeLang]/search/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/search/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/search/+page.server.ts diff --git a/src/routes/[recipeLang]/search/+page.svelte b/src/routes/[recipeLang=recipeLang]/search/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/search/+page.svelte rename to src/routes/[recipeLang=recipeLang]/search/+page.svelte diff --git a/src/routes/[recipeLang]/season/+page.server.ts b/src/routes/[recipeLang=recipeLang]/season/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/season/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/season/+page.server.ts diff --git a/src/routes/[recipeLang]/season/+page.svelte b/src/routes/[recipeLang=recipeLang]/season/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/season/+page.svelte rename to src/routes/[recipeLang=recipeLang]/season/+page.svelte diff --git a/src/routes/[recipeLang]/season/[month]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/season/[month]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/season/[month]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/season/[month]/+page.server.ts diff --git a/src/routes/[recipeLang]/season/[month]/+page.svelte b/src/routes/[recipeLang=recipeLang]/season/[month]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/season/[month]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/season/[month]/+page.svelte diff --git a/src/routes/[recipeLang]/tag/+page.svelte b/src/routes/[recipeLang=recipeLang]/tag/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/tag/+page.svelte rename to src/routes/[recipeLang=recipeLang]/tag/+page.svelte diff --git a/src/routes/[recipeLang]/tag/+page.ts b/src/routes/[recipeLang=recipeLang]/tag/+page.ts similarity index 100% rename from src/routes/[recipeLang]/tag/+page.ts rename to src/routes/[recipeLang=recipeLang]/tag/+page.ts diff --git a/src/routes/[recipeLang]/tag/[tag]/+page.server.ts b/src/routes/[recipeLang=recipeLang]/tag/[tag]/+page.server.ts similarity index 100% rename from src/routes/[recipeLang]/tag/[tag]/+page.server.ts rename to src/routes/[recipeLang=recipeLang]/tag/[tag]/+page.server.ts diff --git a/src/routes/[recipeLang]/tag/[tag]/+page.svelte b/src/routes/[recipeLang=recipeLang]/tag/[tag]/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/tag/[tag]/+page.svelte rename to src/routes/[recipeLang=recipeLang]/tag/[tag]/+page.svelte diff --git a/src/routes/[recipeLang]/tips-and-tricks/+page.svelte b/src/routes/[recipeLang=recipeLang]/tips-and-tricks/+page.svelte similarity index 100% rename from src/routes/[recipeLang]/tips-and-tricks/+page.svelte rename to src/routes/[recipeLang=recipeLang]/tips-and-tricks/+page.svelte diff --git a/src/routes/[recipeLang]/tips-and-tricks/Converter.svelte b/src/routes/[recipeLang=recipeLang]/tips-and-tricks/Converter.svelte similarity index 100% rename from src/routes/[recipeLang]/tips-and-tricks/Converter.svelte rename to src/routes/[recipeLang=recipeLang]/tips-and-tricks/Converter.svelte