import type { UserInfoResponse } from "@logto/browser" import type { PublicMember } from "../../store/member" import { EventStatus, type PublicEvent, type RepairEvent } from "../../types/event" import { saturdayClient } from "../../utils/client" import { Button, Form, Select, SelectItem, Textarea } from "@heroui/react" import { useEffect, useState } from "react" export type IdentityContext = { member: PublicMember userInfo: UserInfoResponse token: string } enum RepairRole { repairAdmin = "repair admin", repairMember = "repair member", } export type EventActionProps = { event: PublicEvent identityContext: IdentityContext isLoading?: string onUpdated: (event: RepairEvent) => void onLoading: (loadingAction?: string) => void } const EventSizeOptions: { size: string description?: string }[] = [ { size: "xs", description: "无需工具,仅简单排查或软件层级操作" }, { size: "s", description: "简单拆装部件,操作快,风险低" }, { size: "m", description: "需基本工具、一定技术判断,时间较长" }, { size: "l", description: "较复杂的拆装和测试流程,需熟练技能、多人协作可能" }, { size: "xl", description: "工作量极大,涉及多个设备,需团队作业和详细记录" }, ] const EventActionCommitForm = (props: { formData: { size: string description: string } setFormData: (data: { size: string description: string }) => void }) => { const { formData, setFormData } = props return (