From 01f5f328181604528fd673b62a24db1c792b5c59 Mon Sep 17 00:00:00 2001 From: nico Date: Thu, 16 Jan 2025 17:42:36 +0800 Subject: [PATCH] Progress Admin --- .../admin/event/detail/publish/[id]/page.tsx | 11 ++ .../detail/sponsor/edit_sponsor/layout.tsx | 14 +++ .../detail/sponsor/edit_sponsor/page.tsx | 12 ++ .../detail/sponsor/tambah_sponsor/page.tsx | 3 +- .../lib/router_admin/router_admin_event.ts | 2 + src/app/lib/router_hipmi/router_event.ts | 1 + src/app_modules/_global/ui/ui_drawer.tsx | 2 +- .../_global/ui/ui_drawer_custom.tsx | 2 +- .../admin/event/_lib/global_state.ts | 5 + .../event/table_status/detail_publish.tsx | 51 ++++++++ .../event/table_status/table_publish.tsx | 3 +- .../event/detail/detail_sponsor/layout.tsx | 82 +++++++++---- .../detail/sponsor/edit_sponsor/index.tsx | 109 ++++++++++++++++++ .../detail/sponsor/edit_sponsor/layout.tsx | 14 +++ .../detail/sponsor/tambah_sponsor/index.tsx | 14 --- 15 files changed, 285 insertions(+), 40 deletions(-) create mode 100644 src/app/dev/admin/event/detail/publish/[id]/page.tsx create mode 100644 src/app/dev/event/detail/sponsor/edit_sponsor/layout.tsx create mode 100644 src/app/dev/event/detail/sponsor/edit_sponsor/page.tsx create mode 100644 src/app_modules/admin/event/_lib/global_state.ts create mode 100644 src/app_modules/admin/event/table_status/detail_publish.tsx create mode 100644 src/app_modules/event/detail/sponsor/edit_sponsor/index.tsx create mode 100644 src/app_modules/event/detail/sponsor/edit_sponsor/layout.tsx delete mode 100644 src/app_modules/event/detail/sponsor/tambah_sponsor/index.tsx diff --git a/src/app/dev/admin/event/detail/publish/[id]/page.tsx b/src/app/dev/admin/event/detail/publish/[id]/page.tsx new file mode 100644 index 00000000..70c5c9ea --- /dev/null +++ b/src/app/dev/admin/event/detail/publish/[id]/page.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function Page() { + return ( + <> + Page + + ); +} + +export default Page; diff --git a/src/app/dev/event/detail/sponsor/edit_sponsor/layout.tsx b/src/app/dev/event/detail/sponsor/edit_sponsor/layout.tsx new file mode 100644 index 00000000..ed430688 --- /dev/null +++ b/src/app/dev/event/detail/sponsor/edit_sponsor/layout.tsx @@ -0,0 +1,14 @@ +import Event_LayoutEditSponsor from '@/app_modules/event/detail/sponsor/edit_sponsor/layout'; +import React from 'react'; + +function Layout({ children }: { children: React.ReactNode }) { + return ( + <> + + {children} + + + ); +} + +export default Layout; diff --git a/src/app/dev/event/detail/sponsor/edit_sponsor/page.tsx b/src/app/dev/event/detail/sponsor/edit_sponsor/page.tsx new file mode 100644 index 00000000..4b3e2fb9 --- /dev/null +++ b/src/app/dev/event/detail/sponsor/edit_sponsor/page.tsx @@ -0,0 +1,12 @@ +import Event_EditSponsor from '@/app_modules/event/detail/sponsor/edit_sponsor'; +import React from 'react'; + +function Page() { + return ( + <> + + + ); +} + +export default Page; diff --git a/src/app/dev/event/detail/sponsor/tambah_sponsor/page.tsx b/src/app/dev/event/detail/sponsor/tambah_sponsor/page.tsx index 176d527c..f47e4cd3 100644 --- a/src/app/dev/event/detail/sponsor/tambah_sponsor/page.tsx +++ b/src/app/dev/event/detail/sponsor/tambah_sponsor/page.tsx @@ -1,5 +1,4 @@ - -import Event_TambahSponsor from '@/app_modules/event/detail/sponsor/tambah_sponsor'; +import Event_TambahSponsor from '@/app_modules/event/detail/tambah_sponsor'; import React from 'react'; function Page() { diff --git a/src/app/lib/router_admin/router_admin_event.ts b/src/app/lib/router_admin/router_admin_event.ts index 1fa83338..3ee39f79 100644 --- a/src/app/lib/router_admin/router_admin_event.ts +++ b/src/app/lib/router_admin/router_admin_event.ts @@ -3,6 +3,7 @@ export const RouterAdminEvent = { // detail detail_peserta: "/dev/admin/event/detail/peserta/", + detail_publish: "/dev/admin/event/detail/publish/", // child detail_tipe_acara: "/dev/admin/event/child/tipe_acara", @@ -12,4 +13,5 @@ export const RouterAdminEvent = { table_review: "/dev/admin/event/table/review", table_publish: "/dev/admin/event/table/publish", table_reject: "/dev/admin/event/table/reject", + }; diff --git a/src/app/lib/router_hipmi/router_event.ts b/src/app/lib/router_hipmi/router_event.ts index 07c56d25..12baa87e 100644 --- a/src/app/lib/router_hipmi/router_event.ts +++ b/src/app/lib/router_hipmi/router_event.ts @@ -40,6 +40,7 @@ export const RouterEvent = { //sponsor daftar_sponsor: ({ id }: { id: string }) => `/dev/event/detail/sponsor/${id}`, + edit_sponsor: "/dev/event/detail/sponsor/edit_sponsor/", tambah_sponsor: "/dev/event/detail/sponsor/tambah_sponsor/", detail_sponsor: ({ id }: { id: string }) => `/dev/event/detail/detail_sponsor/${id}`, diff --git a/src/app_modules/_global/ui/ui_drawer.tsx b/src/app_modules/_global/ui/ui_drawer.tsx index fad1cd9d..6129be67 100644 --- a/src/app_modules/_global/ui/ui_drawer.tsx +++ b/src/app_modules/_global/ui/ui_drawer.tsx @@ -77,7 +77,7 @@ export default function UIGlobal_Drawer({ {component.map((e, i) => ( - { setPageId(e?.id); setIsLoading(true); diff --git a/src/app_modules/_global/ui/ui_drawer_custom.tsx b/src/app_modules/_global/ui/ui_drawer_custom.tsx index 034670b2..059ae4bd 100644 --- a/src/app_modules/_global/ui/ui_drawer_custom.tsx +++ b/src/app_modules/_global/ui/ui_drawer_custom.tsx @@ -25,7 +25,7 @@ export default function UIGlobal_DrawerCustom({ }: { opened: boolean; close: () => void; - component: React.ReactNode; + component: React.ReactNode; }) { return ( <> diff --git a/src/app_modules/admin/event/_lib/global_state.ts b/src/app_modules/admin/event/_lib/global_state.ts new file mode 100644 index 00000000..c601a664 --- /dev/null +++ b/src/app_modules/admin/event/_lib/global_state.ts @@ -0,0 +1,5 @@ +import { atomWithStorage } from "jotai/utils"; + +const gs_admin_event_menu_publish = atomWithStorage("gs_admin_event_menu_publish", "1") + +export { gs_admin_event_menu_publish } \ No newline at end of file diff --git a/src/app_modules/admin/event/table_status/detail_publish.tsx b/src/app_modules/admin/event/table_status/detail_publish.tsx new file mode 100644 index 00000000..e934a741 --- /dev/null +++ b/src/app_modules/admin/event/table_status/detail_publish.tsx @@ -0,0 +1,51 @@ +import { useAtom } from 'jotai'; +import React from 'react'; +import { gs_admin_event_menu_publish } from '../_lib/global_state'; +import { IconCircleCheck } from '@tabler/icons-react'; +import { Button, Group, Stack } from '@mantine/core'; +import AdminGlobal_ComponentBackButton from '../../_admin_global/back_button'; + +function AdminEvent_DetailPublish() { + const [selectPage, setSelectPage] = useAtom(gs_admin_event_menu_publish); + const listPage = [ + { + id: "1", + name: "Detail Event", + icon: , + }, + { + id: "2", + name: "Daftar Peserta", + icon: , + }, + { + id: "3", + name: "Daftar Sponsor" + } + ] + return ( + <> + + + + + {listPage.map((e) => ( + + + ))} + + + + ); +} + +export default AdminEvent_DetailPublish; diff --git a/src/app_modules/admin/event/table_status/table_publish.tsx b/src/app_modules/admin/event/table_status/table_publish.tsx index 1553c712..082bbaec 100644 --- a/src/app_modules/admin/event/table_status/table_publish.tsx +++ b/src/app_modules/admin/event/table_status/table_publish.tsx @@ -202,7 +202,6 @@ function TableStatus({ listPublish }: { listPublish: any }) { e.id === eventId ? (loading === true ? true : false) : false } color={"green"} - leftIcon={} radius={"xl"} onClick={async () => { setEventId(e.id); @@ -210,7 +209,7 @@ function TableStatus({ listPublish }: { listPublish: any }) { router.push(RouterAdminEvent.detail_peserta + e.id); }} > - Lihat Peserta + Detail diff --git a/src/app_modules/event/detail/detail_sponsor/layout.tsx b/src/app_modules/event/detail/detail_sponsor/layout.tsx index ebdb5751..627b2c44 100644 --- a/src/app_modules/event/detail/detail_sponsor/layout.tsx +++ b/src/app_modules/event/detail/detail_sponsor/layout.tsx @@ -1,12 +1,14 @@ 'use client'; -import { RouterEvent } from '@/app/lib/router_hipmi/router_event'; -import { UIGlobal_Drawer, UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate } from '@/app_modules/_global/ui'; -import { ActionIcon } from '@mantine/core'; +import { AccentColor, MainColor } from '@/app_modules/_global/color'; +import { UIGlobal_DrawerCustom, UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate, UIGlobal_Modal } from '@/app_modules/_global/ui'; +import { ActionIcon, Box, Button, Center, Flex, Stack, Text } from '@mantine/core'; import { IconDotsVertical, IconEdit, IconTrash } from '@tabler/icons-react'; import React, { useState } from 'react'; function LayoutEvent_DetailSponsor({ children }: { children: React.ReactNode }) { const [openDrawer, setOpenDrawer] = useState(false); + const [openModal, setOpenModal] = useState(false); + const [isLoading, setLoading] = useState(false); return ( <> setOpenDrawer(true)}> } />}> - {children} + {children} - setOpenDrawer(false)} - component={[ - { - id: 1, - name: 'Edit Sponsor', - icon: , - path: RouterEvent.tambah_sponsor, - }, - { - id: 2, - name: 'Hapus Sponsor', - icon: , - - } - ]} + component={ + + + + + + + + + Edit + + + +
+ setOpenModal(true)} + > + + + +
+ + Hapus + +
+
+
+ } + /> + setOpenModal(false)} + buttonKiri={ + + } + buttonKanan={ + + } /> - ); } diff --git a/src/app_modules/event/detail/sponsor/edit_sponsor/index.tsx b/src/app_modules/event/detail/sponsor/edit_sponsor/index.tsx new file mode 100644 index 00000000..28dea62c --- /dev/null +++ b/src/app_modules/event/detail/sponsor/edit_sponsor/index.tsx @@ -0,0 +1,109 @@ +'use client' +import { MainColor } from '@/app_modules/_global/color'; +import { ComponentGlobal_BoxInformation, ComponentGlobal_BoxUploadImage } from '@/app_modules/_global/component'; +import { Box, Stack, Loader, AspectRatio, Image, Group, Button, TextInput, Title } from '@mantine/core'; +import { IconCamera, IconPhoto } from '@tabler/icons-react'; +import { useRouter } from 'next/navigation'; +import React, { useState } from 'react'; + +function Event_EditSponsor() { + const router = useRouter(); + const [img, setImg] = useState(null); + const [isLoadingImg, setIsLoadingImg] = useState(false); + return ( + <> + + + + + + + {isLoadingImg ? ( + + + + ) : img ? ( + + Foto + + + ) : ( + + + + )} + + + + + + + Sosial Media + + + + + + + + ); +} + +export default Event_EditSponsor; diff --git a/src/app_modules/event/detail/sponsor/edit_sponsor/layout.tsx b/src/app_modules/event/detail/sponsor/edit_sponsor/layout.tsx new file mode 100644 index 00000000..02510471 --- /dev/null +++ b/src/app_modules/event/detail/sponsor/edit_sponsor/layout.tsx @@ -0,0 +1,14 @@ +import { UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate } from '@/app_modules/_global/ui'; +import React from 'react'; + +function Event_LayoutEditSponsor({children} : {children: React.ReactNode}) { + return ( + <> + }> + {children} + + + ); +} + +export default Event_LayoutEditSponsor; diff --git a/src/app_modules/event/detail/sponsor/tambah_sponsor/index.tsx b/src/app_modules/event/detail/sponsor/tambah_sponsor/index.tsx deleted file mode 100644 index 22e2e170..00000000 --- a/src/app_modules/event/detail/sponsor/tambah_sponsor/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ - -import Event_CreateSponsor from '@/app_modules/event/component/detail/create_sponsor'; -import React from 'react'; - - -function Event_TambahSponsor() { - return ( - <> - - - ); -} - -export default Event_TambahSponsor;