diff --git a/package.json b/package.json index 2084b87..501c3d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pan-converter", - "version": "1.7.2", + "version": "1.7.3", "description": "Cross-platform Markdown editor and converter using Pandoc", "main": "src/main.js", "scripts": { diff --git a/src/main.js b/src/main.js index 3acc7fb..472f2bb 100644 --- a/src/main.js +++ b/src/main.js @@ -86,14 +86,8 @@ function createWindow() { // Wait for the page to fully load before sending file data mainWindow.webContents.on('did-finish-load', () => { console.log('Window finished loading'); - // Give renderer a moment to initialize - setTimeout(() => { - if (app.pendingFile && !rendererReady) { - console.log('Opening pending file after did-finish-load:', app.pendingFile); - openFileFromPath(app.pendingFile); - app.pendingFile = null; - } - }, 500); // Wait 500ms for TabManager to initialize + // Don't open file here - wait for renderer-ready signal + // The renderer will send renderer-ready when TabManager is initialized }); } @@ -261,7 +255,11 @@ function createMenu() { { label: 'Ayu Light', click: () => setTheme('ayu-light') }, { label: 'Ayu Mirage', click: () => setTheme('ayu-mirage') }, { label: 'Oceanic Next', click: () => setTheme('oceanic-next') }, - { label: 'Cobalt2', click: () => setTheme('cobalt2') } + { label: 'Cobalt2', click: () => setTheme('cobalt2') }, + { type: 'separator' }, + { label: 'Concrete Dark', click: () => setTheme('concrete-dark') }, + { label: 'Concrete Light', click: () => setTheme('concrete-light') }, + { label: 'Concrete Warm', click: () => setTheme('concrete-warm') } ] }, { type: 'separator' }, @@ -412,7 +410,7 @@ function createMenu() { type: 'info', title: 'About PanConverter', message: 'PanConverter', - detail: 'A cross-platform Markdown editor and converter using Pandoc.\n\nVersion: 1.7.2\nAuthor: Amit Haridas\nEmail: amit.wh@gmail.com\nLicense: MIT\n\nFeatures:\n• Modern glassmorphism UI with gradient backgrounds\n• Comprehensive PDF Editor (merge, split, compress, rotate, watermark, encrypt)\n• Universal File Converter (LibreOffice, ImageMagick, FFmpeg, Pandoc)\n• Windows Explorer context menu integration\n• Tabbed interface for multiple files\n• Advanced markdown editing with live preview\n• Real-time preview updates while typing\n• Full toolbar markdown editing functions\n• Enhanced PDF export with built-in Electron fallback\n• File association support for .md files\n• Command-line interface for batch conversion\n• Advanced export options with templates and metadata\n• Batch file conversion with progress tracking\n• Improved preview typography and spacing\n• Adjustable font sizes via menu (Ctrl+Shift+Plus/Minus)\n• Complete theme support including Monokai fixes\n• Find & replace with match highlighting\n• Line numbers and auto-indentation\n• Export to multiple formats via Pandoc\n• PowerPoint & presentation export\n• Export tables to Excel/ODS spreadsheets\n• Document import & conversion\n• Table creation helper\n• 19 beautiful themes (including Dracula, Nord, Tokyo Night, Gruvbox, Ayu, and more)\n• Undo/redo functionality\n• Live word count and statistics', + detail: 'A cross-platform Markdown editor and converter using Pandoc.\n\nVersion: 1.7.3\nAuthor: Amit Haridas\nEmail: amit.wh@gmail.com\nLicense: MIT\n\nFeatures:\n• Modern glassmorphism UI with gradient backgrounds\n• Comprehensive PDF Editor (merge, split, compress, rotate, watermark, encrypt)\n• Universal File Converter (LibreOffice, ImageMagick, FFmpeg, Pandoc)\n• Windows Explorer context menu integration\n• Tabbed interface for multiple files\n• Advanced markdown editing with live preview\n• Real-time preview updates while typing\n• Full toolbar markdown editing functions\n• Enhanced PDF export with built-in Electron fallback\n• File association support for .md files\n• Command-line interface for batch conversion\n• Advanced export options with templates and metadata\n• Batch file conversion with progress tracking\n• Improved preview typography and spacing\n• Adjustable font sizes via menu (Ctrl+Shift+Plus/Minus)\n• Complete theme support including Monokai fixes\n• Find & replace with match highlighting\n• Line numbers and auto-indentation\n• Export to multiple formats via Pandoc\n• PowerPoint & presentation export\n• Export tables to Excel/ODS spreadsheets\n• Document import & conversion\n• Table creation helper\n• 22 beautiful themes (including Dracula, Nord, Tokyo Night, Gruvbox, Ayu, Concrete, and more)\n• Undo/redo functionality\n• Live word count and statistics', buttons: ['OK'] }); } diff --git a/src/styles.css b/src/styles.css index 94f06a7..8adbf40 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1629,6 +1629,10 @@ body.theme-dracula .editor-textarea { color: #f8f8f2; } +body.theme-dracula .pane:last-child { + background: #282a36; +} + body.theme-dracula .preview-content { color: #f8f8f2; } @@ -1698,6 +1702,10 @@ body.theme-nord .editor-textarea { color: #d8dee9; } +body.theme-nord .pane:last-child { + background: #2e3440; +} + body.theme-nord .preview-content { color: #d8dee9; } @@ -1767,6 +1775,10 @@ body.theme-onedark .editor-textarea { color: #abb2bf; } +body.theme-onedark .pane:last-child { + background: #282c34; +} + body.theme-onedark .preview-content { color: #abb2bf; } @@ -1836,6 +1848,10 @@ body.theme-atomonelight .editor-textarea { color: #383a42; } +body.theme-atomonelight .pane:last-child { + background: #fafafa; +} + body.theme-atomonelight .preview-content { color: #383a42; } @@ -1905,6 +1921,10 @@ body.theme-material .editor-textarea { color: #eeffff; } +body.theme-material .pane:last-child { + background: #263238; +} + body.theme-material .preview-content { color: #eeffff; } @@ -1974,6 +1994,10 @@ body.theme-gruvbox-dark .editor-textarea { color: #ebdbb2; } +body.theme-gruvbox-dark .pane:last-child { + background: #282828; +} + body.theme-gruvbox-dark .preview-content { color: #ebdbb2; } @@ -2043,6 +2067,10 @@ body.theme-gruvbox-light .editor-textarea { color: #3c3836; } +body.theme-gruvbox-light .pane:last-child { + background: #fbf1c7; +} + body.theme-gruvbox-light .preview-content { color: #3c3836; } @@ -2112,6 +2140,10 @@ body.theme-tokyonight .editor-textarea { color: #c0caf5; } +body.theme-tokyonight .pane:last-child { + background: #1a1b26; +} + body.theme-tokyonight .preview-content { color: #c0caf5; } @@ -2181,6 +2213,10 @@ body.theme-palenight .editor-textarea { color: #a6accd; } +body.theme-palenight .pane:last-child { + background: #292d3e; +} + body.theme-palenight .preview-content { color: #a6accd; } @@ -2250,6 +2286,10 @@ body.theme-ayu-dark .editor-textarea { color: #b3b1ad; } +body.theme-ayu-dark .pane:last-child { + background: #0a0e14; +} + body.theme-ayu-dark .preview-content { color: #b3b1ad; } @@ -2319,6 +2359,10 @@ body.theme-ayu-light .editor-textarea { color: #5c6166; } +body.theme-ayu-light .pane:last-child { + background: #fafafa; +} + body.theme-ayu-light .preview-content { color: #5c6166; } @@ -2388,6 +2432,10 @@ body.theme-ayu-mirage .editor-textarea { color: #cbccc6; } +body.theme-ayu-mirage .pane:last-child { + background: #1f2430; +} + body.theme-ayu-mirage .preview-content { color: #cbccc6; } @@ -2457,6 +2505,10 @@ body.theme-oceanic-next .editor-textarea { color: #cdd3de; } +body.theme-oceanic-next .pane:last-child { + background: #1b2b34; +} + body.theme-oceanic-next .preview-content { color: #cdd3de; } @@ -2526,6 +2578,10 @@ body.theme-cobalt2 .editor-textarea { color: #ffffff; } +body.theme-cobalt2 .pane:last-child { + background: #193549; +} + body.theme-cobalt2 .preview-content { color: #ffffff; } @@ -2552,4 +2608,223 @@ body.theme-cobalt2 .status-bar { background: #15232d; border-top-color: #2a4a5d; color: #ffffff; +} + +/* Theme: Concrete Dark - ConcreteInfo branded dark theme */ +body.theme-concrete-dark { + background: #0d0b09; + color: #e3e3e3; +} + +body.theme-concrete-dark .tab-bar { + background: #1a1816; + border-bottom-color: #464646; +} + +body.theme-concrete-dark .tab { + background: #464646; + border-color: #9a9696; + color: #e3e3e3; +} + +body.theme-concrete-dark .tab.active { + background: #0d0b09; + border-color: #e5461f; +} + +body.theme-concrete-dark .toolbar { + background: #1a1816; + border-bottom-color: #464646; +} + +body.theme-concrete-dark .toolbar button { + color: #e3e3e3; +} + +body.theme-concrete-dark .toolbar button:hover { + background: #464646; + border-color: #e5461f; +} + +body.theme-concrete-dark .editor-textarea { + background: #0d0b09; + color: #e3e3e3; +} + +body.theme-concrete-dark .pane:last-child { + background: #0d0b09; +} + +body.theme-concrete-dark .preview-content { + color: #e3e3e3; +} + +body.theme-concrete-dark .preview-content h1, +body.theme-concrete-dark .preview-content h2 { + border-bottom-color: #464646; + color: #e5461f; +} + +body.theme-concrete-dark .preview-content code { + background-color: #464646; +} + +body.theme-concrete-dark .preview-content pre { + background-color: #464646; +} + +body.theme-concrete-dark .preview-content a { + color: #e5461f; +} + +body.theme-concrete-dark .status-bar { + background: #1a1816; + border-top-color: #464646; + color: #9a9696; +} + +/* Theme: Concrete Light - ConcreteInfo branded light theme */ +body.theme-concrete-light { + background: #fafafa; + color: #0d0b09; +} + +body.theme-concrete-light .tab-bar { + background: #e3e3e3; + border-bottom-color: #9a9696; +} + +body.theme-concrete-light .tab { + background: #e3e3e3; + border-color: #9a9696; + color: #0d0b09; +} + +body.theme-concrete-light .tab.active { + background: #fafafa; + border-color: #e5461f; +} + +body.theme-concrete-light .toolbar { + background: #e3e3e3; + border-bottom-color: #9a9696; +} + +body.theme-concrete-light .toolbar button { + color: #0d0b09; +} + +body.theme-concrete-light .toolbar button:hover { + background: #9a9696; + border-color: #e5461f; +} + +body.theme-concrete-light .editor-textarea { + background: #fafafa; + color: #0d0b09; +} + +body.theme-concrete-light .pane:last-child { + background: #fafafa; +} + +body.theme-concrete-light .preview-content { + color: #0d0b09; +} + +body.theme-concrete-light .preview-content h1, +body.theme-concrete-light .preview-content h2 { + border-bottom-color: #9a9696; + color: #e5461f; +} + +body.theme-concrete-light .preview-content code { + background-color: #e3e3e3; +} + +body.theme-concrete-light .preview-content pre { + background-color: #e3e3e3; +} + +body.theme-concrete-light .preview-content a { + color: #e5461f; +} + +body.theme-concrete-light .status-bar { + background: #e3e3e3; + border-top-color: #9a9696; + color: #464646; +} + +/* Theme: Concrete Warm - ConcreteInfo branded warm theme */ +body.theme-concrete-warm { + background: #464646; + color: #e3e3e3; +} + +body.theme-concrete-warm .tab-bar { + background: #3a3836; + border-bottom-color: #9a9696; +} + +body.theme-concrete-warm .tab { + background: #9a9696; + border-color: #e3e3e3; + color: #0d0b09; +} + +body.theme-concrete-warm .tab.active { + background: #464646; + border-color: #e5461f; +} + +body.theme-concrete-warm .toolbar { + background: #3a3836; + border-bottom-color: #9a9696; +} + +body.theme-concrete-warm .toolbar button { + color: #e3e3e3; +} + +body.theme-concrete-warm .toolbar button:hover { + background: #9a9696; + border-color: #e5461f; +} + +body.theme-concrete-warm .editor-textarea { + background: #464646; + color: #e3e3e3; +} + +body.theme-concrete-warm .pane:last-child { + background: #464646; +} + +body.theme-concrete-warm .preview-content { + color: #e3e3e3; +} + +body.theme-concrete-warm .preview-content h1, +body.theme-concrete-warm .preview-content h2 { + border-bottom-color: #9a9696; + color: #e5461f; +} + +body.theme-concrete-warm .preview-content code { + background-color: #3a3836; +} + +body.theme-concrete-warm .preview-content pre { + background-color: #3a3836; +} + +body.theme-concrete-warm .preview-content a { + color: #e5461f; +} + +body.theme-concrete-warm .status-bar { + background: #3a3836; + border-top-color: #9a9696; + color: #e3e3e3; } \ No newline at end of file