diff --git a/package.json b/package.json
index c1cd1e9b..772a7593 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,9 @@
"name": "hipmi",
"version": "0.1.0",
"private": true,
+ "prisma": {
+ "seed": "npx tsx ./prisma/seed.ts"
+ },
"scripts": {
"dev": "next dev",
"build": "next build",
diff --git a/prisma/seed.ts b/prisma/seed.ts
new file mode 100644
index 00000000..51655147
--- /dev/null
+++ b/prisma/seed.ts
@@ -0,0 +1,10 @@
+import prisma from "@/app/lib/prisma";
+import { generate_seeder } from "@/app_modules/_global/fun/generate_seeder";
+
+(async () => {
+ console.log("start");
+ await generate_seeder();
+})().finally(() => {
+ console.log("success");
+ prisma.$disconnect();
+});
diff --git a/public/donasi/image/0aed0def-3278-41eb-be5c-9ba8f0ebdf6f.jpeg b/public/donasi/image/0aed0def-3278-41eb-be5c-9ba8f0ebdf6f.jpeg
new file mode 100644
index 00000000..22cb9a6e
Binary files /dev/null and b/public/donasi/image/0aed0def-3278-41eb-be5c-9ba8f0ebdf6f.jpeg differ
diff --git a/public/donasi/image/70df004f-eeb0-4469-8f76-41897e712d97.jpeg b/public/donasi/image/70df004f-eeb0-4469-8f76-41897e712d97.jpeg
new file mode 100644
index 00000000..d3ea1214
Binary files /dev/null and b/public/donasi/image/70df004f-eeb0-4469-8f76-41897e712d97.jpeg differ
diff --git a/public/donasi/image/b832bd30-2c30-4fa2-b8bf-13ceebcbac1c.jpeg b/public/donasi/image/b832bd30-2c30-4fa2-b8bf-13ceebcbac1c.jpeg
new file mode 100644
index 00000000..d0b9edda
Binary files /dev/null and b/public/donasi/image/b832bd30-2c30-4fa2-b8bf-13ceebcbac1c.jpeg differ
diff --git a/public/donasi/image/e85805b1-353d-4f5b-b016-226ba10e58c5.jpeg b/public/donasi/image/e85805b1-353d-4f5b-b016-226ba10e58c5.jpeg
new file mode 100644
index 00000000..83e6366e
Binary files /dev/null and b/public/donasi/image/e85805b1-353d-4f5b-b016-226ba10e58c5.jpeg differ
diff --git a/public/donasi/image/ebba534b-7a83-4e67-abac-08da8482fcde.jpeg b/public/donasi/image/ebba534b-7a83-4e67-abac-08da8482fcde.jpeg
new file mode 100644
index 00000000..6453d730
Binary files /dev/null and b/public/donasi/image/ebba534b-7a83-4e67-abac-08da8482fcde.jpeg differ
diff --git a/public/donasi/image_cerita/16fc767f-18de-4390-93eb-cfc94f7620e3.jpeg b/public/donasi/image_cerita/16fc767f-18de-4390-93eb-cfc94f7620e3.jpeg
new file mode 100644
index 00000000..22cb9a6e
Binary files /dev/null and b/public/donasi/image_cerita/16fc767f-18de-4390-93eb-cfc94f7620e3.jpeg differ
diff --git a/public/donasi/image_cerita/353d2dec-50eb-4b3a-8778-11256f57a644.jpeg b/public/donasi/image_cerita/353d2dec-50eb-4b3a-8778-11256f57a644.jpeg
new file mode 100644
index 00000000..5652497a
Binary files /dev/null and b/public/donasi/image_cerita/353d2dec-50eb-4b3a-8778-11256f57a644.jpeg differ
diff --git a/public/donasi/image_cerita/58969439-ea34-4738-b4a3-df22f6da019b.jpeg b/public/donasi/image_cerita/58969439-ea34-4738-b4a3-df22f6da019b.jpeg
new file mode 100644
index 00000000..d040a767
Binary files /dev/null and b/public/donasi/image_cerita/58969439-ea34-4738-b4a3-df22f6da019b.jpeg differ
diff --git a/public/donasi/image_cerita/8f28ee52-1fef-47cb-a011-ade48aa025dd.jpeg b/public/donasi/image_cerita/8f28ee52-1fef-47cb-a011-ade48aa025dd.jpeg
new file mode 100644
index 00000000..d3ea1214
Binary files /dev/null and b/public/donasi/image_cerita/8f28ee52-1fef-47cb-a011-ade48aa025dd.jpeg differ
diff --git a/public/donasi/image_cerita/927e0798-4722-40f5-b7d1-e73d1d03d304.jpg b/public/donasi/image_cerita/927e0798-4722-40f5-b7d1-e73d1d03d304.jpg
new file mode 100644
index 00000000..b71d094e
Binary files /dev/null and b/public/donasi/image_cerita/927e0798-4722-40f5-b7d1-e73d1d03d304.jpg differ
diff --git a/public/donasi/image_cerita/b1cd4f75-00b5-45f0-b132-e4714bfbffa8.jpg b/public/donasi/image_cerita/b1cd4f75-00b5-45f0-b132-e4714bfbffa8.jpg
new file mode 100644
index 00000000..b71d094e
Binary files /dev/null and b/public/donasi/image_cerita/b1cd4f75-00b5-45f0-b132-e4714bfbffa8.jpg differ
diff --git a/public/donasi/image_cerita/f6192006-f93b-4222-8e89-41388732e970.jpeg b/public/donasi/image_cerita/f6192006-f93b-4222-8e89-41388732e970.jpeg
new file mode 100644
index 00000000..6453d730
Binary files /dev/null and b/public/donasi/image_cerita/f6192006-f93b-4222-8e89-41388732e970.jpeg differ
diff --git a/public/donasi/invoice/49823a9a-0a6f-4098-85f9-25fa20b235e1.jpg b/public/donasi/invoice/49823a9a-0a6f-4098-85f9-25fa20b235e1.jpg
new file mode 100644
index 00000000..ea83eb05
Binary files /dev/null and b/public/donasi/invoice/49823a9a-0a6f-4098-85f9-25fa20b235e1.jpg differ
diff --git a/src/app/api/seeder/route.ts b/src/app/api/seeder/route.ts
index cb0dffd5..2f2ff12f 100644
--- a/src/app/api/seeder/route.ts
+++ b/src/app/api/seeder/route.ts
@@ -29,6 +29,7 @@ import nomor_admin from "../../../bin/seeder/nomor_admin.json";
export async function GET(req: Request) {
const dev = new URL(req.url).searchParams.get("dev");
if (dev === "DEV-HIPMI") {
+
for (let i of userRole) {
const data = await prisma.masterUserRole.upsert({
where: {
diff --git a/src/app/dev/crowd/main/loading.tsx b/src/app/dev/crowd/main/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/crowd/main/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/cerita_penggalang/[id]/loading.tsx b/src/app/dev/donasi/cerita_penggalang/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/cerita_penggalang/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/create/cerita_penggalang/[id]/loading.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/create/cerita_penggalang/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/create/create_donasi/loading.tsx b/src/app/dev/donasi/create/create_donasi/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/create/create_donasi/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/detail/detail_draft/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_draft/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/detail/detail_draft/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx b/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx
index 4439b3ae..f15353f6 100644
--- a/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx
+++ b/src/app/dev/donasi/detail/detail_draft/[id]/page.tsx
@@ -2,7 +2,8 @@ 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);
+ const donasiId = params.id
+ const dataDonasi = await Donasi_getOneById(donasiId);
return (
<>
diff --git a/src/app/dev/donasi/detail/detail_main/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_main/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/detail/detail_main/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/detail/detail_publish/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_publish/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/detail/detail_publish/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/detail/detail_reject/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_reject/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/detail/detail_reject/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/detail/detail_review/[id]/loading.tsx b/src/app/dev/donasi/detail/detail_review/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/detail/detail_review/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/edit/edit_cerita/[id]/loading.tsx b/src/app/dev/donasi/edit/edit_cerita/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/edit/edit_cerita/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/edit/edit_donasi/[id]/loading.tsx b/src/app/dev/donasi/edit/edit_donasi/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/edit/edit_donasi/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/edit/edit_rekening/[id]/loading.tsx b/src/app/dev/donasi/edit/edit_rekening/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/edit/edit_rekening/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/main/loading.tsx b/src/app/dev/donasi/main/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/main/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/page_pop_up/create/loading.tsx b/src/app/dev/donasi/page_pop_up/create/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/page_pop_up/create/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/proses_donasi/invoice/[id]/loading.tsx b/src/app/dev/donasi/proses_donasi/invoice/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/proses_donasi/invoice/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/loading.tsx b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/loading.tsx b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/loading.tsx b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/loading.tsx
deleted file mode 100644
index 380b3fcd..00000000
--- a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2";
-
-export default async function Page() {
- return (
- <>
-
- >
- );
-}
diff --git a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx
index e9c2f0ed..b74a91c0 100644
--- a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx
+++ b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx
@@ -6,7 +6,6 @@ export default async function Page({ params }: { params: { id: string } }) {
// console.log(params.id)
const dataInvoice = await Donasi_getOneInvoiceById(params.id);
const nomorAdmin = await donasi_getMasterNomorAdmin();
- console.log(nomorAdmin);
return (
<>
diff --git a/src/app/dev/vote/detail/main/[id]/page.tsx b/src/app/dev/vote/detail/main/[id]/page.tsx
index cbdfffe3..c85e4ab3 100644
--- a/src/app/dev/vote/detail/main/[id]/page.tsx
+++ b/src/app/dev/vote/detail/main/[id]/page.tsx
@@ -1,3 +1,4 @@
+import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token";
import { Vote_MainDetail } from "@/app_modules/vote";
import { Vote_cekKontributorById } from "@/app_modules/vote/fun/get/cek_kontributor_by_id";
import { Vote_getHasilVoteById } from "@/app_modules/vote/fun/get/get_list_hasil_by_id";
@@ -12,7 +13,7 @@ export default async function Page({ params }: { params: { id: string } }) {
const isKontributor = await Vote_cekKontributorById(voteId);
const pilihanKontributor = await Vote_getOnePilihanVotingByUserId(voteId);
const listKontributor = await Vote_getListKontributorById(voteId);
-
+ const userLoginId = await user_getOneUserId();
return (
<>
@@ -22,6 +23,7 @@ export default async function Page({ params }: { params: { id: string } }) {
isKontributor={isKontributor}
pilihanKontributor={pilihanKontributor as any}
listKontributor={listKontributor as any}
+ userLoginId={userLoginId}
/>
>
);
diff --git a/src/app_modules/_global/fun/generate_seeder.ts b/src/app_modules/_global/fun/generate_seeder.ts
new file mode 100644
index 00000000..837c2f12
--- /dev/null
+++ b/src/app_modules/_global/fun/generate_seeder.ts
@@ -0,0 +1,408 @@
+import prisma from "@/app/lib/prisma";
+import bidangBisnis from "../../../bin/seeder/bidang_bisnis.json";
+import collaboration_industri from "../../../bin/seeder/colab/master_industri.json";
+import collaboration_status from "../../../bin/seeder/colab/master_status.json";
+import donasi_namaBank from "../../../bin/seeder/donasi/master_bank.json";
+import donasi_durasi from "../../../bin/seeder/donasi/master_durasi.json";
+import donasi_kategori from "../../../bin/seeder/donasi/master_kategori.json";
+import donasi_status from "../../../bin/seeder/donasi/master_status.json";
+import donasi_status_invoice from "../../../bin/seeder/donasi/master_status_invoice.json";
+import event_status from "../../../bin/seeder/event/master_status.json";
+import event_tipe_acara from "../../../bin/seeder/event/master_tipe_acara.json";
+import forum_kategori_report from "../../../bin/seeder/forum/master_report.json";
+import forum_status_posting from "../../../bin/seeder/forum/master_status.json";
+import jenisProgres from "../../../bin/seeder/investasi/master_progres.json";
+import namaBank from "../../../bin/seeder/investasi/nama_bank.json";
+import pembagianDeviden from "../../../bin/seeder/investasi/pembagian_deviden.json";
+import pencarianInvestor from "../../../bin/seeder/investasi/pencarian_investor.json";
+import periodeDeviden from "../../../bin/seeder/investasi/periode_deviden.json";
+import statusInvestasi from "../../../bin/seeder/investasi/status_investasi.json";
+import statusTransaksiInvestasi from "../../../bin/seeder/investasi/status_transaksi_investasi.json";
+import master_status from "../../../bin/seeder/master_status.json";
+import nomor_admin from "../../../bin/seeder/nomor_admin.json";
+import userRole from "../../../bin/seeder/user_role.json";
+import userSeeder from "../../../bin/seeder/user_seeder.json";
+import voting_status from "../../../bin/seeder/voting/master_status.json";
+
+export async function generate_seeder() {
+ for (let i of userRole) {
+ await prisma.masterUserRole.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ });
+ }
+
+ for (let i of userSeeder) {
+ await prisma.user.upsert({
+ where: {
+ nomor: i.nomor,
+ },
+ create: {
+ nomor: i.nomor,
+ username: i.name,
+ masterUserRoleId: i.masterUserRoleId,
+ },
+ update: {
+ nomor: i.nomor,
+ username: i.name,
+ masterUserRoleId: i.masterUserRoleId,
+ },
+ });
+ }
+
+ for (let i of bidangBisnis) {
+ await prisma.masterBidangBisnis.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ });
+ }
+
+ for (let i of pencarianInvestor) {
+ await prisma.masterPencarianInvestor.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ });
+ }
+
+ for (let i of pembagianDeviden) {
+ await prisma.masterPembagianDeviden.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ });
+ }
+
+ for (let i of periodeDeviden) {
+ await prisma.masterPeriodeDeviden.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ },
+ });
+ }
+
+ for (let i of statusInvestasi) {
+ await prisma.masterStatusInvestasi.upsert({
+ where: {
+ id: i.id,
+ },
+ create: {
+ id: i.id,
+ name: i.name,
+ color: i.color,
+ },
+ update: {
+ id: i.id,
+ name: i.name,
+ color: i.color,
+ },
+ });
+ }
+
+ for (let i of namaBank) {
+ await prisma.masterBank.upsert({
+ where: {
+ id: i.id.toString(),
+ },
+ create: {
+ id: i.id.toString(),
+ name: i.name,
+ norek: i.norek.toString(),
+ },
+ update: {
+ id: i.id.toString(),
+ name: i.name,
+ norek: i.norek.toString(),
+ },
+ });
+ }
+
+ for (let i of statusTransaksiInvestasi) {
+ await prisma.masterStatusTransaksiInvestasi.upsert({
+ where: {
+ id: i.id,
+ },
+ create: {
+ id: i.id,
+ name: i.name,
+ color: i.color,
+ },
+ update: {
+ id: i.id,
+ name: i.name,
+ color: i.color,
+ },
+ });
+ }
+
+ for (let i of jenisProgres) {
+ await prisma.masterProgresInvestasi.upsert({
+ where: {
+ id: i.id,
+ },
+ create: {
+ id: i.id,
+ name: i.name,
+ },
+ update: {
+ name: i.name,
+ },
+ });
+ }
+
+ 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,
+ },
+ });
+ }
+
+ for (let e of event_status) {
+ await prisma.eventMaster_Status.upsert({
+ where: {
+ id: e.id,
+ },
+ create: {
+ id: e.id,
+ name: e.name,
+ },
+ update: {
+ name: e.name,
+ },
+ });
+ }
+
+ for (let e of event_tipe_acara) {
+ await prisma.eventMaster_TipeAcara.upsert({
+ where: {
+ id: e.id,
+ },
+ create: {
+ id: e.id,
+ name: e.name,
+ },
+ update: {
+ name: e.name,
+ },
+ });
+ }
+
+ for (let v of voting_status) {
+ await prisma.voting_Status.upsert({
+ where: {
+ id: v.id,
+ },
+ create: {
+ id: v.id,
+ name: v.name,
+ },
+ update: {
+ name: v.name,
+ },
+ });
+ }
+
+ for (let m of master_status) {
+ await prisma.masterStatus.upsert({
+ where: {
+ id: m.id,
+ },
+ create: {
+ id: m.id,
+ name: m.name,
+ },
+ update: {
+ name: m.name,
+ },
+ });
+ }
+
+ for (let m of forum_kategori_report) {
+ await prisma.forumMaster_KategoriReport.upsert({
+ where: {
+ id: m.id as number,
+ },
+ create: {
+ title: m.title,
+ deskripsi: m.deskripsi,
+ },
+ update: {
+ title: m.title,
+ deskripsi: m.deskripsi,
+ },
+ });
+ }
+
+ for (let s of forum_status_posting) {
+ await prisma.forumMaster_StatusPosting.upsert({
+ where: {
+ id: s.id,
+ },
+ create: {
+ status: s.status,
+ },
+ update: {
+ status: s.status,
+ },
+ });
+ }
+
+ for (let p of collaboration_industri) {
+ await prisma.projectCollaborationMaster_Industri.upsert({
+ where: {
+ id: p.id,
+ },
+ create: {
+ name: p.name,
+ },
+ update: {
+ name: p.name,
+ },
+ });
+ }
+
+ for (let p of collaboration_status) {
+ await prisma.projectCollaborationMaster_Status.upsert({
+ where: {
+ id: p.id,
+ },
+ create: {
+ name: p.name,
+ },
+ update: {
+ name: p.name,
+ },
+ });
+ }
+
+ for (let a of nomor_admin) {
+ await prisma.nomorAdmin.upsert({
+ where: {
+ id: a.id,
+ },
+ create: {
+ id: a.id,
+ nomor: a.nomor,
+ },
+ update: {
+ id: a.id,
+ nomor: a.nomor,
+ },
+ });
+ }
+
+ return { status: 200, success: true };
+}
diff --git a/src/app_modules/_global/notif_global/notifikasi_berhasil.tsx b/src/app_modules/_global/notif_global/notifikasi_berhasil.tsx
index 92b8c785..55a1749d 100644
--- a/src/app_modules/_global/notif_global/notifikasi_berhasil.tsx
+++ b/src/app_modules/_global/notif_global/notifikasi_berhasil.tsx
@@ -21,7 +21,9 @@ export async function ComponentGlobal_NotifikasiBerhasil(
return notifications.show({
message: (
- {text}
+
+ {text}
+
),
color: "green",
diff --git a/src/app_modules/_global/notif_global/notifikasi_gagal.tsx b/src/app_modules/_global/notif_global/notifikasi_gagal.tsx
index 64e97ead..16b2fdbd 100644
--- a/src/app_modules/_global/notif_global/notifikasi_gagal.tsx
+++ b/src/app_modules/_global/notif_global/notifikasi_gagal.tsx
@@ -12,7 +12,7 @@ export async function ComponentGlobal_NotifikasiGagal(text: string) {
return notifications.show({
message: (
- {text}
+ {text}
),
color: "red",
diff --git a/src/app_modules/_global/notif_global/notifikasi_peringatan.tsx b/src/app_modules/_global/notif_global/notifikasi_peringatan.tsx
index 73783e33..682465da 100644
--- a/src/app_modules/_global/notif_global/notifikasi_peringatan.tsx
+++ b/src/app_modules/_global/notif_global/notifikasi_peringatan.tsx
@@ -15,7 +15,9 @@ export async function ComponentGlobal_NotifikasiPeringatan(
return notifications.show({
message: (
- {text}
+
+ {text}
+
),
color: "yellow.1",
@@ -24,9 +26,7 @@ export async function ComponentGlobal_NotifikasiPeringatan(
style: {
borderWidth: "0.5px",
borderStyle: "solid",
- borderColor: "red"
-
-
+ borderColor: "red",
},
icon: (
diff --git a/src/app_modules/admin/layout.tsx b/src/app_modules/admin/layout.tsx
index 429adf0c..8f5e261b 100644
--- a/src/app_modules/admin/layout.tsx
+++ b/src/app_modules/admin/layout.tsx
@@ -51,6 +51,7 @@ import adminNotifikasi_getByUserId from "./notifikasi/fun/get/get_notifikasi_by_
import adminNotifikasi_funUpdateIsReadById from "./notifikasi/fun/update/fun_update_is_read_by_id";
import adminNotifikasi_findRouterJob from "./notifikasi/route_setting/job";
import adminNotifikasi_findRouterForum from "./notifikasi/route_setting/forum";
+import { adminNotifikasi_findRouterVoting } from "./notifikasi/route_setting/voting";
export default function AdminLayout({
children,
@@ -297,6 +298,7 @@ export default function AdminLayout({
>
{children}
+
{/* Drawer Mobile View */}
setOpened(false)} size={"50%"}>
@@ -389,6 +391,7 @@ function DrawerNotifikasi({
},
}}
onClick={async () => {
+ // JOB
e?.kategoriApp === "JOB" &&
adminNotifikasi_findRouterJob({
data: e,
@@ -399,6 +402,7 @@ function DrawerNotifikasi({
onToggleNavbar: onToggleNavbar,
});
+ // FORUM
e?.kategoriApp === "FORUM" &&
adminNotifikasi_findRouterForum({
data: e,
@@ -411,6 +415,19 @@ function DrawerNotifikasi({
},
});
+ // VOTE
+ e?.kategoriApp === "VOTING" &&
+ adminNotifikasi_findRouterVoting({
+ data: e,
+ router: router,
+ onChangeNavbar(val) {
+ onChangeNavbar(val);
+ },
+ onToggleNavbar(val) {
+ onToggleNavbar(val);
+ },
+ });
+
const updateIsRead = await adminNotifikasi_funUpdateIsReadById({
notifId: e?.id,
});
diff --git a/src/app_modules/admin/main_dashboard/main/view.tsx b/src/app_modules/admin/main_dashboard/main/view.tsx
index d47cb52d..e4d27390 100644
--- a/src/app_modules/admin/main_dashboard/main/view.tsx
+++ b/src/app_modules/admin/main_dashboard/main/view.tsx
@@ -1,22 +1,14 @@
"use client";
import {
- ActionIcon,
- Box,
- Center,
Divider,
Grid,
Group,
Paper,
Stack,
Text,
- Title,
+ Title
} from "@mantine/core";
-import Admin_Investasi from "../../investasi/main/view";
-import { IconChevronsRight } from "@tabler/icons-react";
-import router from "next/router";
-import * as echarts from 'echarts';
-import EChartsReact from "echarts-for-react";
export default function AdminMain({countUser, countPorto}: {countUser: number, countPorto: number} ) {
diff --git a/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts b/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts
index 5f2bfc74..d60b0047 100644
--- a/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts
+++ b/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts
@@ -8,10 +8,14 @@ export default async function adminNotifikasi_getByUserId() {
const adminId = await user_getOneUserId();
const data = await prisma.notifikasi.findMany({
-
- orderBy: {
- createdAt: "desc",
- },
+ orderBy: [
+ {
+ isRead: "asc",
+ },
+ {
+ createdAt: "desc",
+ },
+ ],
where: {
adminId: adminId,
userRoleId: "2",
diff --git a/src/app_modules/admin/notifikasi/route_setting/voting.ts b/src/app_modules/admin/notifikasi/route_setting/voting.ts
new file mode 100644
index 00000000..5e8bcc07
--- /dev/null
+++ b/src/app_modules/admin/notifikasi/route_setting/voting.ts
@@ -0,0 +1,27 @@
+import { RouterAdminVote } from "@/app/lib/router_admin/router_admin_vote";
+import { MODEL_NOTIFIKASI } from "@/app_modules/notifikasi/model/interface";
+import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
+
+export async function adminNotifikasi_findRouterVoting({
+ data,
+ router,
+ onChangeNavbar,
+ onToggleNavbar,
+}: {
+ data: MODEL_NOTIFIKASI;
+ router: AppRouterInstance;
+ onChangeNavbar: (val: any) => void;
+ onToggleNavbar: (val: any) => void;
+}) {
+ const path = RouterAdminVote.table_review;
+
+ if (data.status === "Review") {
+ router.push(path, { scroll: false });
+ onChangeNavbar({
+ id: 5,
+ childId: 53,
+ });
+ }
+
+ onToggleNavbar(true);
+}
diff --git a/src/app_modules/admin/vote/child/table_review/index.tsx b/src/app_modules/admin/vote/child/table_review/index.tsx
index db8463bf..f14023a2 100644
--- a/src/app_modules/admin/vote/child/table_review/index.tsx
+++ b/src/app_modules/admin/vote/child/table_review/index.tsx
@@ -1,19 +1,13 @@
"use client";
-import { RouterProfile } from "@/app/lib/router_hipmi/router_katalog";
import ComponentAdminGlobal_HeaderTamplate from "@/app_modules/admin/component_global/header_tamplate";
-import { AdminEvent_getListPesertaById } from "@/app_modules/admin/event/fun/get/get_list_peserta_by_id";
import { MODEL_VOTING } from "@/app_modules/vote/model/interface";
import {
- Avatar,
Box,
Button,
Center,
- Divider,
- Grid,
Group,
Modal,
- Paper,
ScrollArea,
Spoiler,
Stack,
@@ -23,20 +17,20 @@ import {
Title,
} from "@mantine/core";
import { useDisclosure } from "@mantine/hooks";
-import { IconBan } from "@tabler/icons-react";
-import { IconEyeShare } from "@tabler/icons-react";
+import { IconBan, IconEyeShare } from "@tabler/icons-react";
import _ from "lodash";
import { useRouter } from "next/navigation";
-import { useState } from "react";
-import { AdminVote_funEditStatusPublishById } from "../../fun/edit/fun_edit_status_publish_by_id";
-import toast from "react-simple-toasts";
-import { AdminVote_getListTableByStatusId } from "../../fun/get/get_list_table_by_status_id";
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
-import { AdminEvent_funEditCatatanById } from "../../fun/edit/fun_edit_status_reject_by_id";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import moment from "moment";
+import { useState } from "react";
+import { AdminVote_funEditStatusPublishById } from "../../fun/edit/fun_edit_status_publish_by_id";
+import { AdminEvent_funEditCatatanById } from "../../fun/edit/fun_edit_status_reject_by_id";
+import { AdminVote_getListTableByStatusId } from "../../fun/get/get_list_table_by_status_id";
+import mqtt_client from "@/util/mqtt_client";
+import adminNotifikasi_funCreateToUser from "@/app_modules/admin/notifikasi/fun/create/fun_create_notif_user";
export default function AdminVote_TableReview({
listVote,
@@ -255,17 +249,36 @@ async function onPublish(
return ComponentGlobal_NotifikasiPeringatan("Tanggal Voting Lewat");
setVotingId(voteId);
- await AdminVote_funEditStatusPublishById(voteId).then(async (res) => {
- if (res.status === 200) {
- await AdminVote_getListTableByStatusId("2").then((val) => {
- setData(val);
- ComponentGlobal_NotifikasiBerhasil(res.message);
- setLoadingPublish(true);
- });
- } else {
- ComponentGlobal_NotifikasiGagal(res.message);
+ const res = await AdminVote_funEditStatusPublishById(voteId);
+ if (res.status === 200) {
+ const dataNotif = {
+ appId: res.data?.id,
+ status: res.data?.Voting_Status?.name as any,
+ userId: res.data?.authorId as any,
+ pesan: res.data?.title as any,
+ kategoriApp: "VOTING",
+ title: "Voting publish",
+ };
+
+ const notif = await adminNotifikasi_funCreateToUser({
+ data: dataNotif as any,
+ });
+
+ if (notif.status === 201) {
+ mqtt_client.publish(
+ "USER",
+ JSON.stringify({ userId: res?.data?.authorId, count: 1 })
+ );
}
- });
+
+ await AdminVote_getListTableByStatusId("2").then((val) => {
+ setData(val);
+ ComponentGlobal_NotifikasiBerhasil(res.message);
+ setLoadingPublish(true);
+ });
+ } else {
+ ComponentGlobal_NotifikasiGagal(res.message);
+ }
}
async function onReject(
@@ -279,16 +292,36 @@ async function onReject(
id: voteId,
catatan: catatan,
};
- await AdminEvent_funEditCatatanById(data as any).then(async (res) => {
- if (res.status === 200) {
- await AdminVote_getListTableByStatusId("2").then((val) => {
- setData(val);
- setSaveLoading(true);
- ComponentGlobal_NotifikasiBerhasil(res.message);
- close();
- });
- } else {
- ComponentGlobal_NotifikasiGagal(res.message);
+
+ const res = await AdminEvent_funEditCatatanById(data as any);
+ if (res.status === 200) {
+ const dataNotif = {
+ appId: res.data?.id,
+ status: res.data?.Voting_Status?.name as any,
+ userId: res.data?.authorId as any,
+ pesan: res.data?.title as any,
+ kategoriApp: "VOTING",
+ title: "Voting anda di tolak !",
+ };
+
+ const notif = await adminNotifikasi_funCreateToUser({
+ data: dataNotif as any,
+ });
+
+ if (notif.status === 201) {
+ mqtt_client.publish(
+ "USER",
+ JSON.stringify({ userId: res?.data?.authorId, count: 1 })
+ );
}
- });
+
+ await AdminVote_getListTableByStatusId("2").then((val) => {
+ setData(val);
+ setSaveLoading(true);
+ ComponentGlobal_NotifikasiBerhasil(res.message);
+ close();
+ });
+ } else {
+ ComponentGlobal_NotifikasiGagal(res.message);
+ }
}
diff --git a/src/app_modules/admin/vote/fun/edit/fun_edit_status_publish_by_id.ts b/src/app_modules/admin/vote/fun/edit/fun_edit_status_publish_by_id.ts
index 1614b610..59c61a14 100644
--- a/src/app_modules/admin/vote/fun/edit/fun_edit_status_publish_by_id.ts
+++ b/src/app_modules/admin/vote/fun/edit/fun_edit_status_publish_by_id.ts
@@ -4,20 +4,31 @@ import prisma from "@/app/lib/prisma";
import { revalidatePath } from "next/cache";
export async function AdminVote_funEditStatusPublishById(voteId: string) {
-
- const updt = await prisma.voting.update({
- where: {
- id: voteId,
+ const updt = await prisma.voting.update({
+ where: {
+ id: voteId,
+ },
+ data: {
+ voting_StatusId: "1",
+ },
+ select: {
+ id: true,
+ title: true,
+ authorId: true,
+ Voting_Status: {
+ select: {
+ name: true,
+ },
},
- data: {
- voting_StatusId: "1",
- },
- });
+ },
+ });
- if (!updt) return { status: 400, message: "Update Gagal" };
- revalidatePath("/dev/admin/vote/main");
- return {
- status: 200,
- message: "Berhasil Update Status",
- };
+ if (!updt) return { status: 400, message: "Update Gagal" };
+ revalidatePath("/dev/admin/vote/main");
+
+ return {
+ data: updt,
+ status: 200,
+ message: "Berhasil Update Status",
+ };
}
diff --git a/src/app_modules/admin/vote/fun/edit/fun_edit_status_reject_by_id.ts b/src/app_modules/admin/vote/fun/edit/fun_edit_status_reject_by_id.ts
index 5cb8cd46..66800203 100644
--- a/src/app_modules/admin/vote/fun/edit/fun_edit_status_reject_by_id.ts
+++ b/src/app_modules/admin/vote/fun/edit/fun_edit_status_reject_by_id.ts
@@ -15,11 +15,22 @@ export async function AdminEvent_funEditCatatanById(
voting_StatusId: "4",
catatan: data.catatan,
},
+ select: {
+ id: true,
+ title: true,
+ authorId: true,
+ Voting_Status: {
+ select: {
+ name: true,
+ },
+ },
+ }
});
if (!updt) return { status: 400, message: "Update Gagal" };
revalidatePath("/dev/admin/event/main");
return {
+ data: updt,
status: 200,
message: "Berhasil Update Status",
};
diff --git a/src/app_modules/colab/create/index.tsx b/src/app_modules/colab/create/index.tsx
index 2628621b..58597789 100644
--- a/src/app_modules/colab/create/index.tsx
+++ b/src/app_modules/colab/create/index.tsx
@@ -23,6 +23,7 @@ import _ from "lodash";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import { MainColor } from "@/app_modules/_global/color/color_pallet";
import ComponentGlobal_InputCountDown from "@/app_modules/_global/component/input_countdown";
+import mqtt_client from "@/util/mqtt_client";
export default function Colab_Create({
listIndustri,
@@ -184,18 +185,24 @@ function ButtonAction({ value }: { value: any }) {
return ComponentGlobal_NotifikasiPeringatan("Lengkapi Data");
if (value.projectCollaborationMaster_IndustriId === 0)
return ComponentGlobal_NotifikasiPeringatan("Pilih Industri");
- // if (value.jumlah_partisipan < 2)
- // return ComponentGlobal_NotifikasiPeringatan("Minimal Ada 2 Partisipan");
- await colab_funCreateProyek(value).then((res) => {
- if (res.status === 201) {
- setLoading(true);
- router.back();
- ComponentGlobal_NotifikasiBerhasil(res.message);
- } else {
- ComponentGlobal_NotifikasiGagal(res.message);
- }
- });
+ const res = await colab_funCreateProyek(value);
+ if (res.status === 201) {
+ // const dataNotif: any = {
+ // appId: res.data?.id as any,
+ // kategoriApp: "VOTING",
+ // status: create.data?.MasterStatus?.name as any,
+ // userId: create.data?.authorId as any,
+ // pesan: create.data?.title as any,
+ // title: "Job baru",
+ // };
+
+ setLoading(true);
+ router.back();
+ ComponentGlobal_NotifikasiBerhasil(res.message);
+ } else {
+ ComponentGlobal_NotifikasiGagal(res.message);
+ }
}
// console.log(value);
diff --git a/src/app_modules/colab/fun/create/fun_create_proyek.ts b/src/app_modules/colab/fun/create/fun_create_proyek.ts
index f09bd685..5a194ed2 100644
--- a/src/app_modules/colab/fun/create/fun_create_proyek.ts
+++ b/src/app_modules/colab/fun/create/fun_create_proyek.ts
@@ -12,7 +12,7 @@ export default async function colab_funCreateProyek(
) {
const AuthorId = await user_getOneUserId();
- const create = await prisma.projectCollaboration.create({
+ const data = await prisma.projectCollaboration.create({
data: {
title: value.title,
lokasi: value.lokasi,
@@ -25,7 +25,7 @@ export default async function colab_funCreateProyek(
},
});
- if (!create) return { status: 400, message: "Gagal Membuat Proyek" };
+ if (!data) return { status: 400, message: "Gagal Membuat Proyek" };
revalidatePath(RouterColab.beranda);
- return { status: 201, message: "Berhasil Membuar Proyek" };
+ return { data, status: 201, message: "Berhasil Membuar Proyek" };
}
diff --git a/src/app_modules/crowd/main/layout.tsx b/src/app_modules/crowd/main/layout.tsx
index 230e5ca1..3484fa77 100644
--- a/src/app_modules/crowd/main/layout.tsx
+++ b/src/app_modules/crowd/main/layout.tsx
@@ -1,8 +1,8 @@
"use client";
-import AppComponentGlobal_LayoutTamplate from "@/app_modules/_global/component_layout_tamplate";
-import ComponentGlobal_HeaderTamplate from "@/app_modules/_global/header_tamplate";
-import { useRouter } from "next/navigation";
+import { RouterHome } from "@/app/lib/router_hipmi/router_home";
+import UIGlobal_LayoutHeaderTamplate from "@/app_modules/_global/ui/ui_header_tamplate";
+import UIGlobal_LayoutTamplate from "@/app_modules/_global/ui/ui_layout_tamplate";
import React from "react";
export default function LayoutMainCrowd({
@@ -10,19 +10,18 @@ export default function LayoutMainCrowd({
}: {
children: React.ReactNode;
}) {
- const router = useRouter();
return (
<>
-
}
>
{children}
-
+
>
);
}
diff --git a/src/app_modules/crowd/main/view.tsx b/src/app_modules/crowd/main/view.tsx
index 92675a41..283ca741 100644
--- a/src/app_modules/crowd/main/view.tsx
+++ b/src/app_modules/crowd/main/view.tsx
@@ -1,14 +1,16 @@
"use client";
import { RouterCrowd } from "@/app/lib/router_hipmi/router_crowd";
-import { Warna } from "@/app/lib/warna";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/_global/color/color_pallet";
+import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
+import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import { gs_donasi_hot_menu } from "@/app_modules/donasi/global_state";
import { gs_investasiFooter } from "@/app_modules/investasi/g_state";
import {
AspectRatio,
- Button,
- Center,
- Flex,
Grid,
Image,
Loader,
@@ -21,7 +23,6 @@ import { IconChevronRight } from "@tabler/icons-react";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import { useState } from "react";
-import toast from "react-simple-toasts";
export default function MainCrowd() {
const router = useRouter();
@@ -29,26 +30,46 @@ export default function MainCrowd() {
const [donasiHotMenu, setDonasiHotMenu] = useAtom(gs_donasi_hot_menu);
const [loadingInv, setLoadingInv] = useState(false);
const [loadingDon, setLoadingDon] = useState(false);
+
return (
<>
-
+ {/*
-
-
+ */}
+
+
+ {/* INVESTASI */}
{
- setLoadingInv(true);
- router.push(RouterCrowd.investasi);
- setChangeColor(0);
+ // setLoadingInv(true);
+ // router.push(RouterCrowd.investasi);
+ // setChangeColor(0);
+ ComponentGlobal_NotifikasiPeringatan(
+ "Sementara ini sedang maintenance",
+ 3000
+ );
}}
>
@@ -61,20 +82,34 @@ export default function MainCrowd() {
- {loadingInv ? : }
+ {loadingInv ? (
+
+ ) : (
+
+ )}
+
+ {/* DONASI */}
{
- setLoadingDon(true);
- router.push(RouterCrowd.donasi);
- setDonasiHotMenu(0);
+ // setLoadingDon(true);
+ // router.push(RouterCrowd.donasi);
+ // setDonasiHotMenu(0);
+ ComponentGlobal_NotifikasiPeringatan(
+ "Sementara ini sedang maintenance",
+ 3000
+ );
}}
>
@@ -87,7 +122,11 @@ export default function MainCrowd() {
- {loadingDon ? : }
+ {loadingDon ? (
+
+ ) : (
+
+ )}
diff --git a/src/app_modules/crowd/splash/view.tsx b/src/app_modules/crowd/splash/view.tsx
index 7bad5f81..65e4e84f 100644
--- a/src/app_modules/crowd/splash/view.tsx
+++ b/src/app_modules/crowd/splash/view.tsx
@@ -1,23 +1,20 @@
"use client";
-import { Warna } from "@/app/lib/warna";
-import { Center, Image, Paper, Stack, Text, Title } from "@mantine/core";
+import { RouterCrowd } from "@/app/lib/router_hipmi/router_crowd";
+import UIGlobal_SplashScreen from "@/app_modules/_global/ui/ui_splash";
import { useShallowEffect } from "@mantine/hooks";
+import { IconHeartHandshake } from "@tabler/icons-react";
import { useRouter } from "next/navigation";
export default function SplashCrowd() {
const router = useRouter();
useShallowEffect(() => {
- setTimeout(() => router.push("/dev/crowd/main"), 1000);
+ setTimeout(() => router.push(RouterCrowd.main), 1000);
}, []);
return (
<>
-
-
-
-
-
+ } />
>
);
}
diff --git a/src/app_modules/donasi/component/box_publish.tsx b/src/app_modules/donasi/component/box_publish.tsx
deleted file mode 100644
index 35d32c2b..00000000
--- a/src/app_modules/donasi/component/box_publish.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-"use client";
-
-import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
-import {
- SimpleGrid,
- Box,
- Stack,
- Grid,
- AspectRatio,
- Paper,
- Progress,
- Divider,
- Image,
- Text,
-} from "@mantine/core";
-import router from "next/router";
-import ComponentDonasi_TampilanHitungMundur from "./tampilan_hitung_mundur";
-import TampilanRupiahDonasi from "./tampilan_rupiah";
-import { MODEL_DONASI } from "../model/interface";
-import { useViewportSize } from "@mantine/hooks";
-import { useRouter } from "next/navigation";
-import { useState } from "react";
-import _ from "lodash";
-import ComponentDonasi_IsEmptyData from "./is_empty_data";
-
-export default function ComponentDonasi_BoxPublish({
- dataDonasi,
- path,
-}: {
- dataDonasi: MODEL_DONASI[];
- path: string;
-}) {
- const { height, width } = useViewportSize();
- const router = useRouter();
- const [donasi, setDonasi] = useState(dataDonasi);
- return (
- <>
- {_.isEmpty(dataDonasi) ? (
-
- ) : (
-
- {donasi.map((e, i) => (
- {
- router.push(path + `${e.id}`);
- }}
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
- {e.title}
-
-
-
-
-
- Terkumpul
-
-
-
-
-
-
-
- {width > 575 ? "" : }
-
-
- ))}
-
- )}
- >
- );
-}
diff --git a/src/app_modules/donasi/component/card_view/box_publish.tsx b/src/app_modules/donasi/component/card_view/box_publish.tsx
new file mode 100644
index 00000000..1e4ff58e
--- /dev/null
+++ b/src/app_modules/donasi/component/card_view/box_publish.tsx
@@ -0,0 +1,84 @@
+"use client";
+
+import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
+import { AccentColor } from "@/app_modules/_global/color/color_pallet";
+import {
+ AspectRatio,
+ Box,
+ Grid,
+ Image,
+ Paper,
+ Progress,
+ Stack,
+ Text
+} from "@mantine/core";
+import { useRouter } from "next/navigation";
+import ComponentDonasi_TampilanHitungMundur from "../tampilan_hitung_mundur";
+import TampilanRupiahDonasi from "../tampilan_rupiah";
+
+export default function ComponentDonasi_CardPublish({
+ data,
+ path,
+}: {
+ data: any;
+ path: string;
+}) {
+
+ const router = useRouter();
+
+ return (
+ <>
+ {
+ router.push(path + `${data.id}`);
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {data.title}
+
+
+
+
+
+ Terkumpul
+
+
+
+
+
+
+
+ {/* {width > 575 ? "" : } */}
+
+
+ >
+ );
+}
diff --git a/src/app_modules/donasi/component/card_view/card_status.tsx b/src/app_modules/donasi/component/card_view/card_status.tsx
new file mode 100644
index 00000000..9577b339
--- /dev/null
+++ b/src/app_modules/donasi/component/card_view/card_status.tsx
@@ -0,0 +1,71 @@
+import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
+import { AccentColor } from "@/app_modules/_global/color/color_pallet";
+import {
+ Box,
+ Stack,
+ Grid,
+ AspectRatio,
+ Paper,
+ Image,
+ Text,
+} from "@mantine/core";
+import { useRouter } from "next/navigation";
+import { MODEL_DONASI } from "../../model/interface";
+
+export function ComponentDonasi_CardStatus({
+ data,
+ path,
+}: {
+ data: MODEL_DONASI;
+ path: string;
+}) {
+ const router = useRouter();
+ return (
+ <>
+ router.push(path + `${data.id}`)}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+ {data.title}
+
+
+ Terget Dana
+
+ Rp.{" "}
+ {new Intl.NumberFormat("id-ID", {
+ maximumFractionDigits: 10,
+ }).format(+data.target)}
+
+
+
+
+
+ {/* {width > 575 ? "" : } */}
+
+
+ >
+ );
+}
diff --git a/src/app_modules/donasi/component/detail_galang_dana/detail_data_donasi.tsx b/src/app_modules/donasi/component/detail_galang_dana/detail_data_donasi.tsx
index 7876a7c8..0343271b 100644
--- a/src/app_modules/donasi/component/detail_galang_dana/detail_data_donasi.tsx
+++ b/src/app_modules/donasi/component/detail_galang_dana/detail_data_donasi.tsx
@@ -13,6 +13,7 @@ import {
Text,
} from "@mantine/core";
import TampilanRupiahDonasi from "../tampilan_rupiah";
+import { AccentColor, MainColor } from "@/app_modules/_global/color/color_pallet";
export default function ComponentDonasi_DetailDataGalangDana({
donasi,
@@ -22,14 +23,30 @@ export default function ComponentDonasi_DetailDataGalangDana({
const router = useRouter();
return (
<>
-
+
-
- {/*
- */}
+
+
+
{donasi.title}
Durasi: {donasi.DonasiMaster_Durasi.name} hari
@@ -38,13 +55,17 @@ export default function ComponentDonasi_DetailDataGalangDana({
Dana dibutuhkan
-
+
Kategori
-
+
{donasi.DonasiMaster_Ketegori.name}
diff --git a/src/app_modules/donasi/component/detail_main/cerita_penggalang.tsx b/src/app_modules/donasi/component/detail_main/cerita_penggalang.tsx
index e285b8d3..c84e81ee 100644
--- a/src/app_modules/donasi/component/detail_main/cerita_penggalang.tsx
+++ b/src/app_modules/donasi/component/detail_main/cerita_penggalang.tsx
@@ -7,6 +7,11 @@ import { Stack, Title, Paper, Group, ActionIcon, Text } from "@mantine/core";
import { IconCircleChevronRight } from "@tabler/icons-react";
import moment from "moment";
import { useState } from "react";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/_global/color/color_pallet";
+import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
export default function ComponentDonasi_CeritaPenggalangMain({
donasi,
@@ -17,9 +22,22 @@ export default function ComponentDonasi_CeritaPenggalangMain({
const [isLoading, setLoading] = useState(false);
return (
<>
-
+
Cerita Penggalang Dana
-
+
@@ -28,14 +46,21 @@ export default function ComponentDonasi_CeritaPenggalangMain({
)}
{
setLoading(true);
router.push(RouterDonasi.cerita_penggalang + `${donasi.id}`);
}}
>
-
+ {isLoading ? (
+
+ ) : (
+
+ )}
{donasi.CeritaDonasi.cerita}
diff --git a/src/app_modules/donasi/component/detail_main/detail_data_donasi.tsx b/src/app_modules/donasi/component/detail_main/detail_data_donasi.tsx
index cecc2204..0e4fdb30 100644
--- a/src/app_modules/donasi/component/detail_main/detail_data_donasi.tsx
+++ b/src/app_modules/donasi/component/detail_main/detail_data_donasi.tsx
@@ -30,6 +30,11 @@ import { NotifBerhasil } from "../notifikasi/notif_berhasil";
import { Donasi_findDonaturByTokenId } from "../../fun/get/get_donatur_by_token_id";
import { useState } from "react";
import ComponentGlobal_CardLoadingOverlay from "@/app_modules/_global/loading_card";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/_global/color/color_pallet";
+import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
export function ComponentDonasi_DetailDataMain({
donasi,
@@ -47,13 +52,20 @@ export function ComponentDonasi_DetailDataMain({
return (
<>
-
+
@@ -86,7 +98,12 @@ export function ComponentDonasi_DetailDataMain({
Kategori
-
+
{donasi.DonasiMaster_Ketegori.name}
@@ -102,19 +119,25 @@ export function ComponentDonasi_DetailDataMain({
router.push(RouterDonasi.donatur + `${donasi.id}`);
}}
>
-
-
+
+
{isLoadingDonatur ? (
-
+
) : (
-
+
)}
-
- {countDonatur}
-
+ {countDonatur}
- Donatur
+
+ Donatur
+
@@ -127,9 +150,13 @@ export function ComponentDonasi_DetailDataMain({
>
{isLoadingKabar ? (
-
+
) : (
-
+
)}
Kabar Terbaru
@@ -144,9 +171,13 @@ export function ComponentDonasi_DetailDataMain({
>
{isLoadingPencairan ? (
-
+
) : (
-
+
)}
Pencairan Dana
diff --git a/src/app_modules/donasi/component/detail_main/informasi_penggalang.tsx b/src/app_modules/donasi/component/detail_main/informasi_penggalang.tsx
index 4e088959..e29e934a 100644
--- a/src/app_modules/donasi/component/detail_main/informasi_penggalang.tsx
+++ b/src/app_modules/donasi/component/detail_main/informasi_penggalang.tsx
@@ -16,6 +16,12 @@ import _ from "lodash";
import { useRouter } from "next/navigation";
import ComponentDonasi_NotedBox from "../noted_box";
import { useState } from "react";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/_global/color/color_pallet";
+import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
+import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
export default function ComponentDonasi_InformasiPenggalangMain({
author,
@@ -27,21 +33,41 @@ export default function ComponentDonasi_InformasiPenggalangMain({
return (
<>
{/* {JSON.stringify(author, null, 2)} */}
-
+
Informasi Penggalang Dana
-
+
Penggalang Dana
{
setLoading(true);
router.push(RouterDonasi.penggalang_dana + `${author.id}`);
}}
>
-
+ {isLoading ? (
+
+ ) : (
+
+ )}
@@ -56,7 +82,7 @@ export default function ComponentDonasi_InformasiPenggalangMain({
{author.username}
-
diff --git a/src/app_modules/donasi/component/footer_button_donasi.tsx b/src/app_modules/donasi/component/footer_button_donasi.tsx
index a55d4fa5..597d278f 100644
--- a/src/app_modules/donasi/component/footer_button_donasi.tsx
+++ b/src/app_modules/donasi/component/footer_button_donasi.tsx
@@ -5,6 +5,7 @@ import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import { gs_proses_donasi } from "../global_state";
import { useState } from "react";
+import { MainColor } from "@/app_modules/_global/color/color_pallet";
export default function ButtonDonasi({ donasiId }: { donasiId: string }) {
const router = useRouter();
@@ -24,7 +25,11 @@ export default function ButtonDonasi({ donasiId }: { donasiId: string }) {
return (
<>
-
-
+
onCreate()}
+ bg={MainColor.yellow}
+ color="yellow"
+ c={"black"}
>
Simpan
diff --git a/src/app_modules/donasi/create/create_donasi.tsx b/src/app_modules/donasi/create/create_donasi.tsx
index d84149d2..76a022a4 100644
--- a/src/app_modules/donasi/create/create_donasi.tsx
+++ b/src/app_modules/donasi/create/create_donasi.tsx
@@ -11,12 +11,17 @@ import {
Select,
Stack,
Text,
- TextInput
+ TextInput,
} from "@mantine/core";
import { IconCamera } from "@tabler/icons-react";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/_global/color/color_pallet";
+import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information";
import {
ComponentGlobal_WarningMaxUpload,
maksimalUploadFile,
@@ -24,11 +29,11 @@ import {
import _ from "lodash";
import { useState } from "react";
import toast from "react-simple-toasts";
-import ComponentDonasi_NotedBox from "../component/noted_box";
import { NotifPeringatan } from "../component/notifikasi/notif_peringatan";
import Donasi_funCreateTemporary from "../fun/create/fun_create_donasi_temporary";
import { gs_donasi_tabs_posting } from "../global_state";
import { MODEL_DONASI_ALL_MASTER } from "../model/interface";
+import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal";
export default function CreateDonasi({
masterKategori,
@@ -75,16 +80,21 @@ export default function CreateDonasi({
setTabsPostingDonasi("Review");
router.push(RouterDonasi.create_cerita_penggalang + `${res.donasiId}`);
} else {
- toast(res.message);
+ return ComponentGlobal_NotifikasiGagal(res.message);
}
});
}
return (
<>
-
-
+
+