All checks were successful
CD / Build and push images (push) Successful in 3m24s
CI / Lint, typecheck, test (push) Successful in 2m16s
CI / Auth e2e pack (push) Successful in 2m52s
CI / Build container images (push) Has been skipped
CD / Deploy to Test (push) Successful in 8s
CD / Smoke tests against Test (push) Successful in 1m14s
CD / Promote to Int (push) Successful in 11s
A search palette over the #49 full-text search. - web: - `SearchPalette`: opened from a top-bar button or the global "/" shortcut (ignored while typing in a field). Scoped to the current pond by default with an "all my ponds" toggle and, when scoped, a label filter. Results list title, pond, label chips, and a highlighted snippet; recent searches (localStorage) show before typing; empty/error/hint states. - `HighlightedSnippet` renders the match — the api wraps hits in shared sentinels (private-use codepoints), split here into `<mark>` so no HTML from the content is interpreted. - Fully keyboard-operable: "/" opens, ↑/↓ move, Enter opens the page, Esc closes. - i18n `search` namespace (de + en); palette + result styles. - api: a pondId scope test proves search narrows to one pond. - e2e `search.spec.ts` (new CI pack): body content added via the editor is found and highlighted, the scope toggle keeps the result, and Enter opens the page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PGdhRiwU1WRL4XxJfZYipY
18 lines
458 B
JSON
18 lines
458 B
JSON
{
|
|
"open": "Suche",
|
|
"title": "Suche",
|
|
"placeholder": "Seiten durchsuchen…",
|
|
"scope": {
|
|
"pond": "Dieser Teich",
|
|
"all": "Alle meine Teiche"
|
|
},
|
|
"labelFilter": "Labels",
|
|
"empty": "Keine Ergebnisse gefunden.",
|
|
"hint": "Tippe, um deine Seiten zu durchsuchen.",
|
|
"error": "Suche fehlgeschlagen. Bitte erneut versuchen.",
|
|
"recent": "Letzte Suchen",
|
|
"resultsLabel": "Suchergebnisse",
|
|
"inPond": "in {{pond}}",
|
|
"close": "Schließen"
|
|
}
|