|
12 | 12 | </div> |
13 | 13 | <div class="error-message" id="error-message"></div> |
14 | 14 | <div class="container"> |
15 | | - <div class="header"> |
16 | | - <div class="logo">HTMLRunner</div> |
17 | | - <div class="controls"> |
| 15 | + <div class="menubar"> |
| 16 | + <div class="menubar-left"> |
| 17 | + <span class="logo">HTMLRunner</span> |
| 18 | + <div class="menu-items"> |
| 19 | + <div class="menu-item" data-menu="file">File</div> |
| 20 | + <div class="menu-item" data-menu="edit">Edit</div> |
| 21 | + <div class="menu-item" data-menu="view">View</div> |
| 22 | + <div class="menu-item" data-menu="run">Run</div> |
| 23 | + <div class="menu-item" data-menu="git-menu">Git</div> |
| 24 | + <div class="menu-item" data-menu="help">Help</div> |
| 25 | + </div> |
| 26 | + </div> |
| 27 | + <div class="menubar-right"> |
18 | 28 | <button class="btn btn-run"><i class="fas fa-play"></i> Run</button> |
19 | | - <button class="btn btn-format"><i class="fas fa-code"></i> Format</button> |
20 | | - <button class="btn btn-reset"><i class="fas fa-undo"></i> Reset</button> |
21 | | - <button class="btn btn-clear"><i class="fas fa-trash"></i> Clear Console</button> |
22 | | - <button class="btn btn-download"><i class="fas fa-download"></i> Export Code</button> |
23 | | - <button class="btn btn-auto-run"><i class="fas fa-sync"></i> Auto-Run: <span id="auto-run-status">Off</span></button> |
24 | | - <button class="theme-toggle"> |
| 29 | + <button class="btn btn-format" title="Format Code"><i class="fas fa-code"></i></button> |
| 30 | + <button class="btn btn-auto-run" title="Toggle Auto-Run"><i class="fas fa-sync"></i> <span id="auto-run-status">Off</span></button> |
| 31 | + <button class="theme-toggle" title="Toggle Theme"> |
25 | 32 | <i class="fas fa-moon"></i> |
26 | 33 | <span>Dark Mode</span> |
27 | 34 | </button> |
28 | 35 | </div> |
29 | 36 | </div> |
| 37 | + <div class="menu-dropdown" id="menu-file"> |
| 38 | + <div class="menu-dropdown-item" data-action="addFile"><i class="fas fa-plus"></i> New File</div> |
| 39 | + <div class="menu-dropdown-item" data-action="addFolder"><i class="fas fa-folder-plus"></i> New Folder</div> |
| 40 | + <div class="menu-dropdown-item" data-action="importFiles"><i class="fas fa-folder-open"></i> Import Files</div> |
| 41 | + <div class="menu-dropdown-separator"></div> |
| 42 | + <div class="menu-dropdown-item" data-action="exportAsZip"><i class="fas fa-download"></i> Export ZIP</div> |
| 43 | + <div class="menu-dropdown-separator"></div> |
| 44 | + <div class="menu-dropdown-item" data-action="resetCode"><i class="fas fa-undo"></i> Reset to Defaults</div> |
| 45 | + </div> |
| 46 | + <div class="menu-dropdown" id="menu-edit"> |
| 47 | + <div class="menu-dropdown-item" data-action="undo"><i class="fas fa-undo"></i> Undo</div> |
| 48 | + <div class="menu-dropdown-item" data-action="redo"><i class="fas fa-redo"></i> Redo</div> |
| 49 | + <div class="menu-dropdown-separator"></div> |
| 50 | + <div class="menu-dropdown-item" data-action="toggleSearch"><i class="fas fa-search"></i> Find</div> |
| 51 | + <div class="menu-dropdown-item" data-action="toggleReplace"><i class="fas fa-exchange-alt"></i> Find & Replace</div> |
| 52 | + <div class="menu-dropdown-separator"></div> |
| 53 | + <div class="menu-dropdown-item" data-action="formatCode"><i class="fas fa-code"></i> Format Code</div> |
| 54 | + </div> |
| 55 | + <div class="menu-dropdown" id="menu-view"> |
| 56 | + <div class="menu-dropdown-item" data-action="toggleSidebar"><i class="fas fa-columns"></i> Toggle Sidebar</div> |
| 57 | + <div class="menu-dropdown-item" data-action="switchOutput-preview"><i class="fas fa-eye"></i> Show Preview</div> |
| 58 | + <div class="menu-dropdown-item" data-action="switchOutput-console"><i class="fas fa-terminal"></i> Show Console</div> |
| 59 | + <div class="menu-dropdown-item" data-action="switchOutput-terminal"><i class="fas fa-window-terminal"></i> Show Terminal</div> |
| 60 | + <div class="menu-dropdown-separator"></div> |
| 61 | + <div class="menu-dropdown-item" data-action="toggleDarkMode"><i class="fas fa-moon"></i> Toggle Dark Mode</div> |
| 62 | + <div class="menu-dropdown-item" data-action="toggleAutoRun"><i class="fas fa-sync"></i> Toggle Auto-Run</div> |
| 63 | + </div> |
| 64 | + <div class="menu-dropdown" id="menu-run"> |
| 65 | + <div class="menu-dropdown-item" data-action="runCode"><i class="fas fa-play"></i> Run Code</div> |
| 66 | + <div class="menu-dropdown-separator"></div> |
| 67 | + <div class="menu-dropdown-item" data-action="clearConsole"><i class="fas fa-trash"></i> Clear Console</div> |
| 68 | + </div> |
| 69 | + <div class="menu-dropdown" id="menu-git-menu"> |
| 70 | + <div class="menu-dropdown-item" data-action="gitStatus"><i class="fas fa-info-circle"></i> Status</div> |
| 71 | + <div class="menu-dropdown-item" data-action="gitDiff"><i class="fas fa-code-branch"></i> Diff</div> |
| 72 | + <div class="menu-dropdown-item" data-action="gitLog"><i class="fas fa-history"></i> Log</div> |
| 73 | + <div class="menu-dropdown-separator"></div> |
| 74 | + <div class="menu-dropdown-item" data-action="gitCommit"><i class="fas fa-check"></i> Commit</div> |
| 75 | + <div class="menu-dropdown-item" data-action="gitPush"><i class="fas fa-cloud-upload-alt"></i> Push</div> |
| 76 | + <div class="menu-dropdown-item" data-action="gitPull"><i class="fas fa-cloud-download-alt"></i> Pull</div> |
| 77 | + <div class="menu-dropdown-separator"></div> |
| 78 | + <div class="menu-dropdown-item" data-action="gitClone"><i class="fas fa-clone"></i> Clone</div> |
| 79 | + </div> |
| 80 | + <div class="menu-dropdown" id="menu-help"> |
| 81 | + <div class="menu-dropdown-item" data-action="about"><i class="fas fa-info-circle"></i> About HTMLRunner</div> |
| 82 | + <div class="menu-dropdown-separator"></div> |
| 83 | + <div class="menu-dropdown-item" data-action="openShortcuts"><i class="fas fa-keyboard"></i> Keyboard Shortcuts</div> |
| 84 | + </div> |
30 | 85 | <div class="main"> |
31 | 86 | <div class="editor-panel" id="editor-panel"> |
32 | 87 | <div class="editor-header"> |
|
36 | 91 | <div class="sidebar" id="sidebar"> |
37 | 92 | <div class="sidebar-header"> |
38 | 93 | <span>FILES</span> |
39 | | - <button class="sidebar-new-btn" id="sidebar-new-btn" title="New File"><i class="fas fa-plus"></i></button> |
| 94 | + <div class="sidebar-actions"> |
| 95 | + <button class="sidebar-new-btn" id="sidebar-new-btn" title="New File"><i class="fas fa-plus"></i></button> |
| 96 | + <button class="sidebar-folder-btn" id="sidebar-folder-btn" title="New Folder"><i class="fas fa-folder-plus"></i></button> |
| 97 | + <button class="sidebar-import-btn" id="sidebar-import-btn" title="Import Files"><i class="fas fa-folder-open"></i></button> |
| 98 | + </div> |
40 | 99 | </div> |
41 | 100 | <div class="file-tree" id="file-tree"></div> |
42 | 101 | <div class="sidebar-section"> |
|
54 | 113 | <div class="output-tabs"> |
55 | 114 | <div class="tab active" data-output="preview">Preview</div> |
56 | 115 | <div class="tab" data-output="console">Console</div> |
| 116 | + <div class="tab" data-output="terminal">Terminal</div> |
57 | 117 | </div> |
58 | 118 | <div class="output-content"> |
| 119 | + <button class="preview-open-btn" id="preview-open-btn" title="Open preview in new tab"><i class="fas fa-external-link-alt"></i></button> |
59 | 120 | <iframe id="preview" class="preview active"></iframe> |
60 | 121 | <div id="console" class="console"></div> |
| 122 | + <div id="terminal" class="terminal-panel"></div> |
61 | 123 | </div> |
62 | 124 | </div> |
63 | 125 | </div> |
64 | 126 | </div> |
| 127 | + <div class="status-bar" id="status-bar"> |
| 128 | + <span class="cursor-position" id="cursor-position">Ln 1, Col 1</span> |
| 129 | + <span class="status-bar-right"> |
| 130 | + <span class="file-encoding">UTF-8</span> |
| 131 | + </span> |
| 132 | + </div> |
65 | 133 | <script type="module" src="./src/main.ts"></script> |
66 | 134 | </body> |
67 | 135 | </html> |
0 commit comments