Shareable, Bookmarkable List Views
Shareable, Bookmarkable List Views
Available from v0.1.161
Overview
Filter and view preferences on all major list pages — Tenancies, Check-Ins, Check-Outs, and similar — are now reflected in the page URL. This means any filtered or sorted view can be bookmarked, shared as a link, or restored after a page refresh without any loss of state.
What is synced to the URL
The following controls write their current value into URL search parameters automatically:
| Control | URL param example |
|---|---|
| View mode (grid / table) | ?view=grid |
| Status filter | ?status=Disputed |
| Sort field & direction | ?sortBy=deposit&order=desc |
| Search query | ?search=jones |
| Pagination offset | ?offset=20 |
The URL is updated with router.replace (no scroll jump) every time you change any of these controls.
Reading state on load
When a list page loads it resolves the initial state in this order:
- URL search params — highest priority; used when a link or bookmark is followed.
localStorage— fallback for users navigating to the page directly without URL params.- Defaults — applied when neither source has a value.
This means users who arrive via a shared link see exactly what the sender saw, while users who navigate from the sidebar still get their personal last-used preferences.
Common use cases
Sharing a filtered view with a colleague
- Apply the filters and sort order you want to share (e.g. Status: Disputed, Sort: Deposit ↓).
- Copy the URL from your browser address bar — it now encodes all active filters.
- Send the URL. Your colleague opens it and sees the identical filtered, sorted list.
Bookmarking a recurring view
- Configure the list exactly as you use it day-to-day (e.g. View: Table, Status: Active, Sort: Move-out date ↑).
- Bookmark the URL in your browser.
- Opening the bookmark restores that view instantly — no need to reapply filters each session.
Back-button navigation
Because filter state lives in the URL, the browser's back button correctly returns you to the previous filter state after navigating into a tenancy detail page and then going back.
Notes
- The URL is updated with
scroll: falseso the page does not jump when filters change. localStoragecontinues to persist preferences for direct (non-linked) navigation.- No action is required from users — the behaviour is automatic on all affected list pages.