"use client"; import SiteBreadcrumb from "@/components/site-breadcrumb"; import { Button } from "@/components/ui/button"; import { Calendar } from "@/components/ui/calendar"; import { Input } from "@/components/ui/input"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { Link, useRouter } from "@/i18n/routing"; import { CalendarIcon } from "lucide-react"; import React, { useRef, useState } from "react"; import { cn } from "@/lib/utils"; import { format } from "date-fns"; import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { z } from "zod"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { error } from "@/config/swal"; import { savePlanning } from "@/service/agenda-setting/agenda-setting"; import dynamic from "next/dynamic"; const FormSchema = z.object({ month: z.date({ required_error: "Required", }), title: z.string({ required_error: "Required", }), detail: z.string({ required_error: "Required", }), }); const CustomEditor = dynamic( () => { return import("@/components/editor/custom-editor"); }, { ssr: false } ); export default function CreateMonthly() { const MySwal = withReactContent(Swal); const router = useRouter(); const form = useForm>({ resolver: zodResolver(FormSchema), defaultValues: { detail: "", }, }); const editor = useRef(null); const onSubmit = async (data: z.infer) => { if (form.getValues("detail") == "") { form.setError("detail", { type: "manual", message: "Required", }); } else { MySwal.fire({ title: "Simpan Data", text: "Apakah Anda yakin ingin menyimpan data ini?", icon: "warning", showCancelButton: true, cancelButtonColor: "#d33", confirmButtonColor: "#3085d6", confirmButtonText: "Simpan", }).then((result) => { if (result.isConfirmed) { save(data); } }); } }; const save = async (data: z.infer) => { const month = new Date(data.month).getMonth() + 1; const year = new Date(data.month).getFullYear(); const reqData = { planningTypeId: 2, title: data.title, time: "3", description: data.detail, username: "", date: `${month.toString().padStart(2, "0")}/${year}`, status: "Open", }; console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); if (response?.error) { error(response?.message); return false; } MySwal.fire({ title: "Sukses", icon: "success", confirmButtonColor: "#3085d6", confirmButtonText: "OK", }).then((result) => { if (result.isConfirmed) { router.push("/curator/task-plan/medsos-mediahub"); } }); }; const handleMonthSelect = (selectedDate: Date | undefined) => { if (!selectedDate) return; const newDate = new Date( selectedDate.getFullYear(), selectedDate.getMonth(), 1 ); form.setValue("month", newDate); }; return (
Bulanan
Mingguan Harian

Perencanaan MediaHub Bulanan

( Judul Perencanaan )} /> ( Pilih Bulan )} /> ( Detail Perencanaan )} />
); }