Compare commits
2 commits
0a6f9fe60a
...
a6cb847f2f
| Author | SHA1 | Date | |
|---|---|---|---|
| a6cb847f2f | |||
| 889aa78589 |
5 changed files with 23 additions and 49 deletions
|
|
@ -26,21 +26,6 @@ body {
|
|||
|
||||
/* .hidden lives in shared/base.css; no per-tool override needed. */
|
||||
|
||||
/* Status bar — shows transient errors/info */
|
||||
.status-bar {
|
||||
padding: 0.4rem 1rem;
|
||||
background: var(--bg-secondary);
|
||||
border-top: 1px solid var(--border);
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-muted);
|
||||
min-height: 1.6rem;
|
||||
line-height: 1.6rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.status-bar--error { color: #b00020; }
|
||||
.status-bar--info { color: var(--primary); }
|
||||
|
||||
/* Read-only banner for the YAML editor — surfaced by preview-yaml.js
|
||||
when the listing's `writable` bit was false. CodeMirror's readOnly
|
||||
mode has no built-in visual signal beyond the disabled caret, so a
|
||||
|
|
|
|||
|
|
@ -244,6 +244,11 @@ body {
|
|||
|
||||
.preview-pane__body {
|
||||
flex: 1;
|
||||
min-height: 0; /* critical: lets the flex child shrink to fit
|
||||
the viewport instead of growing to its
|
||||
content's natural size (which clips the
|
||||
YAML editor's bottom when there are many
|
||||
lines, even with the editor's own scroll) */
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
@ -575,21 +580,6 @@ body {
|
|||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
/* ── Status bar ──────────────────────────────────────────────────────────── */
|
||||
|
||||
.status-bar {
|
||||
padding: 0.4rem 1rem;
|
||||
background: var(--bg-secondary);
|
||||
border-top: 1px solid var(--border);
|
||||
font-size: 0.8rem;
|
||||
color: var(--text-muted);
|
||||
min-height: 1.6rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.status-bar.is-error { color: var(--danger); }
|
||||
.status-bar.is-info { color: var(--text); }
|
||||
|
||||
/* ── Markdown plugin (right-pane internals when a .md is selected) ──────── */
|
||||
/* CSS-Grid shell mirroring mdedit's layout: sidebar on the LEFT
|
||||
(front matter top + TOC bottom), content on the RIGHT (informational
|
||||
|
|
|
|||
|
|
@ -10,18 +10,21 @@
|
|||
// call time, not at IIFE-eval time.
|
||||
function previewMod() { return window.app.modules.preview; }
|
||||
|
||||
// Notifications route through the shared toast helper (shared/
|
||||
// toast.js) — there's no persistent footer strip in browse. Same
|
||||
// signatures as before so the 70+ existing call sites work
|
||||
// unchanged; statusClear is a no-op (toasts fade on their own and
|
||||
// single-toast policy guarantees only the latest is visible).
|
||||
function status(msg, kind) {
|
||||
var el = document.getElementById('statusBar');
|
||||
if (!el) return;
|
||||
el.textContent = msg || '';
|
||||
el.classList.remove('status-bar--error', 'status-bar--info');
|
||||
if (kind === 'error') el.classList.add('status-bar--error');
|
||||
if (kind === 'info') el.classList.add('status-bar--info');
|
||||
if (!msg) return;
|
||||
if (!window.zddc || typeof window.zddc.toast !== 'function') return;
|
||||
var level = kind === 'error' ? 'error' : 'info';
|
||||
window.zddc.toast(msg, level);
|
||||
}
|
||||
|
||||
function statusError(msg) { status(msg, 'error'); }
|
||||
function statusInfo(msg) { status(msg, 'info'); }
|
||||
function statusClear() { status('', null); }
|
||||
function statusClear() { /* no-op — toasts fade on their own */ }
|
||||
|
||||
async function pickLocalDir() {
|
||||
if (typeof window.showDirectoryPicker !== 'function') {
|
||||
|
|
|
|||
|
|
@ -32,19 +32,17 @@
|
|||
var REVIEW_OFFSET_DAYS = 7;
|
||||
var RESPONSE_OFFSET_DAYS = 14;
|
||||
|
||||
// Notifications go through the shared toast helper — there's no
|
||||
// persistent footer strip in browse anymore.
|
||||
function statusInfo(msg) {
|
||||
var el = document.getElementById('statusBar');
|
||||
if (!el) return;
|
||||
el.textContent = msg || '';
|
||||
el.classList.remove('status-bar--error');
|
||||
el.classList.add('status-bar--info');
|
||||
if (msg && window.zddc && typeof window.zddc.toast === 'function') {
|
||||
window.zddc.toast(msg, 'info');
|
||||
}
|
||||
}
|
||||
function statusError(msg) {
|
||||
var el = document.getElementById('statusBar');
|
||||
if (!el) return;
|
||||
el.textContent = msg || '';
|
||||
el.classList.remove('status-bar--info');
|
||||
el.classList.add('status-bar--error');
|
||||
if (msg && window.zddc && typeof window.zddc.toast === 'function') {
|
||||
window.zddc.toast(msg, 'error');
|
||||
}
|
||||
}
|
||||
|
||||
// Compute today + N days as a YYYY-MM-DD string.
|
||||
|
|
|
|||
|
|
@ -98,8 +98,6 @@
|
|||
</div>
|
||||
</main>
|
||||
|
||||
<div id="statusBar" class="status-bar"></div>
|
||||
|
||||
<!-- Help Panel -->
|
||||
<aside id="help-panel" class="help-panel" hidden aria-labelledby="help-panel-title">
|
||||
<div class="help-panel__header">
|
||||
|
|
|
|||
Loading…
Reference in a new issue