From 609e0edf60fc027da382b6a6ab5747dcd29cfe81 Mon Sep 17 00:00:00 2001 From: David Keane Date: Wed, 10 Jun 2026 00:28:46 +0100 Subject: [PATCH] =?UTF-8?q?feat(v0.5.1-prep):=20expand=20Quick=20Stations?= =?UTF-8?q?=208=20=E2=86=92=2014?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 6 more SomaFM channels to the NewTab Quick Stations chip row. Was reading sparse with only 8; the row had space for more. Selections broaden genre coverage and add two on-brand picks: + defcon DEF CON Radio (electronic / hacker culture) + beatblender Beat Blender (electronic / breakbeat) + bootliquor Boot Liquor (americana / outlaw country) + u80s Underground 80s (80s indie / synthwave) + bagel BAGeL Radio (indie / alt-rock) + thistle ThistleRadio (celtic / folk — Dublin nod) Total chip count: 8 → 14. No code change other than the QUICK_IDS array. The render loop already drops any ID that's missing from SomaFM's channels.json catalogue, so if a slug changes upstream it just disappears silently. DEF CON Radio = David's personal favourite (used as the test station throughout v0.3.0 development). ThistleRadio = Irish-built extension nodding to Celtic folk. Both feel right for the demographic this product serves. --- src/newtab/newtab.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/newtab/newtab.js b/src/newtab/newtab.js index 8f3dd8c..a7bf28b 100644 --- a/src/newtab/newtab.js +++ b/src/newtab/newtab.js @@ -57,15 +57,26 @@ const CATALOGUE_TTL_MS = 6 * 60 * 60 * 1000; // Quick-pick stations. These are the SomaFM ids most people start with. // If the catalogue is missing any (rare), they're just dropped silently. +// +// Layout: 14 stations across roughly chill / ambient / indie / lounge / +// space / electronic / americana / 80s / alt-rock / celtic — broader +// genre coverage than the v0.4.0 list, plus DEF CON Radio (the on-brand +// cybersecurity pick) and ThistleRadio (the Dublin-built Irish nod). const QUICK_IDS = [ - 'groovesalad', - 'dronezone', - 'indiepop', - 'secretagent', - 'spacestation', - 'lush', - 'deepspaceone', - 'fluid', + 'groovesalad', // chill / electronic + 'dronezone', // ambient + 'indiepop', // indie pop rocks + 'secretagent', // lounge / spy + 'spacestation', // ambient / space + 'lush', // vocal / chill + 'deepspaceone', // ambient + 'fluid', // electronic + 'defcon', // electronic / hacker culture (DEF CON Radio) + 'beatblender', // electronic / breakbeat + 'bootliquor', // americana / outlaw country + 'u80s', // 80s indie / synthwave (Underground 80s) + 'bagel', // indie / alt-rock (BAGeL Radio) + 'thistle', // celtic / folk (ThistleRadio) ]; let stations = [];