From 0371ca5e0137354bb0d7a89300aa112112cf194d Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Mon, 28 Oct 2024 10:24:38 +0800 Subject: [PATCH] Fix: Image donasi Deksripsi: - Tampilan image dari server wibu - Upload image ke server wibu ## No Issue --- package.json | 6 +- .../create/cerita_penggalang/[id]/layout.tsx | 4 +- .../create/create_kabar/[id]/loading.tsx | 9 - .../donasi/create/create_kabar/[id]/page.tsx | 12 +- .../donasi/detail/detail_main/[id]/layout.tsx | 16 -- .../detail/detail_notif/[id]/layout.tsx | 22 -- .../detail/detail_notif/[id]/loading.tsx | 9 - .../donasi/detail/detail_notif/[id]/page.tsx | 9 - .../[id]/layout.tsx | 0 .../[id]/page.tsx | 0 .../{detail_draft => draft}/[id]/layout.tsx | 0 .../{detail_draft => draft}/[id]/page.tsx | 0 .../{detail_kabar => kabar}/[id]/layout.tsx | 0 .../{detail_kabar => kabar}/[id]/page.tsx | 0 .../dev/donasi/detail/main/[id]/layout.tsx | 29 +++ .../{detail_main => main}/[id]/page.tsx | 0 .../[id]/layout.tsx | 4 +- .../{detail_publish => publish}/[id]/page.tsx | 0 .../{detail_reject => reject}/[id]/layout.tsx | 0 .../{detail_reject => reject}/[id]/page.tsx | 9 +- .../{detail_review => review}/[id]/layout.tsx | 0 .../{detail_review => review}/[id]/page.tsx | 0 .../dev/donasi/edit/edit_cerita/[id]/page.tsx | 2 +- src/app/dev/donasi/edit/kabar/[id]/page.tsx | 16 ++ src/app/dev/donasi/kabar/[id]/page.tsx | 10 +- src/app/dev/donasi/kabar/daftar/[id]/page.tsx | 18 ++ src/app/dev/donasi/kabar/rekap/[id]/page.tsx | 18 ++ src/app/dev/donasi/list_kabar/[id]/layout.tsx | 16 -- src/app/dev/donasi/list_kabar/[id]/page.tsx | 13 - src/app/dev/donasi/notif_page/[id]/layout.tsx | 8 - .../dev/donasi/notif_page/[id]/loading.tsx | 9 - src/app/dev/donasi/notif_page/[id]/page.tsx | 14 -- .../dev/donasi/page_pop_up/create/page.tsx | 5 - .../proses_donasi/invoice/[id]/page.tsx | 1 - src/app/lib/id-derectory.ts | 2 +- src/app/lib/router_hipmi/router_donasi.ts | 21 +- .../_global/component/waring_popup.ts | 18 -- .../admin/donasi/detail/detail_reject.tsx | 29 +-- .../detail/publish/proses_transaksi.tsx | 10 +- .../donasi/_ui/edit/ui_edit_kabar.tsx | 19 ++ src/app_modules/donasi/_ui/index.ts | 7 + .../donasi/_ui/kabar/ui_daftar_kabar.tsx | 29 +++ .../donasi/_ui/kabar/ui_rekap_kabar.tsx | 58 +++++ .../donasi/_view/edit/view_edit_kabar.tsx | 236 ++++++++++++++++++ src/app_modules/donasi/_view/index.ts | 7 + .../donasi/_view/kabar/view_daftar_kabar.tsx | 52 ++++ .../kabar/view_rekap_kabar.tsx} | 34 +-- .../comp_button_delete_donasi_by_id.tsx | 88 +++++++ .../component/card_view/card_invoice.tsx | 23 +- .../component/card_view/ui_card_kabar.tsx | 37 +-- .../detail_main/detail_data_donasi.tsx | 8 +- src/app_modules/donasi/component/index.ts | 3 + .../component/notifikasi/notif_berhasil.tsx | 31 --- .../component/notifikasi/notif_gagal.tsx | 31 --- .../component/notifikasi/notif_peringatan.tsx | 31 --- .../create/create_cerita_penggalang.tsx | 3 +- .../donasi/create/create_donasi.tsx | 7 +- .../donasi/create/create_kabar/index.tsx | 203 ++++++++------- src/app_modules/donasi/create/index.ts | 3 + src/app_modules/donasi/create/layout.tsx | 4 +- .../layout_cerita_penggalang.tsx} | 9 +- .../donasi/detail/deail_notif/index.tsx | 34 --- .../donasi/detail/deail_notif/layout.tsx | 42 ---- .../donasi/detail/detail_draft/index.tsx | 37 ++- .../donasi/detail/detail_kabar/index.tsx | 62 ++--- .../donasi/detail/detail_main/kabar/index.tsx | 77 +++--- .../detail/detail_main/kabar/layout.tsx | 2 +- .../donasi/detail/detail_main/layout.tsx | 44 +++- .../donasi/detail/detail_publish/layout.tsx | 22 +- .../donasi/detail/detail_reject/index.tsx | 101 ++++---- .../edit/edit_cerita_penggalang/index.tsx | 223 +++++++++-------- .../donasi/edit/edit_donasi/index.tsx | 206 ++++++++------- .../donasi/edit/edit_rekening/index.tsx | 10 +- .../donasi/edit/update_kabar/index.tsx | 59 ++--- .../donasi/edit/update_kabar/layout.tsx | 115 ++++++--- .../donasi/fun/create/fun_create_kabar.ts | 86 +++---- .../fun/delete/fin_delete_donasi_by_id.ts | 75 +----- .../donasi/fun/delete/fun_delete.kabar.ts | 39 +-- .../fun/get/get_all_invoice_by_author_id.tsx | 1 + .../donasi/fun/get/get_one_invoice_by_id.tsx | 48 ++-- src/app_modules/donasi/fun/index.ts | 2 + .../fun/update/fun_update_cerita_donasi.ts | 44 ++-- .../donasi/fun/update/fun_update_donasi.ts | 54 ++-- .../donasi/fun/update/fun_update_invoice.ts | 37 +-- .../donasi/fun/update/fun_update_kabar.tsx | 45 ++++ .../fun/update/fun_update_status_invoice.ts | 19 +- src/app_modules/donasi/index.ts | 14 -- src/app_modules/donasi/main/notif/layout.tsx | 17 -- .../donasi/main/notif/notif_page.tsx | 97 ------- src/app_modules/donasi/page_pop_up/create.tsx | 36 --- .../donasi/proses_donasi/invoice/index.tsx | 122 +++++---- .../proses_donasi/masukan_donasi/index.tsx | 11 +- .../proses_donasi/proses_transaksi/index.tsx | 12 +- .../_view/transaksi/view_proses_transaksi.tsx | 8 +- src/app_modules/investasi/create/view.tsx | 11 +- src/app_modules/investasi/edit_intro/view.tsx | 16 +- 96 files changed, 1562 insertions(+), 1528 deletions(-) delete mode 100644 src/app/dev/donasi/create/create_kabar/[id]/loading.tsx delete mode 100644 src/app/dev/donasi/detail/detail_main/[id]/layout.tsx delete mode 100644 src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx delete mode 100644 src/app/dev/donasi/detail/detail_notif/[id]/loading.tsx delete mode 100644 src/app/dev/donasi/detail/detail_notif/[id]/page.tsx rename src/app/dev/donasi/detail/{detail_donasi_saya => donasi_saya}/[id]/layout.tsx (100%) rename src/app/dev/donasi/detail/{detail_donasi_saya => donasi_saya}/[id]/page.tsx (100%) rename src/app/dev/donasi/detail/{detail_draft => draft}/[id]/layout.tsx (100%) rename src/app/dev/donasi/detail/{detail_draft => draft}/[id]/page.tsx (100%) rename src/app/dev/donasi/detail/{detail_kabar => kabar}/[id]/layout.tsx (100%) rename src/app/dev/donasi/detail/{detail_kabar => kabar}/[id]/page.tsx (100%) create mode 100644 src/app/dev/donasi/detail/main/[id]/layout.tsx rename src/app/dev/donasi/detail/{detail_main => main}/[id]/page.tsx (100%) rename src/app/dev/donasi/detail/{detail_publish => publish}/[id]/layout.tsx (77%) rename src/app/dev/donasi/detail/{detail_publish => publish}/[id]/page.tsx (100%) rename src/app/dev/donasi/detail/{detail_reject => reject}/[id]/layout.tsx (100%) rename src/app/dev/donasi/detail/{detail_reject => reject}/[id]/page.tsx (59%) rename src/app/dev/donasi/detail/{detail_review => review}/[id]/layout.tsx (100%) rename src/app/dev/donasi/detail/{detail_review => review}/[id]/page.tsx (100%) create mode 100644 src/app/dev/donasi/edit/kabar/[id]/page.tsx create mode 100644 src/app/dev/donasi/kabar/daftar/[id]/page.tsx create mode 100644 src/app/dev/donasi/kabar/rekap/[id]/page.tsx delete mode 100644 src/app/dev/donasi/list_kabar/[id]/layout.tsx delete mode 100644 src/app/dev/donasi/list_kabar/[id]/page.tsx delete mode 100644 src/app/dev/donasi/notif_page/[id]/layout.tsx delete mode 100644 src/app/dev/donasi/notif_page/[id]/loading.tsx delete mode 100644 src/app/dev/donasi/notif_page/[id]/page.tsx delete mode 100644 src/app/dev/donasi/page_pop_up/create/page.tsx delete mode 100644 src/app_modules/_global/component/waring_popup.ts create mode 100644 src/app_modules/donasi/_ui/edit/ui_edit_kabar.tsx create mode 100644 src/app_modules/donasi/_ui/index.ts create mode 100644 src/app_modules/donasi/_ui/kabar/ui_daftar_kabar.tsx create mode 100644 src/app_modules/donasi/_ui/kabar/ui_rekap_kabar.tsx create mode 100644 src/app_modules/donasi/_view/edit/view_edit_kabar.tsx create mode 100644 src/app_modules/donasi/_view/index.ts create mode 100644 src/app_modules/donasi/_view/kabar/view_daftar_kabar.tsx rename src/app_modules/donasi/{edit/list_kabar/index.tsx => _view/kabar/view_rekap_kabar.tsx} (69%) create mode 100644 src/app_modules/donasi/component/button/comp_button_delete_donasi_by_id.tsx create mode 100644 src/app_modules/donasi/component/index.ts delete mode 100644 src/app_modules/donasi/component/notifikasi/notif_berhasil.tsx delete mode 100644 src/app_modules/donasi/component/notifikasi/notif_gagal.tsx delete mode 100644 src/app_modules/donasi/component/notifikasi/notif_peringatan.tsx create mode 100644 src/app_modules/donasi/create/index.ts rename src/app_modules/donasi/{edit/list_kabar/layout.tsx => create/layout_cerita_penggalang.tsx} (63%) delete mode 100644 src/app_modules/donasi/detail/deail_notif/index.tsx delete mode 100644 src/app_modules/donasi/detail/deail_notif/layout.tsx create mode 100644 src/app_modules/donasi/fun/update/fun_update_kabar.tsx delete mode 100644 src/app_modules/donasi/main/notif/layout.tsx delete mode 100644 src/app_modules/donasi/main/notif/notif_page.tsx delete mode 100644 src/app_modules/donasi/page_pop_up/create.tsx diff --git a/package.json b/package.json index 631f9762..434b142a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "hipmi", - "version": "1.0.5", + "version": "1.0.6", "private": true, "prisma": { "seed": "npx tsx prisma/seed.ts" }, "scripts": { - "dev": "next dev", + "dev": "next dev ", "build": "next build", "start": "next start", "lint": "next lint" @@ -91,4 +91,4 @@ "wibu-realtime": "bipproduction/wibu-realtime", "yaml": "^2.3.2" } -} +} \ No newline at end of file diff --git a/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx index 966bf13c..ed4ce197 100644 --- a/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx +++ b/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { LayoutCreateDonasi } from "@/app_modules/donasi"; +import { LayoutCreateCeritaDonasi } from "@/app_modules/donasi/create"; import React from "react"; export default async function Layout({ @@ -8,7 +8,7 @@ export default async function Layout({ }) { return ( <> - {children} + {children} ); } diff --git a/src/app/dev/donasi/create/create_kabar/[id]/loading.tsx b/src/app/dev/donasi/create/create_kabar/[id]/loading.tsx deleted file mode 100644 index 380b3fcd..00000000 --- a/src/app/dev/donasi/create/create_kabar/[id]/loading.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/create/create_kabar/[id]/page.tsx b/src/app/dev/donasi/create/create_kabar/[id]/page.tsx index 8df15b45..a9404a35 100644 --- a/src/app/dev/donasi/create/create_kabar/[id]/page.tsx +++ b/src/app/dev/donasi/create/create_kabar/[id]/page.tsx @@ -1,8 +1,10 @@ import { Donasi_CreateKabar } from "@/app_modules/donasi"; -export default async function Page({params}: {params: {id: string}}) { - const donasiId = params.id - return<> - +export default async function Page({ params }: { params: { id: string } }) { + const donasiId = params.id; + return ( + <> + -} \ No newline at end of file + ); +} diff --git a/src/app/dev/donasi/detail/detail_main/[id]/layout.tsx b/src/app/dev/donasi/detail/detail_main/[id]/layout.tsx deleted file mode 100644 index 5a5f62b3..00000000 --- a/src/app/dev/donasi/detail/detail_main/[id]/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { LayoutDetailMainDonasi } from "@/app_modules/donasi"; -import React from "react"; - -export default async function Layout({ - children, - params -}: { - children: React.ReactNode; - params: {id: string} -}) { - return ( - <> - {children} - - ); -} diff --git a/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx b/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx deleted file mode 100644 index 16392ec5..00000000 --- a/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import prisma from "@/app/lib/prisma"; -import { LayoutDonasi_DetailNotif } from "@/app_modules/donasi"; -import { Donasi_getOneKabar } from "@/app_modules/donasi/fun/get/get_one_kabar"; -import React from "react"; - -export default async function Layout({ - children, - params, -}: { - children: React.ReactNode; - params: { id: string }; -}) { - let kabarId = params.id; - const dataKabar = await Donasi_getOneKabar(kabarId); - const donasiId = dataKabar?.donasiId - - return ( - <> - {children} - - ); -} diff --git a/src/app/dev/donasi/detail/detail_notif/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_notif/[id]/loading.tsx deleted file mode 100644 index 380b3fcd..00000000 --- a/src/app/dev/donasi/detail/detail_notif/[id]/loading.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/detail/detail_notif/[id]/page.tsx b/src/app/dev/donasi/detail/detail_notif/[id]/page.tsx deleted file mode 100644 index 33fb99a8..00000000 --- a/src/app/dev/donasi/detail/detail_notif/[id]/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Donasi_DetailNotif } from "@/app_modules/donasi"; -import { Donasi_getOneKabar } from "@/app_modules/donasi/fun/get/get_one_kabar"; - -export default async function Page({ params }: { params: { id: string } }) { - let kabarId = params.id; - const dataKabar = await Donasi_getOneKabar(kabarId); - - return ; -} diff --git a/src/app/dev/donasi/detail/detail_donasi_saya/[id]/layout.tsx b/src/app/dev/donasi/detail/donasi_saya/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_donasi_saya/[id]/layout.tsx rename to src/app/dev/donasi/detail/donasi_saya/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx b/src/app/dev/donasi/detail/donasi_saya/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx rename to src/app/dev/donasi/detail/donasi_saya/[id]/page.tsx diff --git a/src/app/dev/donasi/detail/detail_draft/[id]/layout.tsx b/src/app/dev/donasi/detail/draft/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_draft/[id]/layout.tsx rename to src/app/dev/donasi/detail/draft/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx b/src/app/dev/donasi/detail/draft/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_draft/[id]/page.tsx rename to src/app/dev/donasi/detail/draft/[id]/page.tsx diff --git a/src/app/dev/donasi/detail/detail_kabar/[id]/layout.tsx b/src/app/dev/donasi/detail/kabar/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_kabar/[id]/layout.tsx rename to src/app/dev/donasi/detail/kabar/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_kabar/[id]/page.tsx b/src/app/dev/donasi/detail/kabar/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_kabar/[id]/page.tsx rename to src/app/dev/donasi/detail/kabar/[id]/page.tsx diff --git a/src/app/dev/donasi/detail/main/[id]/layout.tsx b/src/app/dev/donasi/detail/main/[id]/layout.tsx new file mode 100644 index 00000000..e6735004 --- /dev/null +++ b/src/app/dev/donasi/detail/main/[id]/layout.tsx @@ -0,0 +1,29 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { LayoutDetailMainDonasi } from "@/app_modules/donasi"; +import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; +import React from "react"; + +export default async function Layout({ + children, + params, +}: { + children: React.ReactNode; + params: { id: string }; +}) { + const donasiId = params.id; + const getData = await Donasi_getOneById(donasiId); + const authorId = getData?.authorId; + const userLoginId = await funGetUserIdByToken(); + + return ( + <> + + {children} + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx b/src/app/dev/donasi/detail/main/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_main/[id]/page.tsx rename to src/app/dev/donasi/detail/main/[id]/page.tsx diff --git a/src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx b/src/app/dev/donasi/detail/publish/[id]/layout.tsx similarity index 77% rename from src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx rename to src/app/dev/donasi/detail/publish/[id]/layout.tsx index 2f0dc869..e71d2179 100644 --- a/src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx +++ b/src/app/dev/donasi/detail/publish/[id]/layout.tsx @@ -8,9 +8,11 @@ export default async function Layout({ children: React.ReactNode; params: { id: string }; }) { + const donasiId = params.id; + return ( <> - + {children} diff --git a/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx b/src/app/dev/donasi/detail/publish/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_publish/[id]/page.tsx rename to src/app/dev/donasi/detail/publish/[id]/page.tsx diff --git a/src/app/dev/donasi/detail/detail_reject/[id]/layout.tsx b/src/app/dev/donasi/detail/reject/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_reject/[id]/layout.tsx rename to src/app/dev/donasi/detail/reject/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_reject/[id]/page.tsx b/src/app/dev/donasi/detail/reject/[id]/page.tsx similarity index 59% rename from src/app/dev/donasi/detail/detail_reject/[id]/page.tsx rename to src/app/dev/donasi/detail/reject/[id]/page.tsx index 24bdfae0..a3dfed4b 100644 --- a/src/app/dev/donasi/detail/detail_reject/[id]/page.tsx +++ b/src/app/dev/donasi/detail/reject/[id]/page.tsx @@ -4,8 +4,11 @@ import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_b export default async function Page({params}: {params: {id: string}}) { let donasiId= params.id const dataReject = await Donasi_getOneById(donasiId) + const fileIdImageCerita = dataReject?.CeritaDonasi?.imageId - return<> - - + return ( + <> + + + ); } \ No newline at end of file diff --git a/src/app/dev/donasi/detail/detail_review/[id]/layout.tsx b/src/app/dev/donasi/detail/review/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_review/[id]/layout.tsx rename to src/app/dev/donasi/detail/review/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_review/[id]/page.tsx b/src/app/dev/donasi/detail/review/[id]/page.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_review/[id]/page.tsx rename to src/app/dev/donasi/detail/review/[id]/page.tsx diff --git a/src/app/dev/donasi/edit/edit_cerita/[id]/page.tsx b/src/app/dev/donasi/edit/edit_cerita/[id]/page.tsx index 1467178d..c1997262 100644 --- a/src/app/dev/donasi/edit/edit_cerita/[id]/page.tsx +++ b/src/app/dev/donasi/edit/edit_cerita/[id]/page.tsx @@ -3,7 +3,7 @@ import Donasi_getCeritaByDonasiId from "@/app_modules/donasi/fun/get/get_cerita_ export default async function Page({ params }: { params: { id: string } }) { const dataCerita = await Donasi_getCeritaByDonasiId(params.id) - // console.log(dataCerita); + return ( <> diff --git a/src/app/dev/donasi/edit/kabar/[id]/page.tsx b/src/app/dev/donasi/edit/kabar/[id]/page.tsx new file mode 100644 index 00000000..d8990352 --- /dev/null +++ b/src/app/dev/donasi/edit/kabar/[id]/page.tsx @@ -0,0 +1,16 @@ +import { Donasi_UiEditKabar } from "@/app_modules/donasi/_ui"; +import { Donasi_getOneKabar } from "@/app_modules/donasi/fun/get/get_one_kabar"; +import React from "react"; + +async function Page({ params }: { params: { id: string } }) { + const kabarId = params.id; + const dataKabar = await Donasi_getOneKabar(kabarId); + + return ( + <> + + + ); +} + +export default Page; diff --git a/src/app/dev/donasi/kabar/[id]/page.tsx b/src/app/dev/donasi/kabar/[id]/page.tsx index 42fcddcf..555f77bf 100644 --- a/src/app/dev/donasi/kabar/[id]/page.tsx +++ b/src/app/dev/donasi/kabar/[id]/page.tsx @@ -1,13 +1,13 @@ import { KabarDonasi } from "@/app_modules/donasi"; -import { donasi_funGetListKabarById } from "@/app_modules/donasi/fun/get/get_list_kabar"; +import { Donasi_getOneKabar } from "@/app_modules/donasi/fun/get/get_one_kabar"; -export default async function Page({params}: {params: {id: string}}) { - const donasiId = params.id - const listKabar = await donasi_funGetListKabarById({ page: 1, donasiId : donasiId}); +export default async function Page({ params }: { params: { id: string } }) { + let kabarId = params.id; + const dataDonasi = await Donasi_getOneKabar(kabarId); return ( <> - + ); } diff --git a/src/app/dev/donasi/kabar/daftar/[id]/page.tsx b/src/app/dev/donasi/kabar/daftar/[id]/page.tsx new file mode 100644 index 00000000..3c942ef6 --- /dev/null +++ b/src/app/dev/donasi/kabar/daftar/[id]/page.tsx @@ -0,0 +1,18 @@ +import { Donasi_UiDaftarKabar } from "@/app_modules/donasi/_ui"; +import { donasi_funGetListKabarById } from "@/app_modules/donasi/fun/get/get_list_kabar"; + +async function Page({ params }: { params: { id: string } }) { + const donasiId = params.id; + const listKabar = await donasi_funGetListKabarById({ + page: 1, + donasiId: donasiId, + }); + + return ( + <> + + + ); +} + +export default Page; diff --git a/src/app/dev/donasi/kabar/rekap/[id]/page.tsx b/src/app/dev/donasi/kabar/rekap/[id]/page.tsx new file mode 100644 index 00000000..ceb97bab --- /dev/null +++ b/src/app/dev/donasi/kabar/rekap/[id]/page.tsx @@ -0,0 +1,18 @@ +import { Donasi_UiRekapKabar } from "@/app_modules/donasi/_ui"; +import { donasi_funGetListKabarById } from "@/app_modules/donasi/fun/get/get_list_kabar"; + +async function Page({ params }: { params: { id: string } }) { + const donasiId = params.id; + const listKabar = await donasi_funGetListKabarById({ + page: 1, + donasiId: donasiId, + }); + + return ( + <> + + + ); +} + +export default Page; diff --git a/src/app/dev/donasi/list_kabar/[id]/layout.tsx b/src/app/dev/donasi/list_kabar/[id]/layout.tsx deleted file mode 100644 index d3888cd5..00000000 --- a/src/app/dev/donasi/list_kabar/[id]/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { LayoutListKabarDonasi } from "@/app_modules/donasi"; -import React from "react"; - -export default async function Layput({ - children, - params -}: { - children: React.ReactNode; - params: {id: string} -}) { - return ( - <> - {children} - - ); -} diff --git a/src/app/dev/donasi/list_kabar/[id]/page.tsx b/src/app/dev/donasi/list_kabar/[id]/page.tsx deleted file mode 100644 index b4664961..00000000 --- a/src/app/dev/donasi/list_kabar/[id]/page.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { ListKabarDonasi } from "@/app_modules/donasi"; -import { donasi_funGetListKabarById } from "@/app_modules/donasi/fun/get/get_list_kabar"; - -export default async function Page({params}: {params: {id: string}}) { -const donasiId = params.id -const listKabar = await donasi_funGetListKabarById({page: 1, donasiId : donasiId}); - - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/notif_page/[id]/layout.tsx b/src/app/dev/donasi/notif_page/[id]/layout.tsx deleted file mode 100644 index d3fa731c..00000000 --- a/src/app/dev/donasi/notif_page/[id]/layout.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { LayoutDonasi_NotifPage } from "@/app_modules/donasi"; -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/donasi/notif_page/[id]/loading.tsx b/src/app/dev/donasi/notif_page/[id]/loading.tsx deleted file mode 100644 index 380b3fcd..00000000 --- a/src/app/dev/donasi/notif_page/[id]/loading.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/notif_page/[id]/page.tsx b/src/app/dev/donasi/notif_page/[id]/page.tsx deleted file mode 100644 index 6274061e..00000000 --- a/src/app/dev/donasi/notif_page/[id]/page.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Donasi_NotifPage } from "@/app_modules/donasi"; -import { Donasi_getNotifByUserId } from "@/app_modules/donasi/fun/get/get_notif_by_user_id"; - -export default async function Page({ params }: { params: { id: string } }) { - let userId = params.id; - const dataNotif = await Donasi_getNotifByUserId(userId); -// console.log(dataNotif) - - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/page_pop_up/create/page.tsx b/src/app/dev/donasi/page_pop_up/create/page.tsx deleted file mode 100644 index 740abe0e..00000000 --- a/src/app/dev/donasi/page_pop_up/create/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { PagePopUpCreateDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return ; -} diff --git a/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx index 78e8985a..37e65d32 100644 --- a/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx +++ b/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx @@ -1,5 +1,4 @@ import { Donasi_InvoiceProses } from "@/app_modules/donasi"; -import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id"; export default async function Page({ params }: { params: { id: string } }) { diff --git a/src/app/lib/id-derectory.ts b/src/app/lib/id-derectory.ts index 86621585..3874ce53 100644 --- a/src/app/lib/id-derectory.ts +++ b/src/app/lib/id-derectory.ts @@ -14,8 +14,8 @@ const DIRECTORY_ID = { // Donasi donasi_image: "cm0yk1coh000f10nj597a99kv", - donasi_temporary_image: "cm2dvxo48007t10dpmmustxa2", donasi_cerita_image: "cm2dvy9bi007v10dpmatb5yiy", + donasi_kabar: "cm2dvxo48007t10dpmmustxa2", donasi_bukti_transfer: "cm0yk1pmh000h10njhi6m8b8t", // Job diff --git a/src/app/lib/router_hipmi/router_donasi.ts b/src/app/lib/router_hipmi/router_donasi.ts index c1f0e444..a213ae10 100644 --- a/src/app/lib/router_hipmi/router_donasi.ts +++ b/src/app/lib/router_hipmi/router_donasi.ts @@ -22,24 +22,27 @@ export const RouterDonasi = { edit_donasi: "/dev/donasi/edit/edit_donasi/", edit_cerita_penggalang: "/dev/donasi/edit/edit_cerita/", edit_rekening: "/dev/donasi/edit/edit_rekening/", + edit_kabar: ({ id }: { id: string }) => `/dev/donasi/edit/kabar/${id}`, //pop up page_pop_up_create: "/dev/donasi/page_pop_up/create", //detail - detail_main: "/dev/donasi/detail/detail_main/", - detail_kabar: "/dev/donasi/detail/detail_kabar/", - detail_publish: "/dev/donasi/detail/detail_publish/", - detail_review: "/dev/donasi/detail/detail_review/", - detail_draft: "/dev/donasi/detail/detail_draft/", - detail_reject: "/dev/donasi/detail/detail_reject/", - detail_donasi_saya: "/dev/donasi/detail/detail_donasi_saya/", + detail_main: "/dev/donasi/detail/main/", + detail_publish: "/dev/donasi/detail/publish/", + detail_review: "/dev/donasi/detail/review/", + detail_draft: "/dev/donasi/detail/draft/", + detail_reject: "/dev/donasi/detail/reject/", + detail_donasi_saya: "/dev/donasi/detail/donasi_saya/", + + detail_kabar: "/dev/donasi/detail/kabar/", detail_notif: "/dev/donasi/detail/detail_notif/", - //alur donasi + kabar: ({ id }: { id: string }) => `/dev/donasi/kabar/${id}`, + daftar_kabar: ({ id }: { id: string }) => `/dev/donasi/kabar/daftar/${id}`, + rekap_kabar: ({ id }: { id: string }) => `/dev/donasi/kabar/rekap/${id}`, donatur: "/dev/donasi/donatur/", - kabar: "/dev/donasi/kabar/", pencairan_dana: "/dev/donasi/pencairan_dana/", penggalang_dana: "/dev/donasi/penggalang_dana/", cerita_penggalang: "/dev/donasi/cerita_penggalang/", diff --git a/src/app_modules/_global/component/waring_popup.ts b/src/app_modules/_global/component/waring_popup.ts deleted file mode 100644 index 528b4a82..00000000 --- a/src/app_modules/_global/component/waring_popup.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ComponentGlobal_NotifikasiPeringatan } from "../notif_global/notifikasi_peringatan"; - -/** - * @returns nilai maksimal untuk upload file di semua module - */ -export let maksimalUploadFile = 2000000; -export const ComponentGlobal_WarningMaxUpload = ({ - text, - time, -}: { - text?: string; - time?: number; -}) => { - ComponentGlobal_NotifikasiPeringatan( - text ? text : "Maaf, Ukuran file terlalu besar, maximum 2mb", - time ? time : 3000 - ); -}; diff --git a/src/app_modules/admin/donasi/detail/detail_reject.tsx b/src/app_modules/admin/donasi/detail/detail_reject.tsx index 78f9fd04..d6b35486 100644 --- a/src/app_modules/admin/donasi/detail/detail_reject.tsx +++ b/src/app_modules/admin/donasi/detail/detail_reject.tsx @@ -1,10 +1,12 @@ "use client"; +import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi"; +import ComponentGlobal_InputCountDown from "@/app_modules/_global/component/input_countdown"; +import TampilanRupiahDonasi from "@/app_modules/donasi/component/tampilan_rupiah"; import { MODEL_DONASI } from "@/app_modules/donasi/model/interface"; import { AspectRatio, Button, - Divider, Group, Image, Modal, @@ -15,19 +17,15 @@ import { Textarea, Title, } from "@mantine/core"; -import { useState } from "react"; -import ComponentAdminDonasi_TombolKembali from "../component/tombol_kembali"; -import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi"; -import TampilanRupiahDonasi from "@/app_modules/donasi/component/tampilan_rupiah"; import { useDisclosure } from "@mantine/hooks"; -import { AdminDonasi_funUpdateCatatanReject } from "../fun/update/fun_update_catatan_reject"; -import { NotifBerhasil } from "@/app_modules/donasi/component/notifikasi/notif_berhasil"; -import { NotifGagal } from "@/app_modules/donasi/component/notifikasi/notif_gagal"; -import { AdminDonasi_getOneById } from "../fun/get/get_one_by_id"; -import ComponentGlobal_InputCountDown from "@/app_modules/_global/component/input_countdown"; +import { useState } from "react"; +import { ComponentAdminGlobal_NotifikasiBerhasil } from "../../_admin_global/admin_notifikasi/notifikasi_berhasil"; import ComponentAdminGlobal_BackButton from "../../_admin_global/back_button"; -import ComponentAdminDonasi_TampilanDetailDonasi from "../component/tampilan_detail_donasi"; import ComponentAdminDonasi_CeritaPenggalangDana from "../component/tampilan_detail_cerita"; +import ComponentAdminDonasi_TampilanDetailDonasi from "../component/tampilan_detail_donasi"; +import { AdminDonasi_getOneById } from "../fun/get/get_one_by_id"; +import { AdminDonasi_funUpdateCatatanReject } from "../fun/update/fun_update_catatan_reject"; +import { ComponentAdminGlobal_NotifikasiGagal } from "../../_admin_global/admin_notifikasi/notifikasi_gagal"; export default function AdminDonasi_DetailReject({ dataReject, @@ -44,7 +42,7 @@ export default function AdminDonasi_DetailReject({ donasiId={data.id} setDonasi={setData} /> - + { if (res.status === 200) { - NotifBerhasil(res.message); + ComponentAdminGlobal_NotifikasiBerhasil(res.message); close(); await AdminDonasi_getOneById(donasiId).then((res) => setDonasi(res)); } else { - NotifGagal(res.message); + ComponentAdminGlobal_NotifikasiGagal(res.message); } } ); @@ -99,7 +97,6 @@ function ButtonOnHeader({ Tambah catatan - - Alasan Penolakan : + Alasan Penolakan : {catatan} diff --git a/src/app_modules/admin/donasi/detail/publish/proses_transaksi.tsx b/src/app_modules/admin/donasi/detail/publish/proses_transaksi.tsx index 3797a6fe..f5490441 100644 --- a/src/app_modules/admin/donasi/detail/publish/proses_transaksi.tsx +++ b/src/app_modules/admin/donasi/detail/publish/proses_transaksi.tsx @@ -23,12 +23,12 @@ import moment from "moment"; import { IconQuestionMark } from "@tabler/icons-react"; import TampilanRupiahDonasi from "@/app_modules/donasi/component/tampilan_rupiah"; import { AdminDonasi_funUpdateStatusInvoice } from "../../fun/update/fun_update_status_invoice"; -import { NotifBerhasil } from "@/app_modules/donasi/component/notifikasi/notif_berhasil"; -import { NotifGagal } from "@/app_modules/donasi/component/notifikasi/notif_gagal"; import { AdminDonasi_getListStatusInvoiceProses } from "../../fun/get/get_list_status_invoice_proses"; import { AdminDonasi_funUpdateProgresDanTerkumpul } from "../../fun/update/fun_update_progres_dan_terkumpul"; import { useDisclosure } from "@mantine/hooks"; import { RouterAdminDonasi_OLD } from "@/app/lib/router_hipmi/router_admin"; +import { ComponentAdminGlobal_NotifikasiBerhasil } from "@/app_modules/admin/_admin_global/admin_notifikasi/notifikasi_berhasil"; +import { ComponentAdminGlobal_NotifikasiGagal } from "@/app_modules/admin/_admin_global/admin_notifikasi/notifikasi_gagal"; export default function AdminDonasi_ProsesTransaksi({ listProses, @@ -47,7 +47,7 @@ export default function AdminDonasi_ProsesTransaksi({ await AdminDonasi_funUpdateStatusInvoice(invoice.id, "1").then( async (res) => { if (res.status === 200) { - NotifBerhasil(res.message); + ComponentAdminGlobal_NotifikasiBerhasil(res.message); await AdminDonasi_funUpdateProgresDanTerkumpul( invoice.Donasi.id, totalTerkumpul @@ -59,11 +59,11 @@ export default function AdminDonasi_ProsesTransaksi({ setInvoice(res); }); } else { - NotifGagal(res.message); + ComponentAdminGlobal_NotifikasiGagal(res.message); } }); } else { - NotifGagal(res.message); + ComponentAdminGlobal_NotifikasiGagal(res.message); } } ); diff --git a/src/app_modules/donasi/_ui/edit/ui_edit_kabar.tsx b/src/app_modules/donasi/_ui/edit/ui_edit_kabar.tsx new file mode 100644 index 00000000..69428e7b --- /dev/null +++ b/src/app_modules/donasi/_ui/edit/ui_edit_kabar.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { + UIGlobal_LayoutHeaderTamplate, + UIGlobal_LayoutTamplate, +} from "@/app_modules/_global/ui"; +import { Donasi_ViewEditKabar } from "../../_view"; + +export function Donasi_UiEditKabar({ dataKabar }: { dataKabar: any }) { + return ( + <> + } + > + + + + ); +} diff --git a/src/app_modules/donasi/_ui/index.ts b/src/app_modules/donasi/_ui/index.ts new file mode 100644 index 00000000..0cf2d8dc --- /dev/null +++ b/src/app_modules/donasi/_ui/index.ts @@ -0,0 +1,7 @@ +import { Donasi_UiEditKabar } from "./edit/ui_edit_kabar"; +import { Donasi_UiDaftarKabar } from "./kabar/ui_daftar_kabar"; +import { Donasi_UiRekapKabar } from "./kabar/ui_rekap_kabar"; + +export { Donasi_UiDaftarKabar }; +export { Donasi_UiEditKabar }; +export { Donasi_UiRekapKabar }; diff --git a/src/app_modules/donasi/_ui/kabar/ui_daftar_kabar.tsx b/src/app_modules/donasi/_ui/kabar/ui_daftar_kabar.tsx new file mode 100644 index 00000000..a7f053db --- /dev/null +++ b/src/app_modules/donasi/_ui/kabar/ui_daftar_kabar.tsx @@ -0,0 +1,29 @@ +"use client"; + +import { + UIGlobal_LayoutHeaderTamplate, + UIGlobal_LayoutTamplate, +} from "@/app_modules/_global/ui"; +import React from "react"; +import { Donasi_ViewDaftarKabar } from "../../_view"; + +export function Donasi_UiDaftarKabar({ + dataDonasi, + donasiId, +}: { + dataDonasi: string; + donasiId: string; +}) { + return ( + <> + } + > + + + + ); +} diff --git a/src/app_modules/donasi/_ui/kabar/ui_rekap_kabar.tsx b/src/app_modules/donasi/_ui/kabar/ui_rekap_kabar.tsx new file mode 100644 index 00000000..ba0bb542 --- /dev/null +++ b/src/app_modules/donasi/_ui/kabar/ui_rekap_kabar.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi"; +import { UIGlobal_Drawer } from "@/app_modules/_global/ui"; +import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate"; +import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate"; +import { ActionIcon } from "@mantine/core"; +import { IconCirclePlus, IconDotsVertical } from "@tabler/icons-react"; +import React, { useState } from "react"; +import { Donasi_ViewRekapKabar } from "../../_view"; + +export function Donasi_UiRekapKabar({ + listKabar, + donasiId, +}: { + listKabar: any[]; + donasiId: string; +}) { + const [openDrawer, setOpenDrawer] = useState(false); + const listPage = [ + { + id: "1", + name: "Tambah Kabar", + icon: , + path: RouterDonasi.create_kabar + donasiId, + }, + ]; + + return ( + <> + { + setOpenDrawer(true); + }} + > + + + } + /> + } + > + + + + setOpenDrawer(false)} + component={listPage} + /> + + ); +} diff --git a/src/app_modules/donasi/_view/edit/view_edit_kabar.tsx b/src/app_modules/donasi/_view/edit/view_edit_kabar.tsx new file mode 100644 index 00000000..01509513 --- /dev/null +++ b/src/app_modules/donasi/_view/edit/view_edit_kabar.tsx @@ -0,0 +1,236 @@ +import { MainColor } from "@/app_modules/_global/color"; +import { + ComponentGlobal_BoxInformation, + ComponentGlobal_BoxUploadImage, + ComponentGlobal_InputCountDown, + ComponentGlobal_LoadImageCustom, +} from "@/app_modules/_global/component"; +import { + AspectRatio, + Button, + FileButton, + Group, + Image, + Stack, + Text, + TextInput, + Textarea, +} from "@mantine/core"; +import { IconCamera, IconUpload } from "@tabler/icons-react"; +import _ from "lodash"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import { MODEL_DONASI_KABAR } from "../../model/interface"; +import { + ComponentGlobal_NotifikasiBerhasil, + ComponentGlobal_NotifikasiGagal, + ComponentGlobal_NotifikasiPeringatan, +} from "@/app_modules/_global/notif_global"; +import { DIRECTORY_ID } from "@/app/lib"; +import { + funGlobal_DeleteFileById, + funGlobal_UploadToStorage, +} from "@/app_modules/_global/fun"; +import { donasi_funUpdateKabar } from "../../fun"; + +export function Donasi_ViewEditKabar({ + dataKabar, +}: { + dataKabar: MODEL_DONASI_KABAR; +}) { + const router = useRouter(); + const [data, setData] = useState(dataKabar); + const [file, setFile] = useState(null); + const [img, setImg] = useState(); + const [isLoading, setLoading] = useState(false); + + async function onUpdate() { + if (data.title === "" || data.deskripsi === "") { + return ComponentGlobal_NotifikasiPeringatan("Lengkapi data"); + } + + try { + setLoading(true); + if (file !== null) { + const uploadImage = await funGlobal_UploadToStorage({ + file: file as File, + dirId: DIRECTORY_ID.donasi_kabar, + }); + + if (!uploadImage.success) { + setLoading(false); + return ComponentGlobal_NotifikasiPeringatan( + "Gagal upload file gambar" + ); + } + + const res = await donasi_funUpdateKabar({ + data: data, + fileId: uploadImage.data.id, + }); + + if (res.status === 200) { + setLoading(false); + + const deleteImage = await funGlobal_DeleteFileById({ + fileId: data.imageId, + }); + if (!deleteImage.success) { + setLoading(false); + ComponentGlobal_NotifikasiPeringatan("Gagal hapus gambar lama"); + } + + ComponentGlobal_NotifikasiBerhasil(res.message); + router.back(); + } else { + setLoading(false); + ComponentGlobal_NotifikasiGagal(res.message); + } + } else { + const res = await donasi_funUpdateKabar({ + data: data, + }); + + if (res.status === 200) { + setLoading(false); + ComponentGlobal_NotifikasiBerhasil(res.message); + router.back(); + } else { + setLoading(false); + ComponentGlobal_NotifikasiGagal(res.message); + } + } + } catch (error) { + console.log(error); + } + } + + return ( + <> + + + + { + setData({ + ...data, + title: _.startCase(val.target.value), + }); + }} + /> +