theme-provider #18
@@ -31,6 +31,7 @@ const CreateMemberDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
});
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [errors, setErrors] = useState({});
|
||||
const getTodayDate = () => new Date().toISOString().slice(0, 10);
|
||||
|
||||
const handleChange = (field, value) => {
|
||||
setFormData(prev => ({ ...prev, [field]: value }));
|
||||
@@ -84,8 +85,8 @@ const CreateMemberDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
if (payload.date_of_birth === '') {
|
||||
delete payload.date_of_birth;
|
||||
}
|
||||
if (payload.member_since === '') {
|
||||
delete payload.member_since;
|
||||
if (!payload.member_since) {
|
||||
payload.member_since = getTodayDate();
|
||||
}
|
||||
|
||||
await api.post('/admin/users/create', payload);
|
||||
|
||||
@@ -22,10 +22,12 @@ const CreateStaffDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
first_name: '',
|
||||
last_name: '',
|
||||
phone: '',
|
||||
member_since: '',
|
||||
role: 'admin'
|
||||
});
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [errors, setErrors] = useState({});
|
||||
const getTodayDate = () => new Date().toISOString().slice(0, 10);
|
||||
|
||||
const handleChange = (field, value) => {
|
||||
setFormData(prev => ({ ...prev, [field]: value }));
|
||||
@@ -74,7 +76,11 @@ const CreateStaffDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
setLoading(true);
|
||||
|
||||
try {
|
||||
await api.post('/admin/users/create', formData);
|
||||
const payload = { ...formData };
|
||||
if (!payload.member_since) {
|
||||
payload.member_since = getTodayDate();
|
||||
}
|
||||
await api.post('/admin/users/create', payload);
|
||||
toast.success('Staff member created successfully');
|
||||
|
||||
// Reset form
|
||||
@@ -84,6 +90,7 @@ const CreateStaffDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
first_name: '',
|
||||
last_name: '',
|
||||
phone: '',
|
||||
member_since: '',
|
||||
role: 'admin'
|
||||
});
|
||||
|
||||
@@ -200,6 +207,20 @@ const CreateStaffDialog = ({ open, onOpenChange, onSuccess }) => {
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Member Since */}
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="member_since" className="text-[var(--purple-ink)]">
|
||||
Member Since
|
||||
</Label>
|
||||
<Input
|
||||
id="member_since"
|
||||
type="date"
|
||||
value={formData.member_since}
|
||||
onChange={(e) => handleChange('member_since', e.target.value)}
|
||||
className="rounded-xl border-2 border-[var(--neutral-800)] focus:border-brand-purple "
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Role */}
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="role" className="text-[var(--purple-ink)]">
|
||||
|
||||
Reference in New Issue
Block a user