Remove TODO.txt integration
This commit is contained in:
+5
-71
@@ -466,9 +466,6 @@ body.edit-mode footer { max-width: none; }
|
||||
.fab { position: fixed; bottom: var(--space-4); right: var(--space-4); z-index: 50; }
|
||||
button.fab { display: none; }
|
||||
.fab-rail { bottom: calc(var(--space-4) + 3rem + var(--space-2)); }
|
||||
/* Todo FAB: third slot, above the tree and right-rail FABs. Only created when
|
||||
todo.txt exists (todo-rail.js). */
|
||||
.fab-todo { bottom: calc(var(--space-4) + 2 * (3rem + var(--space-2))); }
|
||||
|
||||
/* === Companion status === */
|
||||
.companion-status { margin-left: auto; }
|
||||
@@ -677,11 +674,6 @@ aside.sidebar:empty { display: none; }
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
/* The todo widget fills the overlay: drop the rail divider and lift the
|
||||
internal height cap so the whole file is editable on mobile. */
|
||||
.overlay-body .todo-rail { border-bottom: none; padding-bottom: 0; }
|
||||
.overlay-body .todo-rail .todo-rail-view,
|
||||
.overlay-body .todo-rail .cm-editor { max-height: none; }
|
||||
/* Right rail keeps its column spacing (TOC above widgets) inside the overlay;
|
||||
the base .sidebar already sets flex-direction + gap. */
|
||||
.overlay-body .sidebar { display: flex; }
|
||||
@@ -733,9 +725,9 @@ aside.sidebar:empty { display: none; }
|
||||
/* === Tree sidebar (persistent left navigation rail) ===
|
||||
Reuses the .tree-row / .tree-children / .tree-name / .tree-chevron modules.
|
||||
Desktop: a full-height flex column in the app-shell (composes with .col)
|
||||
holding the todo widget pinned on top and the tree's own scroll region
|
||||
below. Mobile: not laid out inline — its content is surfaced through the
|
||||
Overlay via the stacked FABs (see responsive). */
|
||||
holding the tree's own scroll region. Mobile: not laid out inline — its
|
||||
content is surfaced through the Overlay via the stacked FABs (see
|
||||
responsive). */
|
||||
/* No right padding on the aside: the scrolling children below reach the
|
||||
border-right so their scrollbars sit flush against the divider line (they
|
||||
pad their own content off the scrollbar instead). */
|
||||
@@ -746,9 +738,8 @@ aside.sidebar:empty { display: none; }
|
||||
padding: var(--space-4) 0 var(--space-4) var(--space-4);
|
||||
border-right: var(--border-dashed);
|
||||
}
|
||||
/* The tree's scroll region: only the tree overflows, the todo widget above
|
||||
keeps its own internal scroll. Also the node the tree FAB moves into the
|
||||
Overlay, so font sizing lives here rather than on the aside. */
|
||||
/* The tree's scroll region: the tree overflows here. Also the node the tree FAB
|
||||
moves into the Overlay, so font sizing lives here rather than on the aside. */
|
||||
.tree-scroll {
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
@@ -760,63 +751,6 @@ aside.sidebar:empty { display: none; }
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* === Todo rail (root todo.txt widget) ===
|
||||
Pinned above the folder tree (todo-rail.js). Hidden via the [hidden]
|
||||
attribute until GET /_todo confirms the file exists. A long file scrolls
|
||||
internally rather than pushing the tree off screen; the height cap is
|
||||
lifted inside the Overlay. */
|
||||
.todo-rail {
|
||||
flex-shrink: 0;
|
||||
padding-bottom: var(--space-3);
|
||||
border-bottom: var(--border-dashed);
|
||||
}
|
||||
.todo-rail-head {
|
||||
font-size: var(--font-xs);
|
||||
margin-bottom: var(--space-2);
|
||||
padding-right: var(--space-2);
|
||||
}
|
||||
/* Compact action toolbar in the widget header. Buttons are the app's standard
|
||||
bracketed .btn/.btn-tool; the row just holds them together and lets them wrap
|
||||
in the narrow rail rather than overflow. */
|
||||
.todo-toolbar { flex-wrap: wrap; }
|
||||
/* Roomier tap targets when the widget is surfaced full-screen on mobile. */
|
||||
.overlay-body .todo-toolbar .btn {
|
||||
font-size: var(--font-sm);
|
||||
padding: var(--space-1) var(--space-2);
|
||||
}
|
||||
.todo-unsaved { color: var(--primary-hover); font-size: var(--font-xs); }
|
||||
/* The scrolling children run edge-to-edge (the aside has no right padding) so
|
||||
their scrollbars are flush with the divider; padding-right keeps their text
|
||||
clear of the scrollbar. */
|
||||
.todo-rail-view {
|
||||
font-family: "Iosevka Slab", monospace;
|
||||
font-size: var(--font-xs);
|
||||
line-height: 1.5;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
max-height: 40vh;
|
||||
overflow-y: auto;
|
||||
padding-right: var(--space-2);
|
||||
cursor: text;
|
||||
}
|
||||
.todo-rail .cm-editor { max-height: 40vh; }
|
||||
.todo-rail .cm-content { padding-right: var(--space-2); }
|
||||
/* Hanging indent per task. Each todo (one logical line) starts flush-left and
|
||||
its wrapped continuation lines are indented, so a new task is distinguishable
|
||||
from a wrapped line even when it has no leading priority/date/x marker. The
|
||||
indent is character-relative (ch) because it aligns to the monospace text,
|
||||
not to the layout's spacing scale. */
|
||||
.todo-rail .cm-line {
|
||||
padding-left: 2ch;
|
||||
text-indent: -2ch;
|
||||
}
|
||||
.todo-rail .todo-fallback {
|
||||
width: 100%;
|
||||
min-height: 10rem;
|
||||
font-family: "Iosevka Slab", monospace;
|
||||
font-size: var(--font-xs);
|
||||
}
|
||||
|
||||
/* === Movie info box === */
|
||||
.movie-info { margin: var(--space-3) 0; }
|
||||
.movie-info::after { content: ""; display: block; clear: both; }
|
||||
|
||||
Reference in New Issue
Block a user