"use client" import * as React from "react" import { Icons } from "@/components/icons" import { Button } from "@/styles/base-nova/ui/button" import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/styles/base-nova/ui/dialog" const STORAGE_KEY = "shadcn-create-welcome-dialog" export function WelcomeDialog() { const [isOpen, setIsOpen] = React.useState(false) React.useEffect(() => { const dismissed = localStorage.getItem(STORAGE_KEY) if (!dismissed) { setIsOpen(true) } }, []) // Stable callback — avoids re-creation on every render. (rerender-functional-setstate) const handleOpenChange = React.useCallback((open: boolean) => { setIsOpen(open) if (!open) { localStorage.setItem(STORAGE_KEY, "true") } }, []) return (
Build your own shadcn/ui Customize everything from the ground up. Pick your component library, font, color scheme, and more. Available for all major React frameworks. }> Get Started
) }