fix(ui): improve error page copy and add design system tokens

- Tighten error boundary messaging ("issue persists" vs "keeps happening")
- Add error context for debugging (window.__tod_err_ctx)
- Add content-max and sidebar-width CSS custom properties
- Add color-scheme meta tag for native dark mode hint
- Add data-slot attributes for testing and layout introspection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jason Staack
2026-03-19 13:16:11 -05:00
parent fb0ee36996
commit c64b0a338a
4 changed files with 15 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
import { useEffect } from 'react'
import { useEffect, useRef } from 'react'
import { Link, useRouterState } from '@tanstack/react-router'
import {
Monitor,
@@ -73,6 +73,8 @@ export function Sidebar() {
return () => document.removeEventListener('keydown', handleKeyDown)
}, [mobileSidebarOpen, setMobileSidebarOpen])
const navRef = useRef<HTMLElement>(null)
// Keyboard toggle: [ key collapses/expands sidebar
useEffect(() => {
const handleKeyDown = (e: KeyboardEvent) => {
@@ -223,7 +225,7 @@ export function Sidebar() {
</div>
{/* Navigation */}
<nav className="flex-1 py-2 overflow-y-auto">
<nav ref={navRef} data-slot="fleet-nav" className="flex-1 py-2 overflow-y-auto">
{visibleSections.map((section, sectionIdx) => (
<div key={section.label}>
{showCollapsed && sectionIdx > 0 && (