Update components/report-form.tsx

This commit is contained in:
kleap-admin 2026-01-16 17:00:58 +00:00
parent 9c002a25e9
commit 28bbf36e15
1 changed files with 100 additions and 0 deletions

100
components/report-form.tsx Normal file
View File

@ -0,0 +1,100 @@
"use client";
import { Container } from "@/components/container";
import { Heading } from "@/components/heading";
import { Subheading } from "@/components/subheading";
import { Card, CardHeader, CardTitle, CardDescription, CardContent } from "@/components/ui/card";
import { KleapForm, KleapFormField } from "@/components/kleap-form";
import { useLanguage } from "@/context/language-provider";
import Image from "next/image";
export function ReportForm() {
const { t } = useLanguage();
const fields: KleapFormField[] = [
{
name: "incident_type",
label: t("incident_type"),
type: "select",
required: true,
options: [
t("car_accident"),
t("train_accident"),
t("crime"),
t("violent_crime"),
t("emergency"),
t("other"),
],
},
{
name: "location",
label: t("location"),
type: "text",
placeholder: t("placeholder_location"),
required: true,
},
{
name: "description",
label: t("description"),
type: "textarea",
placeholder: t("placeholder_description"),
required: true,
},
{
name: "contact_info",
label: t("contact_info"),
type: "text",
placeholder: t("placeholder_contact"),
},
];
return (
<section id="report" className="py-20 bg-neutral-50">
<Container>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-start">
<div className="order-2 lg:order-1">
<div className="mb-8">
<Heading className="mb-4">{t("submit_report")}</Heading>
<Subheading className="text-lg font-medium text-red-600 mb-4">
{t("hero_title_1")} {t("hero_title_2")}
</Subheading>
<Subheading>{t("anonymous_note")}</Subheading>
</div>
<Card className="border-2 border-red-100">
<CardHeader>
<CardTitle>{t("incident_details")}</CardTitle>
<CardDescription>
{t("accuracy_note")}
</CardDescription>
</CardHeader>
<CardContent>
<KleapForm
formId="incident-report"
title={t("incident_details")}
fields={fields}
/>
</CardContent>
</Card>
</div>
<div className="order-1 lg:order-2 space-y-6">
<div className="relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg">
<Image
src="https://images.unsplash.com/photo-1607264469190-4abbbd14f5ab?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wyOTY1MDl8MHwxfHNlYXJjaHwzfHxlbWVyZ2VuY3klMjByZXNwb25zZSUyMGFjY2lkZW50JTIwcmVwb3J0aW5nJTIwc2FmZXR5fGVufDB8fHx8MTc2ODU4MjM0NXww&ixlib=rb-4.1.0&q=80&w=1080"
alt="Ambulance Emergency"
fill
className="object-cover"
/>
</div>
<div className="relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg">
<Image
src="https://images.unsplash.com/photo-1713111392302-6b70d996a639?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wyOTY1MDl8MHwxfHNlYXJjaHwyfHxlbWVyZ2VuY3klMjByZXNwb25zZSUyMGFjY2lkZW50JTIwcmVwb3J0aW5nJTIwc2FmZXR5fGVufDB8fHx8MTc2ODU4MjM0NXww&ixlib=rb-4.1.0&q=80&w=1080"
alt="Fire Truck Response"
fill
className="object-cover"
/>
</div>
</div>
</div>
</Container>
</section>
);
}