"use client"; import { useState } from "react"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { useRouter } from "next/navigation"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { createSchedule } from "@/service/landing/landing"; const MySwal = withReactContent(Swal); export default function CreateSchedulePage() { const router = useRouter(); const [formData, setFormData] = useState({ createdById: 1, // bisa diganti sesuai ID user login description: "", endDate: "", endTime: "", isLiveStreaming: false, location: "", speakers: "", startDate: "", startTime: "", title: "", typeId: 1, liveStreamingUrl: "", posterImagePath: "", }); const [loading, setLoading] = useState(false); const handleChange = ( e: React.ChangeEvent ) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); }; const handleToggle = (checked: boolean) => { setFormData((prev) => ({ ...prev, isLiveStreaming: checked })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { // Format tanggal sesuai ISO backend (2025-11-01T00:00:00Z) const payload = { ...formData, startDate: `${formData.startDate}T${formData.startTime}:00Z`, endDate: `${formData.endDate}T${formData.endTime}:00Z`, }; const res = await createSchedule(payload); if (!res?.error) { MySwal.fire({ icon: "success", title: "Berhasil!", text: "Schedule berhasil dibuat.", timer: 2000, showConfirmButton: false, }); setTimeout(() => router.push("/admin/schedule"), 2000); } else { MySwal.fire({ icon: "error", title: "Gagal!", text: res?.message || "Gagal membuat schedule.", }); } } catch (error) { MySwal.fire({ icon: "error", title: "Error", text: "Terjadi kesalahan pada sistem.", }); console.error(error); } finally { setLoading(false); } }; return (
Buat Jadwal Baru