diff --git a/app/[locale]/(protected)/contributor/report/components/report-table.tsx b/app/[locale]/(protected)/contributor/report/components/report-table.tsx index bd9d08e1..1bca90c5 100644 --- a/app/[locale]/(protected)/contributor/report/components/report-table.tsx +++ b/app/[locale]/(protected)/contributor/report/components/report-table.tsx @@ -108,6 +108,66 @@ const ReportTable = () => { const [previewData, setPreviewData] = React.useState(null); const [openDateDialog, setOpenDateDialog] = React.useState(false); const [reportDate, setReportDate] = React.useState(""); + const [startDate, setStartDate] = React.useState(""); + const [endDate, setEndDate] = React.useState(""); + + // handleGenerateReport ubah sedikit + const handleGenerateReport = async () => { + if (!startDate || !endDate) { + MySwal.fire( + "Warning", + "Silakan pilih tanggal awal dan tanggal akhir terlebih dahulu", + "warning" + ); + return; + } + + if (new Date(startDate) > new Date(endDate)) { + MySwal.fire( + "Warning", + "Tanggal awal tidak boleh lebih besar dari tanggal akhir", + "warning" + ); + return; + } + + const title = `Report ${format( + new Date(startDate), + "dd-MM-yyyy" + )} - ${format(new Date(endDate), "dd-MM-yyyy")}`; + const requestData = { + title, + startDate, + endDate, + }; + + try { + const response = await saveReport(requestData); + if (response?.error) { + MySwal.fire( + "Error", + response?.message || "Gagal menyimpan laporan", + "error" + ); + return; + } + + MySwal.fire({ + title: "Sukses", + text: "Laporan berhasil dibuat.", + icon: "success", + confirmButtonColor: "#3085d6", + confirmButtonText: "OK", + }).then(() => { + fetchData(); + setStartDate(""); + setEndDate(""); + }); + } catch (error) { + console.error("Generate report error:", error); + MySwal.fire("Error", "Terjadi kesalahan saat membuat laporan", "error"); + } + }; const handlePreview = (id: string) => { const url = `https://new.netidhub.com/api/media/report/view?id=${id}`; @@ -247,49 +307,6 @@ const ReportTable = () => { // } // }; - const handleGenerateReport = async () => { - if (!reportDate) { - MySwal.fire( - "Warning", - "Silakan pilih tanggal laporan terlebih dahulu", - "warning" - ); - return; - } - - const title = `Report ${format(new Date(reportDate), "dd-MM-yyyy")}`; - const requestData = { - title, - date: reportDate, - }; - - try { - const response = await saveReport(requestData); - if (response?.error) { - MySwal.fire( - "Error", - response?.message || "Gagal menyimpan laporan", - "error" - ); - return; - } - - MySwal.fire({ - title: "Sukses", - text: "Laporan berhasil dibuat.", - icon: "success", - confirmButtonColor: "#3085d6", - confirmButtonText: "OK", - }).then(() => { - fetchData(); - setReportDate(""); - }); - } catch (error) { - console.error("Generate report error:", error); - MySwal.fire("Error", "Terjadi kesalahan saat membuat laporan", "error"); - } - }; - return (
@@ -391,13 +408,13 @@ const ReportTable = () => {

Filter

- + { className="max-w-sm" />
*/} - -
+ {/* */} + {/*
{ -
-
+
*/} + {/*
{ -
+
*/}
@@ -528,16 +545,27 @@ const ReportTable = () => { - Pilih Tanggal Laporan + Pilih Rentang Tanggal Laporan
- - setReportDate(e.target.value)} - /> +
+ + setStartDate(e.target.value)} + /> +
+
+ + setEndDate(e.target.value)} + /> +
- + */}
+
+ + setIsCollaboration(e)} + /> +
+
+
+ + {showRewriteEditor && ( +
+ {articleIds.length > 0 && ( +
+ {articleIds.map((articleId, index) => ( + + ))} +
+ )} + +
+ + ( + + )} + /> +
+
+ )} +
+ + + + {/* @@ -815,7 +926,7 @@ export default function FormConvertSPIT() { {/* Original Content */} - {selectedFileType === "original" && ( + {/* {selectedFileType === "original" && (
- )} + )} */} - {/* Content Rewrite */} - {selectedFileType === "rewrite" && ( + {/* Content Rewrite */} + {/* {selectedFileType === "rewrite" && (
@@ -915,7 +1026,7 @@ export default function FormConvertSPIT() {
)} - + */} {/* Media Files */} {detailThumb.length > 0 && ( @@ -1073,7 +1184,9 @@ export default function FormConvertSPIT() {

- {file.fileName || file.contentFileName || `File ${file.contentId}`} + {file.fileName || + file.contentFileName || + `File ${file.contentId}`}

{PLACEMENT_OPTIONS.map((option) => ( @@ -1271,7 +1384,6 @@ export default function FormConvertSPIT() { ); } - // "use client"; // import React, { ChangeEvent, useEffect, useRef, useState } from "react"; // import { useForm, Controller } from "react-hook-form"; @@ -2484,5 +2596,3 @@ export default function FormConvertSPIT() { //
// ); // } - - diff --git a/components/form/ticketing/info-lainnya.tsx b/components/form/ticketing/info-lainnya.tsx index 0af6a1f8..a72315e5 100644 --- a/components/form/ticketing/info-lainnya.tsx +++ b/components/form/ticketing/info-lainnya.tsx @@ -92,10 +92,19 @@ export default function InfoLainnyaModal({ className="max-h-[300px] w-auto object-contain border rounded" /> ) : ( + //