amitwh
8822c9a2f9
feat(renderer): PrintPreview overlay + App.tsx mount
2026-06-06 08:11:15 +05:30
amitwh
324e5676b8
feat(renderer): ReplPanel (markdown snippet preview)
2026-06-06 08:11:10 +05:30
amitwh
a62511e7ed
feat(renderer): FindInFilesDialog (cross-file search with regex)
2026-06-06 08:04:49 +05:30
amitwh
a6c6e3696e
feat(renderer): WordExportDialog (docx export with template picker)
2026-06-06 08:02:19 +05:30
amitwh
1b2ab437d1
feat(renderer): TableGeneratorDialog (markdown table generator)
2026-06-06 07:45:18 +05:30
amitwh
efc7709f66
feat(renderer): AsciiGeneratorDialog (figlet text-to-ASCII-art)
2026-06-06 07:40:20 +05:30
amitwh
a8f7547c7e
feat(renderer): Phase 9 foundation — settings, modal union, ipc, commands, docx-export
2026-06-06 07:33:00 +05:30
amitwh
24c6675c82
fix(test): use mockRejectedValue for IPC error in ExportPdfDialog test
2026-06-05 23:17:57 +05:30
amitwh
929d72cf1d
test(renderer): Phase 8 toasts integration smoke test
2026-06-05 23:12:26 +05:30
amitwh
338669f2db
feat(renderer): file-store toasts on save/open/folder
2026-06-05 22:59:54 +05:30
amitwh
3ff76c8c33
feat(renderer): add shadcn Toaster primitive
2026-06-05 22:50:07 +05:30
amitwh
8160ac05e0
feat(renderer): lib/toast.ts typed wrappers over sonner
2026-06-05 22:46:45 +05:30
amitwh
24bb9aa9f5
test(renderer): Phase 7 modals integration smoke test
2026-06-05 19:54:35 +05:30
amitwh
9d154a8521
feat(renderer): AppHeader gets Settings + About icon buttons
2026-06-05 19:46:56 +05:30
amitwh
fe62c8814c
feat(renderer): register 9 modal-opening commands in command store
2026-06-05 19:44:13 +05:30
amitwh
9306a9c23b
feat(renderer): SettingsSheet (5 tabs: editor, theme, export, plugins, about)
2026-06-05 19:41:18 +05:30
amitwh
f25d856a2a
feat(renderer): ExportBatchDialog (format, concurrency, file list)
2026-06-05 19:30:15 +05:30
amitwh
76fed872ce
test(renderer): assert toggled standalone value in ExportHtmlDialog test
2026-06-05 19:28:44 +05:30
amitwh
9de14df016
feat(renderer): ExportHtmlDialog (standalone, highlight style, ascii tables)
2026-06-05 19:27:16 +05:30
amitwh
5f0b4c9c4e
feat(renderer): ExportDocxDialog (template picker + ascii tables)
2026-06-05 19:23:40 +05:30
amitwh
7d083a024d
feat(renderer): ExportPdfDialog (format, margins, ascii tables)
2026-06-05 19:19:18 +05:30
amitwh
026a4d9fac
feat(renderer): WelcomeDialog (first-launch quick-start)
2026-06-05 19:07:14 +05:30
amitwh
a461b62dd3
feat(renderer): ConfirmDialog (generic title/body/onConfirm)
2026-06-05 19:01:06 +05:30
amitwh
1cd316caf1
feat(renderer): AboutDialog (version + GitHub link)
2026-06-05 18:47:14 +05:30
amitwh
2bdb380130
feat(renderer): ModalLayer shell (dispatches to 7 modal types)
2026-06-05 18:36:28 +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
amitwh
02418b943e
feat(renderer): add shadcn form primitive (react-hook-form glue)
2026-06-05 18:03:26 +05:30
amitwh
8f5eb301b6
feat(renderer): add shadcn sheet primitive
2026-06-05 17:53:08 +05:30
amitwh
8f9dab1405
feat(renderer): add shadcn dialog primitive
2026-06-05 17:49:31 +05:30
amitwh
a6fa14124d
feat(renderer): add shadcn tabs primitive
2026-06-05 17:42:21 +05:30
amitwh
0538aec02c
feat(renderer): add shadcn select primitive
2026-06-05 17:35:45 +05:30
amitwh
1d782a00e6
feat(renderer): add shadcn radio-group primitive
2026-06-05 17:26:29 +05:30
amitwh
3344b2aea9
feat(renderer): add shadcn slider primitive
2026-06-05 17:23:13 +05:30
amitwh
6b23e5ef60
feat(renderer): add shadcn switch primitive
2026-06-05 17:18:19 +05:30
amitwh
221598c91b
feat(renderer): add shadcn checkbox primitive
2026-06-05 17:13:49 +05:30
amitwh
d8ee743fb1
feat(renderer): add shadcn textarea primitive
2026-06-05 17:09:59 +05:30
amitwh
66e2b56221
feat(renderer): add shadcn input primitive
2026-06-05 17:06:36 +05:30
amitwh
d22d616727
feat(renderer): add shadcn label primitive
2026-06-05 17:03:10 +05:30
Amit Haridas
ccb998be66
test(renderer): Phase 6 integration smoke test (menu -> command -> store)
...
- 7 end-to-end tests covering toolbar, header, native menu IPC,
userBindings persistence, and command registry
- 169/169 tests pass (was 105 at end of Phase 5)
- build succeeds
2026-06-05 16:03:46 +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
b1e16af62d
feat(renderer): AppHeader wired to command store
...
- toggle sidebar/preview buttons dispatch through command store
- new 'shortcuts.show' command (Keyboard icon, opens shortcuts panel later)
- AppHeader.test.tsx updated: registers matching commands in beforeEach
- integration test fixed: 'Open folder' button now matches 2 (toolbar + sidebar)
- 155/155 tests pass
2026-06-05 16:00:58 +05:30
Amit Haridas
487ce2ad45
feat(renderer): Toolbar wired to command store
...
- 5 functional buttons: Open file, Open folder, Save, Toggle sidebar, Toggle preview
- each dispatches via useCommandStore
- aria-pressed on toggle buttons reflects app store state
- formatting buttons (bold, italic, etc.) stay disabled (Phase 9)
- toolbar now has role='toolbar' and aria-label
- TDD: 9 component tests
2026-06-05 15:58:21 +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