Implement Smart Timers, Power & Water Schedule Dashboard, and tighten UI layout spacing
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user