amitwh
338669f2db
feat(renderer): file-store toasts on save/open/folder
2026-06-05 22:59:54 +05:30
amitwh
8160ac05e0
feat(renderer): lib/toast.ts typed wrappers over sonner
2026-06-05 22:46:45 +05:30
amitwh
fe62c8814c
feat(renderer): register 9 modal-opening commands in command store
2026-06-05 19:44:13 +05:30
amitwh
41942a1316
feat(renderer): useSettingsStore (persisted, validated, reset-able)
2026-06-05 18:31:27 +05:30
amitwh
9ad484744a
feat(renderer): useAppStore extended with modal discriminated union
2026-06-05 18:28:02 +05:30
amitwh
d0a26126cc
feat(renderer): zod validators for settings + export schemas
2026-06-05 18:25:13 +05:30
amitwh
53870d58bb
test(renderer): clarify ascii-table alignment tests (left vs right)
2026-06-05 18:23:48 +05:30
amitwh
00d6802422
feat(renderer): ascii-table helper for export-time table formatting
2026-06-05 18:20:23 +05:30
Amit Haridas
813582aa8d
feat(renderer): command store persists userBindings (Phase 6)
...
- add userBindings map (commandId -> combo string)
- setUserBinding / clearUserBinding / getUserBinding actions
- persist middleware with partialize: handlers are runtime-only,
userBindings are serialized
- TDD: 7 persistence tests + existing 10 command-store tests still pass
- 162/162 total tests pass
2026-06-05 16:02:26 +05:30
Amit Haridas
1717b2e8c0
feat(renderer): register menu commands in AppShell (Phase 6 wiring)
...
- useRegisterMenuCommands: registers file.open, file.save, file.closeTab,
tab.next, tab.prev, view.toggleSidebar, view.togglePreview in command store
- useBridgeNativeMenu: useMenuAction for 13 native-menu channels
(file-save, toggle-preview, load-template-menu, etc.)
- AppShell calls both on mount
- integration test mock extended to include ipc.menu.on
- 145/145 tests pass (was 105)
2026-06-05 15:56:32 +05:30
Amit Haridas
cdd370c62d
feat(renderer): useMenuAction hook (native menu IPC -> command store)
...
- bridge between main-process menu events and the command dispatcher
- optional transform: convert raw IPC payload to command args
- extends ipc.ts with ipc.menu.on() helper
- TDD: 5 unit tests covering subscription, payload transform, no-op, unmount
2026-06-05 15:53:37 +05:30
Amit Haridas
6df21ace35
feat(renderer): useShortcut hook (generic key combo binding)
...
- 'mod+s' / 'mod+shift+s' / 'Tab' / etc.
- mod = meta (Mac) or ctrl (others)
- suppresses when <input>/<textarea>/contentEditable focused
- preventDefault on match
- TDD: 15 unit tests covering parser, match, suppression, unmount
2026-06-05 15:51:35 +05:30
Amit Haridas
c93747c476
feat(renderer): command store (action registry for menu/shortcut/toolbar)
...
- useCommandStore: register/unregister/registerMany/dispatch/get
- keyed by id (e.g. 'file.open', 'view.toggleSidebar')
- TDD: 10 unit tests covering register, dispatch, unregister, batch
- foundation for Phase 6 native menu + toolbar wiring
2026-06-05 15:49:45 +05:30
amitwh
5e5bab3da9
feat(renderer): persist last-opened folder (mc-file-store) + restore on mount
2026-06-05 15:36:59 +05:30
amitwh
6da98c3a54
feat(renderer): keyboard shortcuts for file ops (open, save, close, next/prev tab)
2026-06-05 15:32:55 +05:30
amitwh
3598d06240
feat(preload): add file.list, file.pickFolder, file.pickFile convenience methods
2026-06-05 15:13:16 +05:30
amitwh
17f318dd75
fix(renderer): drop redundant ternary, add loadChildren idempotence test
2026-06-05 14:50:56 +05:30
amitwh
fa5a46d5ac
feat(renderer): file store with FileNode tree, openTabs, lazy loadChildren
2026-06-05 14:42:08 +05:30
amitwh
2d6f909b0e
feat(renderer): useScrollSync hook (60fps throttling, ratio calc)
2026-06-05 13:13:37 +05:30
amitwh
d81d8c28d2
test(renderer): remove non-existent html property from preview-store reset
2026-06-05 13:07:06 +05:30
amitwh
559d09cad9
feat(renderer): preview store with 300ms debounced source
2026-06-05 13:04:39 +05:30
amitwh
f34775ce53
feat(renderer): markdown lib (marked + DOMPurify + mermaid placeholders)
2026-06-05 12:56:31 +05:30
amitwh
4c0b7d6e84
feat(renderer): editor store with buffers, dirty state, cursor (immer)
2026-06-05 12:21:48 +05:30
amitwh
6525de7667
feat(renderer): add useAppStore with sidebar/preview/zen/pane-sizes
2026-06-05 11:30:25 +05:30
amitwh
301c51ac84
test(renderer): add failing test for motion presets
2026-06-05 09:36:18 +05:30
amitwh
ea383783ec
test(renderer): add failing test for ipc wrapper + IpcResult types
2026-06-05 09:25:02 +05:30
amitwh
ea0f3f93bf
test(renderer): add failing test for cn() helper + vitest config
2026-06-05 09:20:04 +05:30