diff --git a/src/app/dev/admin/investasi/status_transfer/layout.tsx b/src/app/dev/admin/investasi/status_transfer/layout.tsx
new file mode 100644
index 00000000..549f12ff
--- /dev/null
+++ b/src/app/dev/admin/investasi/status_transfer/layout.tsx
@@ -0,0 +1,16 @@
+import { Admin_LayoutStatusTransferInvesatasi } from "@/app_modules/admin/investasi";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+
+ {children}
+
+ >
+ );
+}
diff --git a/src/app/dev/admin/investasi/status_transfer/page.tsx b/src/app/dev/admin/investasi/status_transfer/page.tsx
new file mode 100644
index 00000000..8a5203a3
--- /dev/null
+++ b/src/app/dev/admin/investasi/status_transfer/page.tsx
@@ -0,0 +1,8 @@
+import { Admin_StatusTransferInvesatasi } from "@/app_modules/admin/investasi";
+
+export default async function Page() {
+ return<>
+
+ >
+
+}
\ No newline at end of file
diff --git a/src/app/dev/investasi/dialog_page/layout.tsx b/src/app/dev/investasi/dialog_page/layout.tsx
new file mode 100644
index 00000000..9184d8ea
--- /dev/null
+++ b/src/app/dev/investasi/dialog_page/layout.tsx
@@ -0,0 +1,8 @@
+import LayoutCountDownTransaksiInvestasi from "@/app_modules/investasi/dialog_page/transaksi_saham/layout";
+import React from "react";
+
+export default async function Layout({children}: {children: React.ReactNode}) {
+ return<>
+ {children}
+ >
+}
\ No newline at end of file
diff --git a/src/app/dev/investasi/konfirmasi/page.tsx b/src/app/dev/investasi/dialog_page/page.tsx
similarity index 100%
rename from src/app/dev/investasi/konfirmasi/page.tsx
rename to src/app/dev/investasi/dialog_page/page.tsx
diff --git a/src/app/dev/investasi/status_transaksi/layout.tsx b/src/app/dev/investasi/status_transaksi/layout.tsx
new file mode 100644
index 00000000..6b2fd6be
--- /dev/null
+++ b/src/app/dev/investasi/status_transaksi/layout.tsx
@@ -0,0 +1,9 @@
+
+import { LayoutStatusTransaksiInvestasi } from "@/app_modules/investasi";
+import React from "react";
+
+export default async function Layout({children}: {children: React.ReactNode}) {
+ return<>
+ {children}
+ >
+}
\ No newline at end of file
diff --git a/src/app/dev/investasi/status_transaksi/page.tsx b/src/app/dev/investasi/status_transaksi/page.tsx
new file mode 100644
index 00000000..b751d50b
--- /dev/null
+++ b/src/app/dev/investasi/status_transaksi/page.tsx
@@ -0,0 +1,8 @@
+import { StatusTransaksiInvestasi } from "@/app_modules/investasi";
+
+
+export default async function Page() {
+ return<>
+
+ >
+}
\ No newline at end of file
diff --git a/src/app/dev/investasi/transfer/layout.tsx b/src/app/dev/investasi/transfer/layout.tsx
new file mode 100644
index 00000000..a5a1a6b9
--- /dev/null
+++ b/src/app/dev/investasi/transfer/layout.tsx
@@ -0,0 +1,14 @@
+import { LayoutTransferInvestasi } from "@/app_modules/investasi";
+import React from "react";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ {children}
+ >
+ );
+}
diff --git a/src/app/dev/investasi/transfer/page.tsx b/src/app/dev/investasi/transfer/page.tsx
new file mode 100644
index 00000000..f7c79591
--- /dev/null
+++ b/src/app/dev/investasi/transfer/page.tsx
@@ -0,0 +1,7 @@
+import { TransferInvestasi } from "@/app_modules/investasi";
+
+export default async function Page() {
+ return<>
+
+ >
+}
\ No newline at end of file
diff --git a/src/app/lib/router_hipmi/router_admin.ts b/src/app/lib/router_hipmi/router_admin.ts
index cb3fdc22..3295e8b3 100644
--- a/src/app/lib/router_hipmi/router_admin.ts
+++ b/src/app/lib/router_hipmi/router_admin.ts
@@ -6,7 +6,8 @@ export const RouterAdminInvestasi = {
main_investasi: "/dev/admin/main/investasi",
halaman_aksi: "/dev/admin/investasi/halaman_aksi/",
konfirmasi: "/dev/admin/investasi/konfirmasi",
- bukti_transfer: "/dev/admin/investasi/bukti_transfer"
+ bukti_transfer: "/dev/admin/investasi/bukti_transfer",
+ status_transfer: "/dev/admin/investasi/status_transfer"
};
export const RouterAdminAward = {
diff --git a/src/app/lib/router_hipmi/router_home.ts b/src/app/lib/router_hipmi/router_home.ts
new file mode 100644
index 00000000..b38c64f1
--- /dev/null
+++ b/src/app/lib/router_hipmi/router_home.ts
@@ -0,0 +1,3 @@
+export const RouterHome = {
+ main_home: "/dev/home"
+}
\ No newline at end of file
diff --git a/src/app/lib/router_hipmi/router_investasi.ts b/src/app/lib/router_hipmi/router_investasi.ts
index 0c2e3b13..bf9d9953 100644
--- a/src/app/lib/router_hipmi/router_investasi.ts
+++ b/src/app/lib/router_hipmi/router_investasi.ts
@@ -1,7 +1,10 @@
export const RouterInvestasi = {
//INVESTASI
-// portofolio
-portofolio: "/dev/investasi/main/portofolio",
+ transfer: "/dev/investasi/transfer",
+ dialog_page: "/dev/investasi/dialog_page",
+ status_transaksi: "/dev/investasi/status_transaksi",
+ // portofolio
+ portofolio: "/dev/investasi/main/portofolio",
// proses beli saham
metode_transfer: "/dev/investasi/metode_transfer",
// edit //
diff --git a/src/app_modules/admin/investasi/bukti_transfer/view.tsx b/src/app_modules/admin/investasi/bukti_transfer/view.tsx
index 8fdebcea..75127ec8 100644
--- a/src/app_modules/admin/investasi/bukti_transfer/view.tsx
+++ b/src/app_modules/admin/investasi/bukti_transfer/view.tsx
@@ -1,5 +1,7 @@
"use client";
+import { RouterAdminInvestasi } from "@/app/lib/router_hipmi/router_admin";
+import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import {
Avatar,
Badge,
@@ -11,8 +13,10 @@ import {
Title,
} from "@mantine/core";
import { IconChevronRight } from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
export default function Admin_BuktiTransferInvestasi() {
+ const router = useRouter()
const listUsername = [
{
id: 1,
@@ -37,7 +41,7 @@ export default function Admin_BuktiTransferInvestasi() {
<>
{/* Box Username */}
{listUsername.map((e) => (
-
+ router.push(RouterAdminInvestasi.status_transfer)}>
Username
diff --git a/src/app_modules/admin/investasi/index.tsx b/src/app_modules/admin/investasi/index.tsx
index 3016bd04..79fc0b57 100644
--- a/src/app_modules/admin/investasi/index.tsx
+++ b/src/app_modules/admin/investasi/index.tsx
@@ -5,6 +5,8 @@ import Admin_KonfirmasiInvestasi from "./konfirmasi/view";
import Admin_LayoutKonfirmasiInvestasi from "./konfirmasi/layout";
import Admin_BuktiTransferInvestasi from "./bukti_transfer/view";
import Admin_LayoutBuktiTransferInvestasi from "./bukti_transfer/layout";
+import Admin_StatusTransferInvesatasi from "./status_transfer/view";
+import Admin_LayoutStatusTransferInvesatasi from "./status_transfer/layout";
export {
Admin_Investasi,
@@ -14,4 +16,6 @@ export {
Admin_LayoutKonfirmasiInvestasi,
Admin_BuktiTransferInvestasi,
Admin_LayoutBuktiTransferInvestasi,
+ Admin_StatusTransferInvesatasi,
+ Admin_LayoutStatusTransferInvesatasi,
};
diff --git a/src/app_modules/admin/investasi/status_transfer/layout.tsx b/src/app_modules/admin/investasi/status_transfer/layout.tsx
new file mode 100644
index 00000000..02aab0e9
--- /dev/null
+++ b/src/app_modules/admin/investasi/status_transfer/layout.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import HeaderTamplate from "@/app_modules/component/header_tamplate";
+import { AppShell } from "@mantine/core";
+import React from "react";
+
+export default function Admin_LayoutStatusTransferInvesatasi({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+ <>
+ }>
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/admin/investasi/status_transfer/view.tsx b/src/app_modules/admin/investasi/status_transfer/view.tsx
new file mode 100644
index 00000000..843b3ee6
--- /dev/null
+++ b/src/app_modules/admin/investasi/status_transfer/view.tsx
@@ -0,0 +1,58 @@
+"use client";
+
+import { Warna } from "@/app/lib/warna";
+import {
+ AspectRatio,
+ Avatar,
+ Button,
+ Center,
+ Group,
+ Image,
+ Select,
+ Stack,
+ Text,
+ Title,
+} from "@mantine/core";
+import { useRouter } from "next/navigation";
+
+export default function Admin_StatusTransferInvesatasi() {
+ const router = useRouter();
+ return (
+ <>
+
+
+
+ Username
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/admin/main/layout.tsx b/src/app_modules/admin/main/layout.tsx
index 5ace3758..82dc12a0 100644
--- a/src/app_modules/admin/main/layout.tsx
+++ b/src/app_modules/admin/main/layout.tsx
@@ -25,6 +25,7 @@ import {
RouterAdminInvestasi,
} from "@/app/lib/router_hipmi/router_admin";
import { useRouter } from "next/navigation";
+import { RouterHome } from "@/app/lib/router_hipmi/router_home";
export default function AdminLayout({
children,
@@ -69,7 +70,7 @@ export default function AdminLayout({
/>
Dashboard Admin
-
+ router.push(RouterHome.main_home)}>
diff --git a/src/app_modules/crowd/main/view.tsx b/src/app_modules/crowd/main/view.tsx
index ceb4982a..34a996cd 100644
--- a/src/app_modules/crowd/main/view.tsx
+++ b/src/app_modules/crowd/main/view.tsx
@@ -1,12 +1,15 @@
"use client";
import { Warna } from "@/app/lib/warna";
+import { gs_investasiFooter } from "@/app_modules/investasi/g_state";
import { Button, Center, Stack, Text, Title } from "@mantine/core";
+import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import toast from "react-simple-toasts";
export default function MainCrowd() {
const router = useRouter();
+ const [changeColor, setChangeColor] = useAtom(gs_investasiFooter)
return (
<>
@@ -17,7 +20,10 @@ export default function MainCrowd() {
w={300}
radius={50}
bg={Warna.hijau_tua}
- onClick={() => router.push("/dev/investasi/main")}
+ onClick={() => {
+ router.push("/dev/investasi/main")
+ setChangeColor(false)
+ }}
>
Investasi
diff --git a/src/app_modules/investasi/create/view.tsx b/src/app_modules/investasi/create/view.tsx
index 4b0e0b91..db50c479 100644
--- a/src/app_modules/investasi/create/view.tsx
+++ b/src/app_modules/investasi/create/view.tsx
@@ -21,6 +21,8 @@ import { useState } from "react";
import { funCreateInvestasi } from "../fun/fun_create_investasi";
import toast from "react-simple-toasts";
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
+import { useAtom } from "jotai";
+import { gs_investasiFooter } from "../g_state";
export default function InvestasiCreate({
id,
@@ -36,6 +38,7 @@ export default function InvestasiCreate({
const router = useRouter();
const [fl, setFl] = useState(null);
const [img, setImg] = useState();
+ const [changeColor, setChangeColor] = useAtom(gs_investasiFooter)
const [value, setValue] = useState({
title: "",
targetDana: "",
@@ -60,6 +63,7 @@ export default function InvestasiCreate({
masterPencarianInvestorId: value.pencarianInvestorId,
};
toast("Berhasil disimpan")
+ setChangeColor(true)
return setTimeout(() => router.push(RouterInvestasi.portofolio), 2000);
diff --git a/src/app_modules/investasi/dialog_page/transaksi_saham/layout.tsx b/src/app_modules/investasi/dialog_page/transaksi_saham/layout.tsx
new file mode 100644
index 00000000..f7fe5210
--- /dev/null
+++ b/src/app_modules/investasi/dialog_page/transaksi_saham/layout.tsx
@@ -0,0 +1,30 @@
+"use client";
+
+import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
+import { AppShell, CloseButton, Group, Header, Text } from "@mantine/core";
+import { useRouter } from "next/navigation";
+import React from "react";
+
+export default function LayoutCountDownTransaksiInvestasi({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const router = useRouter()
+ return (
+ <>
+
+
+ router.push(RouterInvestasi.portofolio)} />
+ Status Transfer
+
+
+ }
+ >
+ {children}
+
+ >
+ );
+}
diff --git a/src/app_modules/investasi/dialog_page/transaksi_saham/view.tsx b/src/app_modules/investasi/dialog_page/transaksi_saham/view.tsx
new file mode 100644
index 00000000..e0fde521
--- /dev/null
+++ b/src/app_modules/investasi/dialog_page/transaksi_saham/view.tsx
@@ -0,0 +1,44 @@
+"use client";
+
+import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
+import { Box, Center, Loader, Stack, Text, Title } from "@mantine/core";
+import { useShallowEffect } from "@mantine/hooks";
+import { IconCircleCheck } from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
+
+export default function CountDownTransaksiInvestasi() {
+ const router = useRouter();
+ useShallowEffect(() => {
+ setTimeout(() => router.push(RouterInvestasi.status_transaksi), 10000);
+ }, []);
+
+ return (
+ <>
+
+
+ {/*
+
+ Transfer Berhasil
+
+
+
+
+ */}
+
+
+
+ Xendit sedang memproses transaksimu
+
+ 09:57
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/investasi/dummy/data_dummy.json b/src/app_modules/investasi/dummy/data_dummy.json
index 9e3d83d0..4c5ada84 100644
--- a/src/app_modules/investasi/dummy/data_dummy.json
+++ b/src/app_modules/investasi/dummy/data_dummy.json
@@ -39,8 +39,8 @@
"persentase": 60,
"saham_beli": 0,
"statusPorto": {
- "id": 2,
- "status": "Review"
+ "id": 3,
+ "status": "Accept"
}
},
{
diff --git a/src/app_modules/investasi/g_state/index.ts b/src/app_modules/investasi/g_state/index.ts
new file mode 100644
index 00000000..8c33d27a
--- /dev/null
+++ b/src/app_modules/investasi/g_state/index.ts
@@ -0,0 +1,3 @@
+import { atomWithStorage } from "jotai/utils";
+
+export const gs_investasiFooter = atomWithStorage("changeColor", false)
\ No newline at end of file
diff --git a/src/app_modules/investasi/index.ts b/src/app_modules/investasi/index.ts
index 98097bbe..8b03c98a 100644
--- a/src/app_modules/investasi/index.ts
+++ b/src/app_modules/investasi/index.ts
@@ -10,7 +10,8 @@ import ProsesInvestasi from "./proses_investasi/view";
import LayoutProsesInvestasi from "./proses_investasi/layout";
import UploadBuktiTransferInvestasi from "./upload_bukti/view";
import LayoutBuktiTransferInvestasi from "./upload_bukti/layout";
-import KonfirmasiBuktiInvestasi from "./konfirmasi/view";
+import CountDownTransaksiInvestasi from "./dialog_page/transaksi_saham/view";
+import LayoutCountDownTransaksiInvestasi from "./dialog_page/transaksi_saham/layout";
import PortofolioInvestasi from "./portofolio/view";
import PortofolioDetailInvestasi from "./detail_porto/view";
import LayoutPortofolioDetailInvestasi from "./detail_porto/layout";
@@ -36,6 +37,10 @@ import BeritaInvestasi from "./berita/view";
import LayoutBeritaInvestasi from "./berita/layout";
import MetodeTransferInvestasi from "./metode_transfer/view";
import LayoutMetodeTransferInvestasi from "./metode_transfer/layout";
+import TransferInvestasi from "./transfer/view";
+import LayoutTransferInvestasi from "./transfer/layout";
+import StatusTransaksiInvestasi from "./status_transaksi/view";
+import LayoutStatusTransaksiInvestasi from "./status_transaksi/layout";
export {
MainInvestasi,
@@ -50,7 +55,8 @@ export {
LayoutProsesInvestasi,
UploadBuktiTransferInvestasi,
LayoutBuktiTransferInvestasi,
- KonfirmasiBuktiInvestasi,
+ CountDownTransaksiInvestasi as KonfirmasiBuktiInvestasi,
+ LayoutCountDownTransaksiInvestasi as LayoutKonfirmasiBuktiInvestasi,
PortofolioInvestasi,
PortofolioDetailInvestasi,
LayoutPortofolioDetailInvestasi,
@@ -76,4 +82,8 @@ export {
LayoutBeritaInvestasi as LayoutBeritaInvestasi,
MetodeTransferInvestasi,
LayoutMetodeTransferInvestasi,
+ TransferInvestasi,
+ LayoutTransferInvestasi,
+ StatusTransaksiInvestasi,
+ LayoutStatusTransaksiInvestasi,
};
diff --git a/src/app_modules/investasi/konfirmasi/view.tsx b/src/app_modules/investasi/konfirmasi/view.tsx
deleted file mode 100644
index 5c2ee49d..00000000
--- a/src/app_modules/investasi/konfirmasi/view.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-"use client";
-
-import { Center, Stack, Text } from "@mantine/core";
-import { useShallowEffect } from "@mantine/hooks";
-import { IconCircleCheck } from "@tabler/icons-react";
-import { useRouter } from "next/navigation";
-
-export default function KonfirmasiBuktiInvestasi() {
- const router = useRouter();
- useShallowEffect(() => {
- setTimeout(() => router.push("/dev/investasi/main/portofolio"), 2000);
- }, []);
-
- return (
- <>
-
-
- Bukti Transfer Berhasil Di Upload
-
-
-
-
-
- >
- );
-}
diff --git a/src/app_modules/investasi/main/layout.tsx b/src/app_modules/investasi/main/layout.tsx
index 207b614c..939aff37 100644
--- a/src/app_modules/investasi/main/layout.tsx
+++ b/src/app_modules/investasi/main/layout.tsx
@@ -14,11 +14,14 @@ import {
} from "@mantine/core";
import {
IconChartHistogram,
+ IconChartPie,
IconChartPieFilled,
IconPencilPlus,
} from "@tabler/icons-react";
+import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import React, { useState } from "react";
+import { gs_investasiFooter } from "../g_state";
export default function LayoutMainInvestasi({
children,
@@ -26,6 +29,7 @@ export default function LayoutMainInvestasi({
children: React.ReactNode;
}) {
const router = useRouter();
+ const [changeColor, setChangeColor] = useAtom(gs_investasiFooter);
return (
<>
@@ -41,33 +45,37 @@ export default function LayoutMainInvestasi({
footer={