homeos/app
HomeOS Bootstrap f028528f1f feat(ui): standard modal shell — fixed header/footer, scrollable body, 2-col
Issue 3: the New-Automation modal was taller than the screen and the whole
dialog scrolled. New <x-modal> component: header + footer are fixed (shrink-0),
only the body scrolls, capped to max-h-85dvh so the page never scrolls. Refactored
create-automation (now a responsive 2-column grid, widened to 3xl), add-device,
ring-connect and add-person onto it — the standard for every modal going forward.
Verified: modal fits a 720px viewport with no page scroll; create flow still works.

12/12 tabs clean, suite green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:09:24 +02:00
..
Console/Commands feat(shelly): local HTTP/RPC transport — add by IP like Home Assistant 2026-07-18 09:48:35 +02:00
Events Phase 5: UniFi presence — poll, person↔client mapping 2026-07-18 00:31:32 +02:00
Http/Controllers Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
Jobs feat(shelly): local HTTP/RPC transport — add by IP like Home Assistant 2026-07-18 09:48:35 +02:00
Listeners feat(automations): trigger→condition→action engine with cooldown + dry-run 2026-07-18 01:11:02 +02:00
Livewire feat(ui): standard modal shell — fixed header/footer, scrollable body, 2-col 2026-07-18 10:09:24 +02:00
Models feat(devices): instant toggle, icon picker, real update check, transport switch 2026-07-18 10:04:19 +02:00
Providers feat(automations): trigger→condition→action engine with cooldown + dry-run 2026-07-18 01:11:02 +02:00
Services feat(devices): instant toggle, icon picker, real update check, transport switch 2026-07-18 10:04:19 +02:00
Support fix(shelly): round-trip light brightness/rgb; don't hijack a reused IP (R15) 2026-07-18 09:51:56 +02:00