Currently Listening: the EQ bars mark what is playing

The row in the player gets the amber EQ bars, as the item list's does,
and its progress rail and time left move as it plays. Rows say how
much is left, and their buttons are quiet so that row stands out.

savePos no longer saves before the file has loaded: currentTime is 0
then, and a failed load or an early pause wiped the saved position.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 18:08:21 +00:00
parent f89ca2aceb
commit 8daa7a1991
3 changed files with 66 additions and 11 deletions

View File

@@ -174,7 +174,7 @@ test('Currently Listening, its own place below Popular, resumes an episode you s
await page.locator('#feedlist .place', { hasText: 'Currently Listening' }).click();
const row = page.locator('#listening .childrow', { hasText: 'Second Episode' });
await expect(row).toBeVisible({ timeout: 20_000 });
await expect(row).toContainText('0:42 of 15:00');
await expect(row).toContainText('14:18 left');
// Removing it forgets where you got to, so it is still gone on the next visit.
await row.locator('[data-a=remove]').click();
@@ -192,7 +192,12 @@ test('Currently Listening, its own place below Popular, resumes an episode you s
await row.click();
await expect(page.locator('#player')).toBeVisible();
await expect(page.locator('#ptitle')).toHaveText('Second Episode');
// The row in the player carries the EQ bars, as the feed view's does, until the player closes.
await expect(row).toHaveClass(/\bnow\b/);
await expect(row.locator('.eq')).toBeVisible();
await page.locator('#pclose').click();
await expect(row).not.toHaveClass(/\bnow\b/);
await expect(row.locator('.eq')).toBeHidden();
});
test('the filter tabs change what is listed', async ({ page }) => {