"use client"; import { useState } from "react"; import { Upload } from "lucide-react"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { useRouter } from "next/navigation"; import { createPromotion } from "@/service/promotion"; import withReactContent from "sweetalert2-react-content"; import Swal from "sweetalert2"; export default function AddPromoForm() { const router = useRouter(); const [title, setTitle] = useState(""); const [file, setFile] = useState(null); const MySwal = withReactContent(Swal); const handleFileChange = (e: React.ChangeEvent) => { const selected = e.target.files?.[0]; if (selected) { setFile(selected); } }; const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!file) { alert("File wajib diupload!"); return; } try { const formData = new FormData(); formData.append("title", title); formData.append("description", title); formData.append("file", file); await createPromotion(formData); successSubmit("/admin/promotion"); } catch (err) { console.error("ERROR CREATE PROMO:", err); } }; function successSubmit(redirect: string) { MySwal.fire({ title: "Sukses", icon: "success", confirmButtonColor: "#3085d6", confirmButtonText: "OK", }).then((result) => { if (result.isConfirmed) { router.push(redirect); } }); } return ( Form Tambah Promo
setTitle(e.target.value)} />
{file && (

{file.name}

)}
); }