import { type FormEvent } from "react"; import { Check, Loader2Icon } from "lucide-react"; import { Button } from "~/components/ui/button"; import { AppFormDialog, dialogPrimaryButtonClass, dialogSecondaryButtonClass, } from "~/components/common/AppFormDialog"; import { formFieldClass, formInputClass, modalFormClass, } from "~/features/platform/modalUi"; import { useSchedulesStore } from "./state/useSchedulesStore"; export function ScheduleRenameDialog() { const renameTarget = useSchedulesStore((s) => s.renameTarget); const renameName = useSchedulesStore((s) => s.renameName); const busy = useSchedulesStore((s) => s.busy); const setRenameName = useSchedulesStore((s) => s.setRenameName); const closeRenameDialog = useSchedulesStore((s) => s.closeRenameDialog); const renaming = busy === "rename-schedule"; const trimmed = renameName.trim(); const unchanged = Boolean( renameTarget && trimmed === renameTarget.schedule_name, ); const handleSubmit = (event: FormEvent) => { event.preventDefault(); if (!renameTarget || !trimmed || unchanged) return; void useSchedulesStore.getState().renameSchedule(renameTarget, trimmed); }; return ( { if (!nextOpen) closeRenameDialog(); }} eyebrow="SCHEDULE" title="改名调度方案" titleId="rename-schedule-title" >
); }