feat(05-02): add search and note widgets with tests

- SearchWidget: provider dropdown, text input, button; opens search in new tab via window.open (D-14/D-15)
- NoteWidget: MDEditor with compact toolbar, debounced autosave (1500ms), AbortController for in-flight cancellation (D-16/D-17/D-18)
- rehype-sanitize enabled for Markdown XSS prevention (T-05-05)
- Widget registry updated with wireSearchWidget/wireNoteWidget (no more placeholders)
- dashboard-api.ts: added fetchSearchProviders, addSearchProvider, removeSearchProvider, signal support on updateWidgetConfig
- 9 new tests passing (search: 5, note: 4)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-24 11:33:01 +02:00
parent 97c13809f5
commit dd0209898b
9 changed files with 1616 additions and 14 deletions
+2
View File
@@ -10,6 +10,7 @@
"type-check": "tsc --noEmit"
},
"dependencies": {
"@uiw/react-md-editor": "4.1.1",
"jose": "^6.2.3",
"next": "^15.3.0",
"next-intl": "^4.13.0",
@@ -18,6 +19,7 @@
"react-dom": "^19.0.0",
"react-grid-layout": "2.2.3",
"react-resizable": "^4.0.2",
"rehype-sanitize": "^6.0.0",
"zod": "^4.4.3",
"zustand": "^5.0.14"
},