{e.title}
diff --git a/src/app_modules/admin/investasi/_view/detail/view_daftar_transaksi.tsx b/src/app_modules/admin/investasi/_view/detail/view_daftar_transaksi.tsx
index 5cd26fd7..0aa1a94f 100644
--- a/src/app_modules/admin/investasi/_view/detail/view_daftar_transaksi.tsx
+++ b/src/app_modules/admin/investasi/_view/detail/view_daftar_transaksi.tsx
@@ -125,7 +125,7 @@ export function AdminInvestasi_ViewDaftarTransaksi({
{e?.statusInvoiceId !== "3" ? (
-
+
) : (
"-"
)}
diff --git a/src/app_modules/admin/investasi/_view/detail/view_detail_data.tsx b/src/app_modules/admin/investasi/_view/detail/view_detail_data.tsx
index 86ef258f..7761be7c 100644
--- a/src/app_modules/admin/investasi/_view/detail/view_detail_data.tsx
+++ b/src/app_modules/admin/investasi/_view/detail/view_detail_data.tsx
@@ -25,7 +25,7 @@ export function AdminInvestasi_ViewDetailData({
{/* Data Foto */}
-
+
{/* Data Detail */}
@@ -34,6 +34,7 @@ export function AdminInvestasi_ViewDetailData({
title={data.title}
dataProspektus={data.ProspektusInvestasi}
listDokumen={data.DokumenInvestasi}
+ prospektusFileId={data.prospektusFileId}
/>
>
);
diff --git a/src/app_modules/admin/investasi/detail/detail_bukti_transfer.tsx b/src/app_modules/admin/investasi/detail/detail_bukti_transfer.tsx
index 23f7843c..3532579c 100644
--- a/src/app_modules/admin/investasi/detail/detail_bukti_transfer.tsx
+++ b/src/app_modules/admin/investasi/detail/detail_bukti_transfer.tsx
@@ -1,14 +1,14 @@
"use client";
import { Stack } from "@mantine/core";
-import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
+import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
import { AdminInvestasi_ViewBuktiTransfer } from "../_view";
import { ComponentAdminGlobal_TitlePage } from "../../_admin_global/_component";
export function AdminInvestasi_DetailBuktiTransfer({ imageId }: { imageId: string }) {
return (
-
+
diff --git a/src/app_modules/admin/investasi/detail/detail_publish.tsx b/src/app_modules/admin/investasi/detail/detail_publish.tsx
index fdcdd12d..141d562c 100644
--- a/src/app_modules/admin/investasi/detail/detail_publish.tsx
+++ b/src/app_modules/admin/investasi/detail/detail_publish.tsx
@@ -4,7 +4,7 @@ import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
import { Button, Group, Stack } from "@mantine/core";
import { IconCircleCheck } from "@tabler/icons-react";
import { useState } from "react";
-import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
+import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
import {
AdminInvestasi_ViewDaftarInvestor,
AdminInvestasi_ViewDaftarTransaksi,
@@ -46,7 +46,7 @@ export function AdminInvestasi_DetailPublish({
return (
<>
-
+
{listPage.map((e) => (
diff --git a/src/app_modules/admin/investasi/detail/detail_reject.tsx b/src/app_modules/admin/investasi/detail/detail_reject.tsx
index afcc7ff2..81976beb 100644
--- a/src/app_modules/admin/investasi/detail/detail_reject.tsx
+++ b/src/app_modules/admin/investasi/detail/detail_reject.tsx
@@ -8,7 +8,7 @@ import {
Text,
Title
} from "@mantine/core";
-import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
+import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
import { ComponentAdminInvestasi_DetailDataAuthor } from "../_component/detail_data_author";
import { ComponentAdminInvestasi_DetailData } from "../_component/detail_data_investasi";
import { ComponentAdminInvestasi_DetailGambar } from "../_component/detail_gambar_investasi";
@@ -18,7 +18,7 @@ export function AdminInvestasi_DetailReject({ data }: { data: MODEL_INVESTASI })
return (
<>
-
+
{/* Data Foto */}
-
+
{/* Data Detail */}
@@ -64,6 +64,7 @@ export function AdminInvestasi_DetailReject({ data }: { data: MODEL_INVESTASI })
title={data.title}
dataProspektus={data.ProspektusInvestasi}
listDokumen={data.DokumenInvestasi}
+ prospektusFileId={data.prospektusFileId}
/>
{/* {JSON.stringify(data, null, 2)} */}
diff --git a/src/app_modules/admin/investasi/detail/detail_review.tsx b/src/app_modules/admin/investasi/detail/detail_review.tsx
index 21d19bdd..15ed666a 100644
--- a/src/app_modules/admin/investasi/detail/detail_review.tsx
+++ b/src/app_modules/admin/investasi/detail/detail_review.tsx
@@ -3,7 +3,14 @@
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id";
import mqtt_client from "@/util/mqtt_client";
-import { Button, Group, SimpleGrid, Stack } from "@mantine/core";
+import {
+ Button,
+ Group,
+ Modal,
+ SimpleGrid,
+ Stack,
+ Textarea,
+} from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks";
import _ from "lodash";
import { useRouter } from "next/navigation";
@@ -11,7 +18,7 @@ import { useState } from "react";
import { ComponentAdminGlobal_NotifikasiBerhasil } from "../../_admin_global/admin_notifikasi/notifikasi_berhasil";
import { ComponentAdminGlobal_NotifikasiGagal } from "../../_admin_global/admin_notifikasi/notifikasi_gagal";
import { ComponentAdminGlobal_NotifikasiPeringatan } from "../../_admin_global/admin_notifikasi/notifikasi_peringatan";
-import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
+import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
import adminNotifikasi_funCreateToUser from "../../notifikasi/fun/create/fun_create_notif_user";
import { ComponentAdminInvestasi_DetailDataAuthor } from "../_component/detail_data_author";
import { ComponentAdminInvestasi_DetailData } from "../_component/detail_data_investasi";
@@ -19,6 +26,7 @@ import { ComponentAdminInvestasi_DetailGambar } from "../_component/detail_gamba
import { ComponentAdminInvestasi_UIDetailFile } from "../_component/ui_detail_file";
import { adminInvestasi_funEditStatusPublishById } from "../fun/edit/fun_status_publish_by_id";
import Admin_funRejectInvestasi from "../fun/fun_reject_investasi";
+import { Admin_ComponentModalReport } from "../../_admin_global/_component";
export default function AdminInvestasi_DetailReview({
dataInvestasi,
@@ -31,6 +39,7 @@ export default function AdminInvestasi_DetailReview({
const [openModal, setOpenModal] = useState(false);
const [isLoadingPublish, setIsLoadingPublish] = useState(false);
const [isLoadingReject, setIsLoadingReject] = useState(false);
+ const [report, setReport] = useState("");
useShallowEffect(() => {
cekStatusPublish();
@@ -43,13 +52,16 @@ export default function AdminInvestasi_DetailReview({
async function onReject() {
const body = {
id: data.id,
- catatan: data.catatan,
+ catatan: report,
status: "4",
};
if (_.isEmpty(body.catatan))
return ComponentAdminGlobal_NotifikasiPeringatan("Lengkapi alasan");
+
const res = await Admin_funRejectInvestasi(body);
if (res.status === 200) {
+ setIsLoadingReject(true);
+
const dataNotif = {
appId: res.data?.id,
userId: res.data?.authorId,
@@ -75,8 +87,11 @@ export default function AdminInvestasi_DetailReview({
ComponentAdminGlobal_NotifikasiBerhasil(res.message);
router.back();
+ setOpenModal(false);
+ setIsLoadingReject(false);
} else {
ComponentAdminGlobal_NotifikasiGagal(res.message);
+ setOpenModal(false);
}
}
@@ -127,7 +142,7 @@ export default function AdminInvestasi_DetailReview({
<>
-
+
{data.masterStatusInvestasiId === "2" ? (
@@ -141,11 +156,9 @@ export default function AdminInvestasi_DetailReview({
Publish
@@ -168,7 +181,7 @@ export default function AdminInvestasi_DetailReview({
{/* Data Foto */}
-
+
{/* Data Detail */}
@@ -178,8 +191,53 @@ export default function AdminInvestasi_DetailReview({
title={data.title}
dataProspektus={data.ProspektusInvestasi}
listDokumen={data.DokumenInvestasi}
+ prospektusFileId={data.prospektusFileId}
/>
+
+ setOpenModal(false)}
+ title="Alasan Penolakan"
+ onHandlerChange={(val) => setReport(val.target.value)}
+ buttonKiri={
+
+ }
+ buttonKanan={
+
+ }
+ />
+
+ {/* setOpenModal(false)}
+ title="Alasan Penolakan"
+ size={"sm"}
+ centered
+ withCloseButton={false}
+ >
+
+
+ */}
>
);
}
diff --git a/src/app_modules/admin/investasi/fun/edit/fun_reject_invoice_by_id.ts b/src/app_modules/admin/investasi/fun/edit/fun_reject_invoice_by_id.ts
index 398b5c51..1facc575 100644
--- a/src/app_modules/admin/investasi/fun/edit/fun_reject_invoice_by_id.ts
+++ b/src/app_modules/admin/investasi/fun/edit/fun_reject_invoice_by_id.ts
@@ -9,6 +9,9 @@ export async function adminInvestasi_funRejectInvoiceById({
}: {
invoiceId: string;
}) {
+
+
+
const updt = await prisma.investasi_Invoice.update({
where: {
id: invoiceId,
diff --git a/src/app_modules/admin/investasi/fun/edit/fun_status_publish_by_id.ts b/src/app_modules/admin/investasi/fun/edit/fun_status_publish_by_id.ts
index b1277e7b..c7c5f4a2 100644
--- a/src/app_modules/admin/investasi/fun/edit/fun_status_publish_by_id.ts
+++ b/src/app_modules/admin/investasi/fun/edit/fun_status_publish_by_id.ts
@@ -13,6 +13,22 @@ export async function adminInvestasi_funEditStatusPublishById({
statusId: string;
progesInvestasiId: string;
}) {
+ const cekStatus = await prisma.investasi.findFirst({
+ where: {
+ id: investasiId,
+ },
+ select: {
+ masterStatusInvestasiId: true,
+ },
+ });
+
+ if (cekStatus?.masterStatusInvestasiId !== "2") {
+ return {
+ status: 400,
+ message: "User membatalkan review",
+ };
+ }
+
const publishTime = new Date();
const res = await prisma.investasi.update({
where: {
@@ -31,8 +47,8 @@ export async function adminInvestasi_funEditStatusPublishById({
select: {
name: true,
},
- },
- }
+ },
+ },
});
if (!res) return { status: 400, message: "Gagal Update" };
diff --git a/src/app_modules/admin/investasi/fun/fun_reject_investasi.ts b/src/app_modules/admin/investasi/fun/fun_reject_investasi.ts
index 8f313aac..40d3081e 100644
--- a/src/app_modules/admin/investasi/fun/fun_reject_investasi.ts
+++ b/src/app_modules/admin/investasi/fun/fun_reject_investasi.ts
@@ -6,6 +6,21 @@ import { revalidatePath } from "next/cache";
export default async function Admin_funRejectInvestasi(data: any) {
// console.log(data)
+ const cekStatus = await prisma.investasi.findFirst({
+ where: {
+ id: data.id,
+ },
+ select: {
+ masterStatusInvestasiId: true,
+ },
+ });
+
+ if (cekStatus?.masterStatusInvestasiId !== "2") {
+ return {
+ status: 400,
+ message: "User membatalkan review",
+ };
+ }
const res = await prisma.investasi.update({
where: { id: data.id },
diff --git a/src/app_modules/admin/investasi/fun/get/fun_get_investasi_by_id.ts b/src/app_modules/admin/investasi/fun/get/fun_get_investasi_by_id.ts
new file mode 100644
index 00000000..486f4d2f
--- /dev/null
+++ b/src/app_modules/admin/investasi/fun/get/fun_get_investasi_by_id.ts
@@ -0,0 +1,58 @@
+"use server";
+import prisma from "@/app/lib/prisma";
+
+export default async function adminInvestasi_getOneById({
+ investasiId,
+}: {
+ investasiId: string;
+}) {
+ const data = await prisma.investasi.findUnique({
+ where: {
+ id: investasiId,
+ },
+ select: {
+ imageId: true,
+ prospektusFileId: true,
+ id: true,
+ author: {
+ select: {
+ id: true,
+ username: true,
+ nomor: true,
+ Profile: true,
+ },
+ },
+ title: true,
+ authorId: true,
+ hargaLembar: true,
+ targetDana: true,
+ totalLembar: true,
+ sisaLembar: true,
+ lembarTerbeli: true,
+ progress: true,
+ roi: true,
+ active: true,
+ createdAt: true,
+ updatedAt: true,
+ catatan: true,
+ imagesId: true,
+ MasterStatusInvestasi: true,
+ BeritaInvestasi: true,
+ DokumenInvestasi: true,
+ ProspektusInvestasi: true,
+ MasterPembagianDeviden: true,
+ MasterPencarianInvestor: true,
+ MasterPeriodeDeviden: true,
+ MasterProgresInvestasi: true,
+ masterStatusInvestasiId: true,
+ Investasi_Invoice: {
+ where: {
+ statusInvoiceId: "1",
+ },
+ },
+ countDown: true,
+ },
+ });
+
+ return data;
+}
diff --git a/src/app_modules/admin/investasi/fun/index.ts b/src/app_modules/admin/investasi/fun/index.ts
index 6a10aa52..840a4d0b 100644
--- a/src/app_modules/admin/investasi/fun/index.ts
+++ b/src/app_modules/admin/investasi/fun/index.ts
@@ -1,9 +1,11 @@
import { adminInvestasi_funAcceptTransaksiById } from "./edit/fun_accept_invoice_by_id";
import { adminInvestasi_funRejectInvoiceById } from "./edit/fun_reject_invoice_by_id";
import { adminInvestasi_funGetAllTransaksiById } from "./get/fun_get_all_transaksi_by_id";
+import adminInvestasi_getOneById from "./get/fun_get_investasi_by_id";
import { adminInvestasi_getStatusInvestasi } from "./get/fun_get_status_transaksi";
export { adminInvestasi_getStatusInvestasi };
export { adminInvestasi_funGetAllTransaksiById };
export { adminInvestasi_funRejectInvoiceById };
export { adminInvestasi_funAcceptTransaksiById };
+export { adminInvestasi_getOneById };
diff --git a/src/app_modules/admin/job/detail/detail_poster.tsx b/src/app_modules/admin/job/detail/detail_poster.tsx
index 80583337..1aa1602a 100644
--- a/src/app_modules/admin/job/detail/detail_poster.tsx
+++ b/src/app_modules/admin/job/detail/detail_poster.tsx
@@ -2,7 +2,7 @@
import { RouterJob } from "@/app/lib/router_hipmi/router_job";
import { Center, Image, Stack } from "@mantine/core";
-import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
+import AdminGlobal_ComponentBackButton from "../../_admin_global/back_button";
import { APIs } from "@/app/lib";
import { useState } from "react";
import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
@@ -17,7 +17,7 @@ export default function AdminJob_DetailPoster({
return (
<>
-
+
setLoading(false)}
diff --git a/src/app_modules/admin/new_layout.tsx b/src/app_modules/admin/new_layout.tsx
index e08946aa..50f2dbfd 100644
--- a/src/app_modules/admin/new_layout.tsx
+++ b/src/app_modules/admin/new_layout.tsx
@@ -1,30 +1,30 @@
"use client";
import {
- ActionIcon,
- AppShell,
- Box,
- Center,
- Divider,
- Drawer,
- Grid,
- Group,
- Menu,
- Navbar,
- NavLink,
- ScrollArea,
- Stack,
- Text,
- Title
+ ActionIcon,
+ AppShell,
+ Box,
+ Center,
+ Divider,
+ Drawer,
+ Grid,
+ Group,
+ Menu,
+ Navbar,
+ NavLink,
+ ScrollArea,
+ Stack,
+ Text,
+ Title,
} from "@mantine/core";
import { useMediaQuery } from "@mantine/hooks";
import {
- IconBell,
- IconCircleDot,
- IconCircleDotFilled,
- IconPhone,
- IconUser,
- IconUserCircle
+ IconBell,
+ IconCircleDot,
+ IconCircleDotFilled,
+ IconPhone,
+ IconUser,
+ IconUserCircle,
} from "@tabler/icons-react";
import { useAtom } from "jotai";
import _ from "lodash";
@@ -34,9 +34,9 @@ import { AccentColor, MainColor } from "../_global/color";
import { MODEL_USER } from "../home/model/interface";
import Admin_Logout from "./_admin_global/logout";
import {
- gs_admin_navbar_isActive_dropdown,
- gs_admin_navbar_menu,
- gs_admin_navbar_subMenu,
+ gs_admin_navbar_isActive_dropdown,
+ gs_admin_navbar_menu,
+ gs_admin_navbar_subMenu,
} from "./_admin_global/new_global_state";
import { newListAdminPage } from "./new_list_page";
import { ComponentAdmin_UIDrawerNotifikasi } from "./notifikasi/ui_drawer_notifikasi";
@@ -60,9 +60,9 @@ export function Admin_NewLayout({
return (
<>
(dataInvestasi);
const listPage = [
{
id: "1",
@@ -70,13 +75,47 @@ export function Investasi_UiDetailPortofolio({
/>
}
>
-
+
- setOpenDrawer(false)}
component={listPage}
+ /> */}
+
+ setOpenDrawer(false)}
+ component={
+
+ {listPage.map((e, i) => (
+
+ {
+ setPageId(e?.id);
+ setLoading(true);
+ if (e.id === "1") {
+ setData({});
+ }
+ router.push(e?.path, { scroll: false });
+ }}
+ >
+ {isLoading && e?.id === pageId ? (
+
+ ) : (
+ e?.icon
+ )}
+
+
+ {e?.name}
+
+
+ ))}
+
+ }
/>
>
);
@@ -85,23 +124,16 @@ export function Investasi_UiDetailPortofolio({
}
>
- {/* {data.masterStatusInvestasiId === "1" && (
-
- )} */}
-
- {data.masterStatusInvestasiId === "2" && (
-
+ {dataInvestasi.masterStatusInvestasiId === "2" && (
+
)}
- {data.masterStatusInvestasiId === "4" && (
-
+ {dataInvestasi.masterStatusInvestasiId === "4" && (
+
)}
);
diff --git a/src/app_modules/investasi/_ui/main/ui_portofolio.tsx b/src/app_modules/investasi/_ui/main/ui_portofolio.tsx
index 54715c0d..189d86af 100644
--- a/src/app_modules/investasi/_ui/main/ui_portofolio.tsx
+++ b/src/app_modules/investasi/_ui/main/ui_portofolio.tsx
@@ -18,7 +18,6 @@ export function Investasi_UiPortofolio({
}) {
const [activeTab, setActiveTab] = useState(statusId);
const router = useRouter();
- const [data, setData] = useState(dataPortofolio);
return (
<>
@@ -61,7 +60,7 @@ export function Investasi_UiPortofolio({
diff --git a/src/app_modules/investasi/_view/create/view_create_document.tsx b/src/app_modules/investasi/_view/create/view_create_document.tsx
index 807fe19c..975f57d0 100644
--- a/src/app_modules/investasi/_view/create/view_create_document.tsx
+++ b/src/app_modules/investasi/_view/create/view_create_document.tsx
@@ -69,7 +69,7 @@ export function Investasi_ViewCreateDocument({
return (
<>
-
+
(dataInvestasi);
+ const [openModal, setOpenModal] = useState(false);
- async function onAjukanReview() {
+ // Delete
+ const [isLoadingDelete, setIsLoadingDelete] = useState(false);
+ const [openModalDelete, setOpenModalDelete] = useState(false);
+
+ async function onChangeStatus() {
const res = await investasi_funEditStatusById({
- investasiId: dataInvestasi.id,
+ investasiId: data.id,
statusId: "2",
});
if (res.status === 200) {
+ setIsLoading(true);
+ ComponentGlobal_NotifikasiBerhasil("Review Berhasil Diajukan");
+ router.replace(NEW_RouterInvestasi.portofolio({ id: "2" }));
+
const dataNotif = {
appId: res.data?.id,
userId: res.data?.authorId,
@@ -46,41 +59,138 @@ export default function Investasi_ViewDetailDraft({
if (notif.status === 201) {
mqtt_client.publish("ADMIN", JSON.stringify({ count: 1 }));
-
- setIsLoading(true);
- ComponentGlobal_NotifikasiBerhasil("Review Berhasil Diajukan");
- router.push(NEW_RouterInvestasi.portofolio({ id: "2" }));
}
} else {
ComponentGlobal_NotifikasiGagal(res.message);
}
}
+ async function onDelete() {
+ const res = await funDeleteInvestasi(data.id);
+ if (res.status === 200) {
+ setIsLoadingDelete(true);
+
+ const delImage = await funGlobal_DeleteFileById({
+ fileId: data.imageId,
+ });
+ if (!delImage.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan("Gagal hapus image ");
+ }
+
+ const delFileProspektus = await funGlobal_DeleteFileById({
+ fileId: data.prospektusFileId,
+ });
+ if (!delFileProspektus.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan("Gagal hapus prospektus ");
+ }
+
+ if (!_.isEmpty(data.DokumenInvestasi)) {
+ for (let i of data.DokumenInvestasi) {
+ const delFileDokumen = await funGlobal_DeleteFileById({
+ fileId: i.fileId,
+ });
+
+ if (!delFileDokumen.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan(
+ "Gagal hapus prospektus "
+ );
+ }
+ }
+ }
+
+ ComponentGlobal_NotifikasiBerhasil(res.message);
+ setOpenModal(false);
+ router.replace(NEW_RouterInvestasi.portofolio({ id: "3" }));
+ setIsLoadingDelete(false);
+ } else {
+ ComponentGlobal_NotifikasiGagal(res.message);
+ setIsLoadingDelete(false);
+ }
+ }
+
return (
<>
- {dataInvestasi.catatan && (
-
+ {data.catatan && (
+
)}
-
+
-
+
-
+
+
+
+
+ {/* Ajukan Kembali */}
+ setOpenModal(false)}
+ title={"Anda yakin ingin mengajukan review ?"}
+ buttonKiri={
+
+ }
+ buttonKanan={
+
+ }
+ />
+
+ {/* Hapus */}
+ setOpenModalDelete(false)}
+ title={"Anda yakin ingin menghapus ?"}
+ buttonKiri={
+
+ }
+ buttonKanan={
+
+ }
+ />
>
);
}
diff --git a/src/app_modules/investasi/_view/detail/portofolio/view_detail_reject.tsx b/src/app_modules/investasi/_view/detail/portofolio/view_detail_reject.tsx
index 362b34ac..17f9f89a 100644
--- a/src/app_modules/investasi/_view/detail/portofolio/view_detail_reject.tsx
+++ b/src/app_modules/investasi/_view/detail/portofolio/view_detail_reject.tsx
@@ -1,20 +1,18 @@
"use client";
-import {
- NEW_RouterInvestasi,
- RouterInvestasi_OLD,
-} from "@/app/lib/router_hipmi/router_investasi";
+import { NEW_RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
+import { funGlobal_DeleteFileById } from "@/app_modules/_global/fun";
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
import UIGlobal_Modal from "@/app_modules/_global/ui/ui_modal";
+import { ComponentAdminGlobal_NotifikasiPeringatan } from "@/app_modules/admin/_admin_global/admin_notifikasi/notifikasi_peringatan";
import { Investasi_ComponentDetailDataNonPublish } from "@/app_modules/investasi/_component";
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
import { investasi_funEditStatusById } from "@/app_modules/investasi/fun/edit/fun_edit_status_by_id";
import funDeleteInvestasi from "@/app_modules/investasi/fun/fun_delete_investasi";
-import { gs_investasi_status } from "@/app_modules/investasi/g_state";
import { Button, Group, Stack } from "@mantine/core";
-import { useAtom } from "jotai";
+import _ from "lodash";
import { useRouter } from "next/navigation";
import { useState } from "react";
@@ -24,36 +22,65 @@ export default function Investasi_ViewDetailReject({
dataInvestasi: MODEL_INVESTASI;
}) {
const router = useRouter();
- const [investasi, setInvestasi] = useState(dataInvestasi);
- const [activeTab, setActiveTab] = useAtom(gs_investasi_status);
+ const [data, setData] = useState(dataInvestasi);
const [openModal, setOpenModal] = useState(false);
+ const [isLoading, setLoading] = useState(false);
async function onAjukan() {
const res = await investasi_funEditStatusById({
- investasiId: dataInvestasi.id,
+ investasiId: data.id,
statusId: "3",
});
if (res.status === 200) {
ComponentGlobal_NotifikasiBerhasil("Project Diajukan Kembali");
- setActiveTab("Draft");
- router.push(RouterInvestasi_OLD.portofolio);
+ router.replace(NEW_RouterInvestasi.portofolio({ id: "3" }));
} else {
ComponentGlobal_NotifikasiGagal("Gagal Pengajuan");
}
}
async function onDelete() {
- await funDeleteInvestasi(investasi.id).then((res) => {
- if (res.status === 200) {
- ComponentGlobal_NotifikasiBerhasil(res.message);
- setOpenModal(false);
- router.push(NEW_RouterInvestasi.portofolio({ id: "3" }));
- } else {
- ComponentGlobal_NotifikasiGagal(res.message);
+ const res = await funDeleteInvestasi(data.id);
+ if (res.status === 200) {
+ setLoading(true);
+
+ const delImage = await funGlobal_DeleteFileById({
+ fileId: data.imageId,
+ });
+ if (!delImage.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan("Gagal hapus image ");
}
- });
- // setActiveTab("Reject");
+
+ const delFileProspektus = await funGlobal_DeleteFileById({
+ fileId: data.prospektusFileId,
+ });
+ if (!delFileProspektus.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan("Gagal hapus prospektus ");
+ }
+
+ if (!_.isEmpty(data.DokumenInvestasi)) {
+ for (let i of data.DokumenInvestasi) {
+ const delFileDokumen = await funGlobal_DeleteFileById({
+ fileId: i.fileId,
+ });
+
+ if (!delFileDokumen.success) {
+ ComponentAdminGlobal_NotifikasiPeringatan(
+ "Gagal hapus prospektus "
+ );
+ }
+ }
+ }
+
+ ComponentGlobal_NotifikasiBerhasil(res.message);
+ setOpenModal(false);
+ router.replace(NEW_RouterInvestasi.portofolio({ id: "4" }));
+ setLoading(false);
+ } else {
+ ComponentGlobal_NotifikasiGagal(res.message);
+ setLoading(false);
+ }
}
return (
@@ -69,7 +96,14 @@ export default function Investasi_ViewDetailReject({
}
buttonKanan={
- |