diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 3a6deb3e..b34a52cf 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -25,6 +25,7 @@ model User { TransaksiInvestasi TransaksiInvestasi[] Donasi Donasi[] Donasi_Invoice Donasi_Invoice[] + Donasi_Notif Donasi_Notif[] } model MasterUserRole { @@ -77,6 +78,8 @@ model Images { CeritaDonasi Donasi_Cerita[] Donasi_TemporaryCreate Donasi_TemporaryCreate[] Donasi_Kabar Donasi_Kabar[] + Donasi_PencairanDana Donasi_PencairanDana[] + Donasi_Invoice Donasi_Invoice[] } model Katalog { @@ -275,18 +278,22 @@ model MasterStatusTransaksiInvestasi { TransaksiInvestasi TransaksiInvestasi[] } -// -------------------- DONASI --------------------- // +/// ---------------------------------------- DONASI ----------------------------------------- // model Donasi { - id String @id @default(cuid()) - title String - target String - active Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - publishTime DateTime? - catatan String? - progres String? @default("0") - terkumpul String? @default("0") + id String @id @default(cuid()) + title String + target String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + publishTime DateTime? + catatan String? + progres String? @default("0") + terkumpul String? @default("0") + namaBank String? + rekening String? + akumulasiPencairan Int? @default(0) + totalPencairan Int? @default(0) Author User? @relation(fields: [authorId], references: [id]) authorId String? @@ -301,6 +308,7 @@ model Donasi { donasiMaster_StatusDonasiId String? @default("2") Donasi_Invoice Donasi_Invoice[] Donasi_Kabar Donasi_Kabar[] + Donasi_PencairanDana Donasi_PencairanDana[] } model Donasi_TemporaryCreate { @@ -395,6 +403,8 @@ model Donasi_Invoice { donasiMaster_StatusInvoiceId String? @default("3") Author User? @relation(fields: [authorId], references: [id]) authorId String? + Images Images? @relation(fields: [imagesId], references: [id]) + imagesId String? } model Donasi_Kabar { @@ -405,8 +415,36 @@ model Donasi_Kabar { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt - Donasi Donasi? @relation(fields: [donasiId], references: [id]) + Donasi Donasi? @relation(fields: [donasiId], references: [id]) + donasiId String? + ImagesKabar Images? @relation(fields: [imagesId], references: [id]) + imagesId String? + Donasi_Notif Donasi_Notif[] +} + +model Donasi_Notif { + id String @id @default(cuid()) + isRead Boolean @default(false) + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + User User? @relation(fields: [userId], references: [id]) + userId String? + Donasi_Kabar Donasi_Kabar? @relation(fields: [donasi_KabarId], references: [id]) + donasi_KabarId String? +} + +model Donasi_PencairanDana { + id String @id @default(cuid()) + nominalCair Int + title String + deskripsi String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi Donasi? @relation(fields: [donasiId], references: [id]) donasiId String? - ImagesKabar Images? @relation(fields: [imagesId], references: [id]) + Images Images? @relation(fields: [imagesId], references: [id]) imagesId String? } diff --git a/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg b/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg new file mode 100644 index 00000000..00b4469e Binary files /dev/null and b/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg differ diff --git a/public/donasi/image/7d8d0898-4c8a-470f-afde-755d6133425f.jpeg b/public/donasi/image/7d8d0898-4c8a-470f-afde-755d6133425f.jpeg deleted file mode 100644 index d3ea1214..00000000 Binary files a/public/donasi/image/7d8d0898-4c8a-470f-afde-755d6133425f.jpeg and /dev/null differ diff --git a/public/donasi/image/f0345442-d9c0-47e8-8639-51147548bdd5.jpg b/public/donasi/image/f0345442-d9c0-47e8-8639-51147548bdd5.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image/f0345442-d9c0-47e8-8639-51147548bdd5.jpg and /dev/null differ diff --git a/public/donasi/image_cerita/0e1cee5c-6dd7-4024-b2d8-16da46421f17.jpg b/public/donasi/image_cerita/0e1cee5c-6dd7-4024-b2d8-16da46421f17.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image_cerita/0e1cee5c-6dd7-4024-b2d8-16da46421f17.jpg and /dev/null differ diff --git a/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg b/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg new file mode 100644 index 00000000..8830cea2 Binary files /dev/null and b/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg differ diff --git a/public/donasi/image_cerita/ffdb4c10-df64-404c-8b0a-cea952324119.jpeg b/public/donasi/image_cerita/ffdb4c10-df64-404c-8b0a-cea952324119.jpeg deleted file mode 100644 index 4f712802..00000000 Binary files a/public/donasi/image_cerita/ffdb4c10-df64-404c-8b0a-cea952324119.jpeg and /dev/null differ diff --git a/public/donasi/invoice/144ba2ba-67df-4014-92fd-f51f1a14d290.png b/public/donasi/invoice/144ba2ba-67df-4014-92fd-f51f1a14d290.png new file mode 100644 index 00000000..827976fd Binary files /dev/null and b/public/donasi/invoice/144ba2ba-67df-4014-92fd-f51f1a14d290.png differ diff --git a/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png b/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png new file mode 100644 index 00000000..827976fd Binary files /dev/null and b/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png differ diff --git a/public/donasi/invoice/8afa3968-fec7-49f9-8bba-d81d5f7ceb01.png b/public/donasi/invoice/8afa3968-fec7-49f9-8bba-d81d5f7ceb01.png new file mode 100644 index 00000000..6f356546 Binary files /dev/null and b/public/donasi/invoice/8afa3968-fec7-49f9-8bba-d81d5f7ceb01.png differ diff --git a/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png b/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png new file mode 100644 index 00000000..6f356546 Binary files /dev/null and b/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png differ diff --git a/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg b/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg new file mode 100644 index 00000000..df5b1ada Binary files /dev/null and b/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg differ diff --git a/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg b/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg new file mode 100644 index 00000000..ea83eb05 Binary files /dev/null and b/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg differ diff --git a/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg b/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg new file mode 100644 index 00000000..9bb96f9b Binary files /dev/null and b/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg differ diff --git a/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg b/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg new file mode 100644 index 00000000..1b3756ff Binary files /dev/null and b/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg differ diff --git a/src/app/api/donasi/gambar_bukti_transfer/[id]/route.ts b/src/app/api/donasi/gambar_bukti_transfer/[id]/route.ts new file mode 100644 index 00000000..c560690a --- /dev/null +++ b/src/app/api/donasi/gambar_bukti_transfer/[id]/route.ts @@ -0,0 +1,32 @@ +import prisma from "@/app/lib/prisma"; +import fs from "fs"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET( + req: NextRequest, + { params }: { params: { id: string } } +) { + const get = await prisma.images.findUnique({ + where: { + id: params.id, + }, + select: { + url: true, + }, + }); + + if (!fs.existsSync(`./public/donasi/invoice/${get?.url}`)) { + const notFile = fs.readFileSync("./public/aset/global/no_img.png"); + return new NextResponse(notFile, { + headers: { + "Content-Type": "image/png", + }, + }); + } + const file = fs.readFileSync(`./public/donasi/invoice/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/donasi/gambar_pencairan/[id]/route.ts b/src/app/api/donasi/gambar_pencairan/[id]/route.ts new file mode 100644 index 00000000..69ff5739 --- /dev/null +++ b/src/app/api/donasi/gambar_pencairan/[id]/route.ts @@ -0,0 +1,34 @@ +import prisma from "@/app/lib/prisma"; +import fs from "fs"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET( + req: NextRequest, + { params }: { params: { id: string } } +) { + + const get = await prisma.images.findUnique({ + where: { + id: params.id, + }, + select: { + url: true, + }, + }); + + + if (!fs.existsSync(`./public/donasi/pencairan/${get?.url}`)) { + const notFile = fs.readFileSync("./public/aset/global/no_img.png"); + return new NextResponse(notFile, { + headers: { + "Content-Type": "image/png", + }, + }); + } + const file = fs.readFileSync(`./public/donasi/pencairan/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx index 92dc9e47..dd094a1b 100644 --- a/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx +++ b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx @@ -1,17 +1,24 @@ import { AdminDonasi_DetailPublish } from "@/app_modules/admin/donasi"; import { AdminDonasi_funCountDonatur } from "@/app_modules/admin/donasi/fun/count/fun_count_donatur"; import { AdminDonasi_getListDonatur } from "@/app_modules/admin/donasi/fun/get/get_list_donatur_by_id"; -import { AdminDonasi_getById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; - -export default async function Page({params}: {params: {id: string}}) { -const dataPublish = await AdminDonasi_getById(params.id) -const listDonatur = await AdminDonasi_getListDonatur(params.id) -const countDonatur = await AdminDonasi_funCountDonatur(params.id) +import { AdminDonasi_getListPencairanDana } from "@/app_modules/admin/donasi/fun/get/get_list_pencairan_dana_by_id"; +import { AdminDonasi_getOneById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; +export default async function Page({ params }: { params: { id: string } }) { + const dataPublish = await AdminDonasi_getOneById(params.id); + const listDonatur = await AdminDonasi_getListDonatur(params.id); + const countDonatur = await AdminDonasi_funCountDonatur(params.id); + const listPencairan = await AdminDonasi_getListPencairanDana(params.id); + // console.log(listDonatur) return ( <> - + ); } diff --git a/src/app/dev/admin/donasi/detail/reject/[id]/page.tsx b/src/app/dev/admin/donasi/detail/reject/[id]/page.tsx index 5e42cc3c..515f1c91 100644 --- a/src/app/dev/admin/donasi/detail/reject/[id]/page.tsx +++ b/src/app/dev/admin/donasi/detail/reject/[id]/page.tsx @@ -1,8 +1,8 @@ import { AdminDonasi_DetailReject } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; +import { AdminDonasi_getOneById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; export default async function Page({ params }: { params: { id: string } }) { - const dataReject = await AdminDonasi_getById(params.id); + const dataReject = await AdminDonasi_getOneById(params.id); return ( <> diff --git a/src/app/dev/admin/donasi/detail/review/[id]/page.tsx b/src/app/dev/admin/donasi/detail/review/[id]/page.tsx index 8dbbc3ce..4b8424f5 100644 --- a/src/app/dev/admin/donasi/detail/review/[id]/page.tsx +++ b/src/app/dev/admin/donasi/detail/review/[id]/page.tsx @@ -1,9 +1,9 @@ import { AdminDonasi_DetailReview } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; +import { AdminDonasi_getOneById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; export default async function Page({params}: {params: {id: string}}) { // console.log(params.id) - const dataReview = await AdminDonasi_getById(params.id) + const dataReview = await AdminDonasi_getOneById(params.id) // console.log(dataReview) return } \ No newline at end of file diff --git a/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx b/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx new file mode 100644 index 00000000..0bba36b2 --- /dev/null +++ b/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx @@ -0,0 +1,6 @@ +import { AdminDonasi_PencairanDana } from "@/app_modules/admin/donasi"; + +export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; + return ; +} diff --git a/src/app/dev/admin/donasi/proses_transaksi/[id]/page.tsx b/src/app/dev/admin/donasi/proses_transaksi/[id]/page.tsx index ee7d0a64..f6ed5bd6 100644 --- a/src/app/dev/admin/donasi/proses_transaksi/[id]/page.tsx +++ b/src/app/dev/admin/donasi/proses_transaksi/[id]/page.tsx @@ -1,4 +1,5 @@ -import AdminDonasi_ProsesTransaksi from "@/app_modules/admin/donasi/detail_table/publish/proses_transaksi"; + +import { AdminDonasi_ProsesTransaksi } from "@/app_modules/admin/donasi"; import { AdminDonasi_getListStatusInvoiceProses } from "@/app_modules/admin/donasi/fun/get/get_list_status_invoice_proses"; export default async function Page({params}: {params: {id: string}}) { diff --git a/src/app/dev/admin/donasi/table/publish/page.tsx b/src/app/dev/admin/donasi/table/publish/page.tsx index c1d70e82..30945ac0 100644 --- a/src/app/dev/admin/donasi/table/publish/page.tsx +++ b/src/app/dev/admin/donasi/table/publish/page.tsx @@ -1,5 +1,5 @@ import { AdminDonasi_TablePublish } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_donasi_by_status"; +import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; export default async function Page() { const listPublish = await AdminDonasi_getByStatus("1") diff --git a/src/app/dev/admin/donasi/table/reject/page.tsx b/src/app/dev/admin/donasi/table/reject/page.tsx index 7a62da99..96a1cfe7 100644 --- a/src/app/dev/admin/donasi/table/reject/page.tsx +++ b/src/app/dev/admin/donasi/table/reject/page.tsx @@ -1,5 +1,5 @@ import { AdminDonasi_TableReject } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_donasi_by_status"; +import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; export default async function Page() { const dataReject = await AdminDonasi_getByStatus("4") diff --git a/src/app/dev/admin/donasi/table/review/page.tsx b/src/app/dev/admin/donasi/table/review/page.tsx index 8fa21952..25a2b40e 100644 --- a/src/app/dev/admin/donasi/table/review/page.tsx +++ b/src/app/dev/admin/donasi/table/review/page.tsx @@ -1,5 +1,5 @@ import { AdminDonasi_TableReview } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_donasi_by_status"; +import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; import { getToken_UserId } from "@/app_modules/fun/get_user_token"; export default async function Page() { diff --git a/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx new file mode 100644 index 00000000..966bf13c --- /dev/null +++ b/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutCreateDonasi } from "@/app_modules/donasi"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + {children} + + ); +} diff --git a/src/app/dev/donasi/detail/detail_kabar/layout.tsx b/src/app/dev/donasi/detail/detail_kabar/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_kabar/layout.tsx rename to src/app/dev/donasi/detail/detail_kabar/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_kabar/[id]/page.tsx b/src/app/dev/donasi/detail/detail_kabar/[id]/page.tsx new file mode 100644 index 00000000..d67b5aec --- /dev/null +++ b/src/app/dev/donasi/detail/detail_kabar/[id]/page.tsx @@ -0,0 +1,10 @@ +import { DetailKabarDonasi } 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 dataDonasi = await Donasi_getOneKabar(kabarId) + + return +} \ No newline at end of file diff --git a/src/app/dev/donasi/detail/detail_kabar/page.tsx b/src/app/dev/donasi/detail/detail_kabar/page.tsx deleted file mode 100644 index 08d151f1..00000000 --- a/src/app/dev/donasi/detail/detail_kabar/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { DetailKabarDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return -} \ No newline at end of file diff --git a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx index 4854c65a..f0481634 100644 --- a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx +++ b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx @@ -1,16 +1,17 @@ import { DetailMainDonasi } from "@/app_modules/donasi"; import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur"; import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; +import { getToken_UserId } from "@/app_modules/fun/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let donasiId = params.id; const dataDonasi = await Donasi_getOneById(donasiId); const countDonatur = await Donasi_getCountDonatur(donasiId) - + const userLoginId = await getToken_UserId(); return ( <> - + ); } diff --git a/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx b/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx new file mode 100644 index 00000000..16392ec5 --- /dev/null +++ b/src/app/dev/donasi/detail/detail_notif/[id]/layout.tsx @@ -0,0 +1,22 @@ +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]/page.tsx b/src/app/dev/donasi/detail/detail_notif/[id]/page.tsx new file mode 100644 index 00000000..33fb99a8 --- /dev/null +++ b/src/app/dev/donasi/detail/detail_notif/[id]/page.tsx @@ -0,0 +1,9 @@ +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_publish/[id]/page.tsx b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx index 7bd4141a..3030a06c 100644 --- a/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx +++ b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx @@ -1,14 +1,18 @@ import { DetailPublishDonasi } from "@/app_modules/donasi"; import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur"; import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; +import { getToken_UserId } from "@/app_modules/fun/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { const dataPublish = await Donasi_getOneById(params.id); const countDonatur= await Donasi_getCountDonatur(params.id) + const userLoginId = await getToken_UserId(); + + console.log(userLoginId) return ( <> - + ); } diff --git a/src/app/dev/donasi/edit/edit_rekening/[id]/layout.tsx b/src/app/dev/donasi/edit/edit_rekening/[id]/layout.tsx new file mode 100644 index 00000000..faf5ce96 --- /dev/null +++ b/src/app/dev/donasi/edit/edit_rekening/[id]/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutDonasi_EditRekening } from "@/app_modules/donasi"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + {children} + + ); +} diff --git a/src/app/dev/donasi/edit/edit_rekening/[id]/page.tsx b/src/app/dev/donasi/edit/edit_rekening/[id]/page.tsx new file mode 100644 index 00000000..69f198dc --- /dev/null +++ b/src/app/dev/donasi/edit/edit_rekening/[id]/page.tsx @@ -0,0 +1,17 @@ +import { Donasi_EditRekening } from "@/app_modules/donasi"; +import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; + +export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; + const data = await Donasi_getOneById(donasiId); + const dataDonasi = { + id: data?.id, + namaBank: data?.namaBank, + rekening: data?.rekening, + }; + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/main/layout.tsx b/src/app/dev/donasi/main/layout.tsx index 15206dfa..55ee0210 100644 --- a/src/app/dev/donasi/main/layout.tsx +++ b/src/app/dev/donasi/main/layout.tsx @@ -1,8 +1,23 @@ import { LayoutDonasi } from "@/app_modules/donasi"; +import { Donasi_getNotifByUserId } from "@/app_modules/donasi/fun/get/get_notif_by_user_id"; +import { getToken_UserId } from "@/app_modules/fun/get_user_token"; import React from "react"; -export default async function Layout({children}: {children: React.ReactNode}) { - return <> - {children} +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + const userId = await getToken_UserId(); + // const dataDonasi = await DOnasi_getList + const isRead = await Donasi_getNotifByUserId(userId).then((res) => res.map((val) => val.isRead)) + // console.log(isRead) + + return ( + <> + + {children} + -} \ No newline at end of file + ); +} diff --git a/src/app/dev/donasi/notif_page/[id]/page.tsx b/src/app/dev/donasi/notif_page/[id]/page.tsx index afb176ec..6274061e 100644 --- a/src/app/dev/donasi/notif_page/[id]/page.tsx +++ b/src/app/dev/donasi/notif_page/[id]/page.tsx @@ -1,9 +1,14 @@ 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) -export default async function Page() { return ( <> - + ); } diff --git a/src/app/dev/donasi/pencairan_dana/layout.tsx b/src/app/dev/donasi/pencairan_dana/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/pencairan_dana/layout.tsx rename to src/app/dev/donasi/pencairan_dana/[id]/layout.tsx diff --git a/src/app/dev/donasi/pencairan_dana/[id]/page.tsx b/src/app/dev/donasi/pencairan_dana/[id]/page.tsx new file mode 100644 index 00000000..3256c8c2 --- /dev/null +++ b/src/app/dev/donasi/pencairan_dana/[id]/page.tsx @@ -0,0 +1,25 @@ +import { PencairanDanaDonasi } from "@/app_modules/donasi"; +import ComponentDonasi_LoaderOverlay from "@/app_modules/donasi/component/loader_overlay"; +import { NotifPeringatan } from "@/app_modules/donasi/component/notifikasi/notif_peringatan"; +import { Donasi_getListPencairanDanaById } from "@/app_modules/donasi/fun/get/get_list_pencairan_dana_by_id"; +import { Donasi_getTotalPencairanDanaById } from "@/app_modules/donasi/fun/get/get_pencairan_dana_by_id"; +import { getToken_UserId } from "@/app_modules/fun/get_user_token"; +import { Loader } from "@mantine/core"; + +export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; + const totalAkumulasi = await Donasi_getTotalPencairanDanaById(donasiId); + const listPencairan = await Donasi_getListPencairanDanaById(donasiId); + + + // if (authorId != totalAkumulasi?.authorId) return <> + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/pencairan_dana/page.tsx b/src/app/dev/donasi/pencairan_dana/page.tsx deleted file mode 100644 index c45f962c..00000000 --- a/src/app/dev/donasi/pencairan_dana/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { PencairanDanaDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/lib/router_hipmi/router_admin.ts b/src/app/lib/router_hipmi/router_admin.ts index 1c2f0b1b..273bf3e0 100644 --- a/src/app/lib/router_hipmi/router_admin.ts +++ b/src/app/lib/router_hipmi/router_admin.ts @@ -15,6 +15,10 @@ export const RouterAdminInvestasi = { }; export const RouterAdminDonasi = { + + api_gambar_bukti_transfer: "/api/donasi/gambar_bukti_transfer/", + + main_donasi: "/dev/admin/donasi/main", // table table_publish: "/dev/admin/donasi/table/publish", @@ -28,7 +32,10 @@ export const RouterAdminDonasi = { detail_reject: "/dev/admin/donasi/detail/reject/", // proses - proses_transaksi: "/dev/admin/donasi/proses_transaksi/" + proses_transaksi: "/dev/admin/donasi/proses_transaksi/", + pencairan_dana :"/dev/admin/donasi/pencairan_dana/", + + diff --git a/src/app/lib/router_hipmi/router_donasi.ts b/src/app/lib/router_hipmi/router_donasi.ts index aeb14fbd..64636316 100644 --- a/src/app/lib/router_hipmi/router_donasi.ts +++ b/src/app/lib/router_hipmi/router_donasi.ts @@ -5,7 +5,7 @@ export const RouterDonasi = { api_image: "/api/donasi/image/", api_image_cerita: "/api/donasi/image_cerita/", api_gambar_kabar: "/api/donasi/gambar_kabar/", - + api_gambar_pencairan: "/api/donasi/gambar_pencairan/", //main main_beranda: "/dev/donasi/main/beranda", @@ -13,7 +13,7 @@ export const RouterDonasi = { main_donasi_saya: "/dev/donasi/main/donasi_saya", // create - create_donasi: "/dev/donasi/create_donasi", + create_donasi: "/dev/donasi/create/create_donasi", create_cerita_penggalang: "/dev/donasi/create/cerita_penggalang/", create_kabar: "/dev/donasi/create/create_kabar/", @@ -21,34 +21,33 @@ export const RouterDonasi = { update_kabar: "/dev/donasi/edit/update_kabar/", edit_donasi: "/dev/donasi/edit/edit_donasi/", edit_cerita_penggalang: "/dev/donasi/edit/edit_cerita/", + edit_rekening: "/dev/donasi/edit/edit_rekening/", //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_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_notif: "/dev/donasi/detail/detail_notif/", //alur donasi donatur: "/dev/donasi/donatur/", kabar: "/dev/donasi/kabar/", - pencairan_dana: "/dev/donasi/pencairan_dana", + pencairan_dana: "/dev/donasi/pencairan_dana/", penggalang_dana: "/dev/donasi/penggalang_dana/", cerita_penggalang: "/dev/donasi/cerita_penggalang/", list_kabar: "/dev/donasi/list_kabar/", - notif_page:"/dev/donasi/notif_page/", - + notif_page: "/dev/donasi/notif_page/", + // proses donasi masukan_donasi: "/dev/donasi/proses_donasi/masukan_donasi/", metode_pembayaran: "/dev/donasi/proses_donasi/metode_pembayaran/", invoice: "/dev/donasi/proses_donasi/invoice/", proses_transaksi: "/dev/donasi/proses_donasi/proses_transaksi/", - - - }; diff --git a/src/app_modules/admin/donasi/component/tombol_kembali.tsx b/src/app_modules/admin/donasi/component/tombol_kembali.tsx index 44139fb1..2630f979 100644 --- a/src/app_modules/admin/donasi/component/tombol_kembali.tsx +++ b/src/app_modules/admin/donasi/component/tombol_kembali.tsx @@ -4,7 +4,7 @@ import { Group, Button } from "@mantine/core"; import { IconChevronLeft } from "@tabler/icons-react"; import { useRouter } from "next/navigation"; -export default function AdminDonasi_TombolKembali() { +export default function ComponentAdminDonasi_TombolKembali() { const router = useRouter(); return ( <> diff --git a/src/app_modules/admin/donasi/detail_table/detail_reject.tsx b/src/app_modules/admin/donasi/detail_table/detail_reject.tsx index b42b4335..a90cfe7a 100644 --- a/src/app_modules/admin/donasi/detail_table/detail_reject.tsx +++ b/src/app_modules/admin/donasi/detail_table/detail_reject.tsx @@ -7,16 +7,23 @@ import { Divider, Group, Image, + Modal, Paper, SimpleGrid, Stack, Text, + Textarea, Title, } from "@mantine/core"; import { useState } from "react"; -import AdminDonasi_TombolKembali from "../component/tombol_kembali"; +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"; export default function AdminDonasi_DetailReject({ dataReject, @@ -28,7 +35,11 @@ export default function AdminDonasi_DetailReject({ return ( <> - + { + if (res.status === 200) { + NotifBerhasil(res.message); + close(); + await AdminDonasi_getOneById(donasiId).then((res) => setDonasi(res)); + } else { + NotifGagal(res.message); + } + } + ); + } + return ( <> - - + + +