Sort the Directory by name either way or by subscribers (#122)
The Directory always listed A to Z, as the server sends it. A menu beside its filters now sorts it A to Z, Z to A or by most subscribers (then by name), in the page, without asking the server again, and the choice stays while the pane is redrawn, as the filters do. The blurb no longer says A to Z, since it may not be. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -887,6 +887,16 @@ test('Popular lists what everyone here reads, but never a private feed', async (
|
||||
await expect(tiles).toHaveCount(dir.filter(p => p.podcast).length);
|
||||
await pick('tabs', 'All').click();
|
||||
await expect(tiles).toHaveCount(dir.length);
|
||||
// Sorted by name either way, A to Z as it opens, or by subscribers (#122).
|
||||
const byName = dir.map(p => p.title || p.id).sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'base', numeric: true }));
|
||||
await piper.locator('#dirsort').selectOption('az');
|
||||
await expect(tiles.first()).toContainText(byName[0]);
|
||||
await piper.locator('#dirsort').selectOption('za');
|
||||
await expect(tiles.first()).toContainText(byName[byName.length - 1]);
|
||||
await expect(tiles).toHaveCount(dir.length);
|
||||
await piper.locator('#dirsort').selectOption('subscribers');
|
||||
await expect(tiles).toHaveCount(dir.length);
|
||||
await piper.locator('#dirsort').selectOption('az');
|
||||
|
||||
// Add a feed is for an address; Popular and Directory are where you browse (issue #30).
|
||||
await piper.locator('#addFeed').click();
|
||||
|
||||
Reference in New Issue
Block a user