- Set up Vitest with testing-library and jsdom for frontend tests - Add
encryption.test.ts to verify deriveKey, wrapMasterKey, unwrapMasterKey -
Add test/setup.ts to extend jest-dom matchers and cleanup after tests -
Enable Vitest in Vite config and add test scripts in
frontend/package.json
- Migrate note and folder selection state to a Zustand store
- and wire the Sidebar to consume it
- Extract Sidebar-related UI into a new Sidebar/RenderFolder component
- and remove inline sidebar from Home
- Update Home to render Sidebar and drive editor from selectedNote
- Extend notesStore with selectedNote and setters
- add setSelectedFolder and setSelectedNote
- Update prop types for DroppableFolder/RenderFolder
- to use store-based callbacks
- Migrate Home to use store actions for creating notes and folders -
Remove encrypted flag from NoteCreate interface - Add zustand to
frontend dependencies and update package-lock Add Zustand store for
notes
- Add a ZIP-based import page that builds a folder/note tree from a ZIP
and creates items via the API
- Introduce collapsible folder UI with RenderFolder and updates to
DroppableFolder to support collapsing
- Wire a new /import route into App and add jszip as a frontend
dependency