Problem./ always redirects to /gardens (router.tsx L66–72). A phone user who lives in one garden has to open the list and tap in every single time. Nothing remembers where they were.
Do.
On entering a garden editor, record its id per-device in localStorage (pansy:last-garden), mirroring the existing localStorage niceties (lib/seedTray.ts, PlantPicker recents) — swallow failures, it's a convenience.
Change the / route: if a last-garden id is stored, redirect to /gardens/$id; else /gardens. Guard against a stale/deleted garden — a 404/ErrNotFound on load must fall back to the list, not trap the user on a broken screen (clear the stored id on that failure).
Always keep an obvious way back to the full list (this pairs with the mobile shell / editor back affordance in #96's shell issue — a "← Gardens" / all-gardens control).
Acceptance.
Reopening the app on a device that was last in garden N lands in garden N.
A stored id that no longer loads falls back to /gardens and clears itself.
A fresh device (no stored id) still lands on /gardens.
Small, self-contained, no backend change. Good first issue in the epic.
Part of #96.
**Problem.** `/` always redirects to `/gardens` (`router.tsx` L66–72). A phone user who lives in one garden has to open the list and tap in every single time. Nothing remembers where they were.
**Do.**
- On entering a garden editor, record its id per-device in `localStorage` (`pansy:last-garden`), mirroring the existing localStorage niceties (`lib/seedTray.ts`, PlantPicker recents) — swallow failures, it's a convenience.
- Change the `/` route: if a last-garden id is stored, redirect to `/gardens/$id`; else `/gardens`. Guard against a stale/deleted garden — a 404/`ErrNotFound` on load must fall back to the list, not trap the user on a broken screen (clear the stored id on that failure).
- Always keep an obvious way back to the full list (this pairs with the mobile shell / editor back affordance in #96's shell issue — a "← Gardens" / all-gardens control).
**Acceptance.**
- Reopening the app on a device that was last in garden N lands in garden N.
- A stored id that no longer loads falls back to `/gardens` and clears itself.
- A fresh device (no stored id) still lands on `/gardens`.
Small, self-contained, no backend change. Good first issue in the epic.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #96.
Problem.
/always redirects to/gardens(router.tsxL66–72). A phone user who lives in one garden has to open the list and tap in every single time. Nothing remembers where they were.Do.
localStorage(pansy:last-garden), mirroring the existing localStorage niceties (lib/seedTray.ts, PlantPicker recents) — swallow failures, it's a convenience./route: if a last-garden id is stored, redirect to/gardens/$id; else/gardens. Guard against a stale/deleted garden — a 404/ErrNotFoundon load must fall back to the list, not trap the user on a broken screen (clear the stored id on that failure).Acceptance.
/gardensand clears itself./gardens.Small, self-contained, no backend change. Good first issue in the epic.