import React, { useState } from 'react'; import { Modal, Stack, TextInput, PasswordInput, Select, Button, Group, } from '@mantine/core'; import type { CreateUserRequest } from '@/types/api'; import { UserRole } from '@/types/models'; interface CreateUserModalProps { opened: boolean; onClose: () => void; onCreateUser: (userData: CreateUserRequest) => Promise; loading: boolean; } const CreateUserModal: React.FC = ({ opened, onClose, onCreateUser, loading, }) => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [displayName, setDisplayName] = useState(''); const [role, setRole] = useState(UserRole.Viewer); const handleSubmit = async (): Promise => { const userData: CreateUserRequest = { email, password, displayName, role, }; const success = await onCreateUser(userData); if (success) { setEmail(''); setPassword(''); setDisplayName(''); setRole(UserRole.Viewer); onClose(); } }; return ( setEmail(e.currentTarget.value)} placeholder="user@example.com" /> setDisplayName(e.currentTarget.value)} placeholder="John Doe" /> setPassword(e.currentTarget.value)} placeholder="Enter password" />