import useSWR from "swr"; import Loading from "../Loading/Loading"; import { fetcher } from "../../lib/helpers/fetcher"; export type HitCounterProps = { slug: string; className?: string; }; const HitCounter = ({ slug, className }: HitCounterProps) => { // start fetching repos from API immediately const { data, error } = useSWR(`/api/hits/?slug=${encodeURIComponent(slug)}`, fetcher, { // avoid double (or more) counting views revalidateOnFocus: false, }); try { // show spinning loading indicator if data isn't fetched yet if (!data) { return ; } // fail secretly if (error) { return null; } // we have data! return ( {data.hits.toLocaleString("en-US")} ); } catch (error) { return null; } }; export default HitCounter;