diff --git a/src/app/page.tsx b/src/app/page.tsx index ba76154..277f35b 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,6 +3,7 @@ import { useEffect, useMemo, useState } from 'react'; import { cn } from '@/lib/utils'; import logo2 from '/public/bettergov-horizontal-logo.png'; +import { useSearchParams } from 'next/navigation'; import Image from 'next/image'; import HotlineCard from '@/components/hotline-card'; @@ -38,6 +39,10 @@ const HomeContent = () => { const [hotlines, setHotlines] = useState(); const [isDetectingLocation, setIsDetectingLocation] = useState(true); + const searchParams = useSearchParams(); + const cityFromURL = searchParams.get('city')?.toLowerCase(); + const provinceFromURL = searchParams.get('province')?.toLowerCase(); + const [filterOptions, setFilterOptions] = useState<{ city: string; category: string; @@ -80,6 +85,17 @@ const HomeContent = () => { return; } + if (cityFromURL) { + const combinedURL = `${cityFromURL}|${provinceFromURL}`; + setFilterOptions(prev => ({ + ...prev, + city: combinedURL, + })); + localStorage.setItem('lastSavedLocation', combinedURL); + setIsDetectingLocation(false); + return; + } + const detectLocation = () => { const getCoords = (): Promise => { return new Promise((resolve, reject) => {