Implement Smart Timers, Power & Water Schedule Dashboard, and tighten UI layout spacing

This commit is contained in:
drjones
2026-06-13 21:55:37 -07:00
parent 031139c1aa
commit 84e2c6416d
7 changed files with 552 additions and 50 deletions

View File

@@ -20,6 +20,7 @@ import { LoginModal } from './auth/LoginModal';
import { ToastContainer, addToast } from './components/Toast';
import { useSaveStatus } from './store/saveStatusStore';
import { TestimonialScroller } from './components/TestimonialScroller';
import { ScheduleDashboard } from './components/ScheduleDashboard';
/** Restore the autosaved design, or seed the demo system on first visit. */
/** Restore the autosaved design, or seed the demo system on first visit. */
@@ -206,6 +207,7 @@ function BuilderApp() {
const activeRoomId = useBuilder((s) => s.activeRoomId);
const sim = useSimulation();
const [bomOpen, setBomOpen] = useState(false);
const [dashboardOpen, setDashboardOpen] = useState(false);
const [checkFindings, setCheckFindings] = useState<Finding[] | null>(null);
const roomParts = useMemo(() => {
@@ -384,7 +386,11 @@ function BuilderApp() {
return (
<div className="flex h-screen flex-col bg-zinc-950 text-zinc-100 select-none">
<Toolbar onOpenBom={() => setBomOpen(true)} onCheckBuild={runDesignCheck} />
<Toolbar
onOpenBom={() => setBomOpen(true)}
onCheckBuild={runDesignCheck}
onOpenDashboard={() => setDashboardOpen(true)}
/>
<div className="flex min-h-0 flex-1">
<PartLibrary />
<main
@@ -443,6 +449,7 @@ function BuilderApp() {
</div>
<StatusPanel />
{bomOpen && <BomPanel onClose={() => setBomOpen(false)} />}
{dashboardOpen && <ScheduleDashboard onClose={() => setDashboardOpen(false)} />}
{checkFindings && (
<DesignCheckPanel
findings={checkFindings}