Support Chat Widget
The corner launcher, with real availability instead of a stock reassurance, article deflection before the form, no self-opening, and a way to make it go away.
Thread lists, conversation views, composers and presence.
A messaging interface is two panes with one hard problem between them: keeping the list, the thread and the unread counts consistent while messages arrive. These lay out the list-and-thread split, the composer with its attachment and draft states, and the read receipts and typing indicators that make a conversation feel live.
The corner launcher, with real availability instead of a stock reassurance, article deflection before the form, no self-opening, and a way to make it go away.
Bubbles with the parts that get skipped: per-message delivery state, grouping by author and time, day separators, and a retry on the failed bubble itself.
Five kinds of thing that is not text - image, document, link, location and an upload still in flight - each answering the question its own kind raises.
The list half of a two-pane inbox, with unread and selected as visibly different states and bulk selection as a mode rather than a hover checkbox.
The reading pane with the composer always present, quoted history collapsed behind a count, and an internal-note mode whose send button names the recipient.
A voice note you can navigate: a waveform that is a real seek control, a speed button, a transcript, and a played state that survives finishing.
The call grid with the state that makes it usable - active speaker, per-tile connection quality, hide self-view, and the you-are-muted nudge.
The green room, where every picker has a test beside it - an input meter, a test tone, a camera preview - and blocked permission is a state, not an error.
The customer side of a ticket, where a named owner and a deadline replace Status: Open - including the waiting-on-you state that stops the argument about response times.
Message threads, streaming states, composers and citations.
Inboxes, unread badges, grouped feeds and preference panels.
Month grids, availability pickers, booking flows and time slots.
Order history, tracking, returns, ratings and help centres.
Tiers, toggles, comparison grids and the single-plan case.
Centred, split, screenshot-led and waitlist variants.