wulf-pulse/components/ui
lorentz a0894fe946 feat(nav): global ⌘K command palette
Adds a global command launcher reachable from anywhere via ⌘K (Mac) /
Ctrl+K (Win), or "/" when no input is focused.  Three sections:

- **Navigation** — every primary route from the top-bar nav, plus the
  full Admin sub-menu, role-gated against the session.
- **Recent activity** — last 5 audits and last 5 device observations,
  lazy-loaded once on first open from /api/dashboard/overview.
- **Companies** — fuzzy search against the active customer list from
  /api/companies, kicks in once the user types 2+ characters.
  Selecting a company deep-links to /configuration-items?company=<id>.

Top-bar exposes a small "Search · ⌘K" pill on md+ for discoverability,
sized to fit between the Status indicator and the Theme toggle.

Implementation:
- shadcn `command` primitive (uses cmdk under the hood); declined the
  bundled dialog overwrite to keep our existing dialog.tsx.
- CommandPalette mounted once in app/layout.tsx so it lives outside the
  AppNavigation re-renders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 10:11:08 -04:00
..
accordion.tsx Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
alert-dialog.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
alert.tsx feat: add scheduled sync system with admin UI 2026-01-26 10:24:58 -05:00
badge.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
button.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
calendar.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
card.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
checkbox.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
collapsible.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
command.tsx feat(nav): global ⌘K command palette 2026-05-03 10:11:08 -04:00
dialog.tsx fix: remove hardcoded sm:max-w-lg from DialogContent so className overrides work 2026-02-19 20:51:57 -05:00
dropdown-menu.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
empty-state.tsx feat(design): nav/visual overhaul — brand layer, /status route, KPI dashboard, TanStack DataTable 2026-05-03 09:33:13 -04:00
form.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
input.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
label.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
multi-select.tsx feat(design): nav/visual overhaul — brand layer, /status route, KPI dashboard, TanStack DataTable 2026-05-03 09:33:13 -04:00
navigation-menu.tsx Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
popover.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
progress.tsx Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
scroll-area.tsx Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
select.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
separator.tsx Add comprehensive admin features and multi-system integration 2025-11-19 14:18:16 -05:00
sheet.tsx feat(design): nav/visual overhaul — brand layer, /status route, KPI dashboard, TanStack DataTable 2026-05-03 09:33:13 -04:00
skeleton-helpers.tsx feat(design): nav/visual overhaul — brand layer, /status route, KPI dashboard, TanStack DataTable 2026-05-03 09:33:13 -04:00
skeleton.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
slider.tsx fix: replace Radix UI slider with custom implementation to avoid dependency 2026-02-02 23:39:24 -05:00
sonner.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
status-badge.tsx feat(design): nav/visual overhaul — brand layer, /status route, KPI dashboard, TanStack DataTable 2026-05-03 09:33:13 -04:00
status-light.tsx feat(admin): DB-backed integration toggles + sticky cols + dark contrast 2026-05-03 09:55:22 -04:00
switch.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
table.tsx feat(admin): DB-backed integration toggles + sticky cols + dark contrast 2026-05-03 09:55:22 -04:00
tabs.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
textarea.tsx Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00