Canopy — plant care for apartment gardeners

Clickable fixture prototype: nine screen/states across five files, light and dark themes, plus keyboard, offline, permission-denied, long-name, and large-text fixtures. Fixture data only — nothing here touches the network. Open a phone to click through; back returns to Today with its scroll position kept.

Screens and states — light

today/default — due care, upcoming, tab baropen
today/empty — first run, add a plantopen
plant/default — task, history, record actionopen
plant/saving — progress, taps can't duplicateopen
plant/saved — updated history, undoopen
plant/offline — cached copy, save on deviceopen
reminder/default — day, time, notificationopen
reminder/permission-denied — in-app still worksopen
add-plant/default — name + room formopen

Same screens — dark

today/default — darkopen
today/empty — darkopen
plant/default — darkopen
plant/offline — darkopen
reminder/default — darkopen
add-plant/default — darkopen

Fixtures

add-plant + keyboard open (field + submit stay visible)open
today/default — large text 140%open
plant/saved + source:local — "Saved on this device"open
today/default after add-plant submitopen

Click-through map

today → tap a plant row → plant → "Record watering" → plant/saved (or plant/offline when armed) → back restores scroll · plant → "Remind me" → reminder → Save (armed denied → reminder/permission-denied → "Keep reminder" → plant) · today/empty → "Add your first plant" → add-plant → valid submit → today (?added=1); invalid submit keeps values + inline error.