amitwh
a03144df5b
docs(plan): Phase 10 polish + delete legacy — 10 tasks, main.js decomposition + 17 legacy file deletions + v5.0.0
2026-06-06 09:22:15 +05:30
amitwh
7fc11aed3b
docs(spec): Phase 10 — fix index.html ambiguity (DELETE legacy root src/index.html, not rewrite; src/renderer/index.html is already live)
2026-06-06 09:16:02 +05:30
amitwh
095f77f5f1
docs(spec): Phase 10 polish + delete legacy design — main.js decomposition, file map, v5.0.0
2026-06-06 09:14:39 +05:30
amitwh
80afbb136b
test(renderer): Phase 9 tools integration smoke test (6 commands)
2026-06-06 08:38:01 +05:30
amitwh
95bbe171b5
feat(renderer): GitStatusPanel sidebar tab + git.refresh event
2026-06-06 08:28:37 +05:30
amitwh
2d77fa5456
feat(renderer): Breadcrumb shows heading symbols (settings toggleable)
2026-06-06 08:28:24 +05:30
amitwh
fbaff37505
feat(renderer): Minimap (custom overview, wired to settings.minimap)
2026-06-06 08:20:48 +05:30
amitwh
1ccde4baa3
feat(renderer): Zen mode (Esc exits, hides chrome)
2026-06-06 08:13:38 +05:30
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
094b52a2b3
docs(spec): Phase 9 advanced tools design — 10 features across 3 mount strategies
2026-06-06 07:20:17 +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
b40bff641c
feat(renderer): export dialogs toast on success/failure
2026-06-05 23:05:32 +05:30
amitwh
338669f2db
feat(renderer): file-store toasts on save/open/folder
2026-06-05 22:59:54 +05:30
amitwh
54615649f4
feat(renderer): mount Toaster in App.tsx
2026-06-05 22:52:04 +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
6762b5f9af
docs(spec): Phase 8 toasts design — typed helpers, Toaster mount, 4 wire points
2026-06-05 22:41:28 +05:30
amitwh
00485d1bef
feat(renderer): implement numeric right-alignment in ascii-table
...
Adds the actual right-alignment heuristic to toAsciiTable (was missing
from initial implementation). When any column header starts with a digit,
all columns are right-padded instead of left-padded. Matches the test
added in 53870d5 which exercises the right-alignment path with header
['Item', '7'].
All 6 ascii-table tests pass.
2026-06-05 22:18:15 +05:30
amitwh
24bb9aa9f5
test(renderer): Phase 7 modals integration smoke test
2026-06-05 19:54:35 +05:30
amitwh
b39bdcf475
feat(renderer): mount ModalLayer + first-launch welcome trigger
2026-06-05 19:48:37 +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
88e26c130e
feat(renderer): AboutSettings tab (version + links)
2026-06-05 19:39:01 +05:30
amitwh
b02707ac7f
feat(renderer): PluginsSettings tab placeholder (Coming soon)
2026-06-05 19:37:54 +05:30
amitwh
ebc149ff0b
feat(renderer): ExportSettings tab (PDF/DOCX/HTML defaults + ascii toggle)
2026-06-05 19:35:28 +05:30
amitwh
be3af42fc5
feat(renderer): ThemeSettings tab (mode, accent, font)
2026-06-05 19:32:43 +05:30
amitwh
ed611c77ed
feat(renderer): EditorSettings tab (font, tab, line/wrap, minimap)
2026-06-05 19:31: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
68fcaf9bfc
feat(renderer): ExportDialogFooter (shared cancel/export row)
2026-06-05 19:11:27 +05:30
amitwh
a2a44fbf2c
feat(renderer): useExportSource hook (shared by export dialogs)
2026-06-05 19:09:55 +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
8b2809ebaf
fix(renderer): export SheetPortal and SheetOverlay from sheet primitive
2026-06-05 17:55:21 +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
9eb1fe0f00
test(renderer): add ResizeObserver polyfill to test setup (required for slider/shadcn components)
2026-06-05 17:23:59 +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
amitwh
89590a349a
docs(plan): Phase 7 modals implementation plan (37 tasks, TDD, ~+50 tests)
2026-06-05 16:54:07 +05:30
amitwh
f447896a63
docs(spec): Phase 7 modals design — settings store, ModalLayer, 7 modal types, ASCII tables
2026-06-05 16:27:25 +05:30
amitwh
d865b181e9
test(renderer): phase 5 integration smoke test
2026-06-05 15:39:36 +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
ce2bf62d42
feat(renderer): drag-to-reorder tabs (dnd-kit)
2026-06-05 15:34:25 +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
650c266945
feat(renderer): TabBar wired to file store (dirty dot, close, active highlight)
...
- Renders tabs from useFileStore.openTabs with title + dirty dot + close button
- Uses Zustand selectors for granular re-renders
- Active tab highlighted with aria-current and accent background
- Close button stops propagation; does not trigger tab activation
- Horizontal scroll on overflow, h-9 fixed bar with border
- Empty state preserved when no tabs open
Tests: 6 cases (empty, render, highlight, click-switch, click-close, dirty indicator)
- 75 total tests (was 70, gained 5 new)
- All pass
- Build: succeeds
Amit Haridas
2026-06-05 15:03:01 +05:30
amitwh
05bbb9f86b
feat(renderer): Sidebar, FileTree, Outline components wired into AppShell
2026-06-05 14:59:15 +05:30
amitwh
77c8e05fa5
feat(renderer): shadcn collapsible, scroll-area, context-menu primitives
2026-06-05 14:54:31 +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
a4201acad9
feat(renderer): wire PreviewPane into AppShell
2026-06-05 13:15:47 +05:30
amitwh
0b5af04a6a
feat(renderer): PreviewPane tracks scroll ratio
2026-06-05 13:14:50 +05:30
amitwh
2d6f909b0e
feat(renderer): useScrollSync hook (60fps throttling, ratio calc)
2026-06-05 13:13:37 +05:30
amitwh
8624257c1f
feat(renderer): editor buffer content feeds preview store (300ms debounce)
2026-06-05 13:09:34 +05:30
amitwh
b75f436aaa
feat(renderer): PreviewPane with empty state and MarkdownRenderer
2026-06-05 13:07:55 +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
5ad582ec3e
feat(renderer): MarkdownRenderer with mermaid code re-extraction from source
2026-06-05 13:03:32 +05:30
amitwh
d02f896167
feat(renderer): MermaidLazy (loads mermaid on first use, error UI)
2026-06-05 13:01:24 +05:30
amitwh
f34775ce53
feat(renderer): markdown lib (marked + DOMPurify + mermaid placeholders)
2026-06-05 12:56:31 +05:30
amitwh
5d6a55dd09
feat(renderer): StatusBar reads from editor store (word count, cursor pos)
2026-06-05 12:49:16 +05:30
amitwh
0e80e37d9d
feat(renderer): wire EditorPane into AppShell
2026-06-05 12:46:13 +05:30
amitwh
9a7e994224
feat(renderer): EditorPane with empty state and CodeMirror rendering
2026-06-05 12:42:25 +05:30
amitwh
3effacf816
feat(renderer): CodeMirror 6 editor wrapper with markdown, themes, keymaps
2026-06-05 12:38:09 +05:30
amitwh
1be10f9ae5
feat(renderer): CodeMirror light theme with brand-aware syntax colors
2026-06-05 12:25:31 +05:30
amitwh
4c0b7d6e84
feat(renderer): editor store with buffers, dirty state, cursor (immer)
2026-06-05 12:21:48 +05:30
amitwh
db04ea5854
feat(renderer): App.tsx renders AppShell
2026-06-05 12:11:01 +05:30
amitwh
567726022c
feat(renderer): AppShell with resizable panes, sidebar/preview toggle, persisted sizes
2026-06-05 12:02:35 +05:30
amitwh
1999a7716e
feat(renderer): StatusBar placeholder (word count wired in Phase 3)
2026-06-05 11:53:34 +05:30
amitwh
16e071ae5e
feat(renderer): Breadcrumb placeholder (wired in Phase 5)
2026-06-05 11:50:45 +05:30
amitwh
7ecf54ceb0
feat(renderer): Toolbar skeleton with formatting buttons
2026-06-05 11:48:26 +05:30
amitwh
95e2f45f1f
feat(renderer): TabBar skeleton (no tabs yet — wired in Phase 5)
2026-06-05 11:45:33 +05:30
amitwh
7fbbd60525
feat(renderer): AppHeader with sidebar/preview toggles + theme toggle
2026-06-05 11:40:54 +05:30