diff --git a/coba.sh b/coba.sh deleted file mode 100644 index 1dcb1341..00000000 --- a/coba.sh +++ /dev/null @@ -1,28 +0,0 @@ -curl -X POST - http://localhost:3000/api/investasi/midtrans/ \ - -H 'User-Agent: Veritrans' \ - -H 'Accept: application/json'\ - -H 'Content-Type: application/json' \ - -d '{ - "transaction_time": "2020-01-09 18:27:19", - "transaction_status": "capture", - "transaction_id": -"57d5293c-e65f-4a29-95e4-5959c3fa335b", - "status_message": "midtrans payment notification", - "status_code": "200", - "signature_key": -"16d6f84b2fb0468e2a9cf99a8ac4e5d803d42180347aaa70cb2a7abb13b5c6130458ca9c71956a962c0827637cd3bc7d40b21a8ae9fab12c7c3efe351b18d00a", - "payment_type": "credit_card", - "order_id": "Postman-1578568851", - "merchant_id": "G141532850", - "masked_card": "48111111-1114", - "gross_amount": "10000.00", - "fraud_status": "accept", - "eci": "05", - "currency": "IDR", - "channel_response_message": "Approved", - "channel_response_code": "00", - "card_type": "credit", - "bank": "bni", - "approval_code": "1578569243927" -}' diff --git a/package.json b/package.json index 46263582..7efdb4e9 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@mantine/dropzone": "^7.1.3", "@mantine/hooks": "^6.0.17", "@mantine/next": "^6.0.17", + "@mantine/notifications": "^6.0.17", "@prisma/client": "^5.0.0", "@tabler/icons-react": "^2.38.0", "@types/lodash": "^4.14.199", @@ -24,6 +25,8 @@ "@types/react-dom": "18.2.7", "@types/uuid": "^9.0.4", "autoprefixer": "10.4.14", + "echarts": "^5.4.3", + "echarts-for-react": "^3.0.2", "embla-carousel-react": "^8.0.0-rc14", "eslint": "8.45.0", "eslint-config-next": "13.4.12", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 0a4cf6c8..0ba45781 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -23,6 +23,9 @@ model User { Profile Profile? Investasi Investasi[] TransaksiInvestasi TransaksiInvestasi[] + Donasi Donasi[] + Donasi_Invoice Donasi_Invoice[] + Donasi_Notif Donasi_Notif[] } model MasterUserRole { @@ -46,54 +49,91 @@ model UserSession { } model Profile { - id String @id @default(cuid()) - name String - email String @unique - alamat String - jenisKelamin String - active Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @default(now()) @updatedAt - User User? @relation(fields: [userId], references: [id]) - userId String? @unique - ImageProfile Images? @relation(fields: [imagesId], references: [id]) - imagesId String? @unique - Katalog Katalog[] + id String @id @default(cuid()) + name String + email String @unique + alamat String + jenisKelamin String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @default(now()) @updatedAt + User User? @relation(fields: [userId], references: [id]) + userId String? @unique + ImageProfile Images? @relation(fields: [imagesId], references: [id]) + imagesId String? @unique + Portofolio Portofolio[] + ImagesBackground ImagesBackground? @relation(fields: [imagesBackgroundId], references: [id]) + imagesBackgroundId String? @unique } model Images { - id String @id @default(cuid()) - url String - active Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @default(now()) @updatedAt - Profile Profile? - Investasi Investasi? - BeritaInvestasi BeritaInvestasi[] + id String @id @default(cuid()) + url String + label String @default("null") + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @default(now()) @updatedAt + Profile Profile? + Investasi Investasi? + BeritaInvestasi BeritaInvestasi[] + Donasi Donasi? + CeritaDonasi Donasi_Cerita[] + Donasi_TemporaryCreate Donasi_TemporaryCreate[] + Donasi_Kabar Donasi_Kabar[] + Donasi_PencairanDana Donasi_PencairanDana[] + Donasi_Invoice Donasi_Invoice[] + Portofolio Portofolio[] } -model Katalog { - id String @id @default(cuid()) - namaBisnis String - alamatKantor String - tlpn String - deskripsi String - active Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @default(now()) @updatedAt - Profile Profile? @relation(fields: [profileId], references: [id]) - profileId String? - MasterBidangBisnis MasterBidangBisnis @relation(fields: [masterBidangBisnisId], references: [id]) - masterBidangBisnisId String +model ImagesBackground { + id String @id @default(cuid()) + url String + label String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Profile Profile? +} + +model Portofolio { + id String @id @default(cuid()) + namaBisnis String + alamatKantor String + tlpn String + deskripsi String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @default(now()) @updatedAt + Profile Profile? @relation(fields: [profileId], references: [id]) + profileId String? + MasterBidangBisnis MasterBidangBisnis @relation(fields: [masterBidangBisnisId], references: [id]) + masterBidangBisnisId String + Logo Images? @relation(fields: [logoId], references: [id]) + logoId String? + Portofolio_MediaSosial Portofolio_MediaSosial? +} + +model Portofolio_MediaSosial { + id String @id @default(cuid()) + facebook String? + twitter String? + instagram String? + tiktok String? + youtube String? + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Portofolio Portofolio? @relation(fields: [portofolioId], references: [id]) + portofolioId String? @unique } model MasterBidangBisnis { - id String @id - name String - active Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @default(now()) @updatedAt - Katalog Katalog[] + id String @id + name String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @default(now()) @updatedAt + Portofolio Portofolio[] } // -------------------- INVESTASI --------------------- // @@ -123,17 +163,17 @@ model Investasi { masterPembagianDevidenId String? MasterPencarianInvestor MasterPencarianInvestor? @relation(fields: [masterPencarianInvestorId], references: [id]) masterPencarianInvestorId String? - ImageInvestasi Images? @relation(fields: [imagesId], references: [id]) - imagesId String? @unique + ImageInvestasi Images? @relation(fields: [imagesId], references: [id]) + imagesId String? @unique - MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id]) - masterStatusInvestasiId String? @default("2") - ProspektusInvestasi ProspektusInvestasi? - BeritaInvestasi BeritaInvestasi[] - DokumenInvestasi DokumenInvestasi[] + MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id]) + masterStatusInvestasiId String? @default("2") + ProspektusInvestasi ProspektusInvestasi? + BeritaInvestasi BeritaInvestasi[] + DokumenInvestasi DokumenInvestasi[] TransaksiInvestasi TransaksiInvestasi[] MasterProgresInvestasi MasterProgresInvestasi? @relation(fields: [masterProgresInvestasiId], references: [id]) - masterProgresInvestasiId String? + masterProgresInvestasiId String? } model MasterPencarianInvestor { @@ -268,3 +308,173 @@ model MasterStatusTransaksiInvestasi { TransaksiInvestasi TransaksiInvestasi[] } +/// ---------------------------------------- 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") + namaBank String? + rekening String? + akumulasiPencairan Int? @default(0) + totalPencairan Int? @default(0) + + Author User? @relation(fields: [authorId], references: [id]) + authorId String? + imageDonasi Images? @relation(fields: [imagesId], references: [id]) + imagesId String? @unique + CeritaDonasi Donasi_Cerita? + DonasiMaster_Ketegori DonasiMaster_Kategori? @relation(fields: [donasiMaster_KategoriId], references: [id]) + donasiMaster_KategoriId String? + DonasiMaster_Durasi DonasiMaster_Durasi? @relation(fields: [donasiMaster_DurasiId], references: [id]) + donasiMaster_DurasiId String? + DonasiMaster_Status DonasiMaster_StatusDonasi? @relation(fields: [donasiMaster_StatusDonasiId], references: [id]) + donasiMaster_StatusDonasiId String? @default("2") + Donasi_Invoice Donasi_Invoice[] + Donasi_Kabar Donasi_Kabar[] + Donasi_PencairanDana Donasi_PencairanDana[] +} + +model Donasi_TemporaryCreate { + id String @id @default(cuid()) + title String + target String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + imageDonasiTemporary Images? @relation(fields: [imagesId], references: [id]) + imagesId String? @unique + kategori DonasiMaster_Kategori? @relation(fields: [donasiMaster_KategoriId], references: [id]) + donasiMaster_KategoriId String? + durasi DonasiMaster_Durasi? @relation(fields: [donasiMaster_DurasiId], references: [id]) + donasiMaster_DurasiId String? +} + +model DonasiMaster_Kategori { + id String @id @default(cuid()) + name String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi Donasi[] + Donasi_TemporaryCreate Donasi_TemporaryCreate[] +} + +model DonasiMaster_Durasi { + id String @id @default(cuid()) + name String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi Donasi[] + Donasi_TemporaryCreate Donasi_TemporaryCreate[] +} + +model Donasi_Cerita { + id String @id @default(cuid()) + pembukaan String + cerita String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + imageCeritaDonasi Images? @relation(fields: [imagesId], references: [id]) + imagesId String? @unique + Donasi Donasi? @relation(fields: [donasiId], references: [id]) + donasiId String? @unique +} + +model DonasiMaster_StatusDonasi { + id String @id @default(cuid()) + name String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi Donasi[] +} + +model DonasiMaster_Bank { + id String @id @default(cuid()) + name String + norek String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi_Invoice Donasi_Invoice[] +} + +model DonasiMaster_StatusInvoice { + id String @id @default(cuid()) + name String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Donasi_Invoice Donasi_Invoice[] +} + +model Donasi_Invoice { + id String @id @default(cuid()) + nominal String + active Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + Donasi Donasi? @relation(fields: [donasiId], references: [id]) + donasiId String? + DonasiMaster_Bank DonasiMaster_Bank? @relation(fields: [donasiMaster_BankId], references: [id]) + donasiMaster_BankId String? + DonasiMaster_StatusInvoice DonasiMaster_StatusInvoice? @relation(fields: [donasiMaster_StatusInvoiceId], references: [id]) + 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 { + id String @id @default(cuid()) + 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]) + 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? + Images Images? @relation(fields: [imagesId], references: [id]) + imagesId String? +} diff --git a/public/aset/avatar.png b/public/aset/global/avatar.png similarity index 100% rename from public/aset/avatar.png rename to public/aset/global/avatar.png diff --git a/public/aset/global/no_img.png b/public/aset/global/no_img.png new file mode 100644 index 00000000..00953883 Binary files /dev/null and b/public/aset/global/no_img.png differ diff --git a/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg b/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg new file mode 100644 index 00000000..83e6366e Binary files /dev/null and b/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg differ 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/4e1a2302-5471-4a95-a79c-0fbe3c3f0677.jpeg b/public/donasi/image/4e1a2302-5471-4a95-a79c-0fbe3c3f0677.jpeg new file mode 100644 index 00000000..5652497a Binary files /dev/null and b/public/donasi/image/4e1a2302-5471-4a95-a79c-0fbe3c3f0677.jpeg differ diff --git a/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg b/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg new file mode 100644 index 00000000..6453d730 Binary files /dev/null and b/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg differ diff --git a/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg b/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg new file mode 100644 index 00000000..5652497a Binary files /dev/null and b/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg differ diff --git a/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg b/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg new file mode 100644 index 00000000..289b1a56 Binary files /dev/null and b/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg differ diff --git a/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg b/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg new file mode 100644 index 00000000..289b1a56 Binary files /dev/null and b/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg differ diff --git a/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg b/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg new file mode 100644 index 00000000..b71d094e Binary files /dev/null and b/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg differ diff --git a/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg b/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg new file mode 100644 index 00000000..b71d094e Binary files /dev/null and b/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg differ diff --git a/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg b/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg new file mode 100644 index 00000000..b71d094e Binary files /dev/null and b/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg differ diff --git a/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg b/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg new file mode 100644 index 00000000..d3ea1214 Binary files /dev/null and b/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg differ diff --git a/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg b/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg new file mode 100644 index 00000000..8830cea2 Binary files /dev/null and b/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg differ diff --git a/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg b/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg new file mode 100644 index 00000000..6302e96c Binary files /dev/null and b/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg differ diff --git a/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg b/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg new file mode 100644 index 00000000..d3ea1214 Binary files /dev/null and b/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg differ diff --git a/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg b/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg new file mode 100644 index 00000000..5652497a Binary files /dev/null and b/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg 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/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg b/public/donasi/image_cerita/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg new file mode 100644 index 00000000..4f712802 Binary files /dev/null and b/public/donasi/image_cerita/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg 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/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg b/public/donasi/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg new file mode 100644 index 00000000..d3ea1214 Binary files /dev/null and b/public/donasi/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg differ diff --git a/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg b/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg new file mode 100644 index 00000000..e25549da Binary files /dev/null and b/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg differ diff --git a/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.jpeg b/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.jpeg new file mode 100644 index 00000000..d0b9edda Binary files /dev/null and b/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.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/public/img/index.ts b/public/img/index.ts deleted file mode 100644 index a0d7b429..00000000 --- a/public/img/index.ts +++ /dev/null @@ -1 +0,0 @@ -// Image for profile \ No newline at end of file diff --git a/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg b/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg new file mode 100644 index 00000000..f046776e Binary files /dev/null and b/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg differ diff --git a/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png b/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png new file mode 100644 index 00000000..256b64ba Binary files /dev/null and b/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png differ diff --git a/public/portofolio/logo/test.md b/public/portofolio/logo/test.md new file mode 100644 index 00000000..21e60f83 --- /dev/null +++ b/public/portofolio/logo/test.md @@ -0,0 +1 @@ +# Test \ No newline at end of file diff --git a/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg b/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg new file mode 100644 index 00000000..326da9f2 Binary files /dev/null and b/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg differ diff --git a/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png b/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png new file mode 100644 index 00000000..24d01eeb Binary files /dev/null and b/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png differ diff --git a/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png b/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png new file mode 100644 index 00000000..6e04e0ec Binary files /dev/null and b/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png differ diff --git a/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png b/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png new file mode 100644 index 00000000..6e04e0ec Binary files /dev/null and b/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png differ diff --git a/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg b/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg new file mode 100644 index 00000000..5beff2fd Binary files /dev/null and b/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg differ diff --git a/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png b/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png new file mode 100644 index 00000000..b4ef2a39 Binary files /dev/null and b/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png differ diff --git a/src/app/api/donasi/gambar/[id]/route.ts b/src/app/api/donasi/gambar/[id]/route.ts new file mode 100644 index 00000000..1bf25d16 --- /dev/null +++ b/src/app/api/donasi/gambar/[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/image/${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/image/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} 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_cerita/[id]/route.ts b/src/app/api/donasi/gambar_cerita/[id]/route.ts new file mode 100644 index 00000000..26728087 --- /dev/null +++ b/src/app/api/donasi/gambar_cerita/[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/image_cerita/${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/image_cerita/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/donasi/gambar_kabar/[id]/route.ts b/src/app/api/donasi/gambar_kabar/[id]/route.ts new file mode 100644 index 00000000..97c277df --- /dev/null +++ b/src/app/api/donasi/gambar_kabar/[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/kabar/${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/kabar/${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/api/donasi/image/[url]/route.ts b/src/app/api/donasi/image/[url]/route.ts new file mode 100644 index 00000000..b23bbf31 --- /dev/null +++ b/src/app/api/donasi/image/[url]/route.ts @@ -0,0 +1,23 @@ +import fs from "fs"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET( + req: NextRequest, + { params }: { params: { url: string } } +) { + if (!fs.existsSync(`./public/donasi/image/${params.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/image/${params.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/donasi/image_cerita/[url]/route.ts b/src/app/api/donasi/image_cerita/[url]/route.ts new file mode 100644 index 00000000..17635968 --- /dev/null +++ b/src/app/api/donasi/image_cerita/[url]/route.ts @@ -0,0 +1,25 @@ +import { NextRequest, NextResponse } from "next/server"; +import fs from "fs" + +export async function GET( + req: NextRequest, + { params }: { params: { url: string } } +) { + + if (!fs.existsSync(`./public/donasi/image_cerita/${params.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/image_cerita/${params.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); + +} diff --git a/src/app/api/donasi/index.md b/src/app/api/donasi/index.md new file mode 100644 index 00000000..21e60f83 --- /dev/null +++ b/src/app/api/donasi/index.md @@ -0,0 +1 @@ +# Test \ No newline at end of file diff --git a/src/app/api/portofolio/logo/[id]/route.ts b/src/app/api/portofolio/logo/[id]/route.ts new file mode 100644 index 00000000..05134e05 --- /dev/null +++ b/src/app/api/portofolio/logo/[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/portofolio/logo/${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/portofolio/logo/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/profile/background/[id]/route.ts b/src/app/api/profile/background/[id]/route.ts new file mode 100644 index 00000000..a83ad31c --- /dev/null +++ b/src/app/api/profile/background/[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.imagesBackground.findUnique({ + where: { + id: params.id, + }, + select: { + url: true, + }, + }); + + if (!fs.existsSync(`./public/profile/background/${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/profile/background/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/profile/foto/[id]/route.ts b/src/app/api/profile/foto/[id]/route.ts new file mode 100644 index 00000000..da29b38d --- /dev/null +++ b/src/app/api/profile/foto/[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/profile/foto/${get?.url}`)) { + const notFile = fs.readFileSync("./public/aset/global/avatar.png"); + return new NextResponse(notFile, { + headers: { + "Content-Type": "image/png", + }, + }); + } + const file = fs.readFileSync(`./public/profile/foto/${get?.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/profile/foto/[name]/route.ts b/src/app/api/profile/foto/[name]/route.ts deleted file mode 100644 index c1d3a267..00000000 --- a/src/app/api/profile/foto/[name]/route.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NextRequest, NextResponse } from "next/server"; -import fs from "fs"; - -export async function GET( - req: NextRequest, - { params }: { params: { name: string } } -) { - if (!fs.existsSync(`./public/img/${params.name}`)) { - const fl = fs.readFileSync(`./public/aset/avatar.png`); - return new NextResponse(fl, { - headers: { - "Content-Type": "image/png", - }, - }); - } - const fl = fs.readFileSync(`./public/img/${params.name}`); - return new NextResponse(fl, { - headers: { - "Content-Type": "image/png", - }, - }); -} diff --git a/src/app/api/profile/url_background/[url]/route.ts b/src/app/api/profile/url_background/[url]/route.ts new file mode 100644 index 00000000..b7469536 --- /dev/null +++ b/src/app/api/profile/url_background/[url]/route.ts @@ -0,0 +1,23 @@ +import fs from "fs"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET( + req: NextRequest, + { params }: { params: { url: string } } +) { + if (!fs.existsSync(`./public/profile/background/${params.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/profile/background/${params.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/profile/url_foto/[url]/route.ts b/src/app/api/profile/url_foto/[url]/route.ts new file mode 100644 index 00000000..1a8cf0bc --- /dev/null +++ b/src/app/api/profile/url_foto/[url]/route.ts @@ -0,0 +1,23 @@ +import fs from "fs"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET( + req: NextRequest, + { params }: { params: { url: string } } +) { + if (!fs.existsSync(`./public/profile/foto/${params.url}`)) { + const notFile = fs.readFileSync("./public/aset/global/avatar.png"); + return new NextResponse(notFile, { + headers: { + "Content-Type": "image/png", + }, + }); + } + + const file = fs.readFileSync(`./public/profile/foto/${params.url}`); + return new NextResponse(file, { + headers: { + "Content-Type": "image/png", + }, + }); +} diff --git a/src/app/api/seeder/route.ts b/src/app/api/seeder/route.ts index 483fae84..9a213b3f 100644 --- a/src/app/api/seeder/route.ts +++ b/src/app/api/seeder/route.ts @@ -10,6 +10,11 @@ import namaBank from "./../../../bin/seeder/investasi/nama_bank.json"; import statusTransaksiInvestasi from "./../../../bin/seeder/investasi/status_transaksi_investasi.json"; import jenisProgres from "../../../bin/seeder/investasi/master_progres.json"; import userSeeder from "../../../bin/seeder/user_seeder.json"; +import donasi_status from "../../../bin/seeder/donasi/master_status.json"; +import donasi_kategori from "../../../bin/seeder/donasi/master_kategori.json"; +import donasi_durasi from "../../../bin/seeder/donasi/master_durasi.json"; +import donasi_namaBank from "../../../bin/seeder/donasi/master_bank.json" +import donasi_status_invoice from "../../../bin/seeder/donasi/master_status_invoice.json" export async function GET(req: Request) { const dev = new URL(req.url).searchParams.get("dev"); @@ -181,6 +186,84 @@ export async function GET(req: Request) { }); } + for (let d of donasi_status) { + await prisma.donasiMaster_StatusDonasi.upsert({ + where: { + id: d.id, + }, + create: { + id: d.id, + name: d.name, + }, + update: { + name: d.name, + }, + }); + } + + for (let d of donasi_kategori) { + await prisma.donasiMaster_Kategori.upsert({ + where: { + id: d.id, + }, + create: { + id: d.id, + name: d.name, + }, + update: { + name: d.name, + }, + }); + } + + for (let d of donasi_durasi) { + await prisma.donasiMaster_Durasi.upsert({ + where: { + id: d.id, + }, + create: { + id: d.id, + name: d.name, + }, + update: { + name: d.name, + }, + }); + } + + for (let i of donasi_namaBank) { + await prisma.donasiMaster_Bank.upsert({ + where: { + id: i.id, + }, + create: { + id: i.id, + name: i.name, + norek: i.norek, + }, + update: { + id: i.id, + name: i.name, + norek: i.norek, + }, + }); + } + + for (let d of donasi_status_invoice) { + await prisma.donasiMaster_StatusInvoice.upsert({ + where: { + id: d.id, + }, + create: { + id: d.id, + name: d.name, + }, + update: { + name: d.name, + }, + }); + } + return NextResponse.json({ success: true }); } diff --git a/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx new file mode 100644 index 00000000..dd094a1b --- /dev/null +++ b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx @@ -0,0 +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_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 new file mode 100644 index 00000000..515f1c91 --- /dev/null +++ b/src/app/dev/admin/donasi/detail/reject/[id]/page.tsx @@ -0,0 +1,12 @@ +import { AdminDonasi_DetailReject } from "@/app_modules/admin/donasi"; +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_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 new file mode 100644 index 00000000..4b8424f5 --- /dev/null +++ b/src/app/dev/admin/donasi/detail/review/[id]/page.tsx @@ -0,0 +1,9 @@ +import { AdminDonasi_DetailReview } from "@/app_modules/admin/donasi"; +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_getOneById(params.id) + // console.log(dataReview) + return +} \ No newline at end of file diff --git a/src/app/dev/admin/donasi/main/page.tsx b/src/app/dev/admin/donasi/main/page.tsx index 82f3d694..63f2c0ce 100644 --- a/src/app/dev/admin/donasi/main/page.tsx +++ b/src/app/dev/admin/donasi/main/page.tsx @@ -1,10 +1,20 @@ import { AdminDonasi_Main } from "@/app_modules/admin/donasi"; - +import AdminDonasi_funCountByStatus from "@/app_modules/admin/donasi/fun/count/fun_count_donasi_by_status"; export default async function Page() { + const countPublish = await AdminDonasi_funCountByStatus("1"); + const countReview = await AdminDonasi_funCountByStatus("2"); + const countDraft = await AdminDonasi_funCountByStatus("3"); + const countReject = await AdminDonasi_funCountByStatus("4"); + return ( <> - + ); } 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 new file mode 100644 index 00000000..f6ed5bd6 --- /dev/null +++ b/src/app/dev/admin/donasi/proses_transaksi/[id]/page.tsx @@ -0,0 +1,12 @@ + +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}}) { + let donasiId = params.id + + const listProses = await AdminDonasi_getListStatusInvoiceProses(donasiId) + + + return +} \ No newline at end of file diff --git a/src/app/dev/admin/donasi/table/publish/page.tsx b/src/app/dev/admin/donasi/table/publish/page.tsx index 749fe2c1..30945ac0 100644 --- a/src/app/dev/admin/donasi/table/publish/page.tsx +++ b/src/app/dev/admin/donasi/table/publish/page.tsx @@ -1,7 +1,10 @@ import { AdminDonasi_TablePublish } from "@/app_modules/admin/donasi"; +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") + // console.log(listPublish) return<> - + } \ No newline at end of file diff --git a/src/app/dev/admin/donasi/table/reject/page.tsx b/src/app/dev/admin/donasi/table/reject/page.tsx new file mode 100644 index 00000000..96a1cfe7 --- /dev/null +++ b/src/app/dev/admin/donasi/table/reject/page.tsx @@ -0,0 +1,10 @@ +import { AdminDonasi_TableReject } from "@/app_modules/admin/donasi"; +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") + // console.log(dataReject) + return<> + + +} \ No newline at end of file diff --git a/src/app/dev/admin/donasi/table/review/page.tsx b/src/app/dev/admin/donasi/table/review/page.tsx new file mode 100644 index 00000000..bf158353 --- /dev/null +++ b/src/app/dev/admin/donasi/table/review/page.tsx @@ -0,0 +1,9 @@ +import { AdminDonasi_TableReview } from "@/app_modules/admin/donasi"; +import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; + +export default async function Page() { + const listReview = await AdminDonasi_getByStatus("2"); + // console.log(listReview); + return ; +} diff --git a/src/app/dev/admin/investasi/konfirmasi/[id]/page.tsx b/src/app/dev/admin/investasi/konfirmasi/[id]/page.tsx index 57b53ff0..96ab26e9 100644 --- a/src/app/dev/admin/investasi/konfirmasi/[id]/page.tsx +++ b/src/app/dev/admin/investasi/konfirmasi/[id]/page.tsx @@ -1,5 +1,5 @@ import { Admin_KonfirmasiInvestasi } from "@/app_modules/admin/investasi"; -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id"; diff --git a/src/app/dev/admin/layout.tsx b/src/app/dev/admin/layout.tsx index e7937178..5e041dce 100644 --- a/src/app/dev/admin/layout.tsx +++ b/src/app/dev/admin/layout.tsx @@ -1,4 +1,4 @@ -import { AdminLayout } from "@/app_modules/admin/main"; +import { AdminLayout } from "@/app_modules/admin/main_dashboard"; import React from "react"; export default async function Layout({ diff --git a/src/app/dev/admin/main/dashboard/page.tsx b/src/app/dev/admin/main/dashboard/page.tsx index 2151cea9..ee00cc55 100644 --- a/src/app/dev/admin/main/dashboard/page.tsx +++ b/src/app/dev/admin/main/dashboard/page.tsx @@ -1,5 +1,10 @@ -import { AdminMain } from "@/app_modules/admin/main"; +import { AdminMain } from "@/app_modules/admin/main_dashboard"; +import { AdminMainDashboard_CountPOrtofolio } from "@/app_modules/admin/main_dashboard/fun/count/fun_count_portofolio"; +import { AdminMainDashboard_CountUser } from "@/app_modules/admin/main_dashboard/fun/count/fun_count_user"; export default async function Page() { - return ; + const countUser = await AdminMainDashboard_CountUser(); + const countPorto = await AdminMainDashboard_CountPOrtofolio(); + + return ; } diff --git a/src/app/dev/donasi/cerita_penggalang/[id]/layout.tsx b/src/app/dev/donasi/cerita_penggalang/[id]/layout.tsx new file mode 100644 index 00000000..12339470 --- /dev/null +++ b/src/app/dev/donasi/cerita_penggalang/[id]/layout.tsx @@ -0,0 +1,21 @@ +import { LayoutCeritaPenggalangDonasi } 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 dataDonasi = await Donasi_getOneById(params.id); + const statusDonasiId = dataDonasi?.donasiMaster_StatusDonasiId; + return ( + <> + + {children} + + + ); +} diff --git a/src/app/dev/donasi/cerita_penggalang/[id]/page.tsx b/src/app/dev/donasi/cerita_penggalang/[id]/page.tsx new file mode 100644 index 00000000..b9518bed --- /dev/null +++ b/src/app/dev/donasi/cerita_penggalang/[id]/page.tsx @@ -0,0 +1,12 @@ +import { CeritaPenggalangDonasi } from "@/app_modules/donasi"; +import Donasi_getCeritaByDonasiId from "@/app_modules/donasi/fun/get/get_cerita_penggalang"; + +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/cerita_penggalang/layout.tsx b/src/app/dev/donasi/cerita_penggalang/layout.tsx deleted file mode 100644 index 5e4d7ddb..00000000 --- a/src/app/dev/donasi/cerita_penggalang/layout.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { LayoutCeritaPenggalangDonasi } 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/cerita_penggalang/page.tsx b/src/app/dev/donasi/cerita_penggalang/page.tsx deleted file mode 100644 index 97f4c94f..00000000 --- a/src/app/dev/donasi/cerita_penggalang/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { CeritaPenggalangDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/create/layout.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/create/layout.tsx rename to src/app/dev/donasi/create/cerita_penggalang/[id]/layout.tsx diff --git a/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx new file mode 100644 index 00000000..6d517f09 --- /dev/null +++ b/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx @@ -0,0 +1,16 @@ +import { CreateCeritaPenggalangDonasi } from "@/app_modules/donasi"; +import { Donasi_getTemporaryCreate } from "@/app_modules/donasi/fun/get/get_temporary_create"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; + + +export default async function Page({ params }: { params: { id: string } }) { + + const getTemporaryCreate = await Donasi_getTemporaryCreate(params.id); + const userId = await User_getUserId() + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/create/cerita_penggalang/page.tsx b/src/app/dev/donasi/create/cerita_penggalang/page.tsx deleted file mode 100644 index 02d9fed4..00000000 --- a/src/app/dev/donasi/create/cerita_penggalang/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { CreateCeritaPenggalangDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return<> - - -} \ No newline at end of file diff --git a/src/app/dev/donasi/create/create_donasi/layout.tsx b/src/app/dev/donasi/create/create_donasi/layout.tsx new file mode 100644 index 00000000..966bf13c --- /dev/null +++ b/src/app/dev/donasi/create/create_donasi/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/create/create_donasi/page.tsx b/src/app/dev/donasi/create/create_donasi/page.tsx new file mode 100644 index 00000000..a1029a26 --- /dev/null +++ b/src/app/dev/donasi/create/create_donasi/page.tsx @@ -0,0 +1,15 @@ +import { CreateDonasi } from "@/app_modules/donasi"; +import { + Donasi_getMasterDurasi, + Donasi_getMasterKategori, +} from "@/app_modules/donasi/fun"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; + +export default async function Page() { + const masterKategori = await Donasi_getMasterKategori(); + const masterDurasi = await Donasi_getMasterDurasi(); + + return ( + + ); +} diff --git a/src/app/dev/donasi/create/create_kabar/[id]/layout.tsx b/src/app/dev/donasi/create/create_kabar/[id]/layout.tsx new file mode 100644 index 00000000..dfd5ef5e --- /dev/null +++ b/src/app/dev/donasi/create/create_kabar/[id]/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutDonasi_CreateKabar } 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/create/create_kabar/[id]/page.tsx b/src/app/dev/donasi/create/create_kabar/[id]/page.tsx new file mode 100644 index 00000000..8df15b45 --- /dev/null +++ b/src/app/dev/donasi/create/create_kabar/[id]/page.tsx @@ -0,0 +1,8 @@ +import { Donasi_CreateKabar } from "@/app_modules/donasi"; + +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/create/page.tsx b/src/app/dev/donasi/create/page.tsx deleted file mode 100644 index 41f26c1a..00000000 --- a/src/app/dev/donasi/create/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateDonasi } 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_donasi_saya/layout.tsx b/src/app/dev/donasi/detail/detail_donasi_saya/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_donasi_saya/layout.tsx rename to src/app/dev/donasi/detail/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/detail_donasi_saya/[id]/page.tsx new file mode 100644 index 00000000..8388822f --- /dev/null +++ b/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx @@ -0,0 +1,18 @@ +import { DetailDonasiSaya } 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 { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id"; + +export default async function Page({ params }: { params: { id: string } }) { + let invoiceId = params.id; + const dataDonasi = await Donasi_getOneInvoiceById(invoiceId); + const countDonatur= await Donasi_getCountDonatur(dataDonasi?.donasiId as any) + console.log(dataDonasi?.Donasi?.progres) + + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_donasi_saya/page.tsx b/src/app/dev/donasi/detail/detail_donasi_saya/page.tsx deleted file mode 100644 index e3c3c3f1..00000000 --- a/src/app/dev/donasi/detail/detail_donasi_saya/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailDonasiSaya } 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_draft/layout.tsx b/src/app/dev/donasi/detail/detail_draft/[id]/layout.tsx similarity index 63% rename from src/app/dev/donasi/detail/detail_draft/layout.tsx rename to src/app/dev/donasi/detail/detail_draft/[id]/layout.tsx index 23a74e6d..2877c7ed 100644 --- a/src/app/dev/donasi/detail/detail_draft/layout.tsx +++ b/src/app/dev/donasi/detail/detail_draft/[id]/layout.tsx @@ -3,12 +3,14 @@ import React from "react"; export default async function Layout({ children, + params }: { children: React.ReactNode; + params: {id: string} }) { return ( <> - {children} + {children} ); } diff --git a/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx b/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx new file mode 100644 index 00000000..4439b3ae --- /dev/null +++ b/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx @@ -0,0 +1,12 @@ +import { DetailDraftDonasi } 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 } }) { + const dataDonasi = await Donasi_getOneById(params.id); + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_draft/page.tsx b/src/app/dev/donasi/detail/detail_draft/page.tsx deleted file mode 100644 index bfe452f3..00000000 --- a/src/app/dev/donasi/detail/detail_draft/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailDraftDonasi } from "@/app_modules/donasi"; - -export default async function Paeg() { - return<> - - -} \ No newline at end of file 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/layout.tsx b/src/app/dev/donasi/detail/detail_main/[id]/layout.tsx similarity index 64% rename from src/app/dev/donasi/detail/detail_main/layout.tsx rename to src/app/dev/donasi/detail/detail_main/[id]/layout.tsx index 57dd7b23..5a5f62b3 100644 --- a/src/app/dev/donasi/detail/detail_main/layout.tsx +++ b/src/app/dev/donasi/detail/detail_main/[id]/layout.tsx @@ -3,12 +3,14 @@ import React from "react"; export default async function Layout({ children, + params }: { children: React.ReactNode; + params: {id: string} }) { return ( <> - {children} + {children} ); } diff --git a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx new file mode 100644 index 00000000..a25d4efd --- /dev/null +++ b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx @@ -0,0 +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 { User_getUserId } from "@/app_modules/fun_global/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 User_getUserId(); + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_main/page.tsx b/src/app/dev/donasi/detail/detail_main/page.tsx deleted file mode 100644 index 0d188a27..00000000 --- a/src/app/dev/donasi/detail/detail_main/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { DetailMainDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - 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/layout.tsx b/src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx similarity index 59% rename from src/app/dev/donasi/detail/detail_publish/layout.tsx rename to src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx index b23aed9e..2f0dc869 100644 --- a/src/app/dev/donasi/detail/detail_publish/layout.tsx +++ b/src/app/dev/donasi/detail/detail_publish/[id]/layout.tsx @@ -3,12 +3,16 @@ import React from "react"; export default async function Layout({ children, + params, }: { children: React.ReactNode; + params: { id: string }; }) { return ( <> - {children} + + {children} + ); } diff --git a/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx new file mode 100644 index 00000000..62d52e59 --- /dev/null +++ b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx @@ -0,0 +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 { User_getUserId } from "@/app_modules/fun_global/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 User_getUserId(); + + console.log(userLoginId) + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_publish/page.tsx b/src/app/dev/donasi/detail/detail_publish/page.tsx deleted file mode 100644 index e7ca2cdb..00000000 --- a/src/app/dev/donasi/detail/detail_publish/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailPublishDonasi } 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_reject/layout.tsx b/src/app/dev/donasi/detail/detail_reject/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_reject/layout.tsx rename to src/app/dev/donasi/detail/detail_reject/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_reject/[id]/page.tsx b/src/app/dev/donasi/detail/detail_reject/[id]/page.tsx new file mode 100644 index 00000000..24bdfae0 --- /dev/null +++ b/src/app/dev/donasi/detail/detail_reject/[id]/page.tsx @@ -0,0 +1,11 @@ +import { DetailRejectDonasi } 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 dataReject = await Donasi_getOneById(donasiId) + + return<> + + +} \ No newline at end of file diff --git a/src/app/dev/donasi/detail/detail_reject/page.tsx b/src/app/dev/donasi/detail/detail_reject/page.tsx deleted file mode 100644 index a8b4d15c..00000000 --- a/src/app/dev/donasi/detail/detail_reject/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailRejectDonasi } 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_review/layout.tsx b/src/app/dev/donasi/detail/detail_review/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/detail/detail_review/layout.tsx rename to src/app/dev/donasi/detail/detail_review/[id]/layout.tsx diff --git a/src/app/dev/donasi/detail/detail_review/[id]/page.tsx b/src/app/dev/donasi/detail/detail_review/[id]/page.tsx new file mode 100644 index 00000000..c7a4279b --- /dev/null +++ b/src/app/dev/donasi/detail/detail_review/[id]/page.tsx @@ -0,0 +1,12 @@ +import { DetailReviewDonasi } 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 } }) { + const dataDonasi = await Donasi_getOneById(params.id); + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/detail/detail_review/page.tsx b/src/app/dev/donasi/detail/detail_review/page.tsx deleted file mode 100644 index cfacbe8f..00000000 --- a/src/app/dev/donasi/detail/detail_review/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailReviewDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return<> - - -} \ No newline at end of file diff --git a/src/app/dev/donasi/donatur/layout.tsx b/src/app/dev/donasi/donatur/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/donatur/layout.tsx rename to src/app/dev/donasi/donatur/[id]/layout.tsx diff --git a/src/app/dev/donasi/donatur/[id]/page.tsx b/src/app/dev/donasi/donatur/[id]/page.tsx new file mode 100644 index 00000000..bae2ad86 --- /dev/null +++ b/src/app/dev/donasi/donatur/[id]/page.tsx @@ -0,0 +1,12 @@ +import { DonaturDonasi } from "@/app_modules/donasi"; +import { Donasi_getListDonatur } from "@/app_modules/donasi/fun/get/get_list_donatur"; + +export default async function Page({ params }: { params: { id: string } }) { + const listDonatur = await Donasi_getListDonatur(params.id); + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/donatur/page.tsx b/src/app/dev/donasi/donatur/page.tsx deleted file mode 100644 index 823c1be8..00000000 --- a/src/app/dev/donasi/donatur/page.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { DonaturDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return<> - - - -} \ No newline at end of file diff --git a/src/app/dev/donasi/edit/edit_cerita/layout.tsx b/src/app/dev/donasi/edit/edit_cerita/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/edit/edit_cerita/layout.tsx rename to src/app/dev/donasi/edit/edit_cerita/[id]/layout.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 new file mode 100644 index 00000000..1467178d --- /dev/null +++ b/src/app/dev/donasi/edit/edit_cerita/[id]/page.tsx @@ -0,0 +1,12 @@ +import { EditCeritaPenggalangDonasi } from "@/app_modules/donasi"; +import Donasi_getCeritaByDonasiId from "@/app_modules/donasi/fun/get/get_cerita_penggalang"; + +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/edit_cerita/page.tsx b/src/app/dev/donasi/edit/edit_cerita/page.tsx deleted file mode 100644 index 4d7096ce..00000000 --- a/src/app/dev/donasi/edit/edit_cerita/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { EditCeritaPenggalangDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return<> - - -} \ No newline at end of file diff --git a/src/app/dev/donasi/edit/edit_donasi/layout.tsx b/src/app/dev/donasi/edit/edit_donasi/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/edit/edit_donasi/layout.tsx rename to src/app/dev/donasi/edit/edit_donasi/[id]/layout.tsx diff --git a/src/app/dev/donasi/edit/edit_donasi/[id]/page.tsx b/src/app/dev/donasi/edit/edit_donasi/[id]/page.tsx new file mode 100644 index 00000000..cb62d88a --- /dev/null +++ b/src/app/dev/donasi/edit/edit_donasi/[id]/page.tsx @@ -0,0 +1,15 @@ +import { EditDonasi } from "@/app_modules/donasi"; +import { Donasi_getMasterDurasi, Donasi_getMasterKategori } from "@/app_modules/donasi/fun"; +import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; + +export default async function Page({params}: {params: {id: string}}) { + const dataDonasi = await Donasi_getOneById(params.id) + const masterKategori = await Donasi_getMasterKategori() + const masterDurasi = await Donasi_getMasterDurasi() + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/edit/edit_donasi/page.tsx b/src/app/dev/donasi/edit/edit_donasi/page.tsx deleted file mode 100644 index b9b90e52..00000000 --- a/src/app/dev/donasi/edit/edit_donasi/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { EditDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - 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/edit/update_kabar/layout.tsx b/src/app/dev/donasi/edit/update_kabar/[id]/layout.tsx similarity index 64% rename from src/app/dev/donasi/edit/update_kabar/layout.tsx rename to src/app/dev/donasi/edit/update_kabar/[id]/layout.tsx index 7d7abf48..03968363 100644 --- a/src/app/dev/donasi/edit/update_kabar/layout.tsx +++ b/src/app/dev/donasi/edit/update_kabar/[id]/layout.tsx @@ -3,12 +3,14 @@ import React from "react"; export default async function Layout({ children, + params }: { children: React.ReactNode; + params: {id: string} }) { return ( <> - {children} + {children} ); } diff --git a/src/app/dev/donasi/edit/update_kabar/[id]/page.tsx b/src/app/dev/donasi/edit/update_kabar/[id]/page.tsx new file mode 100644 index 00000000..d89232dd --- /dev/null +++ b/src/app/dev/donasi/edit/update_kabar/[id]/page.tsx @@ -0,0 +1,11 @@ +import { UpdateKabarDonasi } 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<> + + +} \ No newline at end of file diff --git a/src/app/dev/donasi/edit/update_kabar/page.tsx b/src/app/dev/donasi/edit/update_kabar/page.tsx deleted file mode 100644 index 65e24c8a..00000000 --- a/src/app/dev/donasi/edit/update_kabar/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { UpdateKabarDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return<> - - -} \ No newline at end of file diff --git a/src/app/dev/donasi/kabar/layout.tsx b/src/app/dev/donasi/kabar/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/kabar/layout.tsx rename to src/app/dev/donasi/kabar/[id]/layout.tsx diff --git a/src/app/dev/donasi/kabar/[id]/page.tsx b/src/app/dev/donasi/kabar/[id]/page.tsx new file mode 100644 index 00000000..c16bbd7e --- /dev/null +++ b/src/app/dev/donasi/kabar/[id]/page.tsx @@ -0,0 +1,13 @@ +import { KabarDonasi } from "@/app_modules/donasi"; +import { Donasi_getListKabar } 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_getListKabar(donasiId) + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/kabar/page.tsx b/src/app/dev/donasi/kabar/page.tsx deleted file mode 100644 index ff47e41e..00000000 --- a/src/app/dev/donasi/kabar/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { KabarDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/list_kabar/layout.tsx b/src/app/dev/donasi/list_kabar/[id]/layout.tsx similarity index 89% rename from src/app/dev/donasi/list_kabar/layout.tsx rename to src/app/dev/donasi/list_kabar/[id]/layout.tsx index 01770051..d3888cd5 100644 --- a/src/app/dev/donasi/list_kabar/layout.tsx +++ b/src/app/dev/donasi/list_kabar/[id]/layout.tsx @@ -3,8 +3,10 @@ import React from "react"; export default async function Layput({ children, + params }: { children: React.ReactNode; + params: {id: string} }) { return ( <> diff --git a/src/app/dev/donasi/list_kabar/[id]/page.tsx b/src/app/dev/donasi/list_kabar/[id]/page.tsx new file mode 100644 index 00000000..b13656bf --- /dev/null +++ b/src/app/dev/donasi/list_kabar/[id]/page.tsx @@ -0,0 +1,13 @@ +import { ListKabarDonasi } from "@/app_modules/donasi"; +import { Donasi_getListKabar } 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_getListKabar(donasiId) + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/list_kabar/page.tsx b/src/app/dev/donasi/list_kabar/page.tsx deleted file mode 100644 index f7021644..00000000 --- a/src/app/dev/donasi/list_kabar/page.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { ListKabarDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/main/beranda/page.tsx b/src/app/dev/donasi/main/beranda/page.tsx index bd1c5f72..504b5b73 100644 --- a/src/app/dev/donasi/main/beranda/page.tsx +++ b/src/app/dev/donasi/main/beranda/page.tsx @@ -1,5 +1,8 @@ import { MainDonasi } from "@/app_modules/donasi"; +import { Donasi_getListBeranda } from "@/app_modules/donasi/fun/get/get_list_beranda"; export default async function Page() { - return + const listDonasi = await Donasi_getListBeranda() + // console.log(listDonasi) + return } \ No newline at end of file diff --git a/src/app/dev/donasi/main/donasi_saya/page.tsx b/src/app/dev/donasi/main/donasi_saya/page.tsx index f915391f..3c0084b3 100644 --- a/src/app/dev/donasi/main/donasi_saya/page.tsx +++ b/src/app/dev/donasi/main/donasi_saya/page.tsx @@ -1,5 +1,10 @@ import { DonasiSayaDonasi } from "@/app_modules/donasi"; +import { Donasi_getInvoiceByAuthorId } from "@/app_modules/donasi/fun/get/get_list_invoice_by_author_id"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - return -} \ No newline at end of file + const authorId = await User_getUserId(); + const listInvoice = await Donasi_getInvoiceByAuthorId(authorId); + + return ; +} diff --git a/src/app/dev/donasi/main/galang_dana/page.tsx b/src/app/dev/donasi/main/galang_dana/page.tsx index b8a15beb..53c53293 100644 --- a/src/app/dev/donasi/main/galang_dana/page.tsx +++ b/src/app/dev/donasi/main/galang_dana/page.tsx @@ -1,7 +1,19 @@ import { PostingDonasi } from "@/app_modules/donasi"; +import Donasi_getByStatus from "@/app_modules/donasi/fun/get/get_donasi_by_status"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - return<> - + const authorId = await User_getUserId(); + const listPublish = await Donasi_getByStatus(authorId, "1") + const listReview = await Donasi_getByStatus(authorId, "2"); + const listDraft = await Donasi_getByStatus(authorId, "3"); + const listReject = await Donasi_getByStatus(authorId, "4") + + + + return ( + <> + -} \ No newline at end of file + ); +} diff --git a/src/app/dev/donasi/main/layout.tsx b/src/app/dev/donasi/main/layout.tsx index 15206dfa..48514692 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 { User_getUserId } from "@/app_modules/fun_global/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 User_getUserId(); + // 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/masukan_donasi/page.tsx b/src/app/dev/donasi/masukan_donasi/page.tsx deleted file mode 100644 index 72b4922f..00000000 --- a/src/app/dev/donasi/masukan_donasi/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { MasukanDonasi } from "@/app_modules/donasi"; - -export default async function Page() { - return -} \ No newline at end of file diff --git a/src/app/dev/donasi/notif_page/[id]/layout.tsx b/src/app/dev/donasi/notif_page/[id]/layout.tsx new file mode 100644 index 00000000..d3fa731c --- /dev/null +++ b/src/app/dev/donasi/notif_page/[id]/layout.tsx @@ -0,0 +1,8 @@ +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]/page.tsx b/src/app/dev/donasi/notif_page/[id]/page.tsx new file mode 100644 index 00000000..6274061e --- /dev/null +++ b/src/app/dev/donasi/notif_page/[id]/page.tsx @@ -0,0 +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) + + 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..aae7150e --- /dev/null +++ b/src/app/dev/donasi/pencairan_dana/[id]/page.tsx @@ -0,0 +1,24 @@ +import { PencairanDanaDonasi } from "@/app_modules/donasi"; +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 { User_getUserId } from "@/app_modules/fun_global/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/dev/donasi/penggalang_dana/layout.tsx b/src/app/dev/donasi/penggalang_dana/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/penggalang_dana/layout.tsx rename to src/app/dev/donasi/penggalang_dana/[id]/layout.tsx diff --git a/src/app/dev/donasi/penggalang_dana/[id]/page.tsx b/src/app/dev/donasi/penggalang_dana/[id]/page.tsx new file mode 100644 index 00000000..a5f4c564 --- /dev/null +++ b/src/app/dev/donasi/penggalang_dana/[id]/page.tsx @@ -0,0 +1,14 @@ +import { PenggalangDanaDonasi } from "@/app_modules/donasi"; +import { Donasi_getAuthorById } from "@/app_modules/donasi/fun/get/get_author_by_id"; + +export default async function Page({ params }: { params: { id: string } }) { + let authorId = params.id; + const dataPenggalang = await Donasi_getAuthorById(authorId); + + + return ( + <> + + + ); +} diff --git a/src/app/dev/donasi/penggalang_dana/page.tsx b/src/app/dev/donasi/penggalang_dana/page.tsx deleted file mode 100644 index faeb2166..00000000 --- a/src/app/dev/donasi/penggalang_dana/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { PenggalangDanaDonasi } from "@/app_modules/donasi"; - - -export default async function Page() { - return ( - <> - - - ); -} diff --git a/src/app/dev/donasi/proses_donasi/invoice/[id]/layout.tsx b/src/app/dev/donasi/proses_donasi/invoice/[id]/layout.tsx new file mode 100644 index 00000000..fb862b01 --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/invoice/[id]/layout.tsx @@ -0,0 +1,8 @@ +import { LayoutDonasi_InvoiceProses } 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/proses_donasi/invoice/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx new file mode 100644 index 00000000..78e8985a --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/invoice/[id]/page.tsx @@ -0,0 +1,11 @@ +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 } }) { + let invoiceId = params.id; + const dataInvoice = await Donasi_getOneInvoiceById(invoiceId); + + + return ; +} diff --git a/src/app/dev/donasi/masukan_donasi/layout.tsx b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/layout.tsx similarity index 100% rename from src/app/dev/donasi/masukan_donasi/layout.tsx rename to src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/layout.tsx diff --git a/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx new file mode 100644 index 00000000..f8892ca8 --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx @@ -0,0 +1,6 @@ +import { MasukanDonasi } from "@/app_modules/donasi"; + +export default async function Page({params}: {params : {id: string}}) { +let donasiId = params.id + return +} \ No newline at end of file diff --git a/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/layout.tsx b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/layout.tsx new file mode 100644 index 00000000..8e35d0c8 --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/layout.tsx @@ -0,0 +1,8 @@ +import { LayoutDonasi_MetodePembayaran } 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/proses_donasi/metode_pembayaran/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx new file mode 100644 index 00000000..b79ff3c1 --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx @@ -0,0 +1,13 @@ +import { Donasi_MetodePembayaran } from "@/app_modules/donasi"; +import { Donasi_getMasterBank } from "@/app_modules/donasi/fun/master/get_bank"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; + +export default async function Page({params}: {params: {id: string}}) { + let donasiId= params.id + const listBank = await Donasi_getMasterBank() + const authorId = await User_getUserId() + + return<> + + +} \ No newline at end of file diff --git a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/layout.tsx b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/layout.tsx new file mode 100644 index 00000000..ffd6310d --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/layout.tsx @@ -0,0 +1,8 @@ +import { LayoutDonasi_ProsesTransaksi } 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/proses_donasi/proses_transaksi/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx new file mode 100644 index 00000000..8e1752c9 --- /dev/null +++ b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx @@ -0,0 +1,13 @@ +import { Donasi_ProsesTransaksi } from "@/app_modules/donasi"; +import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id"; + +export default async function Page({params}: {params: {id: string}}) { + // console.log(params.id) + const dataInvoice = await Donasi_getOneInvoiceById(params.id) + // console.log(dataInvoice) + return ( + <> + + + ); +} diff --git a/src/app/dev/home/layout.tsx b/src/app/dev/home/layout.tsx index 6d14346a..31c26585 100644 --- a/src/app/dev/home/layout.tsx +++ b/src/app/dev/home/layout.tsx @@ -1,9 +1,13 @@ +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; import { HomeLayout } from "@/app_modules/home"; +import { User_getOneById } from "@/app_modules/home/fun/get/get_one_user_by_id"; -export default async function Layout({children}: {children: any}) { - return <> - {children} - +export default async function Layout({ children }: { children: any }) { + const userId = await User_getUserId(); + const dataUser = await User_getOneById(userId); + return ( + <> + {children} - -} \ No newline at end of file + ); +} diff --git a/src/app/dev/home/page.tsx b/src/app/dev/home/page.tsx index 499c6b37..94ddaadf 100644 --- a/src/app/dev/home/page.tsx +++ b/src/app/dev/home/page.tsx @@ -6,26 +6,15 @@ import { redirect } from "next/navigation"; import yaml from "yaml"; import fs from "fs"; -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; +import { User_getOneById } from "@/app_modules/home/fun/get/get_one_user_by_id"; const config = yaml.parse(fs.readFileSync("config.yaml").toString()); export default async function Page() { - const c = cookies().get("ssn"); - - if (!c?.value) return redirect("/dev/auth/login"); - const usr = JSON.parse( - await unsealData(c?.value as string, { - password: config.server.password, - }) - ); - - const dataProfile = await funGetUserProfile(usr.id) - - return ( <> - {/* {JSON.stringify(usr)} */} - + ); } diff --git a/src/app/dev/investasi/detail/[id]/page.tsx b/src/app/dev/investasi/detail/[id]/page.tsx index f2f23011..3925d01d 100644 --- a/src/app/dev/investasi/detail/[id]/page.tsx +++ b/src/app/dev/investasi/detail/[id]/page.tsx @@ -1,4 +1,4 @@ -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import { DetailInvestasi } from "@/app_modules/investasi"; import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id"; diff --git a/src/app/dev/investasi/proses_transaksi/[id]/page.tsx b/src/app/dev/investasi/proses_transaksi/[id]/page.tsx index 40f0b6c3..170b3707 100644 --- a/src/app/dev/investasi/proses_transaksi/[id]/page.tsx +++ b/src/app/dev/investasi/proses_transaksi/[id]/page.tsx @@ -2,7 +2,7 @@ import { ProsesTransaksiInvestasi } from "@/app_modules/investasi"; import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id"; import { unsealData } from "iron-session"; import { cookies } from "next/headers"; -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import yaml from "yaml"; import fs from "fs"; const config = yaml.parse(fs.readFileSync("config.yaml").toString()); diff --git a/src/app/dev/katalog/[id]/page.tsx b/src/app/dev/katalog/[id]/page.tsx index 6ed3a573..bd747c29 100644 --- a/src/app/dev/katalog/[id]/page.tsx +++ b/src/app/dev/katalog/[id]/page.tsx @@ -1,34 +1,29 @@ import prisma from "@/app/lib/prisma"; -import { getProfile } from "@/app_modules/katalog/profile"; import { KatalogView } from "@/app_modules/katalog/main"; import { url } from "inspector"; import { unsealData } from "iron-session"; import _ from "lodash"; import { cookies } from "next/headers"; import { redirect } from "next/navigation"; -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import yaml from "yaml"; import fs from "fs"; -import { funGetListPortofolio } from "@/app_modules/katalog/portofolio/fun/get_list_portofolio"; +import { funGetListPortofolio } from "@/app_modules/katalog/portofolio/fun/get/get_list_portofolio"; +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; +import { Profile_getOneById } from "@/app_modules/katalog/profile/fun/get/get_one_profile"; +import { Profile_getOneProfileAndUserById } from "@/app_modules/katalog/profile/fun/get/get_one_user_profile"; const config = yaml.parse(fs.readFileSync("config.yaml").toString()); -export default async function Page() { - const data = await getProfile(); - - const u = cookies().get("ssn"); - const usr = JSON.parse( - await unsealData(u?.value as string, { - password: config.server.password, - }) - ); - - const user = await funGetUserProfile(usr.id); - - const listPorto = await funGetListPortofolio(user?.Profile?.id) +export default async function Page({ params }: { params: { id: string } }) { + let profileId = params.id; + const userLoginId = await User_getUserId() + const listPorto = await funGetListPortofolio(profileId); + const dataProfile = await Profile_getOneProfileAndUserById(profileId) + // console.log(dataProfile) return ( <> - + ); } diff --git a/src/app/dev/portofolio/create/[id]/page.tsx b/src/app/dev/portofolio/create/[id]/page.tsx index 2bdd09e8..5e9fbccf 100644 --- a/src/app/dev/portofolio/create/[id]/page.tsx +++ b/src/app/dev/portofolio/create/[id]/page.tsx @@ -1,9 +1,9 @@ import { myConsole } from "@/app/fun/my_console"; import { CreatePortofolio } from "@/app_modules/katalog/portofolio"; -import { getBidangBisnis } from "@/app_modules/katalog/portofolio/fun/get_bidang_bisnis"; +import { Portofolio_getMasterBidangBisnis } from "@/app_modules/katalog/portofolio/fun/master/get_bidang_bisnis"; export default async function Page({ params }: { params: { id: string } }) { - const bidangBisnis = await getBidangBisnis(); + const bidangBisnis = await Portofolio_getMasterBidangBisnis(); return ( <> diff --git a/src/app/dev/portofolio/edit/data/[id]/layout.tsx b/src/app/dev/portofolio/edit/data/[id]/layout.tsx new file mode 100644 index 00000000..d7afbec8 --- /dev/null +++ b/src/app/dev/portofolio/edit/data/[id]/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutPortofolio_EditDataBisnis } from "@/app_modules/katalog/portofolio"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/src/app/dev/portofolio/edit/data/[id]/page.tsx b/src/app/dev/portofolio/edit/data/[id]/page.tsx new file mode 100644 index 00000000..1f8f1124 --- /dev/null +++ b/src/app/dev/portofolio/edit/data/[id]/page.tsx @@ -0,0 +1,25 @@ +import { Portofolio_EditDataBisnis } from "@/app_modules/katalog/portofolio"; +import { Portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; +import { Portofolio_getMasterBidangBisnis } from "@/app_modules/katalog/portofolio/fun/master/get_bidang_bisnis"; +import _ from "lodash"; + +export default async function Page({ params }: { params: { id: string } }) { + let portoId = params.id; + const data = await Portofolio_getOneById(portoId); + const dataPorto = _.omit(data, [ + "Logo", + "Portofolio_MediaSosial", + "Portofolio_MediaSosial", + "logoId", + "profileId", + ]); + + + const listBidang = await Portofolio_getMasterBidangBisnis() + + return ( + <> + + + ); +} diff --git a/src/app/dev/portofolio/edit/logo/[id]/layout.tsx b/src/app/dev/portofolio/edit/logo/[id]/layout.tsx new file mode 100644 index 00000000..32425b82 --- /dev/null +++ b/src/app/dev/portofolio/edit/logo/[id]/layout.tsx @@ -0,0 +1,15 @@ +import { LayoutPortofolio_EditLogoBisnis } from "@/app_modules/katalog/portofolio"; +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/portofolio/edit/logo/[id]/page.tsx b/src/app/dev/portofolio/edit/logo/[id]/page.tsx new file mode 100644 index 00000000..6387483c --- /dev/null +++ b/src/app/dev/portofolio/edit/logo/[id]/page.tsx @@ -0,0 +1,27 @@ +import { Portofolio_EditLogoBisnis } from "@/app_modules/katalog/portofolio"; +import { Portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; +import _ from "lodash"; + +export default async function Page({ params }: { params: { id: string } }) { + let portoId = params.id; + const dataPorto = await Portofolio_getOneById(portoId).then((res) => + _.omit(res, [ + "Logo", + "MasterBidangBisnis", + "Portofolio_MediaSosial", + "active", + "alamatKantor", + "deskripsi", + "masterBidangBisnisId", + "profileId", + "tlpn", + "namaBisnis" + ]) + ); + + return ( + <> + + + ); +} diff --git a/src/app/dev/portofolio/edit/medsos/[id]/layout.tsx b/src/app/dev/portofolio/edit/medsos/[id]/layout.tsx new file mode 100644 index 00000000..095732f9 --- /dev/null +++ b/src/app/dev/portofolio/edit/medsos/[id]/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutPortofolio_EditMedsosBisnis } from "@/app_modules/katalog/portofolio"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/src/app/dev/portofolio/edit/medsos/[id]/page.tsx b/src/app/dev/portofolio/edit/medsos/[id]/page.tsx new file mode 100644 index 00000000..c65bcd2a --- /dev/null +++ b/src/app/dev/portofolio/edit/medsos/[id]/page.tsx @@ -0,0 +1,16 @@ +import { Portofolio_EditMedsosBisnis } from "@/app_modules/katalog/portofolio"; +import { Portofolio_geOnetMedsosById } from "@/app_modules/katalog/portofolio/fun/get/get_one_medsos_by_id"; +import _ from "lodash"; + +export default async function Page({ params }: { params: { id: string } }) { + let portoId = params.id; + const dataMedsos = await Portofolio_geOnetMedsosById(portoId).then((res) => + _.omit(res, ["active", "createdAt", "updatedAt", "portofolioId"]) + ); + + return ( + <> + + + ); +} diff --git a/src/app/dev/portofolio/main/[id]/layout.tsx b/src/app/dev/portofolio/main/[id]/layout.tsx index f46699c1..0ee07988 100644 --- a/src/app/dev/portofolio/main/[id]/layout.tsx +++ b/src/app/dev/portofolio/main/[id]/layout.tsx @@ -1,13 +1,14 @@ import { PortofolioLayout } from "@/app_modules/katalog/portofolio"; -import { getOnePortofolio } from "@/app_modules/katalog/portofolio/fun/get_one_portofolio"; +import { Portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; export default async function Layout({ children, params }: { children: any, params: {id: string} }) { - const getPorto = await getOnePortofolio(params.id) + let portoId = params.id + const getPorto = await Portofolio_getOneById(portoId) return ( <> - {children} + {children} ); } diff --git a/src/app/dev/portofolio/main/[id]/page.tsx b/src/app/dev/portofolio/main/[id]/page.tsx index 25e9a13e..e7bdc60c 100644 --- a/src/app/dev/portofolio/main/[id]/page.tsx +++ b/src/app/dev/portofolio/main/[id]/page.tsx @@ -1,14 +1,14 @@ +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; import { ViewPortofolio } from "@/app_modules/katalog/portofolio"; -import { getOnePortofolio } from "@/app_modules/katalog/portofolio/fun/get_one_portofolio"; +import { Portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; -export default async function Page({params}: {params: {id: string}}) { +export default async function Page({ params }: { params: { id: string } }) { + const getPorto = await Portofolio_getOneById(params.id); - const getPorto = await getOnePortofolio(params.id) - // console.log(getPorto) return ( <> - {/* {JSON.stringify(getPorto)} */} + {/* {JSON.stringify(getPorto)} */} ); diff --git a/src/app/dev/profile/create/[id]/page.tsx b/src/app/dev/profile/create/[id]/page.tsx index fb1c2751..5cf3f7ed 100644 --- a/src/app/dev/profile/create/[id]/page.tsx +++ b/src/app/dev/profile/create/[id]/page.tsx @@ -1,9 +1,10 @@ +import { User_getUserId } from "@/app_modules/fun_global/get_user_token"; import { CreateProfile } from "@/app_modules/katalog/profile"; export default async function Page({params}: {params: {id: string}}) { - // console.log(params.id) - + const userId = await User_getUserId() + return <> - + } \ No newline at end of file diff --git a/src/app/dev/profile/edit/[id]/layout.tsx b/src/app/dev/profile/edit/[id]/layout.tsx index 34a5c84c..0b477dfa 100644 --- a/src/app/dev/profile/edit/[id]/layout.tsx +++ b/src/app/dev/profile/edit/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import { EditProfileLayout } from "@/app_modules/katalog/profile"; export default async function Layout({ children, params }: { children: any, params: {id: string} }) { diff --git a/src/app/dev/profile/edit/[id]/page.tsx b/src/app/dev/profile/edit/[id]/page.tsx index dca06bfe..e2b32b28 100644 --- a/src/app/dev/profile/edit/[id]/page.tsx +++ b/src/app/dev/profile/edit/[id]/page.tsx @@ -1,14 +1,16 @@ -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; -import { getProfile } from "@/app_modules/katalog/profile"; +import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import EditProfile from "@/app_modules/katalog/profile/edit/view"; +import { Profile_getOneProfileAndUserById } from "@/app_modules/katalog/profile/fun/get/get_one_user_profile"; export default async function Page({ params }: { params: { id: string } }) { + let profileId = params.id const data = await funGetUserProfile(params.id); + const dataProfile = await Profile_getOneProfileAndUserById(profileId) return ( <> {/* {JSON.stringify(data)} */} - + ); } diff --git a/src/app/dev/profile/upload/[id]/layout.tsx b/src/app/dev/profile/upload/[id]/layout.tsx deleted file mode 100644 index a204721f..00000000 --- a/src/app/dev/profile/upload/[id]/layout.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { UploadFotoProfileLayout } from "@/app_modules/katalog/profile"; -import { AppShell } from "@mantine/core"; - -export default function Layout({ children, params }: { children: any, params: {id: string} }) { - - return ( - <> - - {children} - - - ); -} diff --git a/src/app/dev/profile/upload/[id]/page.tsx b/src/app/dev/profile/upload/[id]/page.tsx deleted file mode 100644 index 9c98a056..00000000 --- a/src/app/dev/profile/upload/[id]/page.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { UploadFotoProfile } from "@/app_modules/katalog/profile"; -import { unsealData } from "iron-session"; -import { cookies } from "next/headers"; -import yaml from "yaml"; -import fs from "fs"; -import { funGetUserProfile } from "@/app_modules/fun/get_user_profile"; -const config = yaml.parse(fs.readFileSync("config.yaml").toString()); - -export default async function Page() { - const c = cookies().get("ssn"); - const usr = JSON.parse( - await unsealData(c?.value as string, { - password: config.server.password, - }) - ); - - const imageUrl = await funGetUserProfile(usr.id).then( - (res) => res?.Profile?.ImageProfile?.url - ); - - return ( - <> - - - ); -} diff --git a/src/app/dev/profile/upload/background/[id]/layout.tsx b/src/app/dev/profile/upload/background/[id]/layout.tsx new file mode 100644 index 00000000..ff543f33 --- /dev/null +++ b/src/app/dev/profile/upload/background/[id]/layout.tsx @@ -0,0 +1,8 @@ +import LayoutProfile_UpdateFotoBackground from "@/app_modules/katalog/profile/upload/foto_background/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/profile/upload/background/[id]/page.tsx b/src/app/dev/profile/upload/background/[id]/page.tsx new file mode 100644 index 00000000..ef64703e --- /dev/null +++ b/src/app/dev/profile/upload/background/[id]/page.tsx @@ -0,0 +1,12 @@ +import { Profile_getOneById } from "@/app_modules/katalog/profile/fun/get/get_one_profile" +import Profile_UpdateFotoBackground from "@/app_modules/katalog/profile/upload/foto_background" + +export default async function Page({params}:{params: {id: string}}) { + let profileId = params.id + const dataProfile = await Profile_getOneById(profileId) + + return <> + + + +} \ No newline at end of file diff --git a/src/app/dev/profile/upload/foto/[id]/layout.tsx b/src/app/dev/profile/upload/foto/[id]/layout.tsx new file mode 100644 index 00000000..b381b860 --- /dev/null +++ b/src/app/dev/profile/upload/foto/[id]/layout.tsx @@ -0,0 +1,9 @@ +import { UploadFotoProfileLayout } from "@/app_modules/katalog/profile"; +import React from "react"; + +export default async function Layout({children, params}: {children: React.ReactNode, params: {id: string}}) { + let profileId = params.id + return <> + {children} + +} \ No newline at end of file diff --git a/src/app/dev/profile/upload/foto/[id]/page.tsx b/src/app/dev/profile/upload/foto/[id]/page.tsx new file mode 100644 index 00000000..ea595412 --- /dev/null +++ b/src/app/dev/profile/upload/foto/[id]/page.tsx @@ -0,0 +1,11 @@ +import { UploadFotoProfile } from "@/app_modules/katalog/profile"; +import { Profile_getOneById } from "@/app_modules/katalog/profile/fun/get/get_one_profile"; + +export default async function Page({params}: {params: {id: string}}) { + let profileId = params.id + const dataProfile = await Profile_getOneById(profileId) + + return <> + + +} \ No newline at end of file diff --git a/src/app/dev/splash/admin/page.tsx b/src/app/dev/splash/admin/page.tsx index 6597e069..16e07bd7 100644 --- a/src/app/dev/splash/admin/page.tsx +++ b/src/app/dev/splash/admin/page.tsx @@ -1,4 +1,4 @@ -import { SplashDashboardAdmin } from "@/app_modules/admin/main"; +import { SplashDashboardAdmin } from "@/app_modules/admin/main_dashboard"; export default async function Page() { return<> diff --git a/src/app/dev/user_search/main/layout.tsx b/src/app/dev/user_search/main/layout.tsx new file mode 100644 index 00000000..31218acb --- /dev/null +++ b/src/app/dev/user_search/main/layout.tsx @@ -0,0 +1,10 @@ +import { LayoutUserSearch_MainView } from "@/app_modules/user_search"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return {children}; +} diff --git a/src/app/dev/user_search/main/page.tsx b/src/app/dev/user_search/main/page.tsx new file mode 100644 index 00000000..16dbf245 --- /dev/null +++ b/src/app/dev/user_search/main/page.tsx @@ -0,0 +1,8 @@ +import { UserSearch_MainView } from "@/app_modules/user_search"; +import { UserSearch_getListUser } from "@/app_modules/user_search/fun/get/get_list_user"; + +export default async function Page() { + const listUser = await UserSearch_getListUser() + + return ; +} diff --git a/src/app/emotion.tsx b/src/app/emotion.tsx index 940464e2..cb3adb61 100644 --- a/src/app/emotion.tsx +++ b/src/app/emotion.tsx @@ -3,6 +3,7 @@ import AppNotif from "@/app_modules/notif"; // import './globals.css' import { CacheProvider } from "@emotion/react"; import { MantineProvider, useEmotionCache } from "@mantine/core"; +import { Notifications } from "@mantine/notifications"; import { useServerInsertedHTML } from "next/navigation"; import { ToastContainer, toast } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; @@ -29,9 +30,10 @@ export default function RootStyleRegistry({ + {children} - - + {/* + */} diff --git a/src/app/lib/router_hipmi/router_admin.ts b/src/app/lib/router_hipmi/router_admin.ts index 89be49a3..273bf3e0 100644 --- a/src/app/lib/router_hipmi/router_admin.ts +++ b/src/app/lib/router_hipmi/router_admin.ts @@ -15,9 +15,31 @@ export const RouterAdminInvestasi = { }; export const RouterAdminDonasi = { + + api_gambar_bukti_transfer: "/api/donasi/gambar_bukti_transfer/", + + main_donasi: "/dev/admin/donasi/main", - table_donasi: "/dev/admin/donasi/table/publish" -} + // table + table_publish: "/dev/admin/donasi/table/publish", + table_review: "/dev/admin/donasi/table/review", + table_reject: "/dev/admin/donasi/table/reject", + + + // detail + detail_publish: "/dev/admin/donasi/detail/publish/", + detail_review: "/dev/admin/donasi/detail/review/", + detail_reject: "/dev/admin/donasi/detail/reject/", + + // proses + proses_transaksi: "/dev/admin/donasi/proses_transaksi/", + pencairan_dana :"/dev/admin/donasi/pencairan_dana/", + + + + + +}; export const RouterAdminAward = { main_award: "/dev/admin/award/main", diff --git a/src/app/lib/router_hipmi/router_donasi.ts b/src/app/lib/router_hipmi/router_donasi.ts index f5c02882..64636316 100644 --- a/src/app/lib/router_hipmi/router_donasi.ts +++ b/src/app/lib/router_hipmi/router_donasi.ts @@ -1,37 +1,53 @@ export const RouterDonasi = { + //api + api_gambar: "/api/donasi/gambar/", + api_gambar_cerita: "/api/donasi/gambar_cerita/", + 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", main_galang_dana: "/dev/donasi/main/galang_dana", main_donasi_saya: "/dev/donasi/main/donasi_saya", // create - create: "/dev/donasi/create", - create_cerita_penggalang: "/dev/donasi/create/cerita_penggalang", + create_donasi: "/dev/donasi/create/create_donasi", + create_cerita_penggalang: "/dev/donasi/create/cerita_penggalang/", + create_kabar: "/dev/donasi/create/create_kabar/", // edit - update_kabar: "/dev/donasi/edit/update_kabar", - edit_donasi: "/dev/donasi/edit/edit_donasi", - edit_cerita_penggalang: "/dev/donasi/edit/edit_cerita", - + 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_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/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_notif: "/dev/donasi/detail/detail_notif/", //alur donasi - masukan_donasi: "/dev/donasi/masukan_donasi", - 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", - list_kabar: "/dev/donasi/list_kabar" + 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/", + list_kabar: "/dev/donasi/list_kabar/", + 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/lib/router_hipmi/router_katalog.ts b/src/app/lib/router_hipmi/router_katalog.ts new file mode 100644 index 00000000..a4252435 --- /dev/null +++ b/src/app/lib/router_hipmi/router_katalog.ts @@ -0,0 +1,29 @@ +export const RouterProfile = { + katalog: "/dev/katalog/", + + // create + create: "/dev/profile/create/", + + // edit + edit: "/dev/profile/edit/", + + // api + api_foto_profile: "/api/profile/foto/", + api_background_profile: "/api/profile/background/", + api_url_foto: "/api/profile/url_foto/", + api_url_background: "/api/profile/url_background/", + + // upload + update_foto_profile: "/dev/profile/upload/foto/", + update_foto_background: "/dev/profile/upload/background/", +}; + +export const RouterPortofolio = { + api_logo_porto: "/api/portofolio/logo/", + create: "/dev/portofolio/create/", + + //edit + edit_data_bisnis: "/dev/portofolio/edit/data/", + edit_logo_bisnis: "/dev/portofolio/edit/logo/", + edit_medsos_bisnis: "/dev/portofolio/edit/medsos/", +}; diff --git a/src/app/lib/router_hipmi/router_user_profile.ts b/src/app/lib/router_hipmi/router_user_profile.ts deleted file mode 100644 index 58271653..00000000 --- a/src/app/lib/router_hipmi/router_user_profile.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const RouterUserProfile = { - api_foto: "/api/profile/foto/", -}; diff --git a/src/app/lib/router_hipmi/router_user_search.ts b/src/app/lib/router_hipmi/router_user_search.ts new file mode 100644 index 00000000..7aa2c19e --- /dev/null +++ b/src/app/lib/router_hipmi/router_user_search.ts @@ -0,0 +1,3 @@ +export const RouterUserSearch = { + main: "/dev/user_search/main" +} \ No newline at end of file diff --git a/src/app/zCoba/page.tsx b/src/app/zCoba/page.tsx new file mode 100644 index 00000000..5778dd02 --- /dev/null +++ b/src/app/zCoba/page.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { NotifPeringatan } from "@/app_modules/donasi/component/notifikasi/notif_peringatan"; +import { Box, Button, Group } from "@mantine/core"; +import { notifications } from "@mantine/notifications"; + +export default function Coba() { + return ( + <> + + + + + + + ); +} diff --git a/src/app_modules/admin/component/logout.tsx b/src/app_modules/admin/component/logout.tsx new file mode 100644 index 00000000..510007fd --- /dev/null +++ b/src/app_modules/admin/component/logout.tsx @@ -0,0 +1,63 @@ +"use client"; +import { myConsole } from "@/app/fun/my_console"; +import { ApiHipmi } from "@/app/lib/api"; +import { ActionIcon, Button, Group, Modal, Stack, Title } from "@mantine/core"; +import { useRouter } from "next/navigation"; +import { useAtom } from "jotai"; +import { IconLogout } from "@tabler/icons-react"; +import { Warna } from "@/app/lib/warna"; +import { useDisclosure } from "@mantine/hooks"; +import { gs_nomor, gs_otp } from "@/app_modules/auth/state/state"; + +export default function Admin_Logout() { + const router = useRouter(); + const [nomor, setnomor] = useAtom(gs_nomor); + const [code, setCode] = useAtom(gs_otp); + + const [opened, { toggle }] = useDisclosure(false); + + const onLogout = async () => { + router.push("/dev/auth/login"); + + // await fetch(ApiHipmi.logout) + // .then((res) => res.json()) + // .then((val) => { + // if (val.status == 200) { + // setnomor(null); + // setCode(null); + + // router.push("/dev/auth/login"); + // } + // }); + }; + + return ( + <> + + + Anda yakin ingin keluar ? + + + + + + + + + + {/* */} + + ); +} diff --git a/src/app_modules/admin/donasi/component/tombol_kembali.tsx b/src/app_modules/admin/donasi/component/tombol_kembali.tsx new file mode 100644 index 00000000..2630f979 --- /dev/null +++ b/src/app_modules/admin/donasi/component/tombol_kembali.tsx @@ -0,0 +1,23 @@ +"use client"; + +import { Group, Button } from "@mantine/core"; +import { IconChevronLeft } from "@tabler/icons-react"; +import { useRouter } from "next/navigation"; + +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 new file mode 100644 index 00000000..a90cfe7a --- /dev/null +++ b/src/app_modules/admin/donasi/detail_table/detail_reject.tsx @@ -0,0 +1,170 @@ +"use client"; + +import { MODEL_DONASI } from "@/app_modules/donasi/model/interface"; +import { + AspectRatio, + Button, + Divider, + Group, + Image, + Modal, + Paper, + SimpleGrid, + Stack, + Text, + 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"; + +export default function AdminDonasi_DetailReject({ + dataReject, +}: { + dataReject: MODEL_DONASI; +}) { + const [donasi, setDonasi] = useState(dataReject); + + return ( + <> + + + + + + + + + ); +} + +function ButtonOnHeader({ + catatan, + donasiId, + setDonasi, +}: { + catatan: string; + donasiId: string; + setDonasi: any; +}) { + const [catat, setCatat] = useState(catatan); + const [opened, { open, close }] = useDisclosure(false); + + async function onUpdate() { + await AdminDonasi_funUpdateCatatanReject(donasiId, catat).then( + async (res) => { + if (res.status === 200) { + NotifBerhasil(res.message); + close(); + await AdminDonasi_getOneById(donasiId).then((res) => setDonasi(res)); + } else { + NotifGagal(res.message); + } + } + ); + } + + return ( + <> + + + + + + + + + +