"use client"; import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, DialogDescription, } from "@/components/ui/dialog"; interface SettingsDialogProps { open: boolean; onOpenChange: (open: boolean) => void; } export const STORAGE_ACCESS_CODE_KEY = "next-ai-draw-io-access-code"; export function SettingsDialog({ open, onOpenChange, }: SettingsDialogProps) { const [accessCode, setAccessCode] = useState(""); useEffect(() => { if (open) { const storedCode = localStorage.getItem(STORAGE_ACCESS_CODE_KEY) || ""; setAccessCode(storedCode); } }, [open]); const handleSave = () => { localStorage.setItem(STORAGE_ACCESS_CODE_KEY, accessCode.trim()); onOpenChange(false); }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter") { e.preventDefault(); handleSave(); } }; return ( Settings Configure your access settings.
setAccessCode(e.target.value)} onKeyDown={handleKeyDown} placeholder="Enter access code" autoComplete="off" />

Required if the server has enabled access control.

); }