Make the app "look nice" — the shell (sidebar, toasts, native-app chrome) is already polished, but the pages are inconsistent.
Tasks
- Consistent page headers: accounts, timeline, and settings use an eyebrow label + h1 + description header; composer, queue, and analytics don't. Apply the same pattern everywhere.
- Hover/focus states: sidebar and timeline controls have
hover:+focus-visible:styles; most buttons on composer, queue, analytics, accounts, and settings have none. Add hover states and a consistent focus ring. - Queue status pills are always blue — map status → color (Ready → emerald, Draft → amber, Planned → zinc).
- Dead controls: Queue "Optimize" and "Edit", Analytics "Export" do nothing. Wire them up or remove them until they work.
- Favicon: the layout head has no favicon link and none exists in
public/. - Keyboard shortcuts: the sidebar renders shortcut badges (1–6) but no handler exists — wire them to navigation.
- Mobile layout: below
lgthe stickyh-screensidebar renders as a full-viewport block above the page content. Needs a proper small-screen treatment. - Mock data: queue and analytics render hardcoded arrays — replace with real
Post/PostTargetdata once #5 lands (fine to keep polished mocks in the interim). - Initial composer character counter is hardcoded to "118 / 300".
Context
- Views:
resources/views/*.stx, layout:resources/views/layouts/postline.stx, sidebar:components/PostlineSidebar.stx