"use client"; import { DialogTrigger } from "@radix-ui/react-dialog"; import { getCookie, setCookie } from "cookies-next/client"; import { add } from "date-fns"; import { ArrowRight, CircleHelp } from "lucide-react"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { Button } from "~/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "~/components/ui/dialog"; import { useTranslation } from "~/providers/I18nProvider"; const COOKIE_KEY = "tipologia_tutorial_shown"; export const CTA_TipologiaModal = () => { const { t } = useTranslation(); const path = useRouter().asPath; const hasCookie = getCookie(COOKIE_KEY) === "true"; const update = async (v: "Transitorio" | "Stabile" | null) => { setCookie(COOKIE_KEY, "true", { expires: add(new Date(), { days: 30 }), // Set cookie to expire in 30 days }); if (v !== null) { window.location.assign(`/annunci?tipo=${v}`); } setOpen(false); }; const [open, setOpen] = useState(false); useEffect(() => { if (path === "/annunci" && !hasCookie) { const timer = setTimeout(() => { setOpen(true); }, 1000); // 1 second delay return () => clearTimeout(timer); } }, [path, hasCookie]); return ( { setOpen(v); if (!v) { await update(null); } }} > {t.tipologia_tutorial.title} tipologia hint

{t.tipologia_tutorial.transitorio}

{t.tipologia_tutorial.transitorio_desc}

{t.tipologia_tutorial.stabile}

{t.tipologia_tutorial.stabile_desc}

); };