# Smoke Checklist

Run after every `gnexus-ui-kit` update or before release.

## Navigation

- [ ] App shell renders with brand and nav items
- [ ] Drawer opens/closes on mobile
- [ ] Active route highlighted correctly
- [ ] Navigation icons visible (Phosphor)

## Areas

- [ ] Favorites page loads areas list
- [ ] Star/unstar toggles favorite
- [ ] Tree page renders hierarchy
- [ ] Create area modal opens and submits
- [ ] Rename area modal works
- [ ] Remove area with confirm
- [ ] Unassign area works

## Devices

- [ ] Device list loads with live states
- [ ] Refresh button triggers reload
- [ ] Stale data badge appears after 5 min
- [ ] Reboot button shows loading state
- [ ] Scanning page discovers devices
- [ ] Setup new device modal submits

## Scripts

- [ ] Actions list renders cards with icons
- [ ] Run action shows loading and result alert
- [ ] Regular list toggles enable/disable
- [ ] Scopes list toggles enable/disable

## Feedback

- [ ] Loading states show spinners
- [ ] Empty states render correctly
- [ ] Error states show retry buttons
- [ ] Alert variants render (success, danger, warning)

## Modals

- [ ] Modal opens/closes
- [ ] Backdrop click closes modal
- [ ] Escape key closes modal
- [ ] Inputs in modals focus correctly

## Tables

- [ ] Table headers align
- [ ] Cell slots render custom content
- [ ] Empty table shows empty text

## Cards

- [ ] Card title renders
- [ ] Card footer slot works
- [ ] Card variants render correctly

## Buttons

- [ ] Primary, secondary, warning, danger variants
- [ ] Loading state disables button
- [ ] Icon renders alongside label

## Badges

- [ ] Primary, success, secondary, warning, danger variants
- [ ] Outline variant if used

## Typography

- [ ] IBM Plex Mono font loads (no OTS errors)
- [ ] Phosphor icons render (no squares)

## Responsive

- [ ] Layout works at 320px width
- [ ] Tables scroll horizontally on small screens
- [ ] Cards stack on mobile

## Performance

- [ ] Build completes without errors
- [ ] No console warnings about missing icons
- [ ] API requests cancel on route change
