"use client"; import { useRouter } from "next/navigation"; import * as React from "react"; import { ContentCard } from "@/components/content-card"; import { Dialog, DialogContent, DialogDescription, DialogTitle, } from "@/components/ui/dialog"; import { Spinner } from "@/components/ui/spinner"; import { ViewCounter } from "@/components/view-counter"; import { ContentService } from "@/services/content.service"; import type { Content } from "@/types/content"; export default function MemeModal({ params, }: { params: Promise<{ slug: string }>; }) { const { slug } = React.use(params); const router = useRouter(); const [content, setContent] = React.useState(null); const [loading, setLoading] = React.useState(true); React.useEffect(() => { ContentService.getOne(slug) .then(setContent) .catch(console.error) .finally(() => setLoading(false)); }, [slug]); return ( !open && router.back()}> {content?.title || "Détail du mème"} Affiche le mème en grand avec ses détails {loading ? (
) : content ? (
) : (

Impossible de charger ce mème.

)}
); }