import { DialogClose } from "@radix-ui/react-dialog"; import { Form, useNavigation } from "@remix-run/react"; import { Button } from "~/components/primitives/Buttons"; import { DialogContent, DialogHeader } from "~/components/primitives/Dialog"; import { FormButtons } from "~/components/primitives/FormButtons"; import { Input } from "~/components/primitives/Input"; import { Label } from "~/components/primitives/Label"; import { Paragraph } from "~/components/primitives/Paragraph"; type CloseSessionDialogProps = { sessionParam: string; environmentId: string; redirectPath: string; }; export function CloseSessionDialog({ sessionParam, environmentId, redirectPath, }: CloseSessionDialogProps) { const navigation = useNavigation(); const formAction = `/resources/sessions/${encodeURIComponent(sessionParam)}/close`; const isLoading = navigation.formAction === formAction; return ( Close this session?
Closing a session is permanent. The session will no longer accept new input or trigger new runs. Any in-flight run continues until it finishes on its own.
{isLoading ? "Closing…" : "Close session"} } cancelButton={ } />
); }