From ea9f0be5ea8fd2d01dea45af4ffd9be89f958ea5 Mon Sep 17 00:00:00 2001 From: amel Date: Fri, 5 Jul 2024 11:42:50 +0800 Subject: [PATCH 1/2] upd: pengumuman Deskripsi : - list pengumuman - tambah pengumuman - routing list dan tambah pengumuman - drawer list pengumuman No Issues --- .../announcement/create/page.tsx | 9 ++ src/app/(application)/announcement/page.tsx | 9 ++ .../component/list_announcement.tsx | 87 +++++++++++++++++++ .../component/ui/drawer_announcement.tsx | 48 ++++++++++ .../component/ui/navbar_announcement.tsx | 37 ++++++++ .../ui/navbar_create_announcement.tsx | 21 +++++ src/module/announcement/index.ts | 5 ++ .../view/view_create_announcement.tsx | 60 +++++++++++++ .../view/view_list_announcement.tsx | 12 +++ src/module/home/components/features.tsx | 2 +- 10 files changed, 289 insertions(+), 1 deletion(-) create mode 100644 src/app/(application)/announcement/create/page.tsx create mode 100644 src/app/(application)/announcement/page.tsx create mode 100644 src/module/announcement/component/list_announcement.tsx create mode 100644 src/module/announcement/component/ui/drawer_announcement.tsx create mode 100644 src/module/announcement/component/ui/navbar_announcement.tsx create mode 100644 src/module/announcement/component/ui/navbar_create_announcement.tsx create mode 100644 src/module/announcement/view/view_create_announcement.tsx create mode 100644 src/module/announcement/view/view_list_announcement.tsx diff --git a/src/app/(application)/announcement/create/page.tsx b/src/app/(application)/announcement/create/page.tsx new file mode 100644 index 0000000..c4f77f1 --- /dev/null +++ b/src/app/(application)/announcement/create/page.tsx @@ -0,0 +1,9 @@ +import { ViewCreateAnnouncement } from "@/module/announcement"; + +function Page() { + return ( + + ) +} + +export default Page; \ No newline at end of file diff --git a/src/app/(application)/announcement/page.tsx b/src/app/(application)/announcement/page.tsx new file mode 100644 index 0000000..4551abb --- /dev/null +++ b/src/app/(application)/announcement/page.tsx @@ -0,0 +1,9 @@ +import { ViewListAnnouncement } from "@/module/announcement"; + +function Page() { + return ( + + ) +} + +export default Page; \ No newline at end of file diff --git a/src/module/announcement/component/list_announcement.tsx b/src/module/announcement/component/list_announcement.tsx new file mode 100644 index 0000000..89a3dc6 --- /dev/null +++ b/src/module/announcement/component/list_announcement.tsx @@ -0,0 +1,87 @@ +import { isDrawer, LayoutDrawer, WARNA } from '@/module/_global'; +import { ActionIcon, Box, Group, Text, TextInput } from '@mantine/core'; +import React from 'react'; +import { TfiAnnouncement } from "react-icons/tfi"; +import { HiMagnifyingGlass } from 'react-icons/hi2'; + +const dataPengumuman = [ + { + id: 1, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 2, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 3, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 4, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 5, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 6, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 7, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, + { + id: 8, + name: 'Lembaga Pengkreditan Desa', + desc: 'Diharapkan semua untuk melakukan upacara ben...' + }, +] + +export default function ListAnnouncement() { + return ( + + } + placeholder="Pencarian" + /> + {dataPengumuman.map((v, i) => { + return ( + + + + + + + + + {v.name} + + + + ) + })} + + ); +} diff --git a/src/module/announcement/component/ui/drawer_announcement.tsx b/src/module/announcement/component/ui/drawer_announcement.tsx new file mode 100644 index 0000000..7eccd40 --- /dev/null +++ b/src/module/announcement/component/ui/drawer_announcement.tsx @@ -0,0 +1,48 @@ +import { isDrawer, LayoutDrawer, WARNA } from '@/module/_global'; +import { useHookstate } from '@hookstate/core'; +import { Box, Button, Center, Flex, Group, SimpleGrid, Stack, Text, TextInput } from '@mantine/core'; +import { useRouter } from 'next/navigation'; +import React, { useState } from 'react'; +import { IoAddCircle } from "react-icons/io5"; +import { RiFilter2Line } from "react-icons/ri"; + +export default function DrawerAnnouncement() { + const openDrawer = useHookstate(isDrawer) + const router = useRouter() + + function onCLose() { + openDrawer.set(false) + } + return ( + + + + { + router.push('/announcement/create') + onCLose() + }} + > + + + + + Tambah Pengumuman + + + + + + + + + Filter + + + + + + ); +} diff --git a/src/module/announcement/component/ui/navbar_announcement.tsx b/src/module/announcement/component/ui/navbar_announcement.tsx new file mode 100644 index 0000000..782be67 --- /dev/null +++ b/src/module/announcement/component/ui/navbar_announcement.tsx @@ -0,0 +1,37 @@ +"use client" +import { isDrawer, LayoutDrawer, LayoutIconBack, LayoutNavbarHome, WARNA } from '@/module/_global'; +import { ActionIcon, Box, Drawer, Grid, Group, Text } from '@mantine/core'; +import { useRouter } from 'next/navigation'; +import React from 'react'; +import { HiMenu } from "react-icons/hi"; +import { useHookstate } from '@hookstate/core'; +import DrawerAnnouncement from './drawer_announcement'; + +export default function NavbarAnnouncement() { + const openDrawer = useHookstate(isDrawer) + return ( + <> + + + + + + + PENGUMUMAN + + + + openDrawer.set(true)} variant="light" bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> + + + + + + + openDrawer.set(false)}> + + + + ); +} + diff --git a/src/module/announcement/component/ui/navbar_create_announcement.tsx b/src/module/announcement/component/ui/navbar_create_announcement.tsx new file mode 100644 index 0000000..cb25c3e --- /dev/null +++ b/src/module/announcement/component/ui/navbar_create_announcement.tsx @@ -0,0 +1,21 @@ +'use client' +import { LayoutIconBack, LayoutNavbarHome } from "@/module/_global"; +import { Box, Grid, Text } from "@mantine/core"; + +export default function NavbarCreateAnnouncement() { + return ( + + + + + + + + Tambah Pengumuman + + + + + + ) +} \ No newline at end of file diff --git a/src/module/announcement/index.ts b/src/module/announcement/index.ts index e69de29..632be5b 100644 --- a/src/module/announcement/index.ts +++ b/src/module/announcement/index.ts @@ -0,0 +1,5 @@ +import ViewCreateAnnouncement from "./view/view_create_announcement"; +import ViewListAnnouncement from "./view/view_list_announcement"; + +export { ViewListAnnouncement } +export { ViewCreateAnnouncement } \ No newline at end of file diff --git a/src/module/announcement/view/view_create_announcement.tsx b/src/module/announcement/view/view_create_announcement.tsx new file mode 100644 index 0000000..4774ad5 --- /dev/null +++ b/src/module/announcement/view/view_create_announcement.tsx @@ -0,0 +1,60 @@ +import { WARNA } from "@/module/_global"; +import { Box, Stack, TextInput, Button, Textarea } from "@mantine/core"; +import { HiOutlineChevronRight, HiUser } from "react-icons/hi2"; +import NavbarCreateAnnouncement from "../component/ui/navbar_create_announcement"; + +export default function ViewCreateAnnouncement() { + return ( + + + + +