"use client"; import NumberFlow from "@number-flow/react"; import { useEffect, useState } from "react"; import { incrementViews } from "@/lib/server/views"; const ViewCounter = ({ slug }: { slug: string }) => { const [views, setViews] = useState(null); const [error, setError] = useState(false); useEffect(() => { // Increment views on client mount (outside of render phase) incrementViews(slug) .then((hits) => { setViews(hits); }) .catch((err) => { console.error("[view-counter] error:", err); setError(true); }); }, [slug]); if (error) { return ?; } return ( ); }; export { ViewCounter };