import { useRouter } from 'next/router' import { Select, DatePicker } from './form' import { useSubs } from './sub-select' import { WHENS } from '@/lib/constants' import { whenToFrom } from '@/lib/time' import styles from './sub-select.module.css' import classNames from 'classnames' export function SubAnalyticsHeader ({ pathname = null }) { const router = useRouter() const path = pathname || 'stackers' const select = async values => { const { sub, when, ...query } = values if (when !== 'custom') { delete query.from; delete query.to } if (query.from && !query.to) return await router.push({ pathname: `/${path}/${sub}/${when}`, query }) } const when = router.query.when || 'day' const sub = router.query.sub || 'all' const subs = useSubs({ prependSubs: ['all'], sub, appendSubs: [], filterSubs: () => true }) return (
stacker analytics in { const range = e.target.value === 'custom' ? { from: whenToFrom(when), to: Date.now() } : {} select({ sub, when: e.target.value, ...range }) }} />
{when === 'custom' && { select({ sub, when, from: from.getTime(), to: to.getTime() }) }} from={router.query.from} to={router.query.to} when={when} />}
) }