Four customer-copy / UX cleanups bundled together:
1. Drive bay title strip — shortGroupLabel() collapses "LFF/SFF/NVMe
Drive Bays" to just "Drive Bays" everywhere it surfaces (rail
anchor, configurator section title, BuildSummary line item).
Each chassis only ever shows one drive bay group, so the
form-factor prefix was redundant noise.
2. HDD/SSD optgroups in Drive Selection — VSelect now interleaves
VListSubheader rows ("HDDs", "SSDs", "NVMe") between options.
Sentinel header values (`__hdr_<cat>`) are filtered in
onDriveChange so a stray header click can't propagate.
3. OS list expansion — went from 6 entries to 14: added AlmaLinux 8,
Rocky 8, Ubuntu 22.04 LTS, Debian 11, Fedora Server 41, FreeBSD 14,
Proxmox VE 8, Windows Server 2019 (BYOL). Default flipped from
"No OS" → "AlmaLinux 9" (matching what most dedicated buyers
actually want — flag and revert via seeder if you'd rather keep
bare-metal as the default).
4. OS picker grouped by distro — OsGroupSelector renders family
sections (AlmaLinux, Rocky Linux, Ubuntu, Debian, Fedora,
FreeBSD, Proxmox VE, Windows Server, Other) with a small
uppercase heading above each row of tiles. metaFor() helper
maps slug → family + logo path. New SVG logos for fedora,
freebsd, proxmox; refined geometry on almalinux + rocky + debian.
Reseeded the OS group (deleted old 6 values, recreated 14 with new
ordering). 20/20 dedicated tests still pass. `npm run build` clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
392 B
392 B