fix investasi pdf
This commit is contained in:
@@ -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 }>();
|
||||
|
||||
@@ -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<string[]>([]);
|
||||
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<string>[] = [];
|
||||
// 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<string>[] = [];
|
||||
|
||||
for (let pageNum = 1; pageNum <= numPages; pageNum++) {
|
||||
const renderPage = async (pageNum: number): Promise<string> => {
|
||||
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<string> => {
|
||||
// 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 (
|
||||
<Stack>
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user