"use client" import { useEffect, useState } from "react" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" 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.

) }