Skip to content

Commit dea581b

Browse files
committed
explicitly outline these changes are gated behind ismobile
1 parent 2c66f03 commit dea581b

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

docs/guides/admin-panel-mobile-friendly.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,42 @@ touch-first app that people also administer from their phones, the settings surf
1515
be first-class on narrow screens.
1616

1717
**Goal:** the entire Admin Panel — shell, embedded tabs, and shared modals — is comfortable
18-
and native-feeling on a ~360px phone, with **zero visual change at ≥600px** (desktop/kiosk).
18+
and usable on a ~360px phone, with **zero visual change at ≥600px** (desktop/kiosk).
19+
20+
## Scope & non-goals
21+
22+
HomeGlow is **not** a mobile web app — it is a touch-first dashboard designed for a
23+
wall-mounted / large touchscreen display (Raspberry Pi, kiosk, etc.). This work is
24+
**narrowly about letting an end user administer settings from a phone out of
25+
convenience.** Everything else stays exactly as it is.
26+
27+
**In scope:** the Admin Panel and everything reachable from it — [AdminPanel.jsx](../../client/src/components/AdminPanel.jsx),
28+
the embedded [ChoreSchedulesTab.jsx](../../client/src/components/ChoreSchedulesTab.jsx) /
29+
[ChoreHistoryTab.jsx](../../client/src/components/ChoreHistoryTab.jsx), the shared modals
30+
([PinModal.jsx](../../client/src/components/PinModal.jsx),
31+
[ClamValueModal.jsx](../../client/src/components/ClamValueModal.jsx),
32+
[TabIconModal.jsx](../../client/src/components/TabIconModal.jsx),
33+
[SoundPicker.jsx](../../client/src/components/SoundPicker.jsx)), and the single Admin-Panel
34+
`<Dialog>` in `app.jsx`.
35+
36+
**Explicitly out of scope (do not touch):** the dashboard/widget grid
37+
([WidgetContainer.jsx](../../client/src/components/WidgetContainer.jsx),
38+
[DraggableWidget.jsx](../../client/src/components/DraggableWidget.jsx)), the widgets
39+
themselves (Calendar/Weather/Chore/Photo), the [TabBar](../../client/src/components/TabBar.jsx)
40+
dock, the screensaver, and the overall app layout. These are meant for the large display and
41+
should keep behaving as they do today.
42+
43+
**Why the rest of the app is safe:** every change in this plan is **viewport-gated** behind
44+
`useIsMobile` (`max-width: 599.95px`). On the large kiosk display that query is always
45+
false, so the responsive behavior never activates there — nothing changes on the dashboard,
46+
and even the shared modals (which are also reachable from the main display, e.g. the PIN pad
47+
from the dock or the Tab-icon modal from the TabBar) only go full-screen when opened on a
48+
genuinely small viewport. The only `app.jsx` edit is to the Admin-Panel `<Dialog>` itself;
49+
no dashboard, layout, or widget code is modified.
50+
51+
**Bar for "done":** convenient and operable on a phone — not a pixel-perfect native mobile
52+
experience. Where a full card reflow would be awkward for a given table, a horizontal-scroll
53+
fallback is acceptable.
1954

2055
## Constraints & current state (what the code looks like today)
2156

0 commit comments

Comments
 (0)