From 0e36aca193b03a7ac134a385b29cee7eae6fbfe8 Mon Sep 17 00:00:00 2001 From: amel Date: Fri, 5 Jul 2024 14:59:58 +0800 Subject: [PATCH] upd: pengumuman Deskripsi: - tambah pengumuman - detail pengumuman - edit pengumuman No Issues --- .../(application)/announcement/[id]/page.tsx | 9 +++ .../announcement/edit/[id]/page.tsx | 9 +++ .../component/detail_announcement.tsx | 37 ++++++++++++ .../component/list_announcement.tsx | 9 ++- .../ui/drawer_detail_announcement.tsx | 45 ++++++++++++++ .../ui/navbar_detail_announcement.tsx | 34 +++++++++++ .../component/ui/navbar_edit_announcement.tsx | 21 +++++++ src/module/announcement/index.ts | 6 +- .../view/view_detail_anouncement.tsx | 12 ++++ .../view/view_edit_announcement.tsx | 60 +++++++++++++++++++ 10 files changed, 239 insertions(+), 3 deletions(-) create mode 100644 src/app/(application)/announcement/[id]/page.tsx create mode 100644 src/app/(application)/announcement/edit/[id]/page.tsx create mode 100644 src/module/announcement/component/detail_announcement.tsx create mode 100644 src/module/announcement/component/ui/drawer_detail_announcement.tsx create mode 100644 src/module/announcement/component/ui/navbar_detail_announcement.tsx create mode 100644 src/module/announcement/component/ui/navbar_edit_announcement.tsx create mode 100644 src/module/announcement/view/view_detail_anouncement.tsx create mode 100644 src/module/announcement/view/view_edit_announcement.tsx diff --git a/src/app/(application)/announcement/[id]/page.tsx b/src/app/(application)/announcement/[id]/page.tsx new file mode 100644 index 0000000..872826e --- /dev/null +++ b/src/app/(application)/announcement/[id]/page.tsx @@ -0,0 +1,9 @@ +import { ViewDetailAnnouncement } from "@/module/announcement"; + +function Page({ params }: { params: { id: string } }) { + return ( + + ) +} + +export default Page; \ No newline at end of file diff --git a/src/app/(application)/announcement/edit/[id]/page.tsx b/src/app/(application)/announcement/edit/[id]/page.tsx new file mode 100644 index 0000000..b9f348b --- /dev/null +++ b/src/app/(application)/announcement/edit/[id]/page.tsx @@ -0,0 +1,9 @@ +import { ViewEditAnnouncement } from "@/module/announcement"; + +function Page({ params }: { params: { id: any } }) { + return ( + + ) +} + +export default Page; \ No newline at end of file diff --git a/src/module/announcement/component/detail_announcement.tsx b/src/module/announcement/component/detail_announcement.tsx new file mode 100644 index 0000000..47b74ea --- /dev/null +++ b/src/module/announcement/component/detail_announcement.tsx @@ -0,0 +1,37 @@ +import { Box, Group, Stack, Text } from "@mantine/core"; +import { BsCardText } from "react-icons/bs"; +import { TfiAnnouncement } from "react-icons/tfi"; + +export default function DetailAnnouncement() { + return ( + + + + + + Pengumuman Dinas + + + + Pengumuman agar menggunakan + + + + + + Anggota + + LPD + + + PKK + + + Karang Taruna + + + + + + ) +} \ No newline at end of file diff --git a/src/module/announcement/component/list_announcement.tsx b/src/module/announcement/component/list_announcement.tsx index 89a3dc6..c1317a6 100644 --- a/src/module/announcement/component/list_announcement.tsx +++ b/src/module/announcement/component/list_announcement.tsx @@ -1,8 +1,10 @@ +'use client' import { isDrawer, LayoutDrawer, WARNA } from '@/module/_global'; -import { ActionIcon, Box, Group, Text, TextInput } from '@mantine/core'; +import { ActionIcon, Anchor, Box, Group, Text, TextInput } from '@mantine/core'; import React from 'react'; import { TfiAnnouncement } from "react-icons/tfi"; import { HiMagnifyingGlass } from 'react-icons/hi2'; +import { useRouter } from 'next/navigation'; const dataPengumuman = [ { @@ -48,6 +50,7 @@ const dataPengumuman = [ ] export default function ListAnnouncement() { + const router = useRouter() return ( {dataPengumuman.map((v, i) => { return ( - + { + router.push(`/announcement/${v.id}`) + }}> + + + + + + + + Hapus + + + + { + router.push('edit/123') + onCLose() + }}> + + + + + Edit + + + + + + ); +} diff --git a/src/module/announcement/component/ui/navbar_detail_announcement.tsx b/src/module/announcement/component/ui/navbar_detail_announcement.tsx new file mode 100644 index 0000000..a2584ae --- /dev/null +++ b/src/module/announcement/component/ui/navbar_detail_announcement.tsx @@ -0,0 +1,34 @@ +'use client' +import { isDrawer, LayoutDrawer, LayoutIconBack, LayoutNavbarHome, WARNA } from "@/module/_global"; +import { useHookstate } from "@hookstate/core"; +import { ActionIcon, Box, Grid, Group, Text } from "@mantine/core"; +import { HiMenu } from "react-icons/hi"; +import DrawerDetailAnnouncement from "./drawer_detail_announcement"; + +export default function NavbarDetailAnnouncement() { + const openDrawer = useHookstate(isDrawer) + return ( + + + + + + + + PENGUMUMAN + + + + openDrawer.set(true)} variant="light" bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> + + + + + + + openDrawer.set(false)}> + + + + ) +} \ No newline at end of file diff --git a/src/module/announcement/component/ui/navbar_edit_announcement.tsx b/src/module/announcement/component/ui/navbar_edit_announcement.tsx new file mode 100644 index 0000000..3add416 --- /dev/null +++ b/src/module/announcement/component/ui/navbar_edit_announcement.tsx @@ -0,0 +1,21 @@ +'use client' +import { LayoutIconBack, LayoutNavbarHome } from "@/module/_global"; +import { Box, Grid, Text } from "@mantine/core"; + +export default function NavbarEditAnnouncement() { + return ( + + + + + + + + Edit Pengumuman + + + + + + ) +} \ No newline at end of file diff --git a/src/module/announcement/index.ts b/src/module/announcement/index.ts index 632be5b..297f4d5 100644 --- a/src/module/announcement/index.ts +++ b/src/module/announcement/index.ts @@ -1,5 +1,9 @@ import ViewCreateAnnouncement from "./view/view_create_announcement"; +import ViewDetailAnnouncement from "./view/view_detail_anouncement"; +import ViewEditAnnouncement from "./view/view_edit_announcement"; import ViewListAnnouncement from "./view/view_list_announcement"; export { ViewListAnnouncement } -export { ViewCreateAnnouncement } \ No newline at end of file +export { ViewCreateAnnouncement } +export { ViewDetailAnnouncement } +export { ViewEditAnnouncement } \ No newline at end of file diff --git a/src/module/announcement/view/view_detail_anouncement.tsx b/src/module/announcement/view/view_detail_anouncement.tsx new file mode 100644 index 0000000..885049b --- /dev/null +++ b/src/module/announcement/view/view_detail_anouncement.tsx @@ -0,0 +1,12 @@ +import { Box } from "@mantine/core"; +import DetailAnnouncement from "../component/detail_announcement"; +import NavbarDetailAnnouncement from "../component/ui/navbar_detail_announcement"; + +export default function ViewDetailAnnouncement({ data }: { data: string }) { + return ( + + + + + ) +} \ No newline at end of file diff --git a/src/module/announcement/view/view_edit_announcement.tsx b/src/module/announcement/view/view_edit_announcement.tsx new file mode 100644 index 0000000..4b2bb39 --- /dev/null +++ b/src/module/announcement/view/view_edit_announcement.tsx @@ -0,0 +1,60 @@ +import { Box, Button, Stack, Textarea, TextInput } from "@mantine/core"; +import NavbarEditAnnouncement from "../component/ui/navbar_edit_announcement"; +import { WARNA } from "@/module/_global"; +import { HiOutlineChevronRight } from "react-icons/hi2"; + +export default function ViewEditAnnouncement({ data }: { data: string }) { + return ( + + + + +