"use client"; import { useState, useEffect } from "react"; import { X, MousePointerClick } from "lucide-react"; const STORAGE_KEY = "thesvg-hint-dismissed"; export function OnboardingHint() { const [visible, setVisible] = useState(false); const [entering, setEntering] = useState(false); const dismiss = () => { setEntering(false); setTimeout(() => setVisible(false), 300); localStorage.setItem(STORAGE_KEY, "1"); }; useEffect(() => { const dismissed = localStorage.getItem(STORAGE_KEY); if (dismissed) return; const timer = setTimeout(() => { setVisible(true); requestAnimationFrame(() => setEntering(true)); }, 2500); const autoHide = setTimeout(() => { dismiss(); }, 12500); return () => { clearTimeout(timer); clearTimeout(autoHide); }; }, []); if (!visible) return null; return (
Click any icon for details
Copy code, download, export PNG, and more