fix(library): propagate active scanning spinner icon along full folder path hierarchy to root
This commit is contained in:
@@ -1099,10 +1099,11 @@ function Catalogue() {
|
||||
// so it marks the folder it was asked of.
|
||||
const askedMarks = scanQueue().map((j) => markOf(j.folder, j.rel, ''));
|
||||
const wearsMark = (n: Node, m: Mark): boolean => {
|
||||
const nKey = normPath(n.key);
|
||||
// Another roll's rows are neither the reading's nor the request's news.
|
||||
if (n.key !== m.root && !n.key.startsWith(`${m.root}/`)) return false;
|
||||
// The asked row itself, and every row the asked row sits under.
|
||||
return n.key === m.own || m.own.startsWith(`${n.key}/`);
|
||||
if (nKey !== m.root && !nKey.startsWith(`${m.root}/`)) return false;
|
||||
// The active scanning row itself, and every parent/ancestor row up to root.
|
||||
return nKey === m.own || m.own.startsWith(`${nKey}/`);
|
||||
};
|
||||
|
||||
// A remembered subfolder that no longer holds a frame falls back to the folder
|
||||
|
||||
@@ -987,8 +987,9 @@ export async function scanFolder(
|
||||
// The frame in hand names the folder the reading is standing in, and the
|
||||
// queue is filled layer by layer, so this is the column's answer to which
|
||||
// folder is being read while it is being read.
|
||||
const at = rel.lastIndexOf('/');
|
||||
progress.at = at < 0 ? '' : rel.slice(0, at);
|
||||
const relNorm = (rel || '').replace(/\\/g, '/');
|
||||
const cut = relNorm.lastIndexOf('/');
|
||||
progress.at = cut < 0 ? '' : normPath(relNorm.slice(0, cut));
|
||||
progress.done++;
|
||||
const read = readOne(handle, rel);
|
||||
const lane = read
|
||||
|
||||
Reference in New Issue
Block a user