diff options
Diffstat (limited to 'src/renderer/src/App.css')
| -rw-r--r-- | src/renderer/src/App.css | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/src/renderer/src/App.css b/src/renderer/src/App.css index cdf4bce..7f7b24c 100644 --- a/src/renderer/src/App.css +++ b/src/renderer/src/App.css @@ -349,6 +349,115 @@ html, body, #root { min-height: 0; } +/* ── Search Panel ────────────────────────────────────────────── */ + +.search-panel { + height: 100%; + display: flex; + flex-direction: column; + background: var(--bg-secondary); +} + +.search-panel-header { + padding: 8px; + border-bottom: 1px solid var(--border); +} + +.search-input-row { + display: flex; + gap: 4px; +} + +.search-input { + flex: 1; + background: var(--bg-primary); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-family: var(--font-mono); + font-size: 12px; + padding: 5px 8px; + outline: none; +} + +.search-input:focus { + border-color: var(--accent-blue); +} + +.search-case-btn { + background: var(--bg-hover); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-muted); + font-size: 11px; + font-weight: 600; + padding: 2px 6px; + cursor: pointer; +} + +.search-case-btn.active { + background: var(--accent-blue); + color: white; + border-color: var(--accent-blue); +} + +.search-status { + font-size: 11px; + color: var(--text-muted); + margin-top: 4px; + padding: 0 2px; +} + +.search-results { + flex: 1; + overflow-y: auto; + min-height: 0; +} + +.search-file-group { + border-bottom: 1px solid var(--border); +} + +.search-file-name { + padding: 4px 8px; + font-size: 11px; + font-weight: 600; + color: var(--accent); + background: var(--bg-tertiary); + position: sticky; + top: 0; + z-index: 1; +} + +.search-result-item { + display: flex; + gap: 8px; + padding: 3px 8px 3px 16px; + font-size: 12px; + font-family: var(--font-mono); + cursor: pointer; + align-items: baseline; +} + +.search-result-item:hover { + background: var(--bg-hover); +} + +.search-result-line { + color: var(--text-muted); + font-size: 10px; + min-width: 28px; + text-align: right; + flex-shrink: 0; +} + +.search-result-content { + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + /* ── File Tree ───────────────────────────────────────────────── */ .file-tree { @@ -1271,6 +1380,61 @@ html, body, #root { height: 100%; } +/* CodeMirror search panel — Cosmic Latte theme */ +.cm-editor .cm-search { + background: var(--bg-secondary); + border-bottom: 1px solid var(--border); + padding: 4px 8px; + font-family: var(--font-sans); + font-size: 12px; + color: var(--text-primary); + display: flex; + flex-wrap: wrap; + gap: 4px; + align-items: center; +} +.cm-editor .cm-search input, +.cm-editor .cm-search select { + background: var(--bg-primary); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-family: var(--font-mono); + font-size: 12px; + padding: 2px 6px; + outline: none; +} +.cm-editor .cm-search input:focus { + border-color: var(--accent-blue); +} +.cm-editor .cm-search button { + background: var(--bg-hover); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-size: 11px; + padding: 2px 8px; + cursor: pointer; +} +.cm-editor .cm-search button:hover { + background: var(--bg-active); +} +.cm-editor .cm-search label { + font-size: 11px; + color: var(--text-secondary); +} +.cm-editor .cm-search .cm-button { + background: var(--bg-hover); + border: 1px solid var(--border); + border-radius: var(--radius-sm); +} +.cm-editor .cm-searchMatch { + background: rgba(184, 134, 11, 0.3); +} +.cm-editor .cm-searchMatch-selected { + background: rgba(184, 134, 11, 0.6); +} + /* ── PDF Viewer ──────────────────────────────────────────────── */ .pdf-panel { @@ -1328,6 +1492,38 @@ html, body, #root { text-align: center; } +.pdf-search-bar { + display: flex; + align-items: center; + gap: 4px; + padding: 4px 8px; + background: var(--bg-secondary); + border-bottom: 1px solid var(--border); +} + +.pdf-search-input { + flex: 1; + background: var(--bg-primary); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-family: var(--font-sans); + font-size: 12px; + padding: 3px 8px; + outline: none; +} + +.pdf-search-input:focus { + border-color: var(--accent-blue); +} + +.pdf-search-count { + font-size: 11px; + color: var(--text-muted); + min-width: 60px; + text-align: center; +} + .pdf-container { flex: 1; overflow: auto; |
