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
409 B
JSON
18 lines
409 B
JSON
{
|
|
"open": "Search",
|
|
"title": "Search",
|
|
"placeholder": "Search pages…",
|
|
"scope": {
|
|
"pond": "This pond",
|
|
"all": "All my ponds"
|
|
},
|
|
"labelFilter": "Labels",
|
|
"empty": "No results found.",
|
|
"hint": "Type to search your pages.",
|
|
"error": "Search failed. Please try again.",
|
|
"recent": "Recent searches",
|
|
"resultsLabel": "Search results",
|
|
"inPond": "in {{pond}}",
|
|
"close": "Close"
|
|
}
|