TTMT.ManageWebGUI/src/template/form-submit-template.tsx

54 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-09-24 16:13:57 +07:00
import { ShellCommandForm } from "@/components/command-form";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { UpdateButton } from "@/components/update-button";
import { FileText, Terminal } from "lucide-react";
interface FormSubmitTemplateProps {
title: string;
description: string;
isLoading?: boolean;
children: React.ReactNode;
onSubmit?: () => void;
submitLoading?: boolean;
}
export function FormSubmitTemplate({
title,
description,
isLoading,
children,
onSubmit,
submitLoading,
}: FormSubmitTemplateProps) {
return (
<div className="w-full px-6 space-y-4">
<div>
<h1 className="text-3xl font-bold">{title}</h1>
<p className="text-muted-foreground mt-2">{description}</p>
</div>
<Card className="w-full">
<CardHeader>
<CardTitle className="flex items-center gap-2">
<Terminal className="h-5 w-5" /> Gửi lệnh CMD
</CardTitle>
<CardDescription>Nhập gửi lệnh xuống thiết bị</CardDescription>
</CardHeader>
<CardContent>{children}</CardContent>
{onSubmit && (
<CardFooter>
<UpdateButton onClick={onSubmit} loading={submitLoading} />
</CardFooter>
)}
</Card>
</div>
);
}