feat(site-finder): deep-link tabs via ?tab= URL param #86

Merged
lekss361 merged 2 commits from feat/site-finder-tab-urlparam into main 2026-05-11 21:33:50 +00:00

2 commits

Author SHA1 Message Date
lekss361
6aa8222e3b fix(site-finder): address PR #86 auto-review minor recommendations
- Use usePathname() for router.replace fallback (avoid dangling "?" in Next 15)
- Remove stale-closure guard in useEffect — React bails Object.is, no eslint-disable
- Wrap page in <Suspense> for useSearchParams (Next 15 App Router req for static)
- Lazy useState initializer — skip wasted CPU on re-renders

Per auto-review on c47e56b.
2026-05-12 00:30:21 +03:00
lekss361
c47e56b931 feat(site-finder): deep-link tabs via ?tab=env|land|market URL param
Tab state now syncs with URL — можно поделиться ссылкой на конкретный
таб (например /site-finder?tab=market для тренда цен по последнему cad).

- useRouter + useSearchParams (Next 15 app router, client-component)
- router.replace (не push) чтобы tab switches не засоряли history
- useEffect on searchParams → back/forward работают
- overview = default, не пишется в URL (clean)
- Type-guard isTabId(): только valid values из URL переключают state
2026-05-12 00:22:02 +03:00