'use client'; import { useMemo } from 'react'; import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@documenso/ui/primitives/select'; import { isPeriodSelectorValue } from './types'; export const PeriodSelector = () => { const pathname = usePathname(); const searchParams = useSearchParams(); const router = useRouter(); const period = useMemo(() => { const p = searchParams?.get('period') ?? ''; return isPeriodSelectorValue(p) ? p : ''; }, [searchParams]); const onPeriodChange = (newPeriod: string) => { if (!pathname) { return; } const params = new URLSearchParams(searchParams?.toString()); params.set('period', newPeriod); if (newPeriod === '') { params.delete('period'); } router.push(`${pathname}?${params.toString()}`, { scroll: false }); }; return ( ); };