import React, { useState } from "react"; import { FaTimes, FaPlus } from "react-icons/fa"; import { useAdminStore } from "../store/useAdminStore"; interface CreateUserModalProps { isOpen: boolean; onClose: () => void; } export const CreateUserModal: React.FC = ({ isOpen, onClose, }) => { const createUser = useAdminStore((s) => s.createUser); const [form, setForm] = useState({ login: "", name: "", last_name: "", password: "", is_active: true, permission_admin: false, permission_manage_agent: false, permission_view: true, }); const [loading, setLoading] = useState(false); if (!isOpen) return null; const handleSubmit = async () => { if (!form.login || !form.password) return; setLoading(true); await createUser(form); setLoading(false); setForm({ login: "", name: "", last_name: "", password: "", is_active: true, permission_admin: false, permission_manage_agent: false, permission_view: true, }); onClose(); }; return (
e.stopPropagation()} >

Создать пользователя

{/* Login */}
setForm({ ...form, login: e.target.value })} style={{ width: "100%", padding: "8px", backgroundColor: "var(--input-bg)", border: "1px solid var(--border)", borderRadius: "6px", color: "var(--text-primary)", fontSize: "13px", outline: "none", }} />
{/* Password */}
setForm({ ...form, password: e.target.value })} style={{ width: "100%", padding: "8px", backgroundColor: "var(--input-bg)", border: "1px solid var(--border)", borderRadius: "6px", color: "var(--text-primary)", fontSize: "13px", outline: "none", }} />
{/* Name + Last name */}
setForm({ ...form, name: e.target.value })} style={{ width: "100%", padding: "8px", backgroundColor: "var(--input-bg)", border: "1px solid var(--border)", borderRadius: "6px", color: "var(--text-primary)", fontSize: "13px", outline: "none", }} />
setForm({ ...form, last_name: e.target.value }) } style={{ width: "100%", padding: "8px", backgroundColor: "var(--input-bg)", border: "1px solid var(--border)", borderRadius: "6px", color: "var(--text-primary)", fontSize: "13px", outline: "none", }} />
{/* Permissions */}
{[ { key: "is_active", label: "Active" }, { key: "permission_view", label: "View" }, { key: "permission_manage_agent", label: "Manage Agent" }, { key: "permission_admin", label: "Admin" }, ].map(({ key, label }) => ( ))}
{/* Submit */}
); };