"use client"; import { useEffect, useState } from "react"; import { Box, Paper, Typography, TextField, MenuItem, Button, Grid, } from "@mui/material"; import { hospitalSoftwares, requestType, ticketPriorities, ticketStatuses, } from "@/core/constant"; import { toast } from "react-toastify"; import { handleAxiosError } from "@/core/utils"; import { createTicket } from "@/services/api/ticket.api"; interface DepartmentType { id: string; slug: string; displayName: string; } export interface IUserListItem { id: string; fullname: string; nationalCode: string; mobile: string; roleId: string; createdAt: Date; updatedAt: Date; } export default function TicketForm({ departments, users, }: { departments: DepartmentType[]; users: IUserListItem[]; }) { const [showFieldRelatedSystem, setShowFieldRelatedSystem] = useState(false); const [form, setForm] = useState({ createdBy: "", departmentId: "", internalPhone: "", requestType: "", priority: "medium", description: "", relatedSystem: "", location: "", helpdeskAction: "", assignedTo: "", status: "open", finalNotes: "", }); const handleChange = (e: any) => { setForm({ ...form, [e.target.name]: e.target.value, }); }; const handleSubmit = async (e: any) => { e.preventDefault(); try { const { message } = await createTicket(form); toast.success(message); } catch (error) { toast.error(handleAxiosError(error)); } }; useEffect(() => { if (form.requestType === "1") { form.relatedSystem = ""; setShowFieldRelatedSystem(true); } else { form.relatedSystem = ""; setShowFieldRelatedSystem(false); } }, [form.requestType]); return (