Commit Graph

13 Commits

Author SHA1 Message Date
d1aa06fbfe optimize search performance for low-power devices
Some checks failed
CI / update (push) Failing after 0s
Remove Web Worker implementation and replace with debounced direct search
to eliminate serialization overhead. Add pre-computed category Map and
memoized filtering with $derived.by() to prevent redundant array iterations
on every keystroke. Reduce debounce to 100ms for responsive feel.

Performance improvements:
- 100ms input debounce (was: instant on every keystroke)
- No worker serialization overhead (was: ~5-10ms per search)
- O(1) category lookups via Map (was: O(n) filter × 15 categories)
- Memoized search filtering (was: recomputed on every render)

Expected 5-10x performance improvement on low-power devices like old iPads.
2025-12-31 17:53:10 +01:00
314d6225cc implement Web Worker-based search to eliminate input lag
All checks were successful
CI / update (push) Successful in 1m13s
Replace synchronous DOM manipulation with Web Worker + Svelte reactive state for recipe search. This moves text normalization and filtering off the main thread, ensuring zero input lag while typing. Search now runs in parallel with UI rendering, improving performance significantly for 240+ recipes.

- Add search.worker.js for background search processing
- Update Search.svelte to use Web Worker with $state runes
- Update +page.svelte with reactive filtering based on worker results
- Add language-aware recipe data synchronization for proper English/German search
- Migrate to Svelte 5 event handlers (onsubmit, onclick)
2025-12-31 14:09:22 +01:00
3215c87fad make search component bilingual
All checks were successful
CI / update (push) Successful in 12s
2025-12-26 21:47:34 +01:00
b05dcf9e3b Implement progressive enhancement for universal search with context-aware filtering
Add comprehensive search solution that works across all recipe pages with proper fallbacks. Features include universal API endpoint, context-aware filtering (category/tag/icon/season/favorites), and progressive enhancement with form submission fallback for no-JS users.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:53:59 +02:00
e37842114a Search: enable click only result 2024-01-22 16:04:58 +01:00
a2e443c150 Search: temporarily disable auto-scroll 2024-01-10 11:03:41 +01:00
140a9347e0 remove shys from Search 2024-01-10 10:55:59 +01:00
52e1a1c38f reimplement click_only_result option, scroll results into view 2023-11-21 00:44:17 +01:00
055ff5124c remove scrollers without results on search 2023-11-08 20:28:13 +01:00
b943eb81ae correctly show matching recipes 2023-07-11 19:07:26 +02:00
811ae3db5f Does not work: uploading images
Adding/Editing/Deleting works
SeasonsSelect works
Nice recipe layout
2023-06-24 15:35:38 +02:00
bdfb7280e1 First almost fully functioning MVP.
Lacking:
- Seasons cannot be added/edited
- image upload
- layout recipe/adding
2023-06-24 15:35:38 +02:00
120781a57a first working prototype 2023-06-24 15:35:37 +02:00