diff --git a/src/app/api/new/donasi/route.ts b/src/app/api/new/donasi/route.ts
index 2782e7de..22d9449d 100644
--- a/src/app/api/new/donasi/route.ts
+++ b/src/app/api/new/donasi/route.ts
@@ -46,23 +46,44 @@ export async function GET(request: Request) {
..._.omit(v, ["DonasiMaster_Durasi"]),
nameDonasiDurasi: v.DonasiMaster_Durasi.name
}))
- } else {
+ } else if (kategori == "galang-dana") {
const userLoginId = await funGetUserIdByToken()
if (userLoginId == null) {
return NextResponse.json({ success: false, message: "Gagal mendapatkan data, user id tidak ada" }, { status: 500 });
}
- dataFix = await prisma.donasi.findMany({
+ const data = await prisma.donasi.findMany({
take: 5,
skip: dataSkip,
where: {
authorId: userLoginId,
donasiMaster_StatusDonasiId: status,
+ active: true,
+ },
+ select: {
+ id: true,
+ title: true,
+ imagesId: true,
+ target: true,
+ progres: true,
+ publishTime: true,
+ DonasiMaster_Durasi: {
+ select: {
+ name: true
+ }
+ },
+ terkumpul: true,
+ imageId: true,
},
orderBy: {
updatedAt: "desc",
},
});
+
+ dataFix = data.map((v: any) => ({
+ ..._.omit(v, ["DonasiMaster_Durasi"]),
+ nameDonasiDurasi: v.DonasiMaster_Durasi.name
+ }))
}
return NextResponse.json({ success: true, message: "Berhasil mendapatkan data", data: dataFix }, { status: 200 });
diff --git a/src/app/dev/donasi/main/galang_dana/[id]/page.tsx b/src/app/dev/donasi/main/galang_dana/[id]/page.tsx
index b4ff467c..c3cfa869 100644
--- a/src/app/dev/donasi/main/galang_dana/[id]/page.tsx
+++ b/src/app/dev/donasi/main/galang_dana/[id]/page.tsx
@@ -1,27 +1,23 @@
-import { GalangDanaDonasiNew, PostingDonasi } from "@/app_modules/donasi";
-import { donasi_funGetAllStatusById } from "@/app_modules/donasi/fun";
-import { donasi_funMasterStatusDonasi } from "@/app_modules/donasi/fun/master/get_status_donasi";
+import { GalangDanaDonasiNew } from "@/app_modules/donasi";
export default async function Page({ params }: { params: { id: string } }) {
- const statusId = params.id;
+ // const statusId = params.id;
- const listStatus = await donasi_funMasterStatusDonasi();
- const dataDonasi = await donasi_funGetAllStatusById({
- page: 1,
- statusId: statusId,
- });
+ // const listStatus = await donasi_funMasterStatusDonasi();
+ // const dataDonasi = await donasi_funGetAllStatusById({
+ // page: 1,
+ // statusId: statusId,
+ // });
return (
<>
-
+ /> */}
-
- {/* NANTI AJA LANJUT -- KEJAR TAYANG :) */}
- {/* */}
+
>
);
}
diff --git a/src/app/dev/investasi/main/portofolio/[id]/page.tsx b/src/app/dev/investasi/main/portofolio/[id]/page.tsx
index b9307680..4b135800 100644
--- a/src/app/dev/investasi/main/portofolio/[id]/page.tsx
+++ b/src/app/dev/investasi/main/portofolio/[id]/page.tsx
@@ -1,10 +1,8 @@
-import { investasi_funGetPortofolioByStatusId } from "@/app_modules/investasi/_fun";
-import { Investasi_UiPortofolio, Investasi_UiPortofolioNew } from "@/app_modules/investasi/_ui";
-import getStatusInvestasi from "@/app_modules/investasi/fun/master/get_status_investasi";
+import { Investasi_UiPortofolioNew } from "@/app_modules/investasi/_ui";
export default async function Page({ params }: { params: { id: string } }) {
// const statusId = params.id;
- const listStatus = await getStatusInvestasi();
+ // const listStatus = await getStatusInvestasi();
// const dataPortofolio = await investasi_funGetPortofolioByStatusId({
// page: 1,
// statusId: statusId,
@@ -17,7 +15,7 @@ export default async function Page({ params }: { params: { id: string } }) {
listStatus={listStatus as any}
dataPortofolio={dataPortofolio as any}
/> */}
-
+
>
);
}
diff --git a/src/app_modules/donasi/component/card_view/card_publish_new.tsx b/src/app_modules/donasi/component/card_view/card_publish_new.tsx
index ab84a3a2..885fa359 100644
--- a/src/app_modules/donasi/component/card_view/card_publish_new.tsx
+++ b/src/app_modules/donasi/component/card_view/card_publish_new.tsx
@@ -13,8 +13,6 @@ export default function ComponentDonasi_CardPublishNew({ data }: { data: any; })
<>
{
- // DELSOON
- console.log(RouterDonasi.detail_main + `${data.id}`)
router.push(RouterDonasi.detail_main + `${data.id}`)
}}
>
diff --git a/src/app_modules/donasi/component/card_view/card_status_new.tsx b/src/app_modules/donasi/component/card_view/card_status_new.tsx
new file mode 100644
index 00000000..0d2d888e
--- /dev/null
+++ b/src/app_modules/donasi/component/card_view/card_status_new.tsx
@@ -0,0 +1,53 @@
+import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
+import { ComponentGlobal_CardStyles, ComponentGlobal_LoadImageCustom } from "@/app_modules/_global/component";
+import { Grid, Stack, Text } from "@mantine/core";
+import { useParams, useRouter } from "next/navigation";
+import { IDataAllDonasi } from "../../lib/type_donasi";
+
+export function ComponentDonasi_CardStatusNew({ data }: { data: IDataAllDonasi; }) {
+ const router = useRouter();
+ const param = useParams<{ id: string }>();
+
+ function goToDetail() {
+ if (param.id == "2") {
+ router.push(RouterDonasi.detail_review + `${data.id}`);
+ } else if (param.id == "3") {
+ router.push(RouterDonasi.detail_draft + `${data.id}`);
+ } else if (param.id == "4") {
+ router.push(RouterDonasi.detail_reject + `${data.id}`);
+ }
+ }
+
+ return (
+ <>
+ { goToDetail() }} >
+
+
+
+
+
+
+
+
+ {data.title}
+
+
+ Target Dana
+
+ Rp.{" "}
+ {new Intl.NumberFormat("id-ID", {
+ maximumFractionDigits: 10,
+ }).format(+data.target)}
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/app_modules/donasi/lib/type_donasi.ts b/src/app_modules/donasi/lib/type_donasi.ts
index fabb23d5..2931b59f 100644
--- a/src/app_modules/donasi/lib/type_donasi.ts
+++ b/src/app_modules/donasi/lib/type_donasi.ts
@@ -5,5 +5,6 @@ export interface IDataAllDonasi {
publishTime: Date
progres: string
terkumpul: string
+ target: string
nameDonasiDurasi: string
}
\ No newline at end of file
diff --git a/src/app_modules/donasi/main/beranda_new.tsx b/src/app_modules/donasi/main/beranda_new.tsx
index 04385702..a8c4dde1 100644
--- a/src/app_modules/donasi/main/beranda_new.tsx
+++ b/src/app_modules/donasi/main/beranda_new.tsx
@@ -37,7 +37,7 @@ export default function MainDonasiNew() {
async function onLoadData({ onPublish }: { onPublish: (val: any) => void }) {
setIsLoading(true);
const loadData = await apiGetAllDonasi(`?cat=beranda&page=1`)
- onPublish(loadData);
+ onPublish(loadData.data)
setIsShowUpdate(false);
setIsTriggerDonasiBeranda(false);
@@ -117,7 +117,7 @@ export default function MainDonasiNew() {
setActivePage((val) => val + 1);
- return loadData;
+ return loadData.data;
}}
>
{(item) => (
diff --git a/src/app_modules/donasi/main/galang_dana/donasi_galang_dana_new.tsx b/src/app_modules/donasi/main/galang_dana/donasi_galang_dana_new.tsx
new file mode 100644
index 00000000..d4d81c42
--- /dev/null
+++ b/src/app_modules/donasi/main/galang_dana/donasi_galang_dana_new.tsx
@@ -0,0 +1,80 @@
+"use client";
+import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
+import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
+import { Box, Center } from "@mantine/core";
+import { useShallowEffect } from "@mantine/hooks";
+import _ from "lodash";
+import { ScrollOnly } from "next-scroll-loader";
+import { useParams } from "next/navigation";
+import { useState } from "react";
+import ComponentDonasi_CardPublishNew from "../../component/card_view/card_publish_new";
+import SkeletonDonasi from "../../component/skeleton_donasi";
+import { apiGetAllDonasi } from "../../lib/api_donasi";
+import { IDataAllDonasi } from "../../lib/type_donasi";
+import { ComponentDonasi_CardStatusNew } from "../../component/card_view/card_status_new";
+
+export default function Donasi_ViewGalangDanaNew() {
+ const param = useParams<{ id: string }>();;
+ const [data, setData] = useState([]);
+ const [activePage, setActivePage] = useState(1);
+ const [loading, setLoading] = useState(true)
+
+ async function getDataGalangDana() {
+ try {
+ setLoading(true)
+ const response = await apiGetAllDonasi(`?cat=galang-dana&status=${param.id}&page=1`)
+ if (response.success) {
+ setData(response.data);
+ }
+ } catch (error) {
+ console.error(error);
+ } finally {
+ setLoading(false)
+ }
+ }
+
+
+ useShallowEffect(() => {
+ getDataGalangDana()
+ }, []);
+
+ return (
+ <>
+ {
+ loading ?
+ :
+ _.isEmpty(data) ? (
+
+ ) : (
+
+ (
+
+
+
+ )}
+ data={data}
+ setData={setData}
+ moreData={async () => {
+ const pageNew = activePage + 1
+ const loadData = await apiGetAllDonasi(`?cat=galang-dana&status=${param.id}&page=${pageNew}`)
+ setActivePage((val) => val + 1);
+
+ return loadData.data;
+ }}
+ >
+ {
+ param.id == "1" ?
+ (item) => ()
+ :
+ (item) => ()
+
+ }
+
+
+ )
+ }
+ >
+ );
+}
diff --git a/src/app_modules/donasi/main/galang_dana/ui_galang_dana_new.tsx b/src/app_modules/donasi/main/galang_dana/ui_galang_dana_new.tsx
index dea0613a..1aa553df 100644
--- a/src/app_modules/donasi/main/galang_dana/ui_galang_dana_new.tsx
+++ b/src/app_modules/donasi/main/galang_dana/ui_galang_dana_new.tsx
@@ -1,13 +1,31 @@
"use client";
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
import { AccentColor, MainColor, } from "@/app_modules/_global/color/color_pallet";
-import { MODEL_NEW_DEFAULT_MASTER } from "@/app_modules/model_global/interface";
import { Stack, Tabs } from "@mantine/core";
import { useParams, useRouter } from "next/navigation";
+import Donasi_ViewGalangDanaNew from "./donasi_galang_dana_new";
-export default function GalangDanaDonasiNew({listStatus,}: {listStatus: MODEL_NEW_DEFAULT_MASTER[]; }) {
+export default function GalangDanaDonasiNew() {
const router = useRouter();
const param = useParams<{ id: string }>();
+ const status = [
+ {
+ id: "1",
+ name: "Publish"
+ },
+ {
+ id: "2",
+ name: "Review"
+ },
+ {
+ id: "3",
+ name: "Draft"
+ },
+ {
+ id: "4",
+ name: "Reject"
+ }
+ ]
async function onChangeStatus({ statusId }: { statusId: string }) {
router.replace(RouterDonasi.status_galang_dana({ id: statusId }));
@@ -34,7 +52,7 @@ export default function GalangDanaDonasiNew({listStatus,}: {listStatus: MODEL_NE
>
- {listStatus.map((e, i) => (
+ {status.map((e, i) => (
))}
-
- {/* {param.id == "1" && }
-
- {param.id == "2" && }
-
- {param.id == "3" && }
-
- {param.id == "4" && } */}
+
>
diff --git a/src/app_modules/investasi/_ui/main/ui_portofolio_new.tsx b/src/app_modules/investasi/_ui/main/ui_portofolio_new.tsx
index e21c6d28..05b97ad2 100644
--- a/src/app_modules/investasi/_ui/main/ui_portofolio_new.tsx
+++ b/src/app_modules/investasi/_ui/main/ui_portofolio_new.tsx
@@ -1,14 +1,35 @@
"use client";
import { NEW_RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import { AccentColor, MainColor } from "@/app_modules/_global/color";
-import { MODEL_NEW_DEFAULT_MASTER } from "@/app_modules/model_global/interface";
import { Stack, Tabs } from "@mantine/core";
import { useParams, useRouter } from "next/navigation";
import { Investasi_ViewPortofolioNew } from "../../_view/main/portofolio/view_portofolio_new";
-export function Investasi_UiPortofolioNew({ listStatus }: { listStatus: MODEL_NEW_DEFAULT_MASTER[] }) {
+export function Investasi_UiPortofolioNew() {
const param = useParams<{ id: string }>();
const router = useRouter();
+ const status = [
+ {
+ id: "1",
+ name: "Publish",
+ color: "green"
+ },
+ {
+ id: "2",
+ name: "Review",
+ color: "orange"
+ },
+ {
+ id: "3",
+ name: "Draft",
+ color: "yellow"
+ },
+ {
+ id: "4",
+ name: "Reject",
+ color: "red"
+ }
+ ]
return (
<>
@@ -30,7 +51,7 @@ export function Investasi_UiPortofolioNew({ listStatus }: { listStatus: MODEL_NE
>
- {listStatus.map((e) => (
+ {status.map((e) => (
val + 1);
- return loadData;
+ return loadData.data;
}}
>
{