StealThis .dev
Pages Medium

Shop — Account

A customer account hub for a fictional storefront, with a sticky sidebar that switches between Orders, Addresses, Payment, Returns, and Profile. The orders list carries colour-coded status badges plus reorder and track actions, a slide-out order-detail drawer shows a delivery timeline and line items, the address manager supports add, edit, remove, and set-default, and the profile form validates and saves with a confirmation toast.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Account

A self-service account page for the fictional “Nimbus Goods Co.” A sticky sidebar carries the member card and a five-item nav — Orders, Addresses, Payment, Returns, Profile — that switches the main panel without a reload. Orders render as rich cards with overlapping product thumbnails (inline-SVG silhouettes on gradient tiles), colour-coded status badges (In transit, Delivered, Processing), and contextual actions: delivered orders offer Reorder, open orders offer Track, and every order opens a View details drawer.

The order drawer slides in with a four-stage delivery timeline, itemised lines, subtotal/shipping/total math, and carrier plus tracking metadata — it traps focus, closes on Escape or scrim click, and restores focus to its trigger. The addresses tab is a working manager: add a new address through a validated modal, edit any card, remove one, or set a default (the previous default clears automatically). Payment shows stored card visuals, Returns lists in-progress refunds, and the Profile form validates the email, updates the sidebar name, and confirms via toast.

Everything is keyboard-usable with visible focus rings, landmark roles, and live-region announcements. The layout collapses gracefully toward ~360px — the sidebar nav turns into a horizontal scroller, grids reflow to one column, and order actions stretch full width.

Illustrative storefront UI only — fictional products, prices, and reviews. No real checkout.