From 1b7c5c084efc05d5bcca55bc0b83323519efcfd7 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Fri, 17 Apr 2026 22:08:00 +0200 Subject: [PATCH] =?UTF-8?q?feat(search):=20Home=20als=20einzige=20Suchseit?= =?UTF-8?q?e,=20inline=20=E2=80=9E+=20weitere=20Ergebnisse"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die separaten /search und /search/web Routen sind weg. Auf der Hauptseite gibt es jetzt einen einzigen „+ weitere Ergebnisse"-Button am Ende der Trefferliste, der erst weitere lokale Treffer lädt und — sobald die erschöpft sind — auf die SearXNG-Web-Suche umschaltet und dort Seite für Seite weiterblättert. Web-Treffer werden unter die lokalen angehängt, getrennt durch eine „Aus dem Internet"-Zwischenüberschrift. Alte Layout-Links auf /search bzw. /search/web zeigen jetzt auf /?q=. Der Snapshot der Suche merkt sich auch Paginations-Zustand, damit Rücknavigation vom Rezept/Preview die volle Liste wiederherstellt. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/routes/+layout.svelte | 4 +- src/routes/+page.svelte | 218 +++++++++++++++++------ src/routes/search/+page.svelte | 245 -------------------------- src/routes/search/web/+page.svelte | 268 ----------------------------- 4 files changed, 167 insertions(+), 568 deletions(-) delete mode 100644 src/routes/search/+page.svelte delete mode 100644 src/routes/search/web/+page.svelte diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index d9943aa..6a9aca0 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -81,7 +81,7 @@ const q = navQuery.trim(); if (!q) return; navOpen = false; - void goto(`/search?q=${encodeURIComponent(q)}`); + void goto(`/?q=${encodeURIComponent(q)}`); } function handleClickOutside(e: MouseEvent) { @@ -186,7 +186,7 @@ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 1390357..49680a5 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,7 @@ - - - -{#if loading} -

Suche läuft …

-{:else if searched && hits.length === 0} -
-

Kein lokales Rezept für „{query}" — suche jetzt im Internet …

-
-{:else if hits.length > 0} -
- {#if !exhausted} -
- -
- {/if} - {#if canWebSearch} -
- - 🌐 Im Internet weitersuchen - -
- {/if} -{/if} - - diff --git a/src/routes/search/web/+page.svelte b/src/routes/search/web/+page.svelte deleted file mode 100644 index daca831..0000000 --- a/src/routes/search/web/+page.svelte +++ /dev/null @@ -1,268 +0,0 @@ - - - - -{#if loading} -

Suche im Internet läuft …

-{:else if errored} -
-

Internet-Suche zurzeit nicht möglich: {errored}

-

- SearXNG-Container läuft nicht? docker compose up -d searxng -

-
-{:else if searched && hits.length === 0} -
-

Keine Treffer im Internet für „{query}".

-

- Prüfe, ob Whitelist-Domains gepflegt sind (Einstellungen folgen). -

-
-{:else if hits.length > 0} -

{hits.length} Treffer aus {new Set(hits.map((h) => h.domain)).size} Quellen

- - {#if !exhausted} -
- -
- {/if} -{/if} - -