diff --git a/web/src/components/layout/AppShell.tsx b/web/src/components/layout/AppShell.tsx new file mode 100644 index 0000000..510e530 --- /dev/null +++ b/web/src/components/layout/AppShell.tsx @@ -0,0 +1,18 @@ +import { type ReactNode } from 'react' + +interface AppShellProps { + children: ReactNode +} + +// AppShell — full-page layout wrapper with consistent padding and background. +// This is a minimal version created by Plan 03-05 for ScanPage use. +// Plan 03-03 will extend this with TopBar navigation and grid layout. +export function AppShell({ children }: AppShellProps) { + return ( +
Point camera at an HWLab label to open the item
+Camera not started
++ {scanState === 'requesting' ? 'Starting camera…' : 'Looking up item…'} +
+{errorMsg}
++ Scans QR codes printed on HWLab labels (HW-XXXXX format) +
+QR Scanner loading…
-