import { useRef, useState } from 'react'; import { useRouter } from 'next/router'; import Link from 'next/link'; import { Card } from '@/components/card'; import { CursorEffect } from '@/components/cursor'; import Mask from '@/assets/images/cities-star-mask.svg'; import LinkIcon from '@/assets/icons/link.svg'; import type { City } from '@/lib/ridebus'; import useLocale from '@/utils/useLocale'; import useFrame from '@/utils/useFrame'; import useMediaQuery from '@/utils/useMediaQuery'; import { useResource } from '../departuresCard/useResource'; import { locales } from './locales'; import styles from './citiesCard.module.scss'; function CityBadge({ city, hidden = false }: { city: City; hidden?: boolean }) { return (
{count}
{t(`cities_${plural}`)}
{t('inRideBus')}
{t( cities.status === 'error' ? 'unavailable' : cities.status === 'ready' ? 'empty' : 'loading' )}
{cities.status === 'error' && (