feat(ui): tokenize presence dots + status/bot badges (LC-198) #249
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc-198-icons-avatars"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
LC-198 polish, slice 1: presence / status / bot color tokens. The icon-system consolidation (shared
<svg>partial / sprite) and the deterministic-initials-bg-from-user-id are out of scope here and stay open under LC-198.What's tokenized
partials/avatar.htmlpresence dotbg-green-500 / yellow-400 / red-500 / slate-400,ring-whitebg-success / warning / danger / content-subtle,ring-surface-elevatedstatus/picker.htmlradio swatchessettings/page.htmlprofile presence dot (h-4 w-4)ring-whitering-surface-elevatedws/user_status_update.htmllive-update JSpartials/enclave_switcher.htmlunread/invites chipbg-red-500 text-whitebg-danger text-danger-contentroom/message.htmlbot author badgebg-indigo-100 text-indigo-700bg-surface-sunken text-content-muted(the badge is a role label, not a state indicator - neutral chip is the right shape)Why this works in every theme
The LC-190 palette already has
--success / --warning / --danger / --content-subtle / --surface-elevateddefined for:root(light),[data-theme="dark"],[data-theme="hc-light"], and[data-theme="hc-dark"]. So all six surfaces above recolor at theme switch with no template change. Light and hc-light keep the same general "red dot = dnd" reading; dark uses the lighter palette so the dot stays legible on the dark surface; high-contrast goes to the AA shades.Not in this PR (still open under LC-198)
composer.html,dm_header.html,layout.html,enclave_switcher.html, etc. Each carries its own viewBox + class list. Plan is to addpartials/icon.html(or an Askama-side sprite include) and adopt incrementally.layout.htmlline 60-94) keeps its intentional slate/indigo dark dressing for the video-overlay UX; tokenizing would change the look and belongs in a separate call-polish ticket.Tests
just test+just test-saasgreen. No fixture regen needed - LC-77 webhook + email-inbox render fixtures don't include presence dots or the bot badge.🤖 Generated with Claude Code