From 6c503d01e30a50278999fab49e66204e9b0cf95d Mon Sep 17 00:00:00 2001 From: amel Date: Thu, 11 Jul 2024 15:56:19 +0800 Subject: [PATCH] update : task divisi Deskripsi: - list divisi tab - grid dan list No Issues --- .../(detail-division)/task/[id]/page.tsx | 7 + .../(detail-division)/task/page.tsx | 5 +- .../task/component/drawer_division_task.tsx | 24 +++ .../task/component/list_division_task.tsx | 169 ++++++++++++++++++ .../task/component/navbar_division_task.tsx | 24 +++ .../task/component/tabs_division_task.tsx | 52 ++++++ .../task/view/view_division_task.tsx | 14 ++ src/module/division_new/index.ts | 4 +- 8 files changed, 295 insertions(+), 4 deletions(-) create mode 100644 src/app/(application)/(detail-division)/task/[id]/page.tsx create mode 100644 src/module/division_new/_division_fitur/task/component/drawer_division_task.tsx create mode 100644 src/module/division_new/_division_fitur/task/component/list_division_task.tsx create mode 100644 src/module/division_new/_division_fitur/task/component/navbar_division_task.tsx create mode 100644 src/module/division_new/_division_fitur/task/component/tabs_division_task.tsx create mode 100644 src/module/division_new/_division_fitur/task/view/view_division_task.tsx diff --git a/src/app/(application)/(detail-division)/task/[id]/page.tsx b/src/app/(application)/(detail-division)/task/[id]/page.tsx new file mode 100644 index 0000000..61ff79a --- /dev/null +++ b/src/app/(application)/(detail-division)/task/[id]/page.tsx @@ -0,0 +1,7 @@ +function Page() { + return ( + <>Detail task + ) +} + +export default Page diff --git a/src/app/(application)/(detail-division)/task/page.tsx b/src/app/(application)/(detail-division)/task/page.tsx index 69da2f2..f37ddba 100644 --- a/src/app/(application)/(detail-division)/task/page.tsx +++ b/src/app/(application)/(detail-division)/task/page.tsx @@ -1,10 +1,9 @@ +import { ViewDivisionTask } from '@/module/division_new'; import React from 'react'; function Page() { return ( -
- Page -
+ ); } diff --git a/src/module/division_new/_division_fitur/task/component/drawer_division_task.tsx b/src/module/division_new/_division_fitur/task/component/drawer_division_task.tsx new file mode 100644 index 0000000..e9037da --- /dev/null +++ b/src/module/division_new/_division_fitur/task/component/drawer_division_task.tsx @@ -0,0 +1,24 @@ +import { WARNA } from "@/module/_global"; +import { Box, Stack, SimpleGrid, Flex, Text } from "@mantine/core"; +import { IoAddCircle } from "react-icons/io5"; + +export default function DrawerDivisionTask() { + return ( + + + + window.location.href = "/task/create"} justify={'center'} align={'center'} direction={'column'} > + + + + + Tambah Tugas + + + + + + ) +} \ No newline at end of file diff --git a/src/module/division_new/_division_fitur/task/component/list_division_task.tsx b/src/module/division_new/_division_fitur/task/component/list_division_task.tsx new file mode 100644 index 0000000..b6b7595 --- /dev/null +++ b/src/module/division_new/_division_fitur/task/component/list_division_task.tsx @@ -0,0 +1,169 @@ +import { WARNA } from "@/module/_global"; +import { ActionIcon, Avatar, Badge, Box, Card, Center, Divider, Flex, Grid, Group, Progress, Text, TextInput, Title } from "@mantine/core"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import { HiMagnifyingGlass, HiMiniPresentationChartBar, HiOutlineListBullet, HiSquares2X2 } from "react-icons/hi2"; +import { MdAccountCircle } from "react-icons/md"; + + +const dataProject = [ + { + id: 1, + title: 'Project 1', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROJECT SELESAI', + color: '#387529' + }, + { + id: 2, + title: 'Project 2', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROJECT SELESAI', + color: '#387529' + }, + { + id: 3, + title: 'Project 3', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROJECT SELESAI', + color: '#387529' + }, + { + id: 4, + title: 'Project 4', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROSES', + color: '#C5771A' + }, + { + id: 5, + title: 'Project5', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROSES', + color: '#C5771A' + }, + { + id: 6, + title: 'Project 6', + description: 'Tempat berkumpul semua anggota / staff perbekal darmasaba', + status: 'PROSES', + color: '#C5771A' + }, +] + +export default function ListDivisionTask({ status }: { status: string }) { + const [isList, setIsList] = useState(false) + const router = useRouter() + + const handleList = () => { + setIsList(!isList) + } + + return ( + + + + } + placeholder="Pencarian" + /> + + + + {isList ? ( + + ) : ( + + )} + + + + + + Total Proyek + + 35 + + + {isList ? ( + + {dataProject.map((v, i) => { + return ( + + router.push(`/task/${v.id}`)}> + +
+ + + +
+ {v.title} +
+ {/* + + */} +
+ +
+ ); + })} +
+ ) : ( + + {dataProject.map((v, i) => { + return ( + + router.push(`/task/${v.id}`)}> + + + + {v.title} + + + + + + + {(status == 'segera') ? 0 : (status == 'dikerjakan') ? 42 : (status == 'selesai') ? 100 : 0}% + + + {v.description} + + {status} + + + + + +5 + + + + + + ); + })} + + )} +
+
+ ) +} \ No newline at end of file diff --git a/src/module/division_new/_division_fitur/task/component/navbar_division_task.tsx b/src/module/division_new/_division_fitur/task/component/navbar_division_task.tsx new file mode 100644 index 0000000..1892491 --- /dev/null +++ b/src/module/division_new/_division_fitur/task/component/navbar_division_task.tsx @@ -0,0 +1,24 @@ +'use client' +import { LayoutDrawer, LayoutNavbarNew, WARNA } from "@/module/_global"; +import { ActionIcon } from "@mantine/core"; +import { useState } from "react"; +import { HiMenu } from "react-icons/hi"; +import DrawerDivisionTask from "./drawer_division_task"; + +export default function NavbarDivisionTask() { + const [openDrawer, setOpenDrawer] = useState(false) + return ( + <> + setOpenDrawer(true)} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> + + + } + /> + setOpenDrawer(false)}> + + + + ) +} \ No newline at end of file diff --git a/src/module/division_new/_division_fitur/task/component/tabs_division_task.tsx b/src/module/division_new/_division_fitur/task/component/tabs_division_task.tsx new file mode 100644 index 0000000..8502272 --- /dev/null +++ b/src/module/division_new/_division_fitur/task/component/tabs_division_task.tsx @@ -0,0 +1,52 @@ +'use client' +import { Box, rem, Tabs } from "@mantine/core"; +import { IoIosCheckmarkCircleOutline } from "react-icons/io"; +import { IoCloseCircleOutline } from "react-icons/io5"; +import { RiProgress3Line } from "react-icons/ri"; +import { TbClockPause } from "react-icons/tb"; +import ListDivisionTask from "./list_division_task"; + +export default function TabsDivisionTask() { + const iconStyle = { width: rem(20), height: rem(20) }; + + return ( + + + + }> + Segera + + }> + Dikerjakan + + }> + Selesai + + }> + Batal + + + + + + + + + + + + + + + + + + + + + ) +} \ No newline at end of file diff --git a/src/module/division_new/_division_fitur/task/view/view_division_task.tsx b/src/module/division_new/_division_fitur/task/view/view_division_task.tsx new file mode 100644 index 0000000..436ffbe --- /dev/null +++ b/src/module/division_new/_division_fitur/task/view/view_division_task.tsx @@ -0,0 +1,14 @@ +'use client' +import NavbarDivisionTask from "../component/navbar_division_task"; +import TabsDivisionTask from "../component/tabs_division_task"; + +export default function ViewDivisionTask() { + + + return ( +
+ + +
+ ); +} \ No newline at end of file diff --git a/src/module/division_new/index.ts b/src/module/division_new/index.ts index 36178f2..a187653 100644 --- a/src/module/division_new/index.ts +++ b/src/module/division_new/index.ts @@ -1,3 +1,4 @@ +import ViewDivisionTask from "./_division_fitur/task/view/view_division_task"; import CreateAdminDivision from "./components/create_admin_division"; import CreateUsers from "./components/create_users"; import ViewCreateDivision from "./view/view_create_division"; @@ -10,4 +11,5 @@ export { ViewCreateDivision } export { CreateUsers } export { CreateAdminDivision } export { ViewCreateReport } -export { ViewDetailDivision } \ No newline at end of file +export { ViewDetailDivision } +export { ViewDivisionTask } \ No newline at end of file