From 002b5d547bb0cee91b8d9db88d8efb46fd1aae34 Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Tue, 4 Mar 2025 11:00:33 +0800 Subject: [PATCH] fix investasi pdf --- bun.lock | 3 +- package.json | 1 - .../event/detail/detail_sponsor/index.tsx | 21 ++--- .../_view/file_view/view_file_viewer.tsx | 94 +++++++++---------- src/app_modules/investasi/_view/index.ts | 89 +++++++++--------- 5 files changed, 98 insertions(+), 110 deletions(-) mode change 100755 => 100644 bun.lock diff --git a/bun.lock b/bun.lock old mode 100755 new mode 100644 index 7e31427f..770c9c3e --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,5 @@ { - "lockfileVersion": 0, + "lockfileVersion": 1, "workspaces": { "": { "dependencies": { @@ -68,7 +68,6 @@ "react-dom": "18.2.0", "react-easy-infinite-scroll-hook": "^2.1.4", "react-fast-marquee": "^1.6.4", - "react-icons": "^5.0.1", "react-iframe": "^1.8.5", "react-infinite-scroll-component": "^6.1.0", "react-international-phone": "^4.2.6", diff --git a/package.json b/package.json index 8a0d4599..74e304d4 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,6 @@ "react-dom": "18.2.0", "react-easy-infinite-scroll-hook": "^2.1.4", "react-fast-marquee": "^1.6.4", - "react-icons": "^5.0.1", "react-iframe": "^1.8.5", "react-infinite-scroll-component": "^6.1.0", "react-international-phone": "^4.2.6", diff --git a/src/app_modules/event/detail/detail_sponsor/index.tsx b/src/app_modules/event/detail/detail_sponsor/index.tsx index 2e5132dd..73d9928e 100644 --- a/src/app_modules/event/detail/detail_sponsor/index.tsx +++ b/src/app_modules/event/detail/detail_sponsor/index.tsx @@ -1,32 +1,23 @@ "use client"; -import { AccentColor, MainColor } from "@/app_modules/_global/color"; import { ComponentGlobal_AvatarAndUsername, ComponentGlobal_CardStyles, } from "@/app_modules/_global/component"; +import CustomSkeleton from "@/app_modules/components/CustomSkeleton"; +import { RouterEvent } from "@/lib/router_hipmi/router_event"; +import { clientLogger } from "@/util/clientLogger"; import { - Box, Button, - Center, Divider, - Flex, Grid, - Image, SimpleGrid, - Stack, - Text, - Title, + Stack } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; -import { IconBrandWhatsapp } from "@tabler/icons-react"; -import React, { useState } from "react"; -import { TfiFacebook } from "react-icons/tfi"; -import { apiGetOneSponsorEventById } from "../../_lib/api_event"; import { useParams, useRouter } from "next/navigation"; -import { clientLogger } from "@/util/clientLogger"; -import CustomSkeleton from "@/app_modules/components/CustomSkeleton"; +import { useState } from "react"; +import { apiGetOneSponsorEventById } from "../../_lib/api_event"; import { IEventSponsor } from "../../_lib/interface"; -import { RouterEvent } from "@/lib/router_hipmi/router_event"; function DetailSponsor_Event({ userLoginId }: { userLoginId: string }) { const params = useParams<{ id: string }>(); diff --git a/src/app_modules/investasi/_view/file_view/view_file_viewer.tsx b/src/app_modules/investasi/_view/file_view/view_file_viewer.tsx index 58802fe7..00a1e3e9 100644 --- a/src/app_modules/investasi/_view/file_view/view_file_viewer.tsx +++ b/src/app_modules/investasi/_view/file_view/view_file_viewer.tsx @@ -1,66 +1,64 @@ "use client"; -import { useEffect, useState } from "react"; -import { getDocument, GlobalWorkerOptions } from "pdfjs-dist"; -import { Image, Skeleton, Stack, Text } from "@mantine/core"; -import { RouterInvestasi_OLD } from "@/lib/router_hipmi/router_investasi"; +import { Image, Skeleton, Stack } from "@mantine/core"; +import { useState } from "react"; -GlobalWorkerOptions.workerSrc = - "https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.6.82/pdf.worker.min.mjs"; +// GlobalWorkerOptions.workerSrc = +// "https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.6.82/pdf.worker.min.mjs"; const PdfToImage = ({ id, path }: { id: string; path: string }) => { const [images, setImages] = useState([]); const [loading, setLoading] = useState(true); - useEffect(() => { - if (typeof window !== "undefined") { - const renderPages = async () => { - try { - const loadingTask = getDocument(path + id); // Menggunakan md sebagai URL PDF - const pdf = await loadingTask.promise; - const numPages = pdf.numPages; - const imagePromises: Promise[] = []; + // useEffect(() => { + // if (typeof window !== "undefined") { + // const renderPages = async () => { + // try { + // const loadingTask = getDocument(path + id); // Menggunakan md sebagai URL PDF + // const pdf = await loadingTask.promise; + // const numPages = pdf.numPages; + // const imagePromises: Promise[] = []; - for (let pageNum = 1; pageNum <= numPages; pageNum++) { - const renderPage = async (pageNum: number): Promise => { - const page = await pdf.getPage(pageNum); - const viewport = page.getViewport({ scale: 2.0 }); + // for (let pageNum = 1; pageNum <= numPages; pageNum++) { + // const renderPage = async (pageNum: number): Promise => { + // const page = await pdf.getPage(pageNum); + // const viewport = page.getViewport({ scale: 2.0 }); - // Buat elemen canvas - const canvas = document.createElement("canvas"); - const context = canvas.getContext("2d"); - if (context) { - canvas.width = viewport.width; - canvas.height = viewport.height; + // // Buat elemen canvas + // const canvas = document.createElement("canvas"); + // const context = canvas.getContext("2d"); + // if (context) { + // canvas.width = viewport.width; + // canvas.height = viewport.height; - // Render halaman PDF ke dalam canvas - const renderContext = { - canvasContext: context, - viewport: viewport, - }; - await page.render(renderContext).promise; + // // Render halaman PDF ke dalam canvas + // const renderContext = { + // canvasContext: context, + // viewport: viewport, + // }; + // await page.render(renderContext).promise; - // Konversi canvas ke gambar (data URL) - return canvas.toDataURL("image/png"); - } - return ""; - }; + // // Konversi canvas ke gambar (data URL) + // return canvas.toDataURL("image/png"); + // } + // return ""; + // }; - imagePromises.push(renderPage(pageNum)); - } + // imagePromises.push(renderPage(pageNum)); + // } - const imageSrcs = await Promise.all(imagePromises); - setImages(imageSrcs); - } catch (error) { - console.error("Error rendering PDF to images:", error); - } finally { - setLoading(false); - } - }; + // const imageSrcs = await Promise.all(imagePromises); + // setImages(imageSrcs); + // } catch (error) { + // console.error("Error rendering PDF to images:", error); + // } finally { + // setLoading(false); + // } + // }; - renderPages(); - } - }, [id, path]); + // renderPages(); + // } + // }, [id, path]); return ( diff --git a/src/app_modules/investasi/_view/index.ts b/src/app_modules/investasi/_view/index.ts index 7178a3c6..b8634cd4 100644 --- a/src/app_modules/investasi/_view/index.ts +++ b/src/app_modules/investasi/_view/index.ts @@ -1,8 +1,23 @@ +import { Investasi_ViewCreateBerita } from "./create/view_create_berita"; +import { Investasi_ViewCreateDocument } from "./create/view_create_document"; +import Investasi_ViewDetailDraft from "./detail/portofolio/view_detail_draft"; +import Investasi_ViewDetailPublish from "./detail/portofolio/view_detail_publish"; +import Investasi_ViewDetailReject from "./detail/portofolio/view_detail_reject"; +import Investasi_ViewDetailReview from "./detail/portofolio/view_detail_review"; +import { Investasi_ViewDetailBerita } from "./detail/view_berita"; +import { Investasi_ViewDaftarBerita } from "./detail/view_daftar_berita"; +import { Investasi_ViewDaftarDokumen } from "./detail/view_daftar_dokemen"; +import { Investasi_ViewDetailMain } from "./detail/view_detail_main"; +import { Investasi_ViewDetailProspektus } from "./detail/view_detail_prospektusl"; import { Investasi_ViewDetailSahamSaya } from "./detail/view_detail_saham_saya"; +import { Investasi_ViewRekapBerita } from "./detail/view_rekap_berita"; +import { Investasi_ViewRekapDokumen } from "./detail/view_rekap_dokumen"; +import { Investasi_ViewEditDokumen } from "./edit/view_edit_dokumen"; +import { Investasi_ViewEditInvestasi } from "./edit/view_edit_investasi"; +import { Investasi_ViewEditProspektus } from "./edit/view_edit_prospektus"; import PdfToImage from "./file_view/view_file_viewer"; import { Investasi_ViewBeranda } from "./main/view_beranda"; import { Investasi_ViewPortofolio } from "./main/view_portofolio"; -import { Investasi_ViewPortofolioReview } from "./main/portofolio/view_portofolio_review"; import { Investasi_ViewSahamSaya } from "./main/view_saham_saya"; import { Investasi_ViewTransaksiBerhasil } from "./status_transaksi/view_invoice_berhasil"; import { Investasi_ViewTransaksiGagal } from "./status_transaksi/view_transaksi_gagal"; @@ -10,47 +25,33 @@ import { Investasi_ViewInvoice } from "./transaksi/view_invoice"; import { Investasi_ViewMetodePembayaran } from "./transaksi/view_metode_pembayaran"; import { Investasi_ViewProsesPembelian } from "./transaksi/view_proses_pembelian"; import { Investasi_ViewProsesTransaksi } from "./transaksi/view_proses_transaksi"; -import Investasi_ViewDetailPublish from "./detail/portofolio/view_detail_publish"; -import Investasi_ViewDetailReview from "./detail/portofolio/view_detail_review"; -import Investasi_ViewDetailDraft from "./detail/portofolio/view_detail_draft"; -import Investasi_ViewDetailReject from "./detail/portofolio/view_detail_reject"; -import { Investasi_ViewDetailProspektus } from "./detail/view_detail_prospektusl"; -import { Investasi_ViewDaftarDokumen } from "./detail/view_daftar_dokemen"; -import { Investasi_ViewEditDokumen } from "./edit/view_edit_dokumen"; -import { Investasi_ViewEditInvestasi } from "./edit/view_edit_investasi"; -import { Investasi_ViewEditProspektus } from "./edit/view_edit_prospektus"; -import { Investasi_ViewCreateDocument } from "./create/view_create_document"; -import { Investasi_ViewRekapDokumen } from "./detail/view_rekap_dokumen"; -import { Investasi_ViewDetailMain } from "./detail/view_detail_main"; -import { Investasi_ViewRekapBerita } from "./detail/view_rekap_berita"; -import { Investasi_ViewDaftarBerita } from "./detail/view_daftar_berita"; -import { Investasi_ViewCreateBerita } from "./create/view_create_berita"; -import { Investasi_ViewDetailBerita } from "./detail/view_berita"; -export { Investasi_ViewProsesPembelian }; -export { Investasi_ViewMetodePembayaran }; -export { Investasi_ViewInvoice }; -export { Investasi_ViewProsesTransaksi }; -export { Investasi_ViewBeranda }; -export { Investasi_ViewTransaksiGagal }; -export { Investasi_ViewTransaksiBerhasil }; -export { PdfToImage as Investasi_ViewFileViewer }; -export { Investasi_ViewSahamSaya }; -export { Investasi_ViewDetailSahamSaya }; -export { Investasi_ViewPortofolio }; -export { Investasi_ViewDetailPublish }; -export { Investasi_ViewDetailReview }; -export { Investasi_ViewDetailDraft }; -export { Investasi_ViewDetailReject }; -export { Investasi_ViewDetailProspektus }; -export { Investasi_ViewDaftarDokumen }; -export { Investasi_ViewEditDokumen }; -export { Investasi_ViewEditInvestasi }; -export { Investasi_ViewEditProspektus }; -export { Investasi_ViewCreateDocument }; -export { Investasi_ViewRekapDokumen }; -export { Investasi_ViewDetailMain }; -export { Investasi_ViewRekapBerita }; -export { Investasi_ViewDaftarBerita }; -export { Investasi_ViewCreateBerita }; -export { Investasi_ViewDetailBerita }; +export { + Investasi_ViewBeranda, + Investasi_ViewCreateBerita, + Investasi_ViewCreateDocument, + Investasi_ViewDaftarBerita, + Investasi_ViewDaftarDokumen, + Investasi_ViewDetailBerita, + Investasi_ViewDetailDraft, + Investasi_ViewDetailMain, + Investasi_ViewDetailProspektus, + Investasi_ViewDetailPublish, + Investasi_ViewDetailReject, + Investasi_ViewDetailReview, + Investasi_ViewDetailSahamSaya, + Investasi_ViewEditDokumen, + Investasi_ViewEditInvestasi, + Investasi_ViewEditProspektus, + PdfToImage as Investasi_ViewFileViewer, + Investasi_ViewInvoice, + Investasi_ViewMetodePembayaran, + Investasi_ViewPortofolio, + Investasi_ViewProsesPembelian, + Investasi_ViewProsesTransaksi, + Investasi_ViewRekapBerita, + Investasi_ViewRekapDokumen, + Investasi_ViewSahamSaya, + Investasi_ViewTransaksiBerhasil, + Investasi_ViewTransaksiGagal, +};