From 31422db25d2a650d5cd1860925803cdabcdcb744 Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Mon, 22 Jan 2024 11:02:58 +0800 Subject: [PATCH 1/9] Perbaikan get notif donasi --- src/app/dev/donasi/main/layout.tsx | 6 +++--- .../donasi/fun/get/get_notif_by_user_id.ts | 14 ++++---------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/app/dev/donasi/main/layout.tsx b/src/app/dev/donasi/main/layout.tsx index 3b3c15bf..36134c44 100644 --- a/src/app/dev/donasi/main/layout.tsx +++ b/src/app/dev/donasi/main/layout.tsx @@ -9,9 +9,9 @@ export default async function Layout({ children: React.ReactNode; }) { const userId = await User_getUserId(); - // const dataDonasi = await DOnasi_getList - const isRead = await Donasi_getNotifByUserId(userId).then((res) => - res.map((val: any) => val.isRead) + // console.log(userId) + const isRead = await Donasi_getNotifByUserId(userId).then((res: any) => + res.map((val: any) => val.isRead) ); // console.log(isRead) diff --git a/src/app_modules/donasi/fun/get/get_notif_by_user_id.ts b/src/app_modules/donasi/fun/get/get_notif_by_user_id.ts index 75411f84..f7c05c8e 100644 --- a/src/app_modules/donasi/fun/get/get_notif_by_user_id.ts +++ b/src/app_modules/donasi/fun/get/get_notif_by_user_id.ts @@ -3,12 +3,6 @@ import prisma from "@/app/lib/prisma"; export async function Donasi_getNotifByUserId(userId: string) { - const dataInvoice = await prisma.donasi_Invoice.findFirst({ - where: { - authorId: userId - } - }) - // console.log(dataInvoice) // return null @@ -22,10 +16,10 @@ export async function Donasi_getNotifByUserId(userId: string) { select: { id: true, isRead: true, - active: true, - createdAt: true, - donasi_KabarId: true, - Donasi_Kabar: true, + // active: true, + // createdAt: true, + // donasi_KabarId: true, + // Donasi_Kabar: true, }, }); return dataNotif; From bec87028fd983647aa0dfe0136f5f2a37d79a179 Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Wed, 24 Jan 2024 12:07:41 +0800 Subject: [PATCH 2/9] # Event ## feat - Tampilan detail status - Tampilan detail main - Tampilan detail kontribusi - Tampilan edit ### No issue --- package.json | 2 + public/aset/event/splash-event.png | Bin 0 -> 20311 bytes public/aset/global/upload_icon.png | Bin 0 -> 4527 bytes .../6fec9ab1-6989-4bb8-8050-ab46ba431d11.png | Bin 0 -> 20311 bytes .../e6be54b3-b536-408d-afcb-da38415cfec1.jpg | Bin 0 -> 37718 bytes src/app/dev/event/create/layout.tsx | 13 ++ src/app/dev/event/create/page.tsx | 9 ++ src/app/dev/event/detail/draft/layout.tsx | 11 ++ src/app/dev/event/detail/draft/page.tsx | 5 + .../dev/event/detail/kontribusi/layout.tsx | 14 +++ src/app/dev/event/detail/kontribusi/page.tsx | 9 ++ src/app/dev/event/detail/main/layout.tsx | 15 +++ src/app/dev/event/detail/main/page.tsx | 7 ++ src/app/dev/event/detail/publish/layout.tsx | 11 ++ src/app/dev/event/detail/publish/page.tsx | 5 + src/app/dev/event/detail/reject/layout.tsx | 11 ++ src/app/dev/event/detail/reject/page.tsx | 5 + src/app/dev/event/detail/review/layout.tsx | 11 ++ src/app/dev/event/detail/review/page.tsx | 6 + src/app/dev/event/edit/layout.tsx | 8 ++ src/app/dev/event/edit/page.tsx | 7 ++ src/app/dev/event/main/beranda/page.tsx | 11 ++ src/app/dev/event/main/kontribusi/page.tsx | 8 ++ src/app/dev/event/main/layout.tsx | 8 ++ src/app/dev/event/main/status_page/page.tsx | 5 + src/app/dev/event/splash/page.tsx | 5 + src/app/lib/router_hipmi/router_event.ts | 27 +++++ .../notif_global/notifikasi_berhasil.tsx | 19 ++- .../event/component/detail_data.tsx | 48 ++++++++ .../event/component/header_tamplate.tsx | 69 +++++++++++ src/app_modules/event/create/create.tsx | 72 ++++++++++++ src/app_modules/event/create/layout.tsx | 19 +++ src/app_modules/event/detail/draft/index.tsx | 36 ++++++ src/app_modules/event/detail/draft/layout.tsx | 23 ++++ .../event/detail/kontribusi/index.tsx | 48 ++++++++ .../event/detail/kontribusi/layout.tsx | 21 ++++ .../event/detail/main_detail/index.tsx | 54 +++++++++ .../event/detail/main_detail/layout.tsx | 19 +++ .../event/detail/publish/index.tsx | 13 ++ .../event/detail/publish/layout.tsx | 21 ++++ src/app_modules/event/detail/reject/index.tsx | 70 +++++++++++ .../event/detail/reject/layout.tsx | 21 ++++ src/app_modules/event/detail/review/index.tsx | 31 +++++ .../event/detail/review/layout.tsx | 21 ++++ src/app_modules/event/edit/index.tsx | 43 +++++++ src/app_modules/event/edit/layout.tsx | 19 +++ .../event/fun/get/get_list_user.ts | 14 +++ src/app_modules/event/global_state/index.ts | 9 ++ src/app_modules/event/index.ts | 45 +++++++ src/app_modules/event/main/beranda.tsx | 65 ++++++++++ .../event/main/kontribusi/index.tsx | 102 ++++++++++++++++ .../event/main/kontribusi/panitia.tsx | 48 ++++++++ .../event/main/kontribusi/peserta.tsx | 48 ++++++++ src/app_modules/event/main/layout.tsx | 111 ++++++++++++++++++ .../event/main/status_page/draft.tsx | 40 +++++++ .../event/main/status_page/index.tsx | 82 +++++++++++++ .../event/main/status_page/publish.tsx | 40 +++++++ .../event/main/status_page/reject.tsx | 40 +++++++ .../event/main/status_page/review.tsx | 40 +++++++ src/app_modules/event/splash/index.tsx | 34 ++++++ src/app_modules/home/view.tsx | 42 ++----- .../katalog/portofolio/list_view/view.tsx | 6 +- yarn.lock | 12 ++ 63 files changed, 1619 insertions(+), 39 deletions(-) create mode 100644 public/aset/event/splash-event.png create mode 100644 public/aset/global/upload_icon.png create mode 100644 public/portofolio/logo/6fec9ab1-6989-4bb8-8050-ab46ba431d11.png create mode 100644 public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg create mode 100644 src/app/dev/event/create/layout.tsx create mode 100644 src/app/dev/event/create/page.tsx create mode 100644 src/app/dev/event/detail/draft/layout.tsx create mode 100644 src/app/dev/event/detail/draft/page.tsx create mode 100644 src/app/dev/event/detail/kontribusi/layout.tsx create mode 100644 src/app/dev/event/detail/kontribusi/page.tsx create mode 100644 src/app/dev/event/detail/main/layout.tsx create mode 100644 src/app/dev/event/detail/main/page.tsx create mode 100644 src/app/dev/event/detail/publish/layout.tsx create mode 100644 src/app/dev/event/detail/publish/page.tsx create mode 100644 src/app/dev/event/detail/reject/layout.tsx create mode 100644 src/app/dev/event/detail/reject/page.tsx create mode 100644 src/app/dev/event/detail/review/layout.tsx create mode 100644 src/app/dev/event/detail/review/page.tsx create mode 100644 src/app/dev/event/edit/layout.tsx create mode 100644 src/app/dev/event/edit/page.tsx create mode 100644 src/app/dev/event/main/beranda/page.tsx create mode 100644 src/app/dev/event/main/kontribusi/page.tsx create mode 100644 src/app/dev/event/main/layout.tsx create mode 100644 src/app/dev/event/main/status_page/page.tsx create mode 100644 src/app/dev/event/splash/page.tsx create mode 100644 src/app/lib/router_hipmi/router_event.ts create mode 100644 src/app_modules/event/component/detail_data.tsx create mode 100644 src/app_modules/event/component/header_tamplate.tsx create mode 100644 src/app_modules/event/create/create.tsx create mode 100644 src/app_modules/event/create/layout.tsx create mode 100644 src/app_modules/event/detail/draft/index.tsx create mode 100644 src/app_modules/event/detail/draft/layout.tsx create mode 100644 src/app_modules/event/detail/kontribusi/index.tsx create mode 100644 src/app_modules/event/detail/kontribusi/layout.tsx create mode 100644 src/app_modules/event/detail/main_detail/index.tsx create mode 100644 src/app_modules/event/detail/main_detail/layout.tsx create mode 100644 src/app_modules/event/detail/publish/index.tsx create mode 100644 src/app_modules/event/detail/publish/layout.tsx create mode 100644 src/app_modules/event/detail/reject/index.tsx create mode 100644 src/app_modules/event/detail/reject/layout.tsx create mode 100644 src/app_modules/event/detail/review/index.tsx create mode 100644 src/app_modules/event/detail/review/layout.tsx create mode 100644 src/app_modules/event/edit/index.tsx create mode 100644 src/app_modules/event/edit/layout.tsx create mode 100644 src/app_modules/event/fun/get/get_list_user.ts create mode 100644 src/app_modules/event/global_state/index.ts create mode 100644 src/app_modules/event/index.ts create mode 100644 src/app_modules/event/main/beranda.tsx create mode 100644 src/app_modules/event/main/kontribusi/index.tsx create mode 100644 src/app_modules/event/main/kontribusi/panitia.tsx create mode 100644 src/app_modules/event/main/kontribusi/peserta.tsx create mode 100644 src/app_modules/event/main/layout.tsx create mode 100644 src/app_modules/event/main/status_page/draft.tsx create mode 100644 src/app_modules/event/main/status_page/index.tsx create mode 100644 src/app_modules/event/main/status_page/publish.tsx create mode 100644 src/app_modules/event/main/status_page/reject.tsx create mode 100644 src/app_modules/event/main/status_page/review.tsx create mode 100644 src/app_modules/event/splash/index.tsx diff --git a/package.json b/package.json index 7efdb4e9..64834c2b 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@emotion/server": "^11.11.0", "@mantine/carousel": "^7.1.5", "@mantine/core": "^6.0.17", + "@mantine/dates": "^6.0.17", "@mantine/dropzone": "^7.1.3", "@mantine/hooks": "^6.0.17", "@mantine/next": "^6.0.17", @@ -25,6 +26,7 @@ "@types/react-dom": "18.2.7", "@types/uuid": "^9.0.4", "autoprefixer": "10.4.14", + "dayjs": "^1.11.10", "echarts": "^5.4.3", "echarts-for-react": "^3.0.2", "embla-carousel-react": "^8.0.0-rc14", diff --git a/public/aset/event/splash-event.png b/public/aset/event/splash-event.png new file mode 100644 index 0000000000000000000000000000000000000000..b59659fb5a2f91730a47cddc17cbe15b0d8921b9 GIT binary patch literal 20311 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 APXGV_ literal 0 HcmV?d00001 diff --git a/public/aset/global/upload_icon.png b/public/aset/global/upload_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b56be6a900d6a8e332837a5346d72fa50dae3123 GIT binary patch literal 4527 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 APXGV_ literal 0 HcmV?d00001 diff --git a/public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg b/public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f046776e41b2e87de45498f27962101092e34b4a GIT binary patch literal 37718 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 + {children} + + ); +} diff --git a/src/app/dev/event/create/page.tsx b/src/app/dev/event/create/page.tsx new file mode 100644 index 00000000..2a83cb92 --- /dev/null +++ b/src/app/dev/event/create/page.tsx @@ -0,0 +1,9 @@ +import { Event_Create } from "@/app_modules/event"; +import { Event_getListUser } from "@/app_modules/event/fun/get/get_list_user"; +import _ from "lodash"; + +export default async function Page() { + const listUser = await Event_getListUser(); + + return ; +} diff --git a/src/app/dev/event/detail/draft/layout.tsx b/src/app/dev/event/detail/draft/layout.tsx new file mode 100644 index 00000000..cb57dbe3 --- /dev/null +++ b/src/app/dev/event/detail/draft/layout.tsx @@ -0,0 +1,11 @@ + +import { LayoutEvent_DetailDraft } from "@/app_modules/event"; +import React from "react"; + +export default async function Page({ + children, +}: { + children: React.ReactNode; +}) { + return {children}; +} diff --git a/src/app/dev/event/detail/draft/page.tsx b/src/app/dev/event/detail/draft/page.tsx new file mode 100644 index 00000000..d30c95cf --- /dev/null +++ b/src/app/dev/event/detail/draft/page.tsx @@ -0,0 +1,5 @@ +import { Event_DetailDraft } from "@/app_modules/event"; + +export default async function Page() { + return ; +} diff --git a/src/app/dev/event/detail/kontribusi/layout.tsx b/src/app/dev/event/detail/kontribusi/layout.tsx new file mode 100644 index 00000000..53700a85 --- /dev/null +++ b/src/app/dev/event/detail/kontribusi/layout.tsx @@ -0,0 +1,14 @@ +import { LayoutEvent_DetailKontribusi } from "@/app_modules/event"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + {children} + + ); +} diff --git a/src/app/dev/event/detail/kontribusi/page.tsx b/src/app/dev/event/detail/kontribusi/page.tsx new file mode 100644 index 00000000..80fd281b --- /dev/null +++ b/src/app/dev/event/detail/kontribusi/page.tsx @@ -0,0 +1,9 @@ +import { Event_DetailKontribusi } from "@/app_modules/event"; + +export default async function Page() { + return ( + <> + + + ); +} diff --git a/src/app/dev/event/detail/main/layout.tsx b/src/app/dev/event/detail/main/layout.tsx new file mode 100644 index 00000000..bafd6a01 --- /dev/null +++ b/src/app/dev/event/detail/main/layout.tsx @@ -0,0 +1,15 @@ +import { LayoutEvent_DetailMain } from "@/app_modules/event"; +import { AppShell } from "@mantine/core"; +import React from "react"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + {children} + + ); +} diff --git a/src/app/dev/event/detail/main/page.tsx b/src/app/dev/event/detail/main/page.tsx new file mode 100644 index 00000000..805bf77b --- /dev/null +++ b/src/app/dev/event/detail/main/page.tsx @@ -0,0 +1,7 @@ +import { Event_DetailMain } from "@/app_modules/event"; + +export default async function Page() { + return <> + + +} \ No newline at end of file diff --git a/src/app/dev/event/detail/publish/layout.tsx b/src/app/dev/event/detail/publish/layout.tsx new file mode 100644 index 00000000..852fa2d9 --- /dev/null +++ b/src/app/dev/event/detail/publish/layout.tsx @@ -0,0 +1,11 @@ + +import { LayoutEvent_DetailPublish } from "@/app_modules/event"; +import React from "react"; + +export default async function Page({ + children, +}: { + children: React.ReactNode; +}) { + return {children}; +} diff --git a/src/app/dev/event/detail/publish/page.tsx b/src/app/dev/event/detail/publish/page.tsx new file mode 100644 index 00000000..e17f8fe4 --- /dev/null +++ b/src/app/dev/event/detail/publish/page.tsx @@ -0,0 +1,5 @@ +import { Event_DetailPublish } from "@/app_modules/event"; + +export default async function Page() { + return ; +} diff --git a/src/app/dev/event/detail/reject/layout.tsx b/src/app/dev/event/detail/reject/layout.tsx new file mode 100644 index 00000000..3526df2b --- /dev/null +++ b/src/app/dev/event/detail/reject/layout.tsx @@ -0,0 +1,11 @@ + +import { LayoutEvent_DetailReject } from "@/app_modules/event"; +import React from "react"; + +export default async function Page({ + children, +}: { + children: React.ReactNode; +}) { + return {children}; +} diff --git a/src/app/dev/event/detail/reject/page.tsx b/src/app/dev/event/detail/reject/page.tsx new file mode 100644 index 00000000..6dbf68b6 --- /dev/null +++ b/src/app/dev/event/detail/reject/page.tsx @@ -0,0 +1,5 @@ +import { Event_DetailReject } from "@/app_modules/event"; + +export default async function Page() { + return ; +} diff --git a/src/app/dev/event/detail/review/layout.tsx b/src/app/dev/event/detail/review/layout.tsx new file mode 100644 index 00000000..fdf53173 --- /dev/null +++ b/src/app/dev/event/detail/review/layout.tsx @@ -0,0 +1,11 @@ + +import { LayoutEvent_DetailReview } from "@/app_modules/event"; +import React from "react"; + +export default async function Page({ + children, +}: { + children: React.ReactNode; +}) { + return {children} +} diff --git a/src/app/dev/event/detail/review/page.tsx b/src/app/dev/event/detail/review/page.tsx new file mode 100644 index 00000000..310b3529 --- /dev/null +++ b/src/app/dev/event/detail/review/page.tsx @@ -0,0 +1,6 @@ +import { Event_DetailReview } from "@/app_modules/event"; + + +export default async function Page() { + return ; +} diff --git a/src/app/dev/event/edit/layout.tsx b/src/app/dev/event/edit/layout.tsx new file mode 100644 index 00000000..2288974b --- /dev/null +++ b/src/app/dev/event/edit/layout.tsx @@ -0,0 +1,8 @@ +import { LayoutEvent_Edit } from "@/app_modules/event"; +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/event/edit/page.tsx b/src/app/dev/event/edit/page.tsx new file mode 100644 index 00000000..84b19245 --- /dev/null +++ b/src/app/dev/event/edit/page.tsx @@ -0,0 +1,7 @@ +import { Event_Edit } from "@/app_modules/event"; + +export default async function Page() { + return<> + + +} \ No newline at end of file diff --git a/src/app/dev/event/main/beranda/page.tsx b/src/app/dev/event/main/beranda/page.tsx new file mode 100644 index 00000000..bab8df15 --- /dev/null +++ b/src/app/dev/event/main/beranda/page.tsx @@ -0,0 +1,11 @@ +"use client"; + +import { Event_Beranda } from "@/app_modules/event"; + +export default function Page() { + return ( + <> + + + ); +} diff --git a/src/app/dev/event/main/kontribusi/page.tsx b/src/app/dev/event/main/kontribusi/page.tsx new file mode 100644 index 00000000..25008331 --- /dev/null +++ b/src/app/dev/event/main/kontribusi/page.tsx @@ -0,0 +1,8 @@ +import { Event_Kontribusi } from "@/app_modules/event"; + + +export default async function Page() { + return<> + + +} \ No newline at end of file diff --git a/src/app/dev/event/main/layout.tsx b/src/app/dev/event/main/layout.tsx new file mode 100644 index 00000000..f7a4ce5d --- /dev/null +++ b/src/app/dev/event/main/layout.tsx @@ -0,0 +1,8 @@ +import { LayoutEvent_Main } from "@/app_modules/event"; +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/event/main/status_page/page.tsx b/src/app/dev/event/main/status_page/page.tsx new file mode 100644 index 00000000..f840cfec --- /dev/null +++ b/src/app/dev/event/main/status_page/page.tsx @@ -0,0 +1,5 @@ +import { Event_StatusPage } from "@/app_modules/event"; + +export default async function Page() { + return +} \ No newline at end of file diff --git a/src/app/dev/event/splash/page.tsx b/src/app/dev/event/splash/page.tsx new file mode 100644 index 00000000..731f1110 --- /dev/null +++ b/src/app/dev/event/splash/page.tsx @@ -0,0 +1,5 @@ +import { Event_SplashScreen } from "@/app_modules/event"; + +export default async function Page() { + return ; +} diff --git a/src/app/lib/router_hipmi/router_event.ts b/src/app/lib/router_hipmi/router_event.ts new file mode 100644 index 00000000..6f1310e3 --- /dev/null +++ b/src/app/lib/router_hipmi/router_event.ts @@ -0,0 +1,27 @@ +export const RouterEvent = { + //main + splash: "/dev/event/splash", + beranda: "/dev/event/main/beranda", + kontribusi: "/dev/event/main/kontribusi", + + // status + status_page: "/dev/event/main/status_page", + status_publish: "/dev/event/main/status_page/publish", + status_review: "/dev/event/main/status_page/review", + status_draft: "/dev/event/main/status_page/draft", + status_reject: "/dev/event/main/status_page/reject", + + //create + create: "/dev/event/create", + + // edit + edit: "/dev/event/edit", + + // detail + detail_main: "/dev/event/detail/main", + detail_kontribusi: "/dev/event/detail/kontribusi", + detail_publish: "/dev/event/detail/publish", + detail_review: "/dev/event/detail/review", + detail_draft: "/dev/event/detail/draft", + detail_reject: "/dev/event/detail/reject", +}; diff --git a/src/app_modules/component_global/notif_global/notifikasi_berhasil.tsx b/src/app_modules/component_global/notif_global/notifikasi_berhasil.tsx index 6635a173..e60f1099 100644 --- a/src/app_modules/component_global/notif_global/notifikasi_berhasil.tsx +++ b/src/app_modules/component_global/notif_global/notifikasi_berhasil.tsx @@ -1,14 +1,23 @@ import { Center, Text } from "@mantine/core"; import { notifications } from "@mantine/notifications"; -import { IconAlertTriangle, IconChecklist, IconCircleCheck } from "@tabler/icons-react"; +import { + IconAlertTriangle, + IconChecklist, + IconCircleCheck, +} from "@tabler/icons-react"; /** - * + * * @param text | masukan text untuk peringatan * @type string - * @returns notifikasi peringatan + * @param durasi | durasi autoClose + * @type number + * @returns notifikasi berhasil warna hijau */ -export async function ComponentGlobal_NotifikasiBerhasil(text: string) { +export async function ComponentGlobal_NotifikasiBerhasil( + text: string, + durasi?: number +) { return notifications.show({ message: (
@@ -17,7 +26,7 @@ export async function ComponentGlobal_NotifikasiBerhasil(text: string) { ), color: "green", radius: "md", - autoClose: 1000, + autoClose: durasi ? durasi : 1000, icon: , withCloseButton: false, diff --git a/src/app_modules/event/component/detail_data.tsx b/src/app_modules/event/component/detail_data.tsx new file mode 100644 index 00000000..f9cbc042 --- /dev/null +++ b/src/app_modules/event/component/detail_data.tsx @@ -0,0 +1,48 @@ +"use client"; + +import { Stack, Title, Grid, Text, Paper } from "@mantine/core"; +import moment from "moment"; + +export default function ComponentEvent_DetailData() { + return ( + <> + + + Nama Event + + + Lokasi + + : + + Lokasi Acara + + + + + Tanggal + + : + {moment(Date.now()).format("ll")} + + + + Jam + + : + {moment(Date.now()).format("LT")} + + + Deskripsi + + Lorem ipsum dolor sit amet consectetur adipisicing elit. Harum + ipsum voluptate doloremque optio explicabo temporibus delectus + voluptatum similique tempora voluptatem. Exercitationem veritatis + tempora impedit ipsam, fugit vitae repellat sint fugiat + + + + + + ); +} diff --git a/src/app_modules/event/component/header_tamplate.tsx b/src/app_modules/event/component/header_tamplate.tsx new file mode 100644 index 00000000..51d8ac70 --- /dev/null +++ b/src/app_modules/event/component/header_tamplate.tsx @@ -0,0 +1,69 @@ +"use client"; + +import { Header, Group, ActionIcon, Text, Title } from "@mantine/core"; +import { IconArrowLeft, IconChevronLeft } from "@tabler/icons-react"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; + +export default function ComponentEvent_HeaderTamplate({ + hideBack, + changeIconBack, + route, + route2, + title, + icon, + bg, +}: { + hideBack?: boolean; + changeIconBack?: any + route?: any; + route2?: any; + title: string; + icon?: any; + bg?: any; +}) { + const router = useRouter(); + return ( + <> +
+ + {hideBack ? ( + + ) : ( + { + if (route === null || route === undefined) { + return router.back(); + } else { + return router.push(route); + } + }} + > + {changeIconBack ? changeIconBack: } + + )} + {title} + {(() => { + if (route2 === null || route2 === undefined) { + return ; + } else { + return ( + router.push(route2)} + > + {icon} + + ); + } + })()} + +
+ + ); +} diff --git a/src/app_modules/event/create/create.tsx b/src/app_modules/event/create/create.tsx new file mode 100644 index 00000000..3a476f34 --- /dev/null +++ b/src/app_modules/event/create/create.tsx @@ -0,0 +1,72 @@ +"use client"; + +import { RouterEvent } from "@/app/lib/router_hipmi/router_event"; +import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil"; +import { MODEL_USER } from "@/app_modules/home/model/interface"; +import { + AspectRatio, + Avatar, + Box, + Button, + Center, + FileButton, + Image, + MultiSelect, + Paper, + Stack, + TextInput, + Textarea, +} from "@mantine/core"; +import { DateTimePicker } from "@mantine/dates"; +import { TimeInput } from "@mantine/dates"; +import { IconCamera } from "@tabler/icons-react"; +import { useAtom } from "jotai"; +import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import { gs_event_status } from "../global_state"; + +export default function Event_Create({ listUser }: { listUser: MODEL_USER[] }) { + const router = useRouter(); + const [img, setImg] = useState(); + const [file, setFile] = useState(); + const [tabsStatus, setTabsStatus] = useAtom(gs_event_status); + + return ( + <> + + + + console.log(val)} + /> +