diff --git a/src/components/DocumentUploadField.tsx b/src/components/DocumentUploadField.tsx index 4d15cd8..a6d624a 100644 --- a/src/components/DocumentUploadField.tsx +++ b/src/components/DocumentUploadField.tsx @@ -2,6 +2,7 @@ import { useId, useMemo, type ChangeEvent } from "react"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { FileUp, FileText, Image as ImageIcon, X } from "lucide-react"; +import { toast } from "sonner"; type DocumentUploadFieldProps = { label: string; @@ -45,6 +46,13 @@ export function DocumentUploadField({ const file = event.target.files?.[0]; event.target.value = ""; if (!file || !onChange) return; + + const MAX_SIZE = 2 * 1024 * 1024; // 2MB + if (file.size > MAX_SIZE) { + toast.error("Pastikan gambar tidak lebih besar dari 2mb"); + return; + } + const dataUrl = await readFileAsDataUrl(file); onChange(dataUrl); }; diff --git a/src/pages/RecipientsPage.tsx b/src/pages/RecipientsPage.tsx index 79ee8b3..3439947 100644 --- a/src/pages/RecipientsPage.tsx +++ b/src/pages/RecipientsPage.tsx @@ -98,7 +98,7 @@ export default function RecipientsPage() { gender: "male" as "male" | "female", address: "", phone: "", - familyMembers: 1, + familyMembers: 1 as number | "", incomePerMonth: 0, placeOfWorshipId: 0, notes: "", @@ -228,7 +228,7 @@ export default function RecipientsPage() { gender: formData.gender, address: formData.address || undefined, phone: formData.phone || undefined, - familyMembers: formData.familyMembers, + familyMembers: Number(formData.familyMembers) || 1, incomePerMonth: formData.incomePerMonth, placeOfWorshipId: resolvedPlaceOfWorshipId, notes: formData.notes || undefined, @@ -292,7 +292,7 @@ export default function RecipientsPage() { gender: formData.gender, address: formData.address || undefined, phone: formData.phone || undefined, - familyMembers: formData.familyMembers, + familyMembers: Number(formData.familyMembers) || 1, incomePerMonth: formData.incomePerMonth, placeOfWorshipId: resolvedPlaceOfWorshipId, notes: formData.notes || undefined, @@ -415,7 +415,7 @@ export default function RecipientsPage() { value={formData.ktpDocument} onChange={(value) => updateFormData({ ktpDocument: value ?? "" })} required - helperText="JPG, PNG, PDF - Maks 5MB" + helperText="JPG, PNG, PDF - Maks 2MB" />