'use client'; import { useState } from 'react'; import { cn } from '@/lib/ui-styles'; interface StorageEditConfirmModalProps { isOpen: boolean; onClose: () => void; onConfirm: () => void; } export default function StorageEditConfirmModal({ isOpen, onClose, onConfirm, }: StorageEditConfirmModalProps) { const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); if (!isOpen) return null; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(null); if (!password.trim()) { setError('请输入密码'); return; } setLoading(true); try { const response = await fetch('/api/auth/verify-admin-password', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ password }), }); const data = await response.json(); if (data.success) { setPassword(''); onConfirm(); onClose(); } else { setError(data.error || '密码验证失败'); } } catch (err) { setError('网络错误,请稍后重试'); } finally { setLoading(false); } }; const handleClose = () => { setPassword(''); setError(null); onClose(); }; return (
{/* 背景遮罩 */}
{/* 弹窗内容 */}
{/* 头部 */}

安全验证

{/* 警告信息 */}

对象存储配置是系统核心参数,修改不当可能导致素材无法上传或访问。请确认您了解修改的影响。

{/* 内容 */}
setPassword(e.target.value)} placeholder="请输入超级管理员密码" className={cn( 'w-full px-4 py-3 rounded-xl border text-sm', 'bg-slate-50 dark:bg-slate-900', 'border-slate-200 dark:border-slate-700', 'text-slate-900 dark:text-white', 'placeholder:text-slate-400 dark:placeholder:text-slate-500', 'focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent', 'transition-all' )} autoFocus />
{error && (

{error}

)}
); }