feat: PDF support + Split View (P1 roadmap items)
#74 — Support PDF complet: - backend/pdf_reader.py — pymupdf/pypdf text extraction - .pdf added to SUPPORTED_EXTENSIONS in indexer.py - PDF-aware file view API endpoint (metadata, text preview) - Streaming endpoint /api/file/{vault}/pdf/stream - Frontend PDF viewer with iframe, toolbar, download - CSS for PDF viewer container #75 — Split View (PaneManager): - New module frontend/js/pane-manager.js — ES module - 1-4 pane CSS grid with resize handles - Split right/down via keyboard (Ctrl+Alt+\) or PaneManager API - Persistence in localStorage (obsigate-panes) - Collapse to single pane, per-pane active state 285 tests passent
This commit is contained in:
@@ -8428,3 +8428,60 @@ body.popup-mode .content-area {
|
||||
font-size: 0.62rem; color: var(--text-muted); opacity: 0.5;
|
||||
}
|
||||
.about-copy code { font-family: var(--mono); font-size: 0.58rem; }
|
||||
|
||||
/* ── PDF Viewer ── */
|
||||
.pdf-viewer-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
}
|
||||
.pdf-toolbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 16px;
|
||||
background: var(--surface1);
|
||||
border-bottom: 1px solid var(--border);
|
||||
font-size: 0.85rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.pdf-info {
|
||||
flex: 1;
|
||||
color: var(--text-dim);
|
||||
}
|
||||
.pdf-iframe {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
border: none;
|
||||
min-height: 70vh;
|
||||
}
|
||||
|
||||
/* ── PaneManager — Split View ── */
|
||||
.pane-grid {
|
||||
display: grid;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.pane-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.pane-container.pane-active {
|
||||
outline: 2px solid var(--accent);
|
||||
outline-offset: -2px;
|
||||
z-index: 1;
|
||||
}
|
||||
.pane-tab-bar { flex-shrink: 0; }
|
||||
.pane-content { flex: 1; overflow-y: auto; }
|
||||
.pane-resize-handle {
|
||||
background: var(--border);
|
||||
transition: background 150ms;
|
||||
min-width: 4px;
|
||||
min-height: 4px;
|
||||
z-index: 2;
|
||||
}
|
||||
.pane-resize-handle:hover {
|
||||
background: var(--accent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user