diff --git a/docker/frontend/src/Library.tsx b/docker/frontend/src/Library.tsx index 17f8e0c..4337e9d 100644 --- a/docker/frontend/src/Library.tsx +++ b/docker/frontend/src/Library.tsx @@ -1065,20 +1065,20 @@ export function Library() { > {rows.map((n) => { const folder = folders.find((f) => f.name === n.key.split('/')[0]) ?? null; - // The rows that say a reading is under way are the folder it - // was kept to and every folder above it on the way down, and - // never a folder under it, which the reading has not reached. - // Depth is why: a branch folded shut hides the row being read, - // and the rows above it are what keeps the work in sight while - // the folder doing it is out of sight. The roll's own row is - // the exception, and says so only when the roll itself is what - // is being read — a roll asked to speak for one branch of - // itself tells the reader the whole of it is being read, which - // is the one answer a deep tree cannot afford. + // The row that says a reading is under way is the folder the + // reading stands in — not the folder it was pointed at, which + // would be the same row for the whole of an afternoon while + // the work went on somewhere the reader cannot see — together + // with every folder above it, so a branch folded shut still + // shows the work going on under it. The roll's own row is + // never one of them: it is the head of everything below it, + // and a head that says all of a tree is being read says + // nothing about the folder the reading is actually in. The + // frames that sit in the roll's own folder are the one case + // left bare, and the toolbar's line is what carries them. const dir = relOf(n.key); - const from: string | null = live && live.folder === folder?.name ? live.progress.from : null; - const scanning = - dir !== null && from !== null && (dir === '' ? from === '' : dir === from || from.startsWith(dir)); + const at = live && live.folder === folder?.name && live.progress.at ? `${live.progress.at}/` : null; + const scanning = dir !== null && dir !== '' && at !== null && (dir === at || at.startsWith(dir)); const under = parents.has(n.key); return (