import Button from "@mui/material/Button";
import Dialog from "@mui/material/Dialog";
import DialogActions from "@mui/material/DialogActions";
import DialogContent from "@mui/material/DialogContent";
import DialogTitle from "@mui/material/DialogTitle";
import MenuItem from "@mui/material/MenuItem";
import Stack from "@mui/material/Stack";
import TextField from "@mui/material/TextField";
import { useEffect, useState } from "react";
import { ExternalImageUploadField } from "../shared/ExternalImageUploadField.jsx";
import { useExternalI18n } from "../i18n/ExternalI18nProvider.jsx";
export function UserEditDialog({ loading, onClose, onSubmit, open, user }) {
const { t } = useExternalI18n();
const [form, setForm] = useState(emptyEditForm);
useEffect(() => {
setForm({ avatar: user?.avatar || "", country: user?.country || "", gender: user?.gender || "", username: user?.username || "" });
}, [user]);
return (
onSubmit(form)}>
setForm({ ...form, avatar })} />
setForm({ ...form, username: event.target.value })} />
setForm({ ...form, gender: event.target.value })}>
setForm({ ...form, country: event.target.value.trim().toUpperCase() })} />
);
}
export function UserBanDialog({ loading, onClose, onSubmit, open, user }) {
const { t } = useExternalI18n();
const [form, setForm] = useState({ days: "7", reason: "" });
useEffect(() => setForm({ days: "7", reason: "" }), [user]);
return (
onSubmit(form)}>
setForm({ ...form, days: event.target.value })} />
setForm({ ...form, reason: event.target.value })} />
);
}
export function UserLevelDialog({ loading, onClose, onSubmit, open, user }) {
const { t } = useExternalI18n();
const [form, setForm] = useState({ days: "30", level: "", reason: "", track: "wealth" });
useEffect(() => setForm({ days: "30", level: "", reason: "", track: "wealth" }), [user]);
return (
onSubmit(form)}>
setForm({ ...form, track: event.target.value })}>
setForm({ ...form, level: event.target.value })} />
setForm({ ...form, days: event.target.value })} />
setForm({ ...form, reason: event.target.value })} />
);
}
function BaseDialog({ children, loading, onClose, onSubmit, open, title }) {
const { t } = useExternalI18n();
const handleSubmit = (event) => {
event.preventDefault();
onSubmit();
};
return (
);
}
const emptyEditForm = { avatar: "", country: "", gender: "", username: "" };