diff --git a/apps/web/src/pages/_app.tsx b/apps/web/src/pages/_app.tsx index 2aebacb..3f01845 100644 --- a/apps/web/src/pages/_app.tsx +++ b/apps/web/src/pages/_app.tsx @@ -5,6 +5,7 @@ import React, {useEffect} from 'react'; import {Toaster} from 'sonner'; import {SWRConfig} from 'swr'; import {DefaultSeo} from 'next-seo'; +import {NuqsAdapter} from 'nuqs/adapters/next/pages'; import {Loader} from '@plunk/ui'; import {ActiveProjectProvider} from '../lib/contexts/ActiveProjectProvider'; import {useProjects} from '../lib/hooks/useProject'; @@ -103,17 +104,19 @@ function ProjectGuard({children}: {children: React.ReactNode}) { */ export default function WithProviders(props: AppProps) { return ( - network.fetch('GET', url), - shouldRetryOnError: false, - }} - > - - - - - + + network.fetch('GET', url), + shouldRetryOnError: false, + }} + > + + + + + + ); } diff --git a/apps/web/src/pages/activity/index.tsx b/apps/web/src/pages/activity/index.tsx index ebb9b0b..b07af1e 100644 --- a/apps/web/src/pages/activity/index.tsx +++ b/apps/web/src/pages/activity/index.tsx @@ -14,7 +14,7 @@ import {DashboardLayout} from '../../components/DashboardLayout'; import {ActivityFeed} from '../../components/ActivityFeed'; import {Eye, MousePointerClick, Send, Zap} from 'lucide-react'; import {NextSeo} from 'next-seo'; -import {useState} from 'react'; +import {useQueryState, parseAsString} from 'nuqs'; import useSWR from 'swr'; interface ActivityStats { @@ -28,8 +28,8 @@ interface ActivityStats { } export default function ActivityPage() { - const [typeFilter, setTypeFilter] = useState('ALL'); - const [dateRange, setDateRange] = useState('30'); + const [typeFilter, setTypeFilter] = useQueryState('type', parseAsString.withDefault('ALL')); + const [dateRange, setDateRange] = useQueryState('days', parseAsString.withDefault('30')); // Fetch activity stats const {data: stats} = useSWR(`/activity/stats`, {