import { LazyMotion, domAnimation, m, useReducedMotion } from 'framer-motion' import { moveInBottom, getAnimationProps, moveInTop } from '../Transitions' import styles from './index.module.css' import { useLocation } from '../../hooks/useLocation' import RelativeTime from '@yaireo/relative-time' function Flag({ countryCode }: { countryCode: string }) { if (!countryCode) return null // offset between uppercase ascii and regional indicator symbols const OFFSET = 127397 const emoji = countryCode.replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + OFFSET) ) return ( {emoji} ) } export default function Location() { const { now, next } = useLocation() const shouldReduceMotion = useReducedMotion() const isDifferentCountry = now?.country !== next?.country const relativeTime = new RelativeTime({ locale: 'en' }) return now?.city ? ( {now?.city} Now {next?.city && ( <> {isDifferentCountry && } {next.city}{' '} {relativeTime.from(new Date(next.date_start))} > )} ) : null }