import { json, MetaFunction } from '@remix-run/node' import { vacanciesService } from '~/services/vacancies/vacancies.service' import { Link, ShouldRevalidateFunction, useLoaderData } from '@remix-run/react' import { Tooltip } from '~/components/ui/tooltip' export const shouldRevalidate: ShouldRevalidateFunction = ({ nextParams }) => { return !nextParams } export const meta: MetaFunction = () => { return [ { title: 'Vacancies trends' }, { name: 'description', content: 'See how software vacancies change over time' }, ] } export const loader = async () => { const keywords = await vacanciesService.getKeywords() return json({ keywords }) } export default function Index() { const { keywords } = useLoaderData() return (

Compare vacancies trends over time

{Object.entries(keywords?.presets ?? {}).map(([label, values]) => { if (values.length === 0) return null return ( } key={label}> {label} ) })}
) } const TooltipContent = ({ values }: { values: string[] }) => { return (
{[...values].sort().map(v => (
{v}
))}
) }