|
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | | - <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src 'self';"> |
| 6 | + <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src 'self' file:;"> |
7 | 7 | <title>LOGAN - Log Analyzer</title> |
8 | 8 | <link rel="stylesheet" href="styles.css"> |
9 | 9 | <link rel="stylesheet" href="lib/xterm.css"> |
|
124 | 124 | <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line><line x1="11" y1="8" x2="11" y2="14"></line></svg> |
125 | 125 | <span class="activity-badge" id="badge-search-configs"></span> |
126 | 126 | </button> |
| 127 | + <button class="activity-bar-btn" id="btn-video-player" title="Video Player (Ctrl+9)"> |
| 128 | + <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><polygon points="10 8 16 12 10 16 10 8"></polygon></svg> |
| 129 | + <span class="activity-badge" id="badge-video-player"></span> |
| 130 | + </button> |
127 | 131 | </div> |
128 | 132 | <div class="activity-bar-bottom"> |
129 | 133 | <button class="activity-bar-btn" id="btn-activity-settings" title="Settings"> |
@@ -390,6 +394,36 @@ <h2>LOGAN</h2> |
390 | 394 | </div> |
391 | 395 | </div> |
392 | 396 |
|
| 397 | + <!-- Video Player Panel (slide-up from bottom) --> |
| 398 | + <div id="video-overlay" class="video-overlay hidden"> |
| 399 | + <div id="video-panel" class="video-panel"> |
| 400 | + <div id="video-resize-handle" class="video-resize-handle-top"></div> |
| 401 | + <div class="video-panel-header"> |
| 402 | + <span class="video-panel-title">Video Player</span> |
| 403 | + <span id="video-file-name" class="video-file-name"></span> |
| 404 | + <button id="btn-video-close" class="video-close-btn" title="Close (Esc)">×</button> |
| 405 | + </div> |
| 406 | + <div class="video-panel-body"> |
| 407 | + <div id="video-container" class="video-container"> |
| 408 | + <video id="video-element" class="video-element" controls></video> |
| 409 | + <div id="video-drop-zone" class="video-drop-zone"> |
| 410 | + <div class="video-drop-zone-content"> |
| 411 | + <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" opacity="0.5"><rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><polygon points="10 8 16 12 10 16 10 8"></polygon></svg> |
| 412 | + <p>Drag & drop a video file here</p> |
| 413 | + <button id="btn-video-open" class="video-open-btn">Open Video</button> |
| 414 | + </div> |
| 415 | + </div> |
| 416 | + </div> |
| 417 | + <div class="video-sync-bar"> |
| 418 | + <label class="video-sync-label">Sync:</label> |
| 419 | + <input type="text" id="video-sync-input" class="video-sync-input" placeholder="Timestamp at video 0:00" title="Enter the log timestamp that corresponds to video start (0:00)"> |
| 420 | + <button id="btn-video-sync-from-line" class="video-sync-btn" title="Use selected line's timestamp">Set from line</button> |
| 421 | + <span id="video-sync-status" class="video-sync-status"></span> |
| 422 | + </div> |
| 423 | + </div> |
| 424 | + </div> |
| 425 | + </div> |
| 426 | + |
393 | 427 | <!-- Status Bar --> |
394 | 428 | <footer class="status-bar"> |
395 | 429 | <div class="status-left"> |
@@ -635,7 +669,8 @@ <h4>Terminal & Notes</h4> |
635 | 669 | <div class="shortcut-item"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>N</kbd><span>Toggle notes drawer</span></div> |
636 | 670 | <div class="shortcut-item"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd><span>Toggle search results panel</span></div> |
637 | 671 | <div class="shortcut-item"><kbd>Ctrl</kbd>+<kbd>8</kbd><span>Toggle search configs panel</span></div> |
638 | | - <div class="shortcut-item"><kbd>Esc</kbd><span>Close terminal/notes/search results/search configs (when focused)</span></div> |
| 672 | + <div class="shortcut-item"><kbd>Ctrl</kbd>+<kbd>9</kbd><span>Toggle video player</span></div> |
| 673 | + <div class="shortcut-item"><kbd>Esc</kbd><span>Close terminal/notes/search results/search configs/video (when focused)</span></div> |
639 | 674 | </div> |
640 | 675 | </div> |
641 | 676 | <div class="help-section"> |
|
0 commit comments