diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ab77f1..101b41b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- An empty list and the reader with nothing picked say nothing, instead of "Nothing here yet — try Scan now." and "Pick an item to read it."; a search that finds nothing still says so. - In Settings, the API tokens sit in a box of their own. - A feed's settings are redesigned: downloading on its own is a switch with what depends on it beneath, how many is Default, Newest or All shown on a strip of the show's own episodes, words to pick or hide are chips, the feed's address is at the top with a copy button, and Save is always in reach. Its folder and Directory category are no longer in it. - The feed list's traces show each of its database queries, so it can be told where its time goes. diff --git a/tests/ui/app.spec.js b/tests/ui/app.spec.js index 39e4671..8a525dd 100644 --- a/tests/ui/app.spec.js +++ b/tests/ui/app.spec.js @@ -157,7 +157,7 @@ test('the three panes are there and the item text lands in the bottom one', asyn await page.locator('.feed', { hasText: 'Test Show' }).click(); await expect(page.locator('#list')).toBeVisible(); await expect(page.locator('#grab')).toBeVisible(); // the draggable divider - await expect(page.locator('#detail')).toContainText('Pick an item'); + await expect(page.locator('#detail .dt')).toHaveCount(0); // nothing picked, nothing said await page.locator('.ep', { hasText: 'First Episode' }).click(); await expect(page.locator('#detail .dt')).toHaveText('First Episode'); diff --git a/web/src/items.ts b/web/src/items.ts index 64ca6ae..f6f8cd2 100644 --- a/web/src/items.ts +++ b/web/src/items.ts @@ -39,7 +39,8 @@ function renderEntries(){ const pane=$('#list'), top=pane?pane.scrollTop:0; box.innerHTML=''; if(!S.entries.length){ - box.innerHTML=`

${S.q?'Nothing matches that search.':'Nothing here yet — try Scan now.'}

`; + // Said only for a search, where the words typed are why; an empty feed or tab speaks for itself. + if(S.q) box.innerHTML='

Nothing matches that search.

'; return; } for(const e of S.entries) box.appendChild(epEl(e)); @@ -265,7 +266,7 @@ function showDetail(e){ syncTools(e); if(!e){ dropTurned(S.sel); - box.innerHTML='

Pick an item to read it.

'; + box.innerHTML=''; if(files) files.innerHTML='

No files

'; return; }