+ {loading ? (
+
+ ) : error ? (
+
+
+
+
+ ) : (
+
+ {pdfPages?.map((page, index) => (
+
+ ))}
+
+ )}
>
diff --git a/src/app_modules/investasi/_ui/file_view/ui_file_view_prospektus.tsx b/src/app_modules/investasi/_ui/file_view/ui_file_view_prospektus.tsx
index adb3cae5..8c822a7b 100644
--- a/src/app_modules/investasi/_ui/file_view/ui_file_view_prospektus.tsx
+++ b/src/app_modules/investasi/_ui/file_view/ui_file_view_prospektus.tsx
@@ -1,33 +1,90 @@
"use client";
-import { APIs } from "@/lib";
-import { RouterInvestasi_OLD } from "@/lib/router_hipmi/router_investasi";
+import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
+import {
+ apiGetPdfToImage,
+ PageData,
+} from "@/app_modules/_global/lib/api_fetch_global";
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
-import { Box } from "@mantine/core";
+import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
+import { Box, Stack } from "@mantine/core";
import { IconX } from "@tabler/icons-react";
-import dynamic from "next/dynamic";
-const PdfToImage = dynamic(
- () =>
- import("../../_view/file_view/view_file_viewer").then((mod) => mod.default),
- { ssr: false }
-);
+import Image from "next/image";
+import { useParams } from "next/navigation";
+import { useEffect, useRef, useState } from "react";
+
+export function Investasi_UiFileViewProspektus() {
+ const param = useParams<{ id: string }>();
+ const prospektusId = param.id;
+
+ const [pdfPages, setPdfPages] = useState