diff --git a/src/app/(application)/member/[id]/page.tsx b/src/app/(application)/member/[id]/page.tsx new file mode 100644 index 0000000..c05ea29 --- /dev/null +++ b/src/app/(application)/member/[id]/page.tsx @@ -0,0 +1,10 @@ +import { ViewDetailMember } from "@/module/user/member"; + +function Page({ params }: { params: { id: string } }) { + return ( + + ) +} + +export default Page; + diff --git a/src/app/(application)/member/create/page.tsx b/src/app/(application)/member/create/page.tsx new file mode 100644 index 0000000..1afa674 --- /dev/null +++ b/src/app/(application)/member/create/page.tsx @@ -0,0 +1,9 @@ +import { ViewCreateMember } from "@/module/user/member"; + +function Page() { + return ( + + ); +} + +export default Page; \ No newline at end of file diff --git a/src/app/(application)/member/page.tsx b/src/app/(application)/member/page.tsx new file mode 100644 index 0000000..8b49914 --- /dev/null +++ b/src/app/(application)/member/page.tsx @@ -0,0 +1,9 @@ +import { ViewListMember } from "@/module/user/member"; + +function Page() { + return ( + + ) +} + +export default Page; \ No newline at end of file diff --git a/src/module/home/view/view_detail_feature.tsx b/src/module/home/view/view_detail_feature.tsx index e8848be..71e4880 100644 --- a/src/module/home/view/view_detail_feature.tsx +++ b/src/module/home/view/view_detail_feature.tsx @@ -56,7 +56,7 @@ export default function ViewDetailFeature() { Proyek - + router.push('/announcement')}>
Pengumuman
- + router.push('/member')}>
+ } + placeholder="Pencarian" + /> + {dataMember.map((v, i) => { + return ( + { + router.push(`/member/${v.id}`) + }}> + + + + + + + + {v.name} + + + + ) + })} + + ); +} diff --git a/src/module/user/member/component/ui/drawer_list_member.tsx b/src/module/user/member/component/ui/drawer_list_member.tsx new file mode 100644 index 0000000..97948f9 --- /dev/null +++ b/src/module/user/member/component/ui/drawer_list_member.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 DrawerListMember() { + const openDrawer = useHookstate(isDrawer) + const router = useRouter() + + function onCLose() { + openDrawer.set(false) + } + return ( + + + + { + router.push('/member/create') + onCLose() + }} + > + + + + + Tambah Anggota + + + + + + + + + Filter + + + + + + ); +} diff --git a/src/module/user/member/component/ui/navbar_create_member.tsx b/src/module/user/member/component/ui/navbar_create_member.tsx new file mode 100644 index 0000000..cfff722 --- /dev/null +++ b/src/module/user/member/component/ui/navbar_create_member.tsx @@ -0,0 +1,23 @@ +'use client' +import { LayoutIconBack, LayoutNavbarHome } from '@/module/_global'; +import { Box, Grid, Text } from '@mantine/core'; +import React from 'react'; + +export default function NavbarCreateMember() { + return ( + + + + + + + + Tambah Anggota + + + + + + ); +} + diff --git a/src/module/user/member/component/ui/navbar_list_member.tsx b/src/module/user/member/component/ui/navbar_list_member.tsx new file mode 100644 index 0000000..a4955a9 --- /dev/null +++ b/src/module/user/member/component/ui/navbar_list_member.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 DrawerListMember from "./drawer_list_member"; + +export default function NavbarListMember() { + const openDrawer = useHookstate(isDrawer) + return ( + <> + + + + + + + ANGGOTA + + + + 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/user/member/index.ts b/src/module/user/member/index.ts index e69de29..64962ea 100644 --- a/src/module/user/member/index.ts +++ b/src/module/user/member/index.ts @@ -0,0 +1,7 @@ +import ViewCreateMember from "./view/view_create_member"; +import ViewDetailMember from "./view/view_detail_member"; +import ViewListMember from "./view/view_list_member"; + +export { ViewListMember } +export { ViewCreateMember } +export { ViewDetailMember } \ No newline at end of file diff --git a/src/module/user/member/view/view_create_member.tsx b/src/module/user/member/view/view_create_member.tsx new file mode 100644 index 0000000..efa9ccc --- /dev/null +++ b/src/module/user/member/view/view_create_member.tsx @@ -0,0 +1,77 @@ +import { Box, Button, Stack, TextInput } from "@mantine/core"; +import NavbarCreateMember from "../component/ui/navbar_create_member"; +import { WARNA } from "@/module/_global"; +import { HiUser } from "react-icons/hi2"; + +export default function ViewCreateMember() { + return ( + + + + + + + + + + + + + + + + ) +} \ No newline at end of file diff --git a/src/module/user/member/view/view_detail_member.tsx b/src/module/user/member/view/view_detail_member.tsx new file mode 100644 index 0000000..a282569 --- /dev/null +++ b/src/module/user/member/view/view_detail_member.tsx @@ -0,0 +1,55 @@ +import { LayoutNavbarHome, LayoutIconBack, WARNA } from "@/module/_global"; +import { ActionIcon, Box, Group, Stack, Text } from "@mantine/core"; +import { BsInfo } from "react-icons/bs"; +import { FaSquarePhone } from "react-icons/fa6"; +import { HiUser } from "react-icons/hi2"; +import { MdEmail } from "react-icons/md"; +import { RiIdCardFill } from "react-icons/ri"; + +export default function ViewDetailMember({ data }: { data: string }) { + return ( + + + + + + + + + + + Fibra Marcell + Kepala Urusan Pengembangan + + + + + + + NIK + + 513177782899 + + + + + NoTelepon + + +62038939293 + + + + + Email + + marcel@gmail.com + + + + + ) +} \ No newline at end of file diff --git a/src/module/user/member/view/view_list_member.tsx b/src/module/user/member/view/view_list_member.tsx new file mode 100644 index 0000000..4b1bb6b --- /dev/null +++ b/src/module/user/member/view/view_list_member.tsx @@ -0,0 +1,12 @@ +import { Box } from "@mantine/core"; +import NavbarListMember from "../component/ui/navbar_list_member"; +import ListMember from "../component/list_member"; + +export default function ViewListMember() { + return ( + + + + + ) +} \ No newline at end of file