Test foto server
This commit is contained in:
@@ -12,6 +12,8 @@
|
|||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@bounceapp/iframe": "^0.3.0",
|
||||||
|
"@cyntler/react-doc-viewer": "^1.16.6",
|
||||||
"@emotion/react": "^11.11.1",
|
"@emotion/react": "^11.11.1",
|
||||||
"@emotion/server": "^11.11.0",
|
"@emotion/server": "^11.11.0",
|
||||||
"@hookstate/core": "^4.0.1",
|
"@hookstate/core": "^4.0.1",
|
||||||
@@ -25,6 +27,7 @@
|
|||||||
"@mantine/notifications": "^6.0.17",
|
"@mantine/notifications": "^6.0.17",
|
||||||
"@mantine/tiptap": "^7.5.3",
|
"@mantine/tiptap": "^7.5.3",
|
||||||
"@prisma/client": "^5.0.0",
|
"@prisma/client": "^5.0.0",
|
||||||
|
"@react-pdf/renderer": "^3.4.4",
|
||||||
"@tabler/icons-react": "^2.38.0",
|
"@tabler/icons-react": "^2.38.0",
|
||||||
"@tiptap/extension-highlight": "^2.2.3",
|
"@tiptap/extension-highlight": "^2.2.3",
|
||||||
"@tiptap/extension-link": "^2.2.3",
|
"@tiptap/extension-link": "^2.2.3",
|
||||||
@@ -66,9 +69,11 @@
|
|||||||
"react-easy-infinite-scroll-hook": "^2.1.4",
|
"react-easy-infinite-scroll-hook": "^2.1.4",
|
||||||
"react-fast-marquee": "^1.6.4",
|
"react-fast-marquee": "^1.6.4",
|
||||||
"react-icons": "^5.0.1",
|
"react-icons": "^5.0.1",
|
||||||
|
"react-iframe": "^1.8.5",
|
||||||
"react-infinite-scroll-component": "^6.1.0",
|
"react-infinite-scroll-component": "^6.1.0",
|
||||||
"react-international-phone": "^4.2.6",
|
"react-international-phone": "^4.2.6",
|
||||||
"react-map-gl": "^7.1.7",
|
"react-map-gl": "^7.1.7",
|
||||||
|
"react-pdf": "^9.1.0",
|
||||||
"react-quill": "^2.0.0",
|
"react-quill": "^2.0.0",
|
||||||
"react-responsive-carousel": "^3.2.23",
|
"react-responsive-carousel": "^3.2.23",
|
||||||
"react-simple-toasts": "^5.10.0",
|
"react-simple-toasts": "^5.10.0",
|
||||||
|
|||||||
@@ -114,7 +114,8 @@ model Images {
|
|||||||
Donasi_Invoice Donasi_Invoice[]
|
Donasi_Invoice Donasi_Invoice[]
|
||||||
Portofolio Portofolio[]
|
Portofolio Portofolio[]
|
||||||
Job Job[]
|
Job Job[]
|
||||||
BusinessMaps BusinessMaps[]
|
Image_Map BusinessMaps[] @relation("ImageMap")
|
||||||
|
Image_Pin BusinessMaps[] @relation("ImagePin")
|
||||||
}
|
}
|
||||||
|
|
||||||
model ImagesBackground {
|
model ImagesBackground {
|
||||||
@@ -886,6 +887,8 @@ model BusinessMaps {
|
|||||||
authorId String?
|
authorId String?
|
||||||
Portofolio Portofolio? @relation(fields: [portofolioId], references: [id])
|
Portofolio Portofolio? @relation(fields: [portofolioId], references: [id])
|
||||||
portofolioId String? @unique
|
portofolioId String? @unique
|
||||||
Images Images? @relation(fields: [imagesId], references: [id])
|
ImageMap Images? @relation("ImageMap", fields: [imagesMapId], references: [id], map: "MapImage")
|
||||||
imagesId String?
|
imagesMapId String?
|
||||||
|
ImagePin Images? @relation("ImagePin", fields: [imagePinId], references: [id], map: "PinImage")
|
||||||
|
imagePinId String?
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,5 @@
|
|||||||
import { AdminMap_View } from "@/app_modules/admin/map/view";
|
import { AdminMap_View } from "@/app_modules/admin/map/view";
|
||||||
|
|
||||||
|
|
||||||
export default async function Page() {
|
export default async function Page() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
14
src/app/dev/investasi/file-view/[id]/page.tsx
Normal file
14
src/app/dev/investasi/file-view/[id]/page.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { investasi_funGetProspekById } from "@/app_modules/investasi/_fun";
|
||||||
|
import { Investasi_UiFileView } from "@/app_modules/investasi/_ui";
|
||||||
|
|
||||||
|
export default async function Page({ params }: { params: { id: string } }) {
|
||||||
|
const prospekId = params.id;
|
||||||
|
const dataProspek = await investasi_funGetProspekById({ prospekId: prospekId });
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Investasi_UiFileView prospekId={prospekId} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { StatusPesananInvetsatsi } from "@/app_modules/investasi";
|
import { StatusPesananInvetsatsi } from "@/app_modules/investasi";
|
||||||
import getOneTransaksiByIdInvestasi from "@/app_modules/investasi/fun/get_one_transaksi_by_id";
|
import getOneTransaksiByIdInvestasi from "@/app_modules/investasi/fun/get_one_transaksi_by_id";
|
||||||
import getTransaksiByIdInvestasi from "@/app_modules/investasi/fun/get_transaksi_investasi";
|
import getTransaksiByIdInvestasi from "@/app_modules/investasi/fun/get_transaksi_investasi";
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import { funGlobal_getAllBank } from "@/app_modules/_global/fun/get/fun_get_all_bank";
|
||||||
|
import { Investasi_UiMetodePembayaran } from "@/app_modules/investasi/_ui";
|
||||||
|
import getMaster_NamaBank from "@/app_modules/investasi/fun/master/get_nama_bank";
|
||||||
|
|
||||||
|
export default async function Page({ params }: { params: { id: string } }) {
|
||||||
|
const investasiId = params.id;
|
||||||
|
const listBank = await funGlobal_getAllBank();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Investasi_UiMetodePembayaran listBank={listBank} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
13
src/app/dev/investasi/transaksi/pembelian/[id]/page.tsx
Normal file
13
src/app/dev/investasi/transaksi/pembelian/[id]/page.tsx
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import { investasi_funGetOneInvestasiById } from "@/app_modules/investasi/_fun";
|
||||||
|
import { Investasi_UiProsesTransaksi } from "@/app_modules/investasi/_ui";
|
||||||
|
|
||||||
|
export default async function Page({ params }: { params: { id: string } }) {
|
||||||
|
const investasiId = params.id;
|
||||||
|
const dataInvestasi = await investasi_funGetOneInvestasiById({ investasiId });
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Investasi_UiProsesTransaksi dataInvestasi={dataInvestasi} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,27 +1,5 @@
|
|||||||
@tailwind base;
|
.lebar-full {
|
||||||
@tailwind components;
|
width: 100%;
|
||||||
@tailwind utilities;
|
/* padding: 30px; */
|
||||||
|
background-color: aqua;
|
||||||
:root {
|
}
|
||||||
--foreground-rgb: 0, 0, 0;
|
|
||||||
--background-start-rgb: 214, 219, 220;
|
|
||||||
--background-end-rgb: 255, 255, 255;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
:root {
|
|
||||||
--foreground-rgb: 255, 255, 255;
|
|
||||||
--background-start-rgb: 0, 0, 0;
|
|
||||||
--background-end-rgb: 0, 0, 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
color: rgb(var(--foreground-rgb));
|
|
||||||
background: linear-gradient(
|
|
||||||
to bottom,
|
|
||||||
transparent,
|
|
||||||
rgb(var(--background-end-rgb))
|
|
||||||
)
|
|
||||||
rgb(var(--background-start-rgb));
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
import MqttLoader from "@/util/mqtt_loader";
|
import MqttLoader from "@/util/mqtt_loader";
|
||||||
import RootStyleRegistry from "./emotion";
|
import RootStyleRegistry from "./emotion";
|
||||||
import { Container } from "@mantine/core";
|
import { Container } from "@mantine/core";
|
||||||
|
import './globals.css'
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
|
|||||||
@@ -1,4 +1,13 @@
|
|||||||
export const RouterInvestasi = {
|
export const NEW_RouterInvestasi = {
|
||||||
|
// Transaksi
|
||||||
|
pembelian: "/dev/investasi/transaksi/pembelian/",
|
||||||
|
metode_pembayaran: "/dev/investasi/transaksi/metode-pembayaran/",
|
||||||
|
|
||||||
|
// file view
|
||||||
|
file_view: "/dev/investasi/file-view/",
|
||||||
|
}
|
||||||
|
|
||||||
|
export const RouterInvestasi_OLD = {
|
||||||
api_gambar: "/api/investasi/gambar/",
|
api_gambar: "/api/investasi/gambar/",
|
||||||
api_file_prospektus: "/api/investasi/prospektus/",
|
api_file_prospektus: "/api/investasi/prospektus/",
|
||||||
api_file_dokumen: "/api/investasi/dokumen/",
|
api_file_dokumen: "/api/investasi/dokumen/",
|
||||||
@@ -53,3 +62,5 @@ export const RouterInvestasi = {
|
|||||||
upload_prospektus: "/dev/investasi/upload_prospektus/",
|
upload_prospektus: "/dev/investasi/upload_prospektus/",
|
||||||
upload_dokumen: "/dev/investasi/upload_dokumen/",
|
upload_dokumen: "/dev/investasi/upload_dokumen/",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
15
src/app_modules/_global/fun/get/fun_get_all_bank.ts
Normal file
15
src/app_modules/_global/fun/get/fun_get_all_bank.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
"use server";
|
||||||
|
|
||||||
|
import prisma from "@/app/lib/prisma";
|
||||||
|
|
||||||
|
export async function funGlobal_getAllBank() {
|
||||||
|
const data = await prisma.masterBank.findMany({
|
||||||
|
orderBy: {
|
||||||
|
id: "asc",
|
||||||
|
},
|
||||||
|
where: {
|
||||||
|
active: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_DATA_BANK } from "@/app_modules/investasi/_lib/interface";
|
||||||
|
|
||||||
export default async function adminAppInformation_updateStatusBankById({
|
export default async function adminAppInformation_updateStatusBankById({
|
||||||
data,
|
data,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_DATA_BANK } from "@/app_modules/investasi/_lib/interface";
|
||||||
|
|
||||||
export default async function adminAppInformation_updateDataBankById({
|
export default async function adminAppInformation_updateDataBankById({
|
||||||
data,
|
data,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_DATA_BANK } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
Button,
|
Button,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Paper, Stack, Title, AspectRatio, Center, Image } from "@mantine/core";
|
import { Paper, Stack, Title, AspectRatio, Center, Image } from "@mantine/core";
|
||||||
|
|
||||||
export function ComponentAdminInvestasi_DetailGambar({imagesId}: {imagesId: any}) {
|
export function ComponentAdminInvestasi_DetailGambar({imagesId}: {imagesId: any}) {
|
||||||
@@ -17,7 +17,7 @@ export function ComponentAdminInvestasi_DetailGambar({imagesId}: {imagesId: any}
|
|||||||
radius={"md"}
|
radius={"md"}
|
||||||
width={200}
|
width={200}
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${imagesId}`}
|
||||||
/>
|
/>
|
||||||
</Center>
|
</Center>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import {
|
import {
|
||||||
SimpleGrid,
|
SimpleGrid,
|
||||||
Paper,
|
Paper,
|
||||||
@@ -50,7 +50,7 @@ export function ComponentAdminInvestasi_UIDetailFile({
|
|||||||
<Link
|
<Link
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={
|
href={
|
||||||
RouterInvestasi.api_file_prospektus +
|
RouterInvestasi_OLD.api_file_prospektus +
|
||||||
`${dataProspektus === null ? "" : dataProspektus.id}`
|
`${dataProspektus === null ? "" : dataProspektus.id}`
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
@@ -78,7 +78,7 @@ export function ComponentAdminInvestasi_UIDetailFile({
|
|||||||
<Link
|
<Link
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={
|
href={
|
||||||
RouterInvestasi.api_file_dokumen + `${e.id}`
|
RouterInvestasi_OLD.api_file_dokumen + `${e.id}`
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Button radius={50}>Lihat</Button>
|
<Button radius={50}>Lihat</Button>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
Badge,
|
Badge,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
AspectRatio,
|
AspectRatio,
|
||||||
Box,
|
Box,
|
||||||
@@ -16,14 +16,14 @@ import {
|
|||||||
Title,
|
Title,
|
||||||
} from "@mantine/core";
|
} from "@mantine/core";
|
||||||
import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
|
import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { IconCircleCheck, IconHome } from "@tabler/icons-react";
|
import { IconCircleCheck, IconHome } from "@tabler/icons-react";
|
||||||
import investasi from "../../notifikasi/route_setting/investasi";
|
import investasi from "../../notifikasi/route_setting/investasi";
|
||||||
|
|
||||||
export function AdminInvestasi_DetailPublish({
|
export function AdminInvestasi_DetailPublish({
|
||||||
data,
|
data,
|
||||||
}: {
|
}: {
|
||||||
data: MODEL_Investasi;
|
data: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -38,7 +38,7 @@ export function AdminInvestasi_DetailPublish({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function InformasiAuthor({ data }: { data: MODEL_Investasi }) {
|
function InformasiAuthor({ data }: { data: MODEL_INVESTASI }) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Paper withBorder>
|
<Paper withBorder>
|
||||||
@@ -55,7 +55,7 @@ function InformasiAuthor({ data }: { data: MODEL_Investasi }) {
|
|||||||
radius={"md"}
|
radius={"md"}
|
||||||
width={250}
|
width={250}
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${data.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${data.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</Center>
|
</Center>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
@@ -84,7 +84,7 @@ function InformasiAuthor({ data }: { data: MODEL_Investasi }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function InformasiDataInvestasi({ data }: { data: MODEL_Investasi }) {
|
function InformasiDataInvestasi({ data }: { data: MODEL_INVESTASI }) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Paper withBorder p={"lg"}>
|
<Paper withBorder p={"lg"}>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
Paper,
|
Paper,
|
||||||
SimpleGrid,
|
SimpleGrid,
|
||||||
@@ -14,11 +14,7 @@ import { ComponentAdminInvestasi_DetailData } from "../_component/detail_data_in
|
|||||||
import { ComponentAdminInvestasi_DetailGambar } from "../_component/detail_gambar_investasi";
|
import { ComponentAdminInvestasi_DetailGambar } from "../_component/detail_gambar_investasi";
|
||||||
import { ComponentAdminInvestasi_UIDetailFile } from "../_component/ui_detail_file";
|
import { ComponentAdminInvestasi_UIDetailFile } from "../_component/ui_detail_file";
|
||||||
|
|
||||||
export function AdminInvestasi_DetailReject({
|
export function AdminInvestasi_DetailReject({ data }: { data: MODEL_INVESTASI }) {
|
||||||
data,
|
|
||||||
}: {
|
|
||||||
data: MODEL_Investasi;
|
|
||||||
}) {
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Stack px={"lg"}>
|
<Stack px={"lg"}>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi";
|
import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { BeritaInvestasi } from "@/app_modules/investasi";
|
import { BeritaInvestasi } from "@/app_modules/investasi";
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import mqtt_client from "@/util/mqtt_client";
|
import mqtt_client from "@/util/mqtt_client";
|
||||||
import {
|
import {
|
||||||
AspectRatio,
|
AspectRatio,
|
||||||
@@ -49,7 +49,7 @@ import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_b
|
|||||||
export default function AdminInvestasi_DetailReview({
|
export default function AdminInvestasi_DetailReview({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [data, setData] = useState(dataInvestasi);
|
const [data, setData] = useState(dataInvestasi);
|
||||||
@@ -263,7 +263,7 @@ export default function AdminInvestasi_DetailReview({
|
|||||||
<AspectRatio ratio={16 / 9}>
|
<AspectRatio ratio={16 / 9}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${data.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${data.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
</Paper>
|
</Paper>
|
||||||
@@ -370,7 +370,7 @@ export default function AdminInvestasi_DetailReview({
|
|||||||
<Link
|
<Link
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={
|
href={
|
||||||
RouterInvestasi.api_file_prospektus +
|
RouterInvestasi_OLD.api_file_prospektus +
|
||||||
`${
|
`${
|
||||||
data.ProspektusInvestasi === null
|
data.ProspektusInvestasi === null
|
||||||
? ""
|
? ""
|
||||||
@@ -400,7 +400,9 @@ export default function AdminInvestasi_DetailReview({
|
|||||||
<Text>{e.title}</Text>
|
<Text>{e.title}</Text>
|
||||||
<Link
|
<Link
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={RouterInvestasi.api_file_dokumen + `${e.id}`}
|
href={
|
||||||
|
RouterInvestasi_OLD.api_file_dokumen + `${e.id}`
|
||||||
|
}
|
||||||
>
|
>
|
||||||
<Button compact radius={50}>
|
<Button compact radius={50}>
|
||||||
Buka
|
Buka
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export async function adminInvestasi_funEditStatusPublishById({
|
export async function adminInvestasi_funEditStatusPublishById({
|
||||||
@@ -36,7 +36,7 @@ export async function adminInvestasi_funEditStatusPublishById({
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!res) return { status: 400, message: "Gagal Update" };
|
if (!res) return { status: 400, message: "Gagal Update" };
|
||||||
revalidatePath(RouterInvestasi.portofolio);
|
revalidatePath(RouterInvestasi_OLD.portofolio);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
data: res,
|
data: res,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Center,
|
Center,
|
||||||
@@ -26,7 +26,7 @@ import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_invest
|
|||||||
export default function Admin_TablePublishInvestasi({
|
export default function Admin_TablePublishInvestasi({
|
||||||
dataInvestsi,
|
dataInvestsi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestsi: MODEL_Investasi[];
|
dataInvestsi: MODEL_INVESTASI[];
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -41,7 +41,7 @@ export default function Admin_TablePublishInvestasi({
|
|||||||
|
|
||||||
function TableView({ listData }: { listData: any }) {
|
function TableView({ listData }: { listData: any }) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [data, setData] = useState<MODEL_Investasi[]>(listData.data);
|
const [data, setData] = useState<MODEL_INVESTASI[]>(listData.data);
|
||||||
const [nPage, setNPage] = useState(listData.nPage);
|
const [nPage, setNPage] = useState(listData.nPage);
|
||||||
const [activePage, setActivePage] = useState(1);
|
const [activePage, setActivePage] = useState(1);
|
||||||
const [isSearch, setSearch] = useState("");
|
const [isSearch, setSearch] = useState("");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
Badge,
|
Badge,
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
@@ -32,7 +32,7 @@ import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_invest
|
|||||||
export default function Admin_TableRejectInvestasi({
|
export default function Admin_TableRejectInvestasi({
|
||||||
dataInvestsi,
|
dataInvestsi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestsi: MODEL_Investasi[];
|
dataInvestsi: any[];
|
||||||
}) {
|
}) {
|
||||||
const [investasi, setInvestasi] = useState(dataInvestsi);
|
const [investasi, setInvestasi] = useState(dataInvestsi);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -118,7 +118,7 @@ export default function Admin_TableRejectInvestasi({
|
|||||||
|
|
||||||
function TableView({ listData }: { listData: any }) {
|
function TableView({ listData }: { listData: any }) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [data, setData] = useState<MODEL_Investasi[]>(listData.data);
|
const [data, setData] = useState<MODEL_INVESTASI[]>(listData.data);
|
||||||
const [nPage, setNPage] = useState(listData.nPage);
|
const [nPage, setNPage] = useState(listData.nPage);
|
||||||
const [activePage, setActivePage] = useState(1);
|
const [activePage, setActivePage] = useState(1);
|
||||||
const [isSearch, setSearch] = useState("");
|
const [isSearch, setSearch] = useState("");
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi";
|
import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi";
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
Badge,
|
Badge,
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
@@ -32,7 +32,7 @@ import ComponentAdminGlobal_TampilanRupiahDonasi from "../../_admin_global/tampi
|
|||||||
export default function Admin_TableReviewInvestasi({
|
export default function Admin_TableReviewInvestasi({
|
||||||
dataInvestsi,
|
dataInvestsi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestsi: MODEL_Investasi[];
|
dataInvestsi: any[];
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -46,7 +46,7 @@ export default function Admin_TableReviewInvestasi({
|
|||||||
|
|
||||||
function TableView({ listData }: { listData: any }) {
|
function TableView({ listData }: { listData: any }) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [data, setData] = useState<MODEL_Investasi[]>(listData.data);
|
const [data, setData] = useState<MODEL_INVESTASI[]>(listData.data);
|
||||||
const [nPage, setNPage] = useState(listData.nPage);
|
const [nPage, setNPage] = useState(listData.nPage);
|
||||||
const [activePage, setActivePage] = useState(1);
|
const [activePage, setActivePage] = useState(1);
|
||||||
const [isSearch, setSearch] = useState("");
|
const [isSearch, setSearch] = useState("");
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { MODEL_Investasi } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
Avatar,
|
Avatar,
|
||||||
@@ -49,7 +49,7 @@ export default function Admin_Investasi({
|
|||||||
totalInvestasiByUser,
|
totalInvestasiByUser,
|
||||||
publishProgres,
|
publishProgres,
|
||||||
}: {
|
}: {
|
||||||
listInvestasi: MODEL_Investasi[];
|
listInvestasi: MODEL_INVESTASI[];
|
||||||
countDraft: number | any;
|
countDraft: number | any;
|
||||||
countReview: number | any;
|
countReview: number | any;
|
||||||
countPublish: number | any;
|
countPublish: number | any;
|
||||||
@@ -61,7 +61,6 @@ export default function Admin_Investasi({
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const listBox = [
|
const listBox = [
|
||||||
|
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: "Publish",
|
name: "Publish",
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
"use client";
|
|
||||||
|
|
||||||
import { Drawer, Group, Text } from "@mantine/core";
|
|
||||||
import { ComponentAdmin_UIDrawerNotifikasi } from "../../notifikasi/ui_drawer_notifikasi";
|
|
||||||
import { MODEL_MAP } from "@/app_modules/map/lib/interface";
|
|
||||||
|
|
||||||
export function ComponentAdminMap_Drawer({
|
|
||||||
opened,
|
|
||||||
onClose,
|
|
||||||
data,
|
|
||||||
}: {
|
|
||||||
opened: boolean;
|
|
||||||
onClose: () => void;
|
|
||||||
data: MODEL_MAP | any;
|
|
||||||
}) {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Drawer
|
|
||||||
title={
|
|
||||||
<Group position="apart">
|
|
||||||
<Text fw={"bold"} fz={"lg"}>
|
|
||||||
Detail Map
|
|
||||||
</Text>
|
|
||||||
</Group>
|
|
||||||
}
|
|
||||||
opened={opened}
|
|
||||||
onClose={onClose}
|
|
||||||
position="right"
|
|
||||||
size={"xs"}
|
|
||||||
transitionProps={{transition: "fade", duration: 500}}
|
|
||||||
>
|
|
||||||
<Text>Detail Map</Text>
|
|
||||||
<Text>{data}</Text>
|
|
||||||
</Drawer>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
120
src/app_modules/admin/map/component/drawer_detail_map.tsx
Normal file
120
src/app_modules/admin/map/component/drawer_detail_map.tsx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import {
|
||||||
|
AspectRatio,
|
||||||
|
Box,
|
||||||
|
Drawer,
|
||||||
|
Grid,
|
||||||
|
Group,
|
||||||
|
Image,
|
||||||
|
Stack,
|
||||||
|
Text,
|
||||||
|
Title,
|
||||||
|
} from "@mantine/core";
|
||||||
|
import { ComponentAdmin_UIDrawerNotifikasi } from "../../notifikasi/ui_drawer_notifikasi";
|
||||||
|
import { MODEL_MAP } from "@/app_modules/map/lib/interface";
|
||||||
|
import { useShallowEffect } from "@mantine/hooks";
|
||||||
|
import { adminMap_funGetOneById } from "../fun/fun_get_one_by_id";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { RouterMap } from "@/app/lib/router_hipmi/router_map";
|
||||||
|
import {
|
||||||
|
IconBuildingSkyscraper,
|
||||||
|
IconListDetails,
|
||||||
|
IconPhoneCall,
|
||||||
|
IconMapPin,
|
||||||
|
IconPinned,
|
||||||
|
} from "@tabler/icons-react";
|
||||||
|
|
||||||
|
export function ComponentAdminMap_Drawer({
|
||||||
|
opened,
|
||||||
|
onClose,
|
||||||
|
mapId,
|
||||||
|
}: {
|
||||||
|
opened: boolean;
|
||||||
|
onClose: () => void;
|
||||||
|
mapId: string;
|
||||||
|
}) {
|
||||||
|
const [data, setData] = useState<MODEL_MAP>();
|
||||||
|
|
||||||
|
useShallowEffect(() => {
|
||||||
|
onLoadMap(mapId);
|
||||||
|
}, [mapId]);
|
||||||
|
|
||||||
|
async function onLoadMap(mapId: string) {
|
||||||
|
const res = await adminMap_funGetOneById({ mapId: mapId });
|
||||||
|
setData(res as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Drawer
|
||||||
|
title={
|
||||||
|
<Group position="apart">
|
||||||
|
<Text fw={"bold"} fz={"lg"}>
|
||||||
|
{data?.namePin}
|
||||||
|
</Text>
|
||||||
|
</Group>
|
||||||
|
}
|
||||||
|
opened={opened}
|
||||||
|
onClose={onClose}
|
||||||
|
position="right"
|
||||||
|
size={"sm"}
|
||||||
|
>
|
||||||
|
<Stack>
|
||||||
|
<AspectRatio ratio={1 / 1} mah={300}>
|
||||||
|
<Image
|
||||||
|
radius={"md"}
|
||||||
|
width={300}
|
||||||
|
alt="Foto"
|
||||||
|
src={RouterMap.api_foto + data?.imagesId}
|
||||||
|
/>
|
||||||
|
</AspectRatio>
|
||||||
|
|
||||||
|
<Box>
|
||||||
|
<Grid>
|
||||||
|
<Grid.Col span={2}>
|
||||||
|
<IconBuildingSkyscraper />
|
||||||
|
</Grid.Col>
|
||||||
|
<Grid.Col span={"auto"}>
|
||||||
|
<Text>{data?.Portofolio.namaBisnis}</Text>
|
||||||
|
</Grid.Col>
|
||||||
|
</Grid>
|
||||||
|
<Grid>
|
||||||
|
<Grid.Col span={2}>
|
||||||
|
<IconListDetails />
|
||||||
|
</Grid.Col>
|
||||||
|
<Grid.Col span={"auto"}>
|
||||||
|
<Text>{data?.Portofolio.MasterBidangBisnis.name}</Text>
|
||||||
|
</Grid.Col>
|
||||||
|
</Grid>
|
||||||
|
<Grid>
|
||||||
|
<Grid.Col span={2}>
|
||||||
|
<IconPhoneCall />
|
||||||
|
</Grid.Col>
|
||||||
|
<Grid.Col span={"auto"}>
|
||||||
|
<Text>+{data?.Portofolio.tlpn}</Text>
|
||||||
|
</Grid.Col>
|
||||||
|
</Grid>
|
||||||
|
<Grid>
|
||||||
|
<Grid.Col span={2}>
|
||||||
|
<IconMapPin />
|
||||||
|
</Grid.Col>
|
||||||
|
<Grid.Col span={"auto"}>
|
||||||
|
<Text>{data?.Portofolio.alamatKantor}</Text>
|
||||||
|
</Grid.Col>
|
||||||
|
</Grid>
|
||||||
|
<Grid>
|
||||||
|
<Grid.Col span={2}>
|
||||||
|
<IconPinned />
|
||||||
|
</Grid.Col>
|
||||||
|
<Grid.Col span={"auto"}>
|
||||||
|
<Text >{data?.Portofolio.deskripsi}</Text>
|
||||||
|
</Grid.Col>
|
||||||
|
</Grid>
|
||||||
|
</Box>
|
||||||
|
</Stack>
|
||||||
|
{/* <pre>{JSON.stringify(data, null, 2)}</pre> */}
|
||||||
|
</Drawer>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
import { ComponentAdminMap_Drawer } from "./drawer";
|
import { ComponentAdminMap_Drawer } from "./drawer_detail_map";
|
||||||
|
|
||||||
export { ComponentAdminMap_Drawer };
|
export { ComponentAdminMap_Drawer };
|
||||||
|
|||||||
25
src/app_modules/admin/map/fun/fun_get_one_by_id.ts
Normal file
25
src/app_modules/admin/map/fun/fun_get_one_by_id.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
"use server";
|
||||||
|
|
||||||
|
import prisma from "@/app/lib/prisma";
|
||||||
|
|
||||||
|
export async function adminMap_funGetOneById({ mapId }: { mapId: string }) {
|
||||||
|
const data = await prisma.businessMaps.findFirst({
|
||||||
|
where: {
|
||||||
|
id: mapId,
|
||||||
|
},
|
||||||
|
include: {
|
||||||
|
Author: true,
|
||||||
|
Images: true,
|
||||||
|
Portofolio: {
|
||||||
|
include: {
|
||||||
|
MasterBidangBisnis: {
|
||||||
|
select: {
|
||||||
|
name: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
}
|
||||||
@@ -110,7 +110,7 @@ export function UiAdminMap_MapBoxView({
|
|||||||
<ComponentAdminMap_Drawer
|
<ComponentAdminMap_Drawer
|
||||||
opened={openDrawer}
|
opened={openDrawer}
|
||||||
onClose={() => setOpenDrawer(false)}
|
onClose={() => setOpenDrawer(false)}
|
||||||
data={mapId as any}
|
mapId={mapId as any}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { UiAdminMap_MapBoxView } from "../ui";
|
|||||||
const mapboxToken = process.env.MAPBOX_TOKEN!;
|
const mapboxToken = process.env.MAPBOX_TOKEN!;
|
||||||
export async function AdminMap_View() {
|
export async function AdminMap_View() {
|
||||||
const dataMap = await adminMap_funGetAllMaps();
|
const dataMap = await adminMap_funGetAllMaps();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ComponentAdminGlobal_HeaderTamplate name="Maps" />
|
<ComponentAdminGlobal_HeaderTamplate name="Maps" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { MODEL_USER } from "@/app_modules/home/model/interface";
|
import { MODEL_USER } from "@/app_modules/home/model/interface";
|
||||||
import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi";
|
import { MODEL_DATA_BANK } from "@/app_modules/investasi/_lib/interface";
|
||||||
import { MODEL_IMAGES } from "@/app_modules/model_global/interface";
|
import { MODEL_IMAGES } from "@/app_modules/model_global/interface";
|
||||||
|
|
||||||
export interface MODEL_DONASI {
|
export interface MODEL_DONASI {
|
||||||
|
|||||||
@@ -1,25 +1,21 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useAtom } from "jotai";
|
|
||||||
import { gs_proses_donasi } from "../../global_state";
|
|
||||||
import { Box, Button, Group, Paper, Radio, Stack, Title } from "@mantine/core";
|
|
||||||
import { IconChevronRight } from "@tabler/icons-react";
|
|
||||||
import { useRouter } from "next/navigation";
|
|
||||||
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
|
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
|
||||||
import { useState } from "react";
|
|
||||||
import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi";
|
|
||||||
import { Donasi_getNamaBank } from "../../fun/get/get_nama_bank";
|
|
||||||
import { Donasi_funCreateInvoice } from "../../fun/create/fun_create_invoice";
|
|
||||||
import { NotifBerhasil } from "../../component/notifikasi/notif_berhasil";
|
|
||||||
import { NotifGagal } from "../../component/notifikasi/notif_gagal";
|
|
||||||
import {
|
import {
|
||||||
AccentColor,
|
AccentColor,
|
||||||
MainColor,
|
MainColor,
|
||||||
} from "@/app_modules/_global/color/color_pallet";
|
} from "@/app_modules/_global/color/color_pallet";
|
||||||
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
||||||
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
||||||
import mqtt_client from "@/util/mqtt_client";
|
import { MODEL_DATA_BANK } from "@/app_modules/investasi/_lib/interface";
|
||||||
import notifikasiToAdmin_funCreate from "@/app_modules/notifikasi/fun/create/create_notif_to_admin";
|
import notifikasiToAdmin_funCreate from "@/app_modules/notifikasi/fun/create/create_notif_to_admin";
|
||||||
|
import mqtt_client from "@/util/mqtt_client";
|
||||||
|
import { Button, Paper, Radio, Stack, Title } from "@mantine/core";
|
||||||
|
import { useAtom } from "jotai";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { Donasi_funCreateInvoice } from "../../fun/create/fun_create_invoice";
|
||||||
|
import { gs_proses_donasi } from "../../global_state";
|
||||||
|
|
||||||
export default function Donasi_MetodePembayaran({
|
export default function Donasi_MetodePembayaran({
|
||||||
listBank,
|
listBank,
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
import { Stack } from "@mantine/core";
|
||||||
|
// import { useState } from "react";
|
||||||
|
// import { Document, Page, pdfjs } from "react-pdf";
|
||||||
|
// import "react-pdf/dist/Page/AnnotationLayer.css";
|
||||||
|
// import "react-pdf/dist/Page/TextLayer.css";
|
||||||
|
// import styles from "./styles.module.css";
|
||||||
|
|
||||||
|
// pdfjs.GlobalWorkerOptions.workerSrc = new URL(
|
||||||
|
// "pdfjs-dist/build/pdf.worker.min.mjs",
|
||||||
|
// import.meta.url
|
||||||
|
// ).toString();
|
||||||
|
|
||||||
|
export function ComponentInvestasi_FrameFileView({
|
||||||
|
fileId,
|
||||||
|
path,
|
||||||
|
}: {
|
||||||
|
fileId: string;
|
||||||
|
path: string;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<Stack>
|
||||||
|
{/* <MyFile file={path + fileId} /> */}
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// function MyFile({ file }: { file: any }) {
|
||||||
|
// const [numPages, setNumPages] = useState<number | null>(null);
|
||||||
|
// const [pageNumber, setPageNumber] = useState(1);
|
||||||
|
|
||||||
|
// function onDocumentLoadSuccess({ numPages }: { numPages: number }) {
|
||||||
|
// setNumPages(numPages);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return (
|
||||||
|
// <div>
|
||||||
|
// <Document
|
||||||
|
// className={styles.file_view}
|
||||||
|
// file={file}
|
||||||
|
// onLoadSuccess={onDocumentLoadSuccess}
|
||||||
|
|
||||||
|
// >
|
||||||
|
// <Page className={styles.page} pageNumber={pageNumber} />
|
||||||
|
// </Document>
|
||||||
|
// {/* <p>
|
||||||
|
// Page {pageNumber} of {numPages}
|
||||||
|
// </p> */}
|
||||||
|
// </div>
|
||||||
|
// );
|
||||||
|
// }
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
.file_view {
|
||||||
|
width: 100%;
|
||||||
|
/* padding: 30px; */
|
||||||
|
background-color: aqua;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 92vh;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page {
|
||||||
|
/* display: grid;
|
||||||
|
place-items: center; Centers both horizontally and vertically */
|
||||||
|
height: 5vh;
|
||||||
|
width: 50%;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
7
src/app_modules/investasi/_component/index.ts
Normal file
7
src/app_modules/investasi/_component/index.ts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { ComponentInvestasi_FrameFileView } from "./file_view/frame_file_view";
|
||||||
|
import { ComponentInvestasi_BoxMetodePembayaran } from "./transaksi/box_metode_pembayaran";
|
||||||
|
import { ComponentInvestasi_BoxPembelian } from "./transaksi/box_pembelian";
|
||||||
|
|
||||||
|
export { ComponentInvestasi_BoxPembelian };
|
||||||
|
export { ComponentInvestasi_BoxMetodePembayaran };
|
||||||
|
export { ComponentInvestasi_FrameFileView };
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
import {
|
||||||
|
AccentColor,
|
||||||
|
MainColor,
|
||||||
|
} from "@/app_modules/_global/color/color_pallet";
|
||||||
|
import { Button, Paper, Radio, Stack, Text, Title } from "@mantine/core";
|
||||||
|
import { useState } from "react";
|
||||||
|
|
||||||
|
export function ComponentInvestasi_BoxMetodePembayaran({
|
||||||
|
listBank,
|
||||||
|
}: {
|
||||||
|
listBank: any[];
|
||||||
|
}) {
|
||||||
|
const [bank, setBank] = useState(listBank);
|
||||||
|
const [pilihBank, setPilihBank] = useState("");
|
||||||
|
const [isLoading, setLoading] = useState(false);
|
||||||
|
|
||||||
|
async function onProses() {
|
||||||
|
console.log(pilihBank);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Stack>
|
||||||
|
<Radio.Group
|
||||||
|
value={pilihBank}
|
||||||
|
onChange={setPilihBank}
|
||||||
|
withAsterisk
|
||||||
|
color="yellow"
|
||||||
|
>
|
||||||
|
{bank.map((e, i) => (
|
||||||
|
<Paper
|
||||||
|
key={e.id}
|
||||||
|
style={{
|
||||||
|
backgroundColor: AccentColor.blue,
|
||||||
|
border: `2px solid ${AccentColor.darkblue}`,
|
||||||
|
padding: "15px",
|
||||||
|
cursor: "pointer",
|
||||||
|
borderRadius: "10px",
|
||||||
|
color: "white",
|
||||||
|
marginBottom: "15px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Radio
|
||||||
|
styles={{
|
||||||
|
radio: {
|
||||||
|
color: "yellow",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
value={e.id}
|
||||||
|
label={
|
||||||
|
<Title order={6} color="white">
|
||||||
|
{e.name}
|
||||||
|
</Title>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Paper>
|
||||||
|
))}
|
||||||
|
</Radio.Group>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
disabled={pilihBank === "" ? true : false}
|
||||||
|
style={{ transition: "0.5s" }}
|
||||||
|
loaderPosition="center"
|
||||||
|
loading={isLoading ? true : false}
|
||||||
|
radius={"xl"}
|
||||||
|
onClick={() => {
|
||||||
|
onProses();
|
||||||
|
}}
|
||||||
|
bg={MainColor.yellow}
|
||||||
|
color="yellow"
|
||||||
|
c={"black"}
|
||||||
|
>
|
||||||
|
Pilih
|
||||||
|
</Button>
|
||||||
|
</Stack>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
136
src/app_modules/investasi/_component/transaksi/box_pembelian.tsx
Normal file
136
src/app_modules/investasi/_component/transaksi/box_pembelian.tsx
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
import {
|
||||||
|
AccentColor,
|
||||||
|
MainColor,
|
||||||
|
} from "@/app_modules/_global/color/color_pallet";
|
||||||
|
import {
|
||||||
|
Box,
|
||||||
|
Button,
|
||||||
|
Center,
|
||||||
|
Divider,
|
||||||
|
Group,
|
||||||
|
NumberInput,
|
||||||
|
Text,
|
||||||
|
TextInput,
|
||||||
|
} from "@mantine/core";
|
||||||
|
import { useFocusTrap, useLocalStorage } from "@mantine/hooks";
|
||||||
|
import { useAtom } from "jotai";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
|
import { gs_investas_menu } from "../../g_state";
|
||||||
|
import { NEW_RouterInvestasi } from "../../../../app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
|
export function ComponentInvestasi_BoxPembelian({
|
||||||
|
dataInvestasi,
|
||||||
|
}: {
|
||||||
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
|
}) {
|
||||||
|
const router = useRouter();
|
||||||
|
const focusTrapRef = useFocusTrap();
|
||||||
|
const [data, setData] = useState(dataInvestasi);
|
||||||
|
const [maxPembelian, setMaxPembelian] = useState(Number(data.sisaLembar));
|
||||||
|
const [total, setTotal] = useLocalStorage({
|
||||||
|
key: "total_investasi",
|
||||||
|
defaultValue: 0,
|
||||||
|
});
|
||||||
|
const [jumlah, setJumlah] = useLocalStorage({
|
||||||
|
key: "jumlah_investasi",
|
||||||
|
defaultValue: 0,
|
||||||
|
});
|
||||||
|
const [hotmenu, setHotmenu] = useAtom(gs_investas_menu);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Box
|
||||||
|
style={{
|
||||||
|
padding: "15px",
|
||||||
|
backgroundColor: AccentColor.darkblue,
|
||||||
|
border: `2px solid ${AccentColor.blue}`,
|
||||||
|
borderRadius: "10px",
|
||||||
|
color: "white",
|
||||||
|
marginBottom: "15px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Sisa Lembar Saham */}
|
||||||
|
<Group position="apart" mb={"md"}>
|
||||||
|
<Text>Sisa Lembar Saham</Text>
|
||||||
|
<Text fz={23}>
|
||||||
|
{new Intl.NumberFormat("id-ID", {
|
||||||
|
maximumFractionDigits: 10,
|
||||||
|
}).format(+data.sisaLembar)}{" "}
|
||||||
|
</Text>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
{/* Harga perlembar saham */}
|
||||||
|
<Group position="apart" mb={"md"}>
|
||||||
|
<Text>Harga Perlembar</Text>
|
||||||
|
<Text fz={23}>
|
||||||
|
Rp.{" "}
|
||||||
|
{new Intl.NumberFormat("id-ID", {
|
||||||
|
maximumFractionDigits: 10,
|
||||||
|
}).format(+data.hargaLembar)}{" "}
|
||||||
|
</Text>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
{/* Lembar saham */}
|
||||||
|
<Group position="apart" mb={"md"}>
|
||||||
|
<Box>
|
||||||
|
<Text>Jumlah Pembelian</Text>
|
||||||
|
<Text c={"blue"} fs={"italic"} fz={10}>
|
||||||
|
minimal pembelian 10 lembar
|
||||||
|
</Text>
|
||||||
|
</Box>
|
||||||
|
<NumberInput
|
||||||
|
type="number"
|
||||||
|
ref={focusTrapRef}
|
||||||
|
w={100}
|
||||||
|
max={maxPembelian}
|
||||||
|
min={0}
|
||||||
|
value={jumlah}
|
||||||
|
onChange={(val: any) => {
|
||||||
|
setTotal(val * +data.hargaLembar);
|
||||||
|
setJumlah(val);
|
||||||
|
// console.log(val);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Divider my={"lg"} />
|
||||||
|
|
||||||
|
<Group position="apart" mb={"md"}>
|
||||||
|
<Box>
|
||||||
|
<Text>Total Harga</Text>
|
||||||
|
</Box>
|
||||||
|
<Text fz={25}>
|
||||||
|
Rp.{" "}
|
||||||
|
{new Intl.NumberFormat("id-ID", {
|
||||||
|
maximumFractionDigits: 10,
|
||||||
|
}).format(total)}
|
||||||
|
</Text>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Center>
|
||||||
|
<Button
|
||||||
|
disabled={jumlah < 10}
|
||||||
|
w={350}
|
||||||
|
radius={50}
|
||||||
|
onClick={() => {
|
||||||
|
// onProses();
|
||||||
|
router.push(NEW_RouterInvestasi.metode_pembayaran + data.id, {
|
||||||
|
scroll: false,
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
bg={MainColor.yellow}
|
||||||
|
color="yellow"
|
||||||
|
c={"black"}
|
||||||
|
style={{
|
||||||
|
transition: "0.5s",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Beli
|
||||||
|
</Button>
|
||||||
|
</Center>
|
||||||
|
</Box>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
"use server"
|
||||||
|
|
||||||
|
import prisma from "@/app/lib/prisma"
|
||||||
|
|
||||||
|
export async function investasi_funGetProspekById({prospekId}: {prospekId: string}) {
|
||||||
|
const data = await prisma.prospektusInvestasi.findFirst({
|
||||||
|
where: {
|
||||||
|
id: prospekId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return data
|
||||||
|
}
|
||||||
27
src/app_modules/investasi/_fun/get/fun_get_one_by_id.ts
Normal file
27
src/app_modules/investasi/_fun/get/fun_get_one_by_id.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
"use server";
|
||||||
|
import prisma from "@/app/lib/prisma";
|
||||||
|
|
||||||
|
export async function investasi_funGetOneInvestasiById({investasiId}: {investasiId: string}) {
|
||||||
|
const data = await prisma.investasi.findUnique({
|
||||||
|
where: {
|
||||||
|
id: investasiId,
|
||||||
|
},
|
||||||
|
include: {
|
||||||
|
author: {
|
||||||
|
include: {
|
||||||
|
Profile: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
MasterStatusInvestasi: true,
|
||||||
|
BeritaInvestasi: true,
|
||||||
|
DokumenInvestasi: true,
|
||||||
|
ProspektusInvestasi: true,
|
||||||
|
MasterPembagianDeviden: true,
|
||||||
|
MasterPencarianInvestor: true,
|
||||||
|
MasterPeriodeDeviden: true,
|
||||||
|
MasterProgresInvestasi: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
5
src/app_modules/investasi/_fun/index.ts
Normal file
5
src/app_modules/investasi/_fun/index.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { investasi_funGetProspekById } from "./get/fun_get_file_by_prospek_id";
|
||||||
|
import { investasi_funGetOneInvestasiById } from "./get/fun_get_one_by_id";
|
||||||
|
|
||||||
|
export { investasi_funGetOneInvestasiById };
|
||||||
|
export { investasi_funGetProspekById };
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { MODEL_PROFILE_OLD } from "@/app_modules/home/model/user_profile";
|
import { MODEL_PROFILE_OLD } from "@/app_modules/home/model/user_profile";
|
||||||
|
|
||||||
export interface MODEL_Investasi {
|
export interface MODEL_INVESTASI {
|
||||||
id: string;
|
id: string;
|
||||||
title: string;
|
title: string;
|
||||||
targetDana: string;
|
targetDana: string;
|
||||||
@@ -19,7 +19,7 @@ export interface MODEL_Investasi {
|
|||||||
MasterStatusInvestasi: MODEL_Status_investasi;
|
MasterStatusInvestasi: MODEL_Status_investasi;
|
||||||
BeritaInvestasi: Model_Berita_Investasi[];
|
BeritaInvestasi: Model_Berita_Investasi[];
|
||||||
DokumenInvestasi: Model_Dokumen_Investasi[];
|
DokumenInvestasi: Model_Dokumen_Investasi[];
|
||||||
ProspektusInvestasi: Model_Prospektus_Investasi;
|
ProspektusInvestasi: MODEl_PROSPEKTUS_INVESTASI;
|
||||||
MasterPembagianDeviden: Model_All_Master;
|
MasterPembagianDeviden: Model_All_Master;
|
||||||
MasterPencarianInvestor: Model_All_Master;
|
MasterPencarianInvestor: Model_All_Master;
|
||||||
MasterPeriodeDeviden: Model_All_Master;
|
MasterPeriodeDeviden: Model_All_Master;
|
||||||
@@ -52,7 +52,7 @@ export interface MODEL_Transaksi_Investasi {
|
|||||||
Author: MODEL_PROFILE_OLD;
|
Author: MODEL_PROFILE_OLD;
|
||||||
masterStatusTransaksiInvestasiId: string;
|
masterStatusTransaksiInvestasiId: string;
|
||||||
investasiId: string;
|
investasiId: string;
|
||||||
Investasi: MODEL_Investasi;
|
Investasi: MODEL_INVESTASI;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MODEL_Status_investasi {
|
export interface MODEL_Status_investasi {
|
||||||
@@ -77,7 +77,7 @@ export interface Model_Berita_Investasi {
|
|||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Model_Prospektus_Investasi {
|
export interface MODEl_PROSPEKTUS_INVESTASI {
|
||||||
id: string;
|
id: string;
|
||||||
url: string;
|
url: string;
|
||||||
active: boolean;
|
active: boolean;
|
||||||
63
src/app_modules/investasi/_ui/file_view.tsx
Normal file
63
src/app_modules/investasi/_ui/file_view.tsx
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
|
import { ComponentInvestasi_FrameFileView } from "../_component";
|
||||||
|
import { MODEl_PROSPEKTUS_INVESTASI } from "../_lib/interface";
|
||||||
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
import { ActionIcon, Box, Container, Group, Header, rem } from "@mantine/core";
|
||||||
|
import { MainColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
|
import { IconChevronLeft, IconX } from "@tabler/icons-react";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
|
export function Investasi_UiFileView({ prospekId }: { prospekId: string }) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{/* <UIGlobal_LayoutTamplate
|
||||||
|
header={<UIGlobal_LayoutHeaderTamplate title="File" />}
|
||||||
|
>
|
||||||
|
<ComponentInvestasi_FrameFileView fileId={prospekId} path={RouterInvestasi_OLD.api_file_prospektus} />
|
||||||
|
</UIGlobal_LayoutTamplate> */}
|
||||||
|
<Box
|
||||||
|
w={"100%"}
|
||||||
|
h={"100%"}
|
||||||
|
style={{
|
||||||
|
overflowY: "auto",
|
||||||
|
overflowX: "auto",
|
||||||
|
backgroundColor: MainColor.black,
|
||||||
|
position: "fixed",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Container mih={"100vh"} p={0} size={rem(500)} bg={MainColor.black}>
|
||||||
|
<HeaderView />
|
||||||
|
|
||||||
|
<ComponentInvestasi_FrameFileView
|
||||||
|
fileId={prospekId}
|
||||||
|
path={RouterInvestasi_OLD.api_file_prospektus}
|
||||||
|
/>
|
||||||
|
</Container>
|
||||||
|
</Box>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function HeaderView() {
|
||||||
|
const router = useRouter();
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Header
|
||||||
|
height={"8vh"}
|
||||||
|
sx={{
|
||||||
|
borderStyle: "none",
|
||||||
|
}}
|
||||||
|
bg={"white"}
|
||||||
|
>
|
||||||
|
<Group position="right" align="center" h={"100%"} px={"md"}>
|
||||||
|
<ActionIcon onClick={() => router.back()}>
|
||||||
|
<IconX />
|
||||||
|
</ActionIcon>
|
||||||
|
</Group>
|
||||||
|
</Header>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app_modules/investasi/_ui/index.ts
Normal file
7
src/app_modules/investasi/_ui/index.ts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { Investasi_UiFileView } from "./file_view";
|
||||||
|
import { Investasi_UiMetodePembayaran } from "./transaksi/metode_pembayaran";
|
||||||
|
import { Investasi_UiProsesTransaksi } from "./transaksi/proses_transaksi";
|
||||||
|
|
||||||
|
export { Investasi_UiProsesTransaksi };
|
||||||
|
export { Investasi_UiMetodePembayaran };
|
||||||
|
export { Investasi_UiFileView };
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
|
import { ComponentInvestasi_BoxMetodePembayaran } from "../../_component";
|
||||||
|
|
||||||
|
export function Investasi_UiMetodePembayaran({ listBank }: { listBank: any[] }) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<UIGlobal_LayoutTamplate
|
||||||
|
header={<UIGlobal_LayoutHeaderTamplate title="Metode Pembayaran" />}
|
||||||
|
>
|
||||||
|
<ComponentInvestasi_BoxMetodePembayaran listBank={listBank} />
|
||||||
|
</UIGlobal_LayoutTamplate>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
22
src/app_modules/investasi/_ui/transaksi/proses_transaksi.tsx
Normal file
22
src/app_modules/investasi/_ui/transaksi/proses_transaksi.tsx
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
|
import { ComponentInvestasi_BoxPembelian } from "../../_component";
|
||||||
|
|
||||||
|
|
||||||
|
export function Investasi_UiProsesTransaksi({
|
||||||
|
dataInvestasi,
|
||||||
|
}: {
|
||||||
|
dataInvestasi: any;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<UIGlobal_LayoutTamplate
|
||||||
|
header={<UIGlobal_LayoutHeaderTamplate title="Pembelian Saham" />}
|
||||||
|
>
|
||||||
|
<ComponentInvestasi_BoxPembelian dataInvestasi={dataInvestasi} />
|
||||||
|
</UIGlobal_LayoutTamplate>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import {
|
import {
|
||||||
AspectRatio,
|
AspectRatio,
|
||||||
Box,
|
Box,
|
||||||
@@ -16,7 +16,7 @@ import {
|
|||||||
} from "@mantine/core";
|
} from "@mantine/core";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
@@ -25,7 +25,7 @@ import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
|||||||
export default function BeritaInvestasi({
|
export default function BeritaInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [berita, setBerita] = useState(dataInvestasi);
|
const [berita, setBerita] = useState(dataInvestasi);
|
||||||
@@ -45,7 +45,7 @@ export default function BeritaInvestasi({
|
|||||||
marginBottom: "15px",
|
marginBottom: "15px",
|
||||||
}}
|
}}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
router.push(RouterInvestasi.detail_berita + `${e.id}`)
|
router.push(RouterInvestasi_OLD.detail_berita + `${e.id}`)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Stack>
|
<Stack>
|
||||||
@@ -66,7 +66,7 @@ export default function BeritaInvestasi({
|
|||||||
<AspectRatio ratio={16 / 9} h={50} w={100}>
|
<AspectRatio ratio={16 / 9} h={50} w={100}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${e.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${e.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
</Grid.Col>
|
</Grid.Col>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Paper, Grid, Stack, AspectRatio, Text, Image } from "@mantine/core";
|
import { Paper, Grid, Stack, AspectRatio, Text, Image } from "@mantine/core";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ export function ComponentInvestasi_CardStatus({
|
|||||||
data,
|
data,
|
||||||
path,
|
path,
|
||||||
}: {
|
}: {
|
||||||
data: MODEL_Investasi;
|
data: MODEL_INVESTASI;
|
||||||
path: string;
|
path: string;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -49,7 +49,7 @@ export function ComponentInvestasi_CardStatus({
|
|||||||
<Paper radius={"md"}>
|
<Paper radius={"md"}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${data.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${data.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</Paper>
|
</Paper>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import {
|
import {
|
||||||
Stack,
|
Stack,
|
||||||
@@ -15,14 +15,14 @@ import {
|
|||||||
SimpleGrid,
|
SimpleGrid,
|
||||||
} from "@mantine/core";
|
} from "@mantine/core";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
import { IconBookDownload, IconFileDescription } from "@tabler/icons-react";
|
import { IconBookDownload, IconFileDescription } from "@tabler/icons-react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
export function ComponentInvestasi_DetailDataNonPublish({
|
export function ComponentInvestasi_DetailDataNonPublish({
|
||||||
data,
|
data,
|
||||||
}: {
|
}: {
|
||||||
data: MODEL_Investasi;
|
data: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const listBox = [
|
const listBox = [
|
||||||
@@ -30,13 +30,13 @@ export function ComponentInvestasi_DetailDataNonPublish({
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: "Prospektus",
|
name: "Prospektus",
|
||||||
icon: <IconBookDownload size={70} />,
|
icon: <IconBookDownload size={70} />,
|
||||||
route: RouterInvestasi.detail_prospektus,
|
route: RouterInvestasi_OLD.detail_prospektus,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Dokumen",
|
name: "Dokumen",
|
||||||
icon: <IconFileDescription size={70} />,
|
icon: <IconFileDescription size={70} />,
|
||||||
route: RouterInvestasi.detail_dokumen,
|
route: RouterInvestasi_OLD.detail_dokumen,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ export function ComponentInvestasi_DetailDataNonPublish({
|
|||||||
<AspectRatio ratio={1 / 1} mx={"sm"} mah={300}>
|
<AspectRatio ratio={1 / 1} mx={"sm"} mah={300}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${data.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${data.imagesId}`}
|
||||||
radius={"sm"}
|
radius={"sm"}
|
||||||
height={300}
|
height={300}
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import {
|
import {
|
||||||
ComponentGlobal_WarningMaxUpload,
|
ComponentGlobal_WarningMaxUpload,
|
||||||
@@ -123,7 +123,7 @@ export default function InvestasiCreate({
|
|||||||
setActiveTab("Review");
|
setActiveTab("Review");
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
ComponentGlobal_NotifikasiBerhasil(res.message);
|
ComponentGlobal_NotifikasiBerhasil(res.message);
|
||||||
router.push(RouterInvestasi.portofolio);
|
router.push(RouterInvestasi_OLD.portofolio);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ComponentGlobal_NotifikasiGagal(res.message);
|
ComponentGlobal_NotifikasiGagal(res.message);
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import {
|
||||||
|
NEW_RouterInvestasi,
|
||||||
|
RouterInvestasi_OLD,
|
||||||
|
} from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/_global/author_name_on_header";
|
import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/_global/author_name_on_header";
|
||||||
import { MODEL_PROFILE_OLD } from "@/app_modules/home/model/user_profile";
|
import { MODEL_PROFILE_OLD } from "@/app_modules/home/model/user_profile";
|
||||||
@@ -33,7 +36,7 @@ import moment from "moment";
|
|||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { gs_TransferValue } from "../g_state";
|
import { gs_TransferValue } from "../g_state";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import {
|
import {
|
||||||
AccentColor,
|
AccentColor,
|
||||||
MainColor,
|
MainColor,
|
||||||
@@ -46,14 +49,14 @@ export default function DetailInvestasi({
|
|||||||
progress,
|
progress,
|
||||||
totalInvestor,
|
totalInvestor,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
dataUser: MODEL_PROFILE_OLD;
|
dataUser: MODEL_PROFILE_OLD;
|
||||||
loginUserId: string;
|
loginUserId: string;
|
||||||
progress: number;
|
progress: number;
|
||||||
totalInvestor: number;
|
totalInvestor: number;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [investasi, setInvestasi] = useState(dataInvestasi);
|
const [data, setData] = useState(dataInvestasi);
|
||||||
const [user, setUser] = useState(dataUser);
|
const [user, setUser] = useState(dataUser);
|
||||||
const [transaksiValue, setTransaksiValue] = useAtom(gs_TransferValue);
|
const [transaksiValue, setTransaksiValue] = useAtom(gs_TransferValue);
|
||||||
const [boxId, setBoxId] = useState(0);
|
const [boxId, setBoxId] = useState(0);
|
||||||
@@ -65,24 +68,28 @@ export default function DetailInvestasi({
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: "Prospektus",
|
name: "Prospektus",
|
||||||
icon: <IconBookDownload size={70} color="white" />,
|
icon: <IconBookDownload size={70} color="white" />,
|
||||||
route: RouterInvestasi.detail_prospektus,
|
route: RouterInvestasi_OLD.detail_prospektus,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Dokumen",
|
name: "Dokumen",
|
||||||
icon: <IconFileDescription size={70} color="white" />,
|
icon: <IconFileDescription size={70} color="white" />,
|
||||||
route: RouterInvestasi.detail_dokumen,
|
route: RouterInvestasi_OLD.detail_dokumen,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "Berita",
|
name: "Berita",
|
||||||
icon: <IconSpeakerphone size={70} color="white" />,
|
icon: <IconSpeakerphone size={70} color="white" />,
|
||||||
route: RouterInvestasi.berita,
|
route: RouterInvestasi_OLD.berita,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
async function onSubmit() {
|
async function onSubmit() {
|
||||||
router.push(RouterInvestasi.proses_transaksi + `${investasi.id}`);
|
//NEW
|
||||||
|
// router.push(NEW_RouterInvestasi.pembelian + data.id, { scroll: false });
|
||||||
|
|
||||||
|
// OLD
|
||||||
|
router.push(RouterInvestasi_OLD.proses_transaksi + `${data.id}`);
|
||||||
setTransaksiValue({
|
setTransaksiValue({
|
||||||
...transaksiValue,
|
...transaksiValue,
|
||||||
lembarTerbeli: "",
|
lembarTerbeli: "",
|
||||||
@@ -114,15 +121,15 @@ export default function DetailInvestasi({
|
|||||||
profileId={dataUser?.Profile?.id}
|
profileId={dataUser?.Profile?.id}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{investasi.MasterProgresInvestasi.id === "1" ? (
|
{data.MasterProgresInvestasi.id === "1" ? (
|
||||||
<Box>
|
<Box>
|
||||||
<Group position="right" spacing={"xs"}>
|
<Group position="right" spacing={"xs"}>
|
||||||
<Text>
|
<Text>
|
||||||
Sisa waktu:{" "}
|
Sisa waktu:{" "}
|
||||||
<Text span inherit>
|
<Text span inherit>
|
||||||
{Number(investasi.MasterPencarianInvestor.name) -
|
{Number(data.MasterPencarianInvestor.name) -
|
||||||
moment(new Date()).diff(
|
moment(new Date()).diff(
|
||||||
new Date(investasi.countDown),
|
new Date(data.countDown),
|
||||||
"days"
|
"days"
|
||||||
)}{" "}
|
)}{" "}
|
||||||
Hari
|
Hari
|
||||||
@@ -132,7 +139,7 @@ export default function DetailInvestasi({
|
|||||||
</Box>
|
</Box>
|
||||||
) : (
|
) : (
|
||||||
<Box>
|
<Box>
|
||||||
{investasi.MasterProgresInvestasi.id === "2" ? (
|
{data.MasterProgresInvestasi.id === "2" ? (
|
||||||
<Group position="right" spacing={"xs"}>
|
<Group position="right" spacing={"xs"}>
|
||||||
<IconCircleCheck color="green" />
|
<IconCircleCheck color="green" />
|
||||||
<Text
|
<Text
|
||||||
@@ -170,7 +177,7 @@ export default function DetailInvestasi({
|
|||||||
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${investasi.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${data.imagesId}`}
|
||||||
radius={"sm"}
|
radius={"sm"}
|
||||||
height={250}
|
height={250}
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
@@ -180,22 +187,20 @@ export default function DetailInvestasi({
|
|||||||
{/* Title dan Progress */}
|
{/* Title dan Progress */}
|
||||||
<Box mb={"md"}>
|
<Box mb={"md"}>
|
||||||
<Title order={3} mb={"xs"} align="center">
|
<Title order={3} mb={"xs"} align="center">
|
||||||
{investasi.title}
|
{data.title}
|
||||||
</Title>
|
</Title>
|
||||||
<Progress
|
<Progress
|
||||||
label={
|
label={
|
||||||
"" +
|
"" +
|
||||||
(
|
(
|
||||||
((+investasi.totalLembar - +investasi.sisaLembar) /
|
((+data.totalLembar - +data.sisaLembar) / +data.totalLembar) *
|
||||||
+investasi.totalLembar) *
|
|
||||||
100
|
100
|
||||||
).toFixed(1) +
|
).toFixed(1) +
|
||||||
"%"
|
"%"
|
||||||
}
|
}
|
||||||
value={
|
value={
|
||||||
+(
|
+(
|
||||||
((+investasi.totalLembar - +investasi.sisaLembar) /
|
((+data.totalLembar - +data.sisaLembar) / +data.totalLembar) *
|
||||||
+investasi.totalLembar) *
|
|
||||||
100
|
100
|
||||||
).toFixed(1)
|
).toFixed(1)
|
||||||
}
|
}
|
||||||
@@ -215,7 +220,7 @@ export default function DetailInvestasi({
|
|||||||
Rp.{" "}
|
Rp.{" "}
|
||||||
{new Intl.NumberFormat("id-ID", {
|
{new Intl.NumberFormat("id-ID", {
|
||||||
maximumSignificantDigits: 10,
|
maximumSignificantDigits: 10,
|
||||||
}).format(+investasi.targetDana)}
|
}).format(+data.targetDana)}
|
||||||
</Text>
|
</Text>
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
@@ -224,16 +229,16 @@ export default function DetailInvestasi({
|
|||||||
Rp.{" "}
|
Rp.{" "}
|
||||||
{new Intl.NumberFormat("id-ID", {
|
{new Intl.NumberFormat("id-ID", {
|
||||||
maximumSignificantDigits: 10,
|
maximumSignificantDigits: 10,
|
||||||
}).format(+investasi.hargaLembar)}
|
}).format(+data.hargaLembar)}
|
||||||
</Text>
|
</Text>
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Text>Jadwal Pembagian</Text>
|
<Text>Jadwal Pembagian</Text>
|
||||||
<Text>{investasi.MasterPembagianDeviden.name} bulan </Text>
|
<Text>{data.MasterPembagianDeviden.name} bulan </Text>
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Text>Pembagian Deviden</Text>
|
<Text>Pembagian Deviden</Text>
|
||||||
<Text>{investasi.MasterPeriodeDeviden.name}</Text>
|
<Text>{data.MasterPeriodeDeviden.name}</Text>
|
||||||
</Box>
|
</Box>
|
||||||
</Stack>
|
</Stack>
|
||||||
</Grid.Col>
|
</Grid.Col>
|
||||||
@@ -249,14 +254,14 @@ export default function DetailInvestasi({
|
|||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Text>ROI</Text>
|
<Text>ROI</Text>
|
||||||
<Text>{investasi.roi}%</Text>
|
<Text>{data.roi}%</Text>
|
||||||
</Box>
|
</Box>
|
||||||
<Box>
|
<Box>
|
||||||
<Text>Total Lembar</Text>
|
<Text>Total Lembar</Text>
|
||||||
<Text>
|
<Text>
|
||||||
{new Intl.NumberFormat("id-ID", {
|
{new Intl.NumberFormat("id-ID", {
|
||||||
maximumSignificantDigits: 10,
|
maximumSignificantDigits: 10,
|
||||||
}).format(+investasi.totalLembar)}{" "}
|
}).format(+data.totalLembar)}{" "}
|
||||||
lembar
|
lembar
|
||||||
</Text>
|
</Text>
|
||||||
</Box>
|
</Box>
|
||||||
@@ -265,7 +270,7 @@ export default function DetailInvestasi({
|
|||||||
<Text>
|
<Text>
|
||||||
{new Intl.NumberFormat("id-ID", {
|
{new Intl.NumberFormat("id-ID", {
|
||||||
maximumSignificantDigits: 10,
|
maximumSignificantDigits: 10,
|
||||||
}).format(+investasi.sisaLembar)}{" "}
|
}).format(+data.sisaLembar)}{" "}
|
||||||
lembar
|
lembar
|
||||||
</Text>
|
</Text>
|
||||||
</Box>
|
</Box>
|
||||||
@@ -293,7 +298,7 @@ export default function DetailInvestasi({
|
|||||||
loading={isLoadingBox && e?.id === boxId ? true : false}
|
loading={isLoadingBox && e?.id === boxId ? true : false}
|
||||||
variant="transparent"
|
variant="transparent"
|
||||||
size={60}
|
size={60}
|
||||||
onClick={() => router.push(e.route + `${investasi.id}`)}
|
onClick={() => router.push(e.route + `${data.id}`)}
|
||||||
>
|
>
|
||||||
{e.icon}
|
{e.icon}
|
||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
@@ -303,9 +308,9 @@ export default function DetailInvestasi({
|
|||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<Box my={"md"}>
|
<Box my={"md"}>
|
||||||
{investasi.sisaLembar === "0" ||
|
{data.sisaLembar === "0" ||
|
||||||
Number(investasi.MasterPencarianInvestor.name) -
|
Number(data.MasterPencarianInvestor.name) -
|
||||||
moment(new Date()).diff(new Date(investasi.countDown), "days") <=
|
moment(new Date()).diff(new Date(data.countDown), "days") <=
|
||||||
0 ? (
|
0 ? (
|
||||||
<Center mb={"md"}>
|
<Center mb={"md"}>
|
||||||
<Button disabled radius={50} variant="transparent">
|
<Button disabled radius={50} variant="transparent">
|
||||||
@@ -314,7 +319,7 @@ export default function DetailInvestasi({
|
|||||||
</Center>
|
</Center>
|
||||||
) : (
|
) : (
|
||||||
<Box>
|
<Box>
|
||||||
{loginUserId === investasi.authorId ? (
|
{loginUserId === data.authorId ? (
|
||||||
<Center mb={"md"}>
|
<Center mb={"md"}>
|
||||||
<Button disabled radius={50}>
|
<Button disabled radius={50}>
|
||||||
Investasi Ini Milik Anda
|
Investasi Ini Milik Anda
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { AspectRatio, Group, Image, Stack, Text, Title } from "@mantine/core";
|
import { AspectRatio, Group, Image, Stack, Text, Title } from "@mantine/core";
|
||||||
import { Model_Berita_Investasi } from "../model/model_investasi";
|
import { Model_Berita_Investasi } from "../_lib/interface";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ export default function DetailBeritaInvestasi({
|
|||||||
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${berita.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${berita.imagesId}`}
|
||||||
radius={"sm"}
|
radius={"sm"}
|
||||||
height={250}
|
height={250}
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { Paper, Grid, Center, Text, Title } from "@mantine/core";
|
import { Paper, Grid, Center, Text, Title } from "@mantine/core";
|
||||||
import { IconChevronRight } from "@tabler/icons-react";
|
import { IconChevronRight } from "@tabler/icons-react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
@@ -12,7 +12,7 @@ import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
|||||||
export default function DetailDokumenInvestasi({
|
export default function DetailDokumenInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const [dokumen, setDokumen] = useState(dataInvestasi);
|
const [dokumen, setDokumen] = useState(dataInvestasi);
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { MainColor } from "@/app_modules/_global/color/color_pallet";
|
import { MainColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
|
import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
|
||||||
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
||||||
@@ -17,11 +17,11 @@ import { useState } from "react";
|
|||||||
import { ComponentInvestasi_DetailDataNonPublish } from "../../component/detail/detai_data_non_publish";
|
import { ComponentInvestasi_DetailDataNonPublish } from "../../component/detail/detai_data_non_publish";
|
||||||
import { investasi_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
import { investasi_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
||||||
import { gs_investasi_status } from "../../g_state";
|
import { gs_investasi_status } from "../../g_state";
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
export default function DetailDraftInvestasi({
|
export default function DetailDraftInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
@@ -52,7 +52,7 @@ export default function DetailDraftInvestasi({
|
|||||||
|
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
ComponentGlobal_NotifikasiBerhasil("Review Berhasil Diajukan");
|
ComponentGlobal_NotifikasiBerhasil("Review Berhasil Diajukan");
|
||||||
router.push(RouterInvestasi.portofolio);
|
router.push(RouterInvestasi_OLD.portofolio);
|
||||||
setActiveTab("Review");
|
setActiveTab("Review");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
||||||
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
||||||
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
||||||
@@ -23,19 +23,19 @@ export default function LayoutDetailDraftInvestasi({
|
|||||||
id: "1",
|
id: "1",
|
||||||
name: "Edit Investasi",
|
name: "Edit Investasi",
|
||||||
icon: <IconEdit />,
|
icon: <IconEdit />,
|
||||||
path: RouterInvestasi.edit_intro + id,
|
path: RouterInvestasi_OLD.edit_intro + id,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2",
|
||||||
name: "Edit Prospektus",
|
name: "Edit Prospektus",
|
||||||
icon: <IconFilePencil />,
|
icon: <IconFilePencil />,
|
||||||
path: RouterInvestasi.upload_prospektus + id,
|
path: RouterInvestasi_OLD.upload_prospektus + id,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3",
|
||||||
name: "Edit Dokumen",
|
name: "Edit Dokumen",
|
||||||
icon: <IconFilePencil />,
|
icon: <IconFilePencil />,
|
||||||
path: RouterInvestasi.edit_dokumen + id,
|
path: RouterInvestasi_OLD.edit_dokumen + id,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
@@ -25,12 +25,12 @@ import {
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
|
|
||||||
export default function DetailPublishInvestasi({
|
export default function DetailPublishInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [investasi, setInvestasi] = useState(dataInvestasi);
|
const [investasi, setInvestasi] = useState(dataInvestasi);
|
||||||
@@ -40,19 +40,19 @@ export default function DetailPublishInvestasi({
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: "Prospektus",
|
name: "Prospektus",
|
||||||
icon: <IconBookDownload size={70} color="white" />,
|
icon: <IconBookDownload size={70} color="white" />,
|
||||||
route: RouterInvestasi.detail_prospektus,
|
route: RouterInvestasi_OLD.detail_prospektus,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Dokumen",
|
name: "Dokumen",
|
||||||
icon: <IconFileDescription size={70} color="white" />,
|
icon: <IconFileDescription size={70} color="white" />,
|
||||||
route: RouterInvestasi.edit_dokumen,
|
route: RouterInvestasi_OLD.edit_dokumen,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "Berita",
|
name: "Berita",
|
||||||
icon: <IconSpeakerphone size={70} color="white" />,
|
icon: <IconSpeakerphone size={70} color="white" />,
|
||||||
route: RouterInvestasi.list_edit_berita,
|
route: RouterInvestasi_OLD.list_edit_berita,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ export default function DetailPublishInvestasi({
|
|||||||
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
<AspectRatio ratio={1 / 1} mx={"sm"} mah={250}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${investasi.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${investasi.imagesId}`}
|
||||||
radius={"sm"}
|
radius={"sm"}
|
||||||
height={250}
|
height={250}
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
|
import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
|
||||||
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
|
||||||
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
|
||||||
@@ -14,13 +14,13 @@ import { ComponentInvestasi_DetailDataNonPublish } from "../../component/detail/
|
|||||||
import funDeleteInvestasi from "../../fun/fun_delete_investasi";
|
import funDeleteInvestasi from "../../fun/fun_delete_investasi";
|
||||||
import funGantiStatusInvestasi from "../../fun/fun_ganti_status";
|
import funGantiStatusInvestasi from "../../fun/fun_ganti_status";
|
||||||
import { gs_investasi_status } from "../../g_state";
|
import { gs_investasi_status } from "../../g_state";
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
import { investasi_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
import { investasi_funEditStatusById } from "../../fun/edit/fun_edit_status_by_id";
|
||||||
|
|
||||||
export default function DetailRejectInvestasi({
|
export default function DetailRejectInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [investasi, setInvestasi] = useState(dataInvestasi);
|
const [investasi, setInvestasi] = useState(dataInvestasi);
|
||||||
@@ -36,7 +36,7 @@ export default function DetailRejectInvestasi({
|
|||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
ComponentGlobal_NotifikasiBerhasil("Project Diajukan Kembali");
|
ComponentGlobal_NotifikasiBerhasil("Project Diajukan Kembali");
|
||||||
setActiveTab("Draft");
|
setActiveTab("Draft");
|
||||||
router.push(RouterInvestasi.portofolio);
|
router.push(RouterInvestasi_OLD.portofolio);
|
||||||
} else {
|
} else {
|
||||||
ComponentGlobal_NotifikasiGagal("Gagal Pengajuan");
|
ComponentGlobal_NotifikasiGagal("Gagal Pengajuan");
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ export default function DetailRejectInvestasi({
|
|||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
ComponentGlobal_NotifikasiBerhasil(res.message);
|
ComponentGlobal_NotifikasiBerhasil(res.message);
|
||||||
setOpenModal(false);
|
setOpenModal(false);
|
||||||
router.push(RouterInvestasi.portofolio);
|
router.push(RouterInvestasi_OLD.portofolio);
|
||||||
} else {
|
} else {
|
||||||
ComponentGlobal_NotifikasiGagal(res.message);
|
ComponentGlobal_NotifikasiGagal(res.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
@@ -28,7 +28,7 @@ import { useAtom } from "jotai";
|
|||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { gs_investasi_status } from "../../g_state";
|
import { gs_investasi_status } from "../../g_state";
|
||||||
import toast from "react-simple-toasts";
|
import toast from "react-simple-toasts";
|
||||||
import { MODEL_Investasi } from "../../model/model_investasi";
|
import { MODEL_INVESTASI } from "../../_lib/interface";
|
||||||
import funGantiStatusInvestasi from "../../fun/fun_ganti_status";
|
import funGantiStatusInvestasi from "../../fun/fun_ganti_status";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
@@ -43,13 +43,13 @@ import mqtt_client from "@/util/mqtt_client";
|
|||||||
export default function DetailReviewInvestasi({
|
export default function DetailReviewInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [isLoading, setLoading] = useState(false);
|
const [isLoading, setLoading] = useState(false);
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = useAtom(gs_investasi_status);
|
const [activeTab, setActiveTab] = useAtom(gs_investasi_status);
|
||||||
const [data, setData] = useState<MODEL_Investasi>(dataInvestasi);
|
const [data, setData] = useState<MODEL_INVESTASI>(dataInvestasi);
|
||||||
|
|
||||||
async function onCancleReview() {
|
async function onCancleReview() {
|
||||||
const res = await investasi_funEditStatusById({
|
const res = await investasi_funEditStatusById({
|
||||||
@@ -76,7 +76,7 @@ export default function DetailReviewInvestasi({
|
|||||||
setLoading(true);
|
setLoading(true);
|
||||||
ComponentGlobal_NotifikasiBerhasil("Review Dibatalkan");
|
ComponentGlobal_NotifikasiBerhasil("Review Dibatalkan");
|
||||||
setActiveTab("Draft");
|
setActiveTab("Draft");
|
||||||
router.push(RouterInvestasi.portofolio);
|
router.push(RouterInvestasi_OLD.portofolio);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ComponentGlobal_NotifikasiPeringatan(res.message);
|
ComponentGlobal_NotifikasiPeringatan(res.message);
|
||||||
|
|||||||
@@ -1,55 +1,69 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import {
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
NEW_RouterInvestasi,
|
||||||
import { Center, Group, Paper, Text, Title } from "@mantine/core";
|
RouterInvestasi_OLD,
|
||||||
|
} from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
import {
|
||||||
|
AccentColor,
|
||||||
|
MainColor,
|
||||||
|
} from "@/app_modules/_global/color/color_pallet";
|
||||||
|
import {
|
||||||
|
BackgroundImage,
|
||||||
|
Box,
|
||||||
|
Center,
|
||||||
|
Container,
|
||||||
|
Group,
|
||||||
|
Modal,
|
||||||
|
Paper,
|
||||||
|
rem,
|
||||||
|
Text,
|
||||||
|
Title,
|
||||||
|
} from "@mantine/core";
|
||||||
import { IconChevronRight } from "@tabler/icons-react";
|
import { IconChevronRight } from "@tabler/icons-react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import {
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
MODEL_Investasi
|
import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi";
|
||||||
} from "../model/model_investasi";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
// import DocViewer, { DocViewerRenderers } from "@cyntler/react-doc-viewer";
|
||||||
|
// import "@cyntler/react-doc-viewer/dist/index.css";
|
||||||
|
|
||||||
export default function DetailPropektus({
|
export default function DetailPropektus({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const [prospek, setProspek] = useState(dataInvestasi);
|
const [data, setData] = useState(dataInvestasi);
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{prospek.ProspektusInvestasi !== null ? (
|
<Paper
|
||||||
<Link
|
style={{
|
||||||
href={
|
padding: "15px",
|
||||||
RouterInvestasi.api_file_prospektus +
|
backgroundColor: AccentColor.darkblue,
|
||||||
`${prospek.ProspektusInvestasi.id}`
|
border: `2px solid ${AccentColor.blue}`,
|
||||||
}
|
borderRadius: "10px",
|
||||||
// target="_blank"
|
color: "white",
|
||||||
style={{ textDecorationLine: "none" }}
|
}}
|
||||||
>
|
onClick={() =>
|
||||||
<Paper
|
router.push(
|
||||||
style={{
|
NEW_RouterInvestasi.file_view + `${data.ProspektusInvestasi.id}`,
|
||||||
padding:"15px",
|
{ scroll: false }
|
||||||
backgroundColor: AccentColor.darkblue,
|
)
|
||||||
border: `2px solid ${AccentColor.blue}`,
|
}
|
||||||
borderRadius: "10px",
|
>
|
||||||
color: "white",
|
<Group position="apart">
|
||||||
}}
|
<Text w={"80%"} lineClamp={1}>
|
||||||
>
|
Prospektus_{data.title}
|
||||||
<Group position="apart">
|
</Text>
|
||||||
<Text w={"80%"} lineClamp={1}>Prospektus_{prospek.title}</Text>
|
<Center>
|
||||||
<Center>
|
<IconChevronRight />
|
||||||
<IconChevronRight />
|
</Center>
|
||||||
</Center>
|
</Group>
|
||||||
</Group>
|
</Paper>
|
||||||
</Paper>
|
|
||||||
</Link>
|
|
||||||
) : (
|
|
||||||
<Center>
|
|
||||||
<Title order={6}>Tidak Ada File</Title>
|
|
||||||
</Center>
|
|
||||||
)}
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
@@ -28,7 +28,7 @@ import {
|
|||||||
IconSpeakerphone,
|
IconSpeakerphone,
|
||||||
} from "@tabler/icons-react";
|
} from "@tabler/icons-react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { MODEL_Transaksi_Investasi } from "../model/model_investasi";
|
import { MODEL_Transaksi_Investasi } from "../_lib/interface";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
@@ -49,19 +49,19 @@ export default function DetailSahamTerbeli({
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: "Prospektus",
|
name: "Prospektus",
|
||||||
icon: <IconBookDownload size={70} color="white" />,
|
icon: <IconBookDownload size={70} color="white" />,
|
||||||
route: RouterInvestasi.detail_prospektus,
|
route: RouterInvestasi_OLD.detail_prospektus,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Dokumen",
|
name: "Dokumen",
|
||||||
icon: <IconFileDescription size={70} color="white" />,
|
icon: <IconFileDescription size={70} color="white" />,
|
||||||
route: RouterInvestasi.detail_dokumen,
|
route: RouterInvestasi_OLD.detail_dokumen,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "Berita",
|
name: "Berita",
|
||||||
icon: <IconSpeakerphone size={70} color="white" />,
|
icon: <IconSpeakerphone size={70} color="white" />,
|
||||||
route: RouterInvestasi.berita,
|
route: RouterInvestasi_OLD.berita,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ export default function DetailSahamTerbeli({
|
|||||||
width={"100%"}
|
width={"100%"}
|
||||||
alt=""
|
alt=""
|
||||||
src={
|
src={
|
||||||
RouterInvestasi.api_gambar + `${investasi.Investasi.imagesId}`
|
RouterInvestasi_OLD.api_gambar + `${investasi.Investasi.imagesId}`
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
||||||
import {
|
import {
|
||||||
AppShell,
|
AppShell,
|
||||||
@@ -23,7 +23,7 @@ export default function LayoutDialogPageCreateInvestasi({
|
|||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
useShallowEffect(() => {
|
useShallowEffect(() => {
|
||||||
setTimeout(() => router.push(RouterInvestasi.portofolio), 3000);
|
setTimeout(() => router.push(RouterInvestasi_OLD.portofolio), 3000);
|
||||||
}, []);
|
}, []);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { AppShell, CloseButton, Group, Header, Text } from "@mantine/core";
|
import { AppShell, CloseButton, Group, Header, Text } from "@mantine/core";
|
||||||
import { useAtom } from "jotai";
|
import { useAtom } from "jotai";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
@@ -24,7 +24,7 @@ export default function LayoutCountDownTransaksiInvestasi({
|
|||||||
<CloseButton
|
<CloseButton
|
||||||
size={"md"}
|
size={"md"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
router.push(RouterInvestasi.main_transaksi), setHotMenu(3);
|
router.push(RouterInvestasi_OLD.main_transaksi), setHotMenu(3);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Text>Status Transfer</Text>
|
<Text>Status Transfer</Text>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Box, Center, Loader, Stack, Text, Title } from "@mantine/core";
|
import { Box, Center, Loader, Stack, Text, Title } from "@mantine/core";
|
||||||
import { useShallowEffect } from "@mantine/hooks";
|
import { useShallowEffect } from "@mantine/hooks";
|
||||||
import { IconCircleCheck } from "@tabler/icons-react";
|
import { IconCircleCheck } from "@tabler/icons-react";
|
||||||
@@ -14,7 +14,7 @@ export default function CountDownTransaksiInvestasi() {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [count, setCount] = useState<any | null>(10);
|
const [count, setCount] = useState<any | null>(10);
|
||||||
useShallowEffect(() => {
|
useShallowEffect(() => {
|
||||||
setTimeout(() => router.push(RouterInvestasi.status_transaksi), 10000);
|
setTimeout(() => router.push(RouterInvestasi_OLD.status_transaksi), 10000);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const PopupCD = () => <Text>Sedang di Proses</Text>;
|
const PopupCD = () => <Text>Sedang di Proses</Text>;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_CardLoadingOverlay from "@/app_modules/_global/loading_card";
|
import ComponentGlobal_CardLoadingOverlay from "@/app_modules/_global/loading_card";
|
||||||
import { Center, Grid, Group, Paper, Stack, Text, Title } from "@mantine/core";
|
import { Center, Grid, Group, Paper, Stack, Text, Title } from "@mantine/core";
|
||||||
import { IconChevronRight } from "@tabler/icons-react";
|
import { IconChevronRight } from "@tabler/icons-react";
|
||||||
@@ -16,17 +16,17 @@ export default function EditInvestasi({ id }: { id: string }) {
|
|||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: "Intro",
|
name: "Intro",
|
||||||
route: RouterInvestasi.edit_intro,
|
route: RouterInvestasi_OLD.edit_intro,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Prospektus",
|
name: "Prospektus",
|
||||||
route: RouterInvestasi.edit_prospektus,
|
route: RouterInvestasi_OLD.edit_prospektus,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "Dokumen",
|
name: "Dokumen",
|
||||||
route: RouterInvestasi.edit_dokumen,
|
route: RouterInvestasi_OLD.edit_dokumen,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// id: 4,
|
// id: 4,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
|
||||||
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ import {
|
|||||||
} from "@mantine/core";
|
} from "@mantine/core";
|
||||||
import { IconCamera, IconUpload } from "@tabler/icons-react";
|
import { IconCamera, IconUpload } from "@tabler/icons-react";
|
||||||
import {
|
import {
|
||||||
MODEL_Investasi,
|
MODEL_INVESTASI,
|
||||||
Model_Berita_Investasi,
|
Model_Berita_Investasi,
|
||||||
} from "../model/model_investasi";
|
} from "../_lib/interface";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import toast from "react-simple-toasts";
|
import toast from "react-simple-toasts";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
@@ -63,7 +63,7 @@ export default function EditBeritaInvestasi({
|
|||||||
) : (
|
) : (
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${edit.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${edit.imagesId}`}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
@@ -24,7 +24,7 @@ export default function LayoutEditDokumenInvestasi({
|
|||||||
id: "1",
|
id: "1",
|
||||||
name: "Tambah Dokumen",
|
name: "Tambah Dokumen",
|
||||||
icon: <IconFilePlus />,
|
icon: <IconFilePlus />,
|
||||||
path: RouterInvestasi.upload_dokumen + `${idInves}`,
|
path: RouterInvestasi_OLD.upload_dokumen + `${idInves}`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -14,13 +14,13 @@ import Link from "next/link";
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import funDeleteDokumenInvestasi from "../fun/fun_delete_dokumen";
|
import funDeleteDokumenInvestasi from "../fun/fun_delete_dokumen";
|
||||||
import funLoadDataInvestasi from "../fun/fun_load_data";
|
import funLoadDataInvestasi from "../fun/fun_load_data";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { IconFile } from "@tabler/icons-react";
|
import { IconFile } from "@tabler/icons-react";
|
||||||
|
|
||||||
export default function EditDokumenInvestasi({
|
export default function EditDokumenInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const [dokumen, setDokumen] = useState(dataInvestasi);
|
const [dokumen, setDokumen] = useState(dataInvestasi);
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import {
|
|||||||
import { IconUpload } from "@tabler/icons-react";
|
import { IconUpload } from "@tabler/icons-react";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_ErrorInput from "@/app_modules/_global/component/error_input";
|
import ComponentGlobal_ErrorInput from "@/app_modules/_global/component/error_input";
|
||||||
import {
|
import {
|
||||||
ComponentGlobal_WarningMaxUpload,
|
ComponentGlobal_WarningMaxUpload,
|
||||||
@@ -32,7 +32,7 @@ import _ from "lodash";
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import toast from "react-simple-toasts";
|
import toast from "react-simple-toasts";
|
||||||
import funEditInvestasi from "../fun/fun_edit_investasi";
|
import funEditInvestasi from "../fun/fun_edit_investasi";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import {
|
import {
|
||||||
AccentColor,
|
AccentColor,
|
||||||
MainColor,
|
MainColor,
|
||||||
@@ -47,7 +47,7 @@ export default function EditIntroInvestasi({
|
|||||||
listPeriode,
|
listPeriode,
|
||||||
listPembagian,
|
listPembagian,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
listPencarian: MODEL_DEFAULT_MASTER_OLD[];
|
listPencarian: MODEL_DEFAULT_MASTER_OLD[];
|
||||||
listPeriode: MODEL_DEFAULT_MASTER_OLD[];
|
listPeriode: MODEL_DEFAULT_MASTER_OLD[];
|
||||||
listPembagian: MODEL_DEFAULT_MASTER_OLD[];
|
listPembagian: MODEL_DEFAULT_MASTER_OLD[];
|
||||||
@@ -130,7 +130,7 @@ export default function EditIntroInvestasi({
|
|||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
alt="Foto"
|
alt="Foto"
|
||||||
src={RouterInvestasi.api_gambar + `${edit_inves.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${edit_inves.imagesId}`}
|
||||||
maw={200}
|
maw={200}
|
||||||
/>
|
/>
|
||||||
</Paper>
|
</Paper>
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
|
|
||||||
export default function LayoutEditProspektusInvestasi({
|
export default function LayoutEditProspektusInvestasi({
|
||||||
children,
|
children,
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -20,15 +20,15 @@ import {
|
|||||||
import { IconChevronRight, IconFileTypePdf } from "@tabler/icons-react";
|
import { IconChevronRight, IconFileTypePdf } from "@tabler/icons-react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default function EditProspektusInvestasi({
|
export default function EditProspektusInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const [prospek, setProspek] = useState<MODEL_Investasi>(dataInvestasi);
|
const [prospek, setProspek] = useState<MODEL_INVESTASI>(dataInvestasi);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -37,7 +37,7 @@ export default function EditProspektusInvestasi({
|
|||||||
<Stack>
|
<Stack>
|
||||||
{prospek.ProspektusInvestasi != null ? (
|
{prospek.ProspektusInvestasi != null ? (
|
||||||
<Link
|
<Link
|
||||||
href={RouterInvestasi.api_file_prospektus + `${prospek.ProspektusInvestasi.id}`}
|
href={RouterInvestasi_OLD.api_file_prospektus + `${prospek.ProspektusInvestasi.id}`}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
style={{ textDecorationLine: "none" }}
|
style={{ textDecorationLine: "none" }}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export async function investasi_funEditStatusById({
|
export async function investasi_funEditStatusById({
|
||||||
@@ -31,7 +31,7 @@ export async function investasi_funEditStatusById({
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!res) return { status: 400, message: "Gagal Update" };
|
if (!res) return { status: 400, message: "Gagal Update" };
|
||||||
revalidatePath(RouterInvestasi.main_porto);
|
revalidatePath(RouterInvestasi_OLD.main_porto);
|
||||||
return {
|
return {
|
||||||
data: res,
|
data: res,
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { MODEL_Transaksi_Investasi } from "../model/model_investasi";
|
import { MODEL_Transaksi_Investasi } from "../_lib/interface";
|
||||||
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
||||||
|
|
||||||
export default async function funCekSisaWaktuTransaksiInvestasi(
|
export default async function funCekSisaWaktuTransaksiInvestasi(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
||||||
import { MODEL_Transaksi_Investasi } from "../model/model_investasi";
|
import { MODEL_Transaksi_Investasi } from "../_lib/interface";
|
||||||
|
|
||||||
export default async function funCountDown(data: MODEL_Transaksi_Investasi) {
|
export default async function funCountDown(data: MODEL_Transaksi_Investasi) {
|
||||||
// const res = await prisma.transaksiInvestasi.findMany({
|
// const res = await prisma.transaksiInvestasi.findMany({
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default async function funCreateBeritaInvestasi(
|
export default async function funCreateBeritaInvestasi(
|
||||||
formData: FormData,
|
formData: FormData,
|
||||||
@@ -53,7 +53,7 @@ export default async function funCreateBeritaInvestasi(
|
|||||||
message: "Gagal Disimpan",
|
message: "Gagal Disimpan",
|
||||||
};
|
};
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.list_edit_berita);
|
revalidatePath(RouterInvestasi_OLD.list_edit_berita);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
status: 201,
|
status: 201,
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ import _ from "lodash";
|
|||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import funUploadProspektusInvestasi from "./fun_upload_prospek";
|
import funUploadProspektusInvestasi from "./fun_upload_prospek";
|
||||||
|
|
||||||
export async function funCreateInvestasi(
|
export async function funCreateInvestasi(
|
||||||
fileGambar: FormData,
|
fileGambar: FormData,
|
||||||
filePdf: FormData,
|
filePdf: FormData,
|
||||||
data: MODEL_Investasi
|
data: MODEL_INVESTASI
|
||||||
) {
|
) {
|
||||||
// Function upload gambar
|
// Function upload gambar
|
||||||
const gambar: any = fileGambar.get("file");
|
const gambar: any = fileGambar.get("file");
|
||||||
@@ -91,7 +91,7 @@ export async function funCreateInvestasi(
|
|||||||
const uploadFile = Buffer.from(await file.arrayBuffer());
|
const uploadFile = Buffer.from(await file.arrayBuffer());
|
||||||
fs.writeFileSync(`./public/file/${createFile.url}`, uploadFile);
|
fs.writeFileSync(`./public/file/${createFile.url}`, uploadFile);
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.main_porto);
|
revalidatePath(RouterInvestasi_OLD.main_porto);
|
||||||
return {
|
return {
|
||||||
data: createInvest,
|
data: createInvest,
|
||||||
status: 201,
|
status: 201,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_Transaksi_Investasi } from "../model/model_investasi";
|
import { MODEL_Transaksi_Investasi } from "../_lib/interface";
|
||||||
|
|
||||||
export default async function funCreateTransaksiInvestasi(
|
export default async function funCreateTransaksiInvestasi(
|
||||||
data: MODEL_Transaksi_Investasi,
|
data: MODEL_Transaksi_Investasi,
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { myConsole } from "@/app/fun/my_console";
|
import { myConsole } from "@/app/fun/my_console";
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export default async function funDeleteBeritaInvestasi(id: string) {
|
export default async function funDeleteBeritaInvestasi(id: string) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export default async function funDeleteInvestasi(id: string) {
|
export default async function funDeleteInvestasi(id: string) {
|
||||||
@@ -14,7 +14,7 @@ export default async function funDeleteInvestasi(id: string) {
|
|||||||
|
|
||||||
if (!res) return { status: 400, message: "Gagal Hapus Data" };
|
if (!res) return { status: 400, message: "Gagal Hapus Data" };
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.portofolio);
|
revalidatePath(RouterInvestasi_OLD.portofolio);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { Model_Berita_Investasi } from "../model/model_investasi";
|
import { Model_Berita_Investasi } from "../_lib/interface";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default async function funEditInvestasi(
|
export default async function funEditInvestasi(
|
||||||
formData: FormData,
|
formData: FormData,
|
||||||
data: MODEL_Investasi
|
data: MODEL_INVESTASI
|
||||||
) {
|
) {
|
||||||
const file = formData?.get("file");
|
const file = formData?.get("file");
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ export default async function funEditInvestasi(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.detail_draft);
|
revalidatePath(RouterInvestasi_OLD.detail_draft);
|
||||||
return {
|
return {
|
||||||
status: 200,
|
status: 200,
|
||||||
message: "Berhasil Disimpan",
|
message: "Berhasil Disimpan",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
import { RouterAdminInvestasi_OLD } from "@/app/lib/router_hipmi/router_admin";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ export default async function funGantiStatusInvestasi(
|
|||||||
|
|
||||||
if (!data) return { status: 400 };
|
if (!data) return { status: 400 };
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.portofolio);
|
revalidatePath(RouterInvestasi_OLD.portofolio);
|
||||||
revalidatePath(RouterAdminInvestasi_OLD.main_investasi);
|
revalidatePath(RouterAdminInvestasi_OLD.main_investasi);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -59,7 +59,7 @@ export default async function funGantiStatusInvestasi(
|
|||||||
|
|
||||||
if (!data) return { status: 400 };
|
if (!data) return { status: 400 };
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.portofolio);
|
revalidatePath(RouterInvestasi_OLD.portofolio);
|
||||||
revalidatePath(RouterAdminInvestasi_OLD.main_investasi);
|
revalidatePath(RouterAdminInvestasi_OLD.main_investasi);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export default async function funGantiStatusTransaksi_Investasi(
|
export default async function funGantiStatusTransaksi_Investasi(
|
||||||
@@ -28,7 +28,7 @@ export default async function funGantiStatusTransaksi_Investasi(
|
|||||||
|
|
||||||
if (!data) return { status: 400, message: "Status Gagal Diubah" };
|
if (!data) return { status: 400, message: "Status Gagal Diubah" };
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.main_transaksi)
|
revalidatePath(RouterInvestasi_OLD.main_transaksi)
|
||||||
return {
|
return {
|
||||||
data: data,
|
data: data,
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
|
|
||||||
export default async function funLoadDataInvestasi(id: string) {
|
export default async function funLoadDataInvestasi(id: string) {
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default async function funUpdateInvestasi(
|
export default async function funUpdateInvestasi(
|
||||||
dataLembarSaham: MODEL_Investasi,
|
dataLembarSaham: MODEL_INVESTASI,
|
||||||
dataInvestasi: MODEL_Investasi
|
dataInvestasi: MODEL_INVESTASI
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ export default async function funUpdateInvestasi(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.main);
|
revalidatePath(RouterInvestasi_OLD.main);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export interface Model_Midtrans_Success {
|
export interface Model_Midtrans_Success {
|
||||||
status_code: string;
|
status_code: string;
|
||||||
@@ -70,7 +70,7 @@ export default async function funUpdatePaymentInvestasi(
|
|||||||
|
|
||||||
if (!res) return { status: 400, message: "Gagal update transaksi" };
|
if (!res) return { status: 400, message: "Gagal update transaksi" };
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.main_transaksi);
|
revalidatePath(RouterInvestasi_OLD.main_transaksi);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"use server";
|
"use server";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
|
|
||||||
export default async function funUpadteProgresPersenInvestasi(data: MODEL_Investasi) {
|
export default async function funUpadteProgresPersenInvestasi(data: MODEL_INVESTASI) {
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
if (data.MasterProgresInvestasi.id !== "2" && data.progress === "100") {
|
if (data.MasterProgresInvestasi.id !== "2" && data.progress === "100") {
|
||||||
const res = await prisma.investasi.update({
|
const res = await prisma.investasi.update({
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
"use server";
|
"use server";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
|
|
||||||
export default async function funUpadteProgresWaktuInvestasi(data: MODEL_Investasi) {
|
export default async function funUpadteProgresWaktuInvestasi(data: MODEL_INVESTASI) {
|
||||||
|
|
||||||
const pencarian = data.MasterPencarianInvestor.name;
|
const pencarian = data.MasterPencarianInvestor.name;
|
||||||
const countD = moment(new Date()).diff(new Date(data.countDown), "days");
|
const countD = moment(new Date()).diff(new Date(data.countDown), "days");
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import _ from "lodash";
|
|||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default async function funUploadDokumenInvestasi(
|
export default async function funUploadDokumenInvestasi(
|
||||||
formData: FormData,
|
formData: FormData,
|
||||||
@@ -31,7 +31,7 @@ export default async function funUploadDokumenInvestasi(
|
|||||||
const upFolder = Buffer.from(await file.arrayBuffer());
|
const upFolder = Buffer.from(await file.arrayBuffer());
|
||||||
fs.writeFileSync(`./public/file/${uploadFile.url}`, upFolder);
|
fs.writeFileSync(`./public/file/${uploadFile.url}`, upFolder);
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.edit_dokumen);
|
revalidatePath(RouterInvestasi_OLD.edit_dokumen);
|
||||||
return {
|
return {
|
||||||
status: 201,
|
status: 201,
|
||||||
message: "File tersimpan ",
|
message: "File tersimpan ",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import _ from "lodash";
|
|||||||
import { v4 } from "uuid";
|
import { v4 } from "uuid";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { revalidatePath } from "next/cache";
|
import { revalidatePath } from "next/cache";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
|
|
||||||
export default async function funUploadProspektusInvestasi(
|
export default async function funUploadProspektusInvestasi(
|
||||||
formData: FormData,
|
formData: FormData,
|
||||||
@@ -33,7 +33,7 @@ export default async function funUploadProspektusInvestasi(
|
|||||||
const upFolder = Buffer.from(await file.arrayBuffer());
|
const upFolder = Buffer.from(await file.arrayBuffer());
|
||||||
fs.writeFileSync(`./public/file/${uploadFile.url}`, upFolder);
|
fs.writeFileSync(`./public/file/${uploadFile.url}`, upFolder);
|
||||||
|
|
||||||
revalidatePath(RouterInvestasi.edit_prospektus);
|
revalidatePath(RouterInvestasi_OLD.edit_prospektus);
|
||||||
return {
|
return {
|
||||||
status: 201,
|
status: 201,
|
||||||
message: "File tersimpan ",
|
message: "File tersimpan ",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import prisma from "@/app/lib/prisma";
|
import prisma from "@/app/lib/prisma";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { MODEL_Transaksi_Investasi } from "../model/model_investasi";
|
import { MODEL_Transaksi_Investasi } from "../_lib/interface";
|
||||||
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
import funGantiStatusTransaksi_Investasi from "./fun_ganti_status_transaksi";
|
||||||
|
|
||||||
export default async function getListAllTransaksiById_Investasi(
|
export default async function getListAllTransaksiById_Investasi(
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
|
||||||
import { ActionIcon, AppShell } from "@mantine/core";
|
import { ActionIcon, AppShell } from "@mantine/core";
|
||||||
import { IconDotsVertical, IconPencilPlus } from "@tabler/icons-react";
|
import { IconDotsVertical, IconPencilPlus } from "@tabler/icons-react";
|
||||||
@@ -27,7 +27,7 @@ export default function LayoutListEditBeritaInvestasi({
|
|||||||
id: "1",
|
id: "1",
|
||||||
name: "Tambah Berita",
|
name: "Tambah Berita",
|
||||||
icon: <IconPencilPlus />,
|
icon: <IconPencilPlus />,
|
||||||
path: RouterInvestasi.create_berita + `${idInves}`,
|
path: RouterInvestasi_OLD.create_berita + `${idInves}`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import {
|
import {
|
||||||
ActionIcon,
|
ActionIcon,
|
||||||
AspectRatio,
|
AspectRatio,
|
||||||
@@ -21,7 +21,7 @@ import { IconDots, IconEdit } from "@tabler/icons-react";
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import toast from "react-simple-toasts";
|
import toast from "react-simple-toasts";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import getOneInvestasiById from "../fun/get_one_investasi_by_id";
|
import getOneInvestasiById from "../fun/get_one_investasi_by_id";
|
||||||
@@ -35,7 +35,7 @@ import UIGlobal_Drawer from "@/app_modules/_global/ui/ui_drawer";
|
|||||||
export default function ListEditBeritaInvestasi({
|
export default function ListEditBeritaInvestasi({
|
||||||
dataInvestasi,
|
dataInvestasi,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [investasi, setInvestasi] = useState(dataInvestasi);
|
const [investasi, setInvestasi] = useState(dataInvestasi);
|
||||||
@@ -79,7 +79,7 @@ export default function ListEditBeritaInvestasi({
|
|||||||
color: "white",
|
color: "white",
|
||||||
marginBottom: "15px",
|
marginBottom: "15px",
|
||||||
}}
|
}}
|
||||||
onClick={() => router.push(RouterInvestasi.detail_berita + v.id)}
|
onClick={() => router.push(RouterInvestasi_OLD.detail_berita + v.id)}
|
||||||
>
|
>
|
||||||
<Stack spacing={"xs"}>
|
<Stack spacing={"xs"}>
|
||||||
<Group position="apart">
|
<Group position="apart">
|
||||||
@@ -141,7 +141,7 @@ export default function ListEditBeritaInvestasi({
|
|||||||
<Paper radius={10}>
|
<Paper radius={10}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${v.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${v.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</Paper>
|
</Paper>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterCrowd } from "@/app/lib/router_hipmi/router_crowd";
|
import { RouterCrowd } from "@/app/lib/router_hipmi/router_crowd";
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { MainColor } from "@/app_modules/_global/color/color_pallet";
|
import { MainColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
|
||||||
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
|
||||||
@@ -34,25 +34,25 @@ export default function LayoutMainInvestasi({
|
|||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: "Bursa",
|
name: "Bursa",
|
||||||
route: RouterInvestasi.main,
|
route: RouterInvestasi_OLD.main,
|
||||||
icon: <IconChartHistogram />,
|
icon: <IconChartHistogram />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "Portofolio",
|
name: "Portofolio",
|
||||||
route: RouterInvestasi.main_porto,
|
route: RouterInvestasi_OLD.main_porto,
|
||||||
icon: <IconChartPie />,
|
icon: <IconChartPie />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "Saham Saya",
|
name: "Saham Saya",
|
||||||
route: RouterInvestasi.main_investasi,
|
route: RouterInvestasi_OLD.main_investasi,
|
||||||
icon: <IconCash />,
|
icon: <IconCash />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
name: "Transaksi",
|
name: "Transaksi",
|
||||||
route: RouterInvestasi.main_transaksi,
|
route: RouterInvestasi_OLD.main_transaksi,
|
||||||
icon: <IconNotes />,
|
icon: <IconNotes />,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
import ComponentGlobal_CreateButton from "@/app_modules/_global/component/button_create";
|
import ComponentGlobal_CreateButton from "@/app_modules/_global/component/button_create";
|
||||||
@@ -26,14 +26,14 @@ import _ from "lodash";
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import mqtt_client from "@/util/mqtt_client";
|
import mqtt_client from "@/util/mqtt_client";
|
||||||
import { investasi_funGetAllPublish } from "../fun/get_all_investasi";
|
import { investasi_funGetAllPublish } from "../fun/get_all_investasi";
|
||||||
|
|
||||||
export default function MainInvestasi({
|
export default function MainInvestasi({
|
||||||
listData,
|
listData,
|
||||||
}: {
|
}: {
|
||||||
listData: MODEL_Investasi[];
|
listData: MODEL_INVESTASI[];
|
||||||
}) {
|
}) {
|
||||||
// console.log(listData)
|
// console.log(listData)
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -65,7 +65,7 @@ export default function MainInvestasi({
|
|||||||
</Affix>
|
</Affix>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<ComponentGlobal_CreateButton path={RouterInvestasi.create} />
|
<ComponentGlobal_CreateButton path={RouterInvestasi_OLD.create} />
|
||||||
|
|
||||||
{_.isEmpty(data) ? (
|
{_.isEmpty(data) ? (
|
||||||
<ComponentGlobal_IsEmptyData />
|
<ComponentGlobal_IsEmptyData />
|
||||||
@@ -84,7 +84,7 @@ export default function MainInvestasi({
|
|||||||
}}
|
}}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setLoadingDetail(true);
|
setLoadingDetail(true);
|
||||||
router.push(RouterInvestasi.detail + `${e.id}`);
|
router.push(RouterInvestasi_OLD.detail + `${e.id}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<CardSection py={"md"} px={"sm"}>
|
<CardSection py={"md"} px={"sm"}>
|
||||||
@@ -94,7 +94,7 @@ export default function MainInvestasi({
|
|||||||
<Image
|
<Image
|
||||||
radius={"sm"}
|
radius={"sm"}
|
||||||
alt="Foto"
|
alt="Foto"
|
||||||
src={RouterInvestasi.api_gambar + `${e.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${e.imagesId}`}
|
||||||
w={200}
|
w={200}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import { Warna } from "@/app/lib/warna";
|
import { Warna } from "@/app/lib/warna";
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
@@ -19,10 +19,10 @@ import { useRouter } from "next/navigation";
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import toast from "react-simple-toasts";
|
import toast from "react-simple-toasts";
|
||||||
import {
|
import {
|
||||||
MODEL_Investasi,
|
MODEL_INVESTASI,
|
||||||
MODEL_Transaksi_Investasi,
|
MODEL_Transaksi_Investasi,
|
||||||
MODEL_DATA_BANK,
|
MODEL_DATA_BANK,
|
||||||
} from "../model/model_investasi";
|
} from "../_lib/interface";
|
||||||
import { useAtom } from "jotai";
|
import { useAtom } from "jotai";
|
||||||
import { gs_TransferValue } from "../g_state";
|
import { gs_TransferValue } from "../g_state";
|
||||||
import getNorekInvestasi from "../fun/get_norek";
|
import getNorekInvestasi from "../fun/get_norek";
|
||||||
@@ -35,7 +35,7 @@ export default function MetodeTransferInvestasi({
|
|||||||
namaBank,
|
namaBank,
|
||||||
authorId,
|
authorId,
|
||||||
}: {
|
}: {
|
||||||
dataInvestasi: MODEL_Investasi;
|
dataInvestasi: MODEL_INVESTASI;
|
||||||
namaBank: MODEL_DATA_BANK[];
|
namaBank: MODEL_DATA_BANK[];
|
||||||
authorId: string;
|
authorId: string;
|
||||||
}) {
|
}) {
|
||||||
@@ -54,7 +54,7 @@ export default function MetodeTransferInvestasi({
|
|||||||
).then(async (res) => {
|
).then(async (res) => {
|
||||||
if (res.status === 201) {
|
if (res.status === 201) {
|
||||||
toast(res.message);
|
toast(res.message);
|
||||||
router.push(RouterInvestasi.transfer + `${res.res?.id}`);
|
router.push(RouterInvestasi_OLD.transfer + `${res.res?.id}`);
|
||||||
} else {
|
} else {
|
||||||
toast(res.message);
|
toast(res.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
import { Box } from "@mantine/core";
|
import { Box } from "@mantine/core";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { ComponentInvestasi_CardStatus } from "../component/detail/card_status";
|
import { ComponentInvestasi_CardStatus } from "../component/detail/card_status";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
|
|
||||||
export default function Draft({ data }: { data: MODEL_Investasi[] }) {
|
export default function Draft({ data }: { data: MODEL_INVESTASI[] }) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ export default function Draft({ data }: { data: MODEL_Investasi[] }) {
|
|||||||
<Box key={e.id}>
|
<Box key={e.id}>
|
||||||
<ComponentInvestasi_CardStatus
|
<ComponentInvestasi_CardStatus
|
||||||
data={e}
|
data={e}
|
||||||
path={RouterInvestasi.detail_draft}
|
path={RouterInvestasi_OLD.detail_draft}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import {
|
import {
|
||||||
AspectRatio,
|
AspectRatio,
|
||||||
Box,
|
Box,
|
||||||
@@ -16,11 +16,11 @@ import moment from "moment";
|
|||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import ComponentInvestasi_IsEmptyData from "../component/is_empty_data";
|
import ComponentInvestasi_IsEmptyData from "../component/is_empty_data";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
import { AccentColor } from "@/app_modules/_global/color/color_pallet";
|
||||||
|
|
||||||
export default function Publish({ data }: { data: MODEL_Investasi[] }) {
|
export default function Publish({ data }: { data: MODEL_INVESTASI[] }) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [sisaWaktu, setSisaWaktu] = useState();
|
const [sisaWaktu, setSisaWaktu] = useState();
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ export default function Publish({ data }: { data: MODEL_Investasi[] }) {
|
|||||||
<Paper
|
<Paper
|
||||||
key={e.id}
|
key={e.id}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
router.push(RouterInvestasi.detail_publish + `${e.id}`)
|
router.push(RouterInvestasi_OLD.detail_publish + `${e.id}`)
|
||||||
}
|
}
|
||||||
style={{
|
style={{
|
||||||
padding: "15px",
|
padding: "15px",
|
||||||
@@ -62,7 +62,7 @@ export default function Publish({ data }: { data: MODEL_Investasi[] }) {
|
|||||||
<Paper radius={"md"}>
|
<Paper radius={"md"}>
|
||||||
<Image
|
<Image
|
||||||
alt=""
|
alt=""
|
||||||
src={RouterInvestasi.api_gambar + `${e.imagesId}`}
|
src={RouterInvestasi_OLD.api_gambar + `${e.imagesId}`}
|
||||||
/>
|
/>
|
||||||
</Paper>
|
</Paper>
|
||||||
</AspectRatio>
|
</AspectRatio>
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
|
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
|
||||||
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
|
||||||
import { Box } from "@mantine/core";
|
import { Box } from "@mantine/core";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { ComponentInvestasi_CardStatus } from "../component/detail/card_status";
|
import { ComponentInvestasi_CardStatus } from "../component/detail/card_status";
|
||||||
import { MODEL_Investasi } from "../model/model_investasi";
|
import { MODEL_INVESTASI } from "../_lib/interface";
|
||||||
|
|
||||||
export default function Reject({ data }: { data: MODEL_Investasi[] }) {
|
export default function Reject({ data }: { data: MODEL_INVESTASI[] }) {
|
||||||
const [investasi, setInvestasi] = useState(data);
|
const [investasi, setInvestasi] = useState(data);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ export default function Reject({ data }: { data: MODEL_Investasi[] }) {
|
|||||||
<Box key={e.id}>
|
<Box key={e.id}>
|
||||||
<ComponentInvestasi_CardStatus
|
<ComponentInvestasi_CardStatus
|
||||||
data={e}
|
data={e}
|
||||||
path={RouterInvestasi.detail_reject}
|
path={RouterInvestasi_OLD.detail_reject}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user