import { useState } from 'react';
import NicknameForm from '../NicknameForm.jsx';
import { flowWrapClass, innerFlowClass, fieldClass } from './constants.js';
export default function VipVerificationCard({
pendingRequestId,
currentStoredKey,
nickname,
requestVerification,
applyIdentityKey,
onMessage,
fullWidth = false,
}) {
const [requestFlowStep, setRequestFlowStep] = useState(0);
const [requestKeyInput, setRequestKeyInput] = useState('');
const [confirmNickname, setConfirmNickname] = useState(false);
const [working, setWorking] = useState(false);
const beginRequestFlow = () => {
setRequestFlowStep(1);
setRequestKeyInput(currentStoredKey);
setConfirmNickname(false);
onMessage?.('');
};
const cancelRequestFlow = () => {
setRequestFlowStep(0);
setConfirmNickname(false);
};
const handleRequestSubmit = async (event) => {
event.preventDefault();
if (!confirmNickname) {
onMessage?.('Please confirm your nickname agreement before sending.');
return;
}
if (requestFlowStep < 3) {
onMessage?.('Complete all request steps before sending.');
return;
}
setWorking(true);
onMessage?.('');
try {
const applied = await applyIdentityKey(requestKeyInput);
await requestVerification?.();
setRequestKeyInput(applied);
setRequestFlowStep(0);
setConfirmNickname(false);
onMessage?.('Verification request sent to lockdown admins.');
} catch (err) {
onMessage?.(err.message || 'Failed to submit request.');
} finally {
setWorking(false);
}
};
const wrapClass = fullWidth ? 'w-full' : flowWrapClass;
if (pendingRequestId) {
return (
Verification