diff --git a/src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx index fd8742e..d1392f1 100644 --- a/src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx +++ b/src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx @@ -1,14 +1,8 @@ -import { CreateCalenderDivisionCaleder, NavbarCreateDivisionCalender } from '@/module/calender'; -import { CreateUserDivisionCalender, UlangiEvent, ViewCreateDivisionCalender } from '@/module/division_new'; +import { CreateCalenderDivisionCaleder } from '@/module/calender'; import React from 'react'; function Page({ searchParams }: { searchParams: any }) { - if (searchParams.page == "ulangi-event") - return - if (searchParams.page == "user-calender") - return - return ( ); diff --git a/src/app/(dev-test)/test-division/layout.tsx b/src/app/(dev-test)/test-division/layout.tsx deleted file mode 100644 index ad0bd7f..0000000 --- a/src/app/(dev-test)/test-division/layout.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { DevisionLayout } from "@/module/division/ui/DivisionLayout"; - - -export default function Layout({ children }: { children: React.ReactNode }) { - return - {children} - -} \ No newline at end of file diff --git a/src/app/(dev-test)/test-division/page.tsx b/src/app/(dev-test)/test-division/page.tsx deleted file mode 100644 index 107ea6b..0000000 --- a/src/app/(dev-test)/test-division/page.tsx +++ /dev/null @@ -1,22 +0,0 @@ - -import { DivisionPage } from "@/module/division/ui/DivisionPage"; -import { SimpleGrid, Skeleton, Stack } from "@mantine/core"; -import { Suspense } from "react"; - -export default function Page({ params, searchParams }: { params: any, searchParams: any }) { - - return - - - - - - - - - - - }> - - -} \ No newline at end of file diff --git a/src/app/api/(dev-test)/test-devision/count-devision/route.ts b/src/app/api/(dev-test)/test-devision/count-devision/route.ts deleted file mode 100644 index 3ca3fb4..0000000 --- a/src/app/api/(dev-test)/test-devision/count-devision/route.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { getCountDivision } from "@/module/division/lib/division/get_count_devision" -export async function GET() { - const countDivision = getCountDivision() - return Response.json({ count: countDivision }) -} \ No newline at end of file diff --git a/src/app/api/(dev-test)/test-devision/list-anggota/route.ts b/src/app/api/(dev-test)/test-devision/list-anggota/route.ts deleted file mode 100644 index e66464d..0000000 --- a/src/app/api/(dev-test)/test-devision/list-anggota/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { getListAnggota } from "@/module/division/lib/division/get_list_anggota"; - -export async function GET() { - const listAnggota = await getListAnggota() - return Response.json(listAnggota) -} \ No newline at end of file diff --git a/src/app/api/(dev-test)/test-devision/list-division/route.ts b/src/app/api/(dev-test)/test-devision/list-division/route.ts deleted file mode 100644 index b33e0ce..0000000 --- a/src/app/api/(dev-test)/test-devision/list-division/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { getListDevision } from "@/module/division/lib/division/get_list_devision" - -export async function GET() { - const list_devision = await getListDevision() - return Response.json(list_devision) -} \ No newline at end of file diff --git a/src/app/api/(dev-test)/test-devision/list-group/route.ts b/src/app/api/(dev-test)/test-devision/list-group/route.ts deleted file mode 100644 index 17015e4..0000000 --- a/src/app/api/(dev-test)/test-devision/list-group/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { getListGroup } from "@/module/division/lib/division/get_list_group" - -export async function GET() { - const listGroup = await getListGroup() - return Response.json(listGroup) -} \ No newline at end of file diff --git a/src/dummy_data/index.ts b/src/dummy_data/index.ts deleted file mode 100644 index 96ef18b..0000000 --- a/src/dummy_data/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as list_devision } from "./list_devision.json"; \ No newline at end of file diff --git a/src/dummy_data/list_devision.json b/src/dummy_data/list_devision.json deleted file mode 100644 index 1882e19..0000000 --- a/src/dummy_data/list_devision.json +++ /dev/null @@ -1,52 +0,0 @@ -[ - { - "id": "1", - "name": "Sekretariat", - "desc": "Mengelola administrasi dan komunikasi internal perusahaan." - }, - { - "id": "2", - "name": "Infrastruktur", - "desc": "Menangani jaringan, server, dan infrastruktur teknis perusahaan." - }, - { - "id": "3", - "name": "Keamanan", - "desc": "Bertanggung jawab atas keamanan data dan sistem informasi." - }, - { - "id": "4", - "name": "Pengembangan", - "desc": "Memimpin pengembangan produk dan layanan baru." - }, - { - "id": "5", - "name": "Pemasaran", - "desc": "Merencanakan dan menjalankan strategi pemasaran perusahaan." - }, - { - "id": "6", - "name": "Keuangan", - "desc": "Mengelola keuangan, anggaran, dan pelaporan keuangan perusahaan." - }, - { - "id": "7", - "name": "Sumber Daya Manusia", - "desc": "Bertanggung jawab atas manajemen SDM dan pengembangan karyawan." - }, - { - "id": "8", - "name": "Teknologi Informasi", - "desc": "Menyediakan dukungan teknis dan infrastruktur TI untuk operasional perusahaan." - }, - { - "id": "9", - "name": "Produksi", - "desc": "Mengelola produksi barang atau layanan yang ditawarkan perusahaan." - }, - { - "id": "10", - "name": "Penelitian dan Pengembangan", - "desc": "Menangani penelitian dan pengembangan untuk inovasi produk dan teknologi." - } -] \ No newline at end of file diff --git a/src/lib/apiFetch.ts b/src/lib/apiFetch.ts deleted file mode 100644 index 5e0855c..0000000 --- a/src/lib/apiFetch.ts +++ /dev/null @@ -1,51 +0,0 @@ -interface Params { - searchParams?: Record; - token?: string; - body?: Record; -} - -async function funPramas(url: string, method: string, params?: Params) { - const property: Record = {}; - if (params) { - if (params.searchParams) { - property.searchParams = - "?" + new URLSearchParams(params.searchParams).toString(); - } - - if (params.body) { - property.body = JSON.stringify(params.body); - } - - if (params.token) { - property.headers.Authorization = `Bearer ${params.token}`; - } - } - property.method = method; - try { - const res = await fetch(`${url}${property?.searchParams || ""}`, property); - return await res.json().catch(() => null); - } catch { - return null; - } -} - -export const apiPathTestDevisionListGroupGET = () => - `/api/test-devision/list-group/`; -export const apiFetchTestDevisionListGroupGET = async (params?: Params) => - funPramas(apiPathTestDevisionListGroupGET(), "GET", params); - -export const apiPathTestDevisionListDivisionGET = () => - `/api/test-devision/list-division/`; -export const apiFetchTestDevisionListDivisionGET = async (params?: Params) => - funPramas(apiPathTestDevisionListDivisionGET(), "GET", params); - -export const apiPathTestDevisionListAnggotaRouterTsGET = () => - `/api/test-devision/list-anggota/router.ts`; -export const apiFetchTestDevisionListAnggotaRouterTsGET = async ( - params?: Params, -) => funPramas(apiPathTestDevisionListAnggotaRouterTsGET(), "GET", params); - -export const apiPathTestDevisionCountDevisionGET = () => - `/api/test-devision/count-devision/`; -export const apiFetchTestDevisionCountDevisionGET = async (params?: Params) => - funPramas(apiPathTestDevisionCountDevisionGET(), "GET", params); diff --git a/src/lib/pagePath.ts b/src/lib/pagePath.ts deleted file mode 100644 index 029e675..0000000 --- a/src/lib/pagePath.ts +++ /dev/null @@ -1,111 +0,0 @@ -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/page.tsx) - */ -export const pagePathPageTsx = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `page.tsx${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(dev-test)/test-division/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(dev-test)/test-division/page.tsx) - */ -export const pagePathTestDivision = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/test-division${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(auth)/welcome/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(auth)/welcome/page.tsx) - */ -export const pagePathWelcome = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/welcome${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(auth)/verification/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(auth)/verification/page.tsx) - */ -export const pagePathVerification = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/verification${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/search/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/search/page.tsx) - */ -export const pagePathSearch = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/search${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/profile/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/profile/page.tsx) - */ -export const pagePathProfile = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/profile${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/home/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/home/page.tsx) - */ -export const pagePathHome = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/home${searchParams}`; -}; - -/** - * - * [/Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/detail-feature/page.tsx](file:///Users/bip/Documents/projects/bip/sistem-desa-mandiri/src/app/(application)/detail-feature/page.tsx) - */ -export const pagePathDetailFeature = (params?: { - searchParams?: Record; -}) => { - let searchParams = ""; - if (params && params.searchParams) { - searchParams = "?" + new URLSearchParams(params.searchParams).toString(); - } - return `/detail-feature${searchParams}`; -}; diff --git a/src/lib/stateApi.ts b/src/lib/stateApi.ts deleted file mode 100644 index 2cf8404..0000000 --- a/src/lib/stateApi.ts +++ /dev/null @@ -1,107 +0,0 @@ - -'use client'; -import { State, hookstate, useHookstate } from '@hookstate/core'; - -const useState = (s: State) => { - const state = useHookstate(s); - const get = state.value; - const set = (v: typeof state.value) => state.set(v); - return [get, set] as const; -}; - -interface ParamsLoad { - searchParams?: Record - token?: string - body?: Record -} - -const funLoad = async (url: string, params?: ParamsLoad, set?: any, method?: string) => { - const property: Record = {} - if(params) { - if(params.searchParams) { - property.searchParams = "?"+new URLSearchParams(params.searchParams).toString(); - } - - if(params.body) { - property.body = JSON.stringify(params.body); - } - - if(params.token) { - property.headers.Authorization = `Bearer ${params.token}`; - } - } - property.method = method; - const res = await fetch(url, property ); - const json = await res.json().then((json) => json).catch(() => null); - if(json && set) set(json); - return { - res, - json - }; - -} - -const testDevisionListGroup = hookstate(undefined); -export const ProviderTestDevisionListGroup = ({data}: {data: any}) => { - if(data && testDevisionListGroup.value === undefined) { - testDevisionListGroup.set(data) - } - return null -} -export const useTestDevisionListGroup = () => { - - const [get, set] = useState(useHookstate(testDevisionListGroup)) - const load = (params?: ParamsLoad) => funLoad(`/api/test-devision/list-group/`,params, set, "GET") - const value: T = get - return [value, set, load] as const -}; - - -const testDevisionListDivision = hookstate(undefined); -export const ProviderTestDevisionListDivision = ({data}: {data: any}) => { - if(data && testDevisionListDivision.value === undefined) { - testDevisionListDivision.set(data) - } - return null -} -export const useTestDevisionListDivision = () => { - - const [get, set] = useState(useHookstate(testDevisionListDivision)) - const load = (params?: ParamsLoad) => funLoad(`/api/test-devision/list-division/`,params, set, "GET") - const value: T = get - return [value, set, load] as const -}; - - -const testDevisionListAnggota = hookstate(undefined); -export const ProviderTestDevisionListAnggota = ({data}: {data: any}) => { - if(data && testDevisionListAnggota.value === undefined) { - testDevisionListAnggota.set(data) - } - return null -} -export const useTestDevisionListAnggota = () => { - - const [get, set] = useState(useHookstate(testDevisionListAnggota)) - const load = (params?: ParamsLoad) => funLoad(`/api/test-devision/list-anggota/`,params, set, "GET") - const value: T = get - return [value, set, load] as const -}; - - -const testDevisionCountDevision = hookstate(undefined); -export const ProviderTestDevisionCountDevision = ({data}: {data: any}) => { - if(data && testDevisionCountDevision.value === undefined) { - testDevisionCountDevision.set(data) - } - return null -} -export const useTestDevisionCountDevision = () => { - - const [get, set] = useState(useHookstate(testDevisionCountDevision)) - const load = (params?: ParamsLoad) => funLoad(`/api/test-devision/count-devision/`,params, set, "GET") - const value: T = get - return [value, set, load] as const -}; - - diff --git a/src/module/division/api/get/listProject.ts b/src/module/division/api/get/listProject.ts deleted file mode 100644 index a1c0420..0000000 --- a/src/module/division/api/get/listProject.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function listProject(req: Request) { - return Response.json({ message: "ini adalah project" }) -} diff --git a/src/module/division/api/post/createProject.ts b/src/module/division/api/post/createProject.ts deleted file mode 100644 index b7c8c24..0000000 --- a/src/module/division/api/post/createProject.ts +++ /dev/null @@ -1,4 +0,0 @@ -export async function createProject(req: Request) { - const data = await req.json() - return Response.json({ message: "success create projects" }) -} \ No newline at end of file diff --git a/src/module/division/calendar/index.ts b/src/module/division/calendar/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/module/division/component/BottomDrawer.tsx b/src/module/division/component/BottomDrawer.tsx deleted file mode 100644 index 3f05a89..0000000 --- a/src/module/division/component/BottomDrawer.tsx +++ /dev/null @@ -1,68 +0,0 @@ -'use client' -import { ActionIcon, Drawer, Flex, Stack, Text } from "@mantine/core"; -import { MdAddCircle, MdClose, MdFileCopy, MdSort } from "react-icons/md"; -import { pagePathTestDivision } from "@/lib/pagePath"; - -export function BottomDrawer({ openDrawer, setOpenDrawer }: { openDrawer: boolean, setOpenDrawer: any }) { - - function onAddDivisi() { - window.location.href = pagePathTestDivision({ searchParams: { page: "division-create" } }) - } - - function onDivisionFilter() { - window.location.href = pagePathTestDivision({ searchParams: { page: "division-filter" } }) - } - - function onDivisionReport() { - window.location.href = pagePathTestDivision({ searchParams: { page: "division-report" } }) - } - return setOpenDrawer(false)} - position="bottom" - withCloseButton={false} - styles={{ - content: { - margin: "0 auto", - maxWidth: 550, - height: 200, - borderTopRightRadius: 20, - borderTopLeftRadius: 20 - } - }} - - > - - - - Menu - - setOpenDrawer(false)} variant="subtle"> - - - - - - - - - - Tambah Divisi - - - - - - Filter - - - - - - Report - - - - -} \ No newline at end of file diff --git a/src/module/division/component/ContainerDivision.tsx b/src/module/division/component/ContainerDivision.tsx deleted file mode 100644 index f8e39a5..0000000 --- a/src/module/division/component/ContainerDivision.tsx +++ /dev/null @@ -1,26 +0,0 @@ -'use client' - -import { Box } from "@mantine/core" -import _ from "lodash" -import { DivisionCreate } from "../ui/DivisionCreate" -import { DivisionFilter } from "../ui/DivisionFilter" -import { DivisionReport } from "../ui/DivisionReport" -import { HeadDivision } from "./HeadDivision" -import { ListWithSearch } from "./ListWithSearch" -import { DivisionView } from "../ui/DivisionView" - - -const listPage = ["division", "division-create", "division-filter", "division-report"] -export function ContainerDevision({ params, searchParams, list_devision, countDevision }: { params: any, searchParams: any, list_devision: any[], countDevision: any }) { - const page = searchParams.page || "division" - const division = list_devision.map((v) => ({ ...v, name: _.kebabCase(v.name) })).find((v) => v.name === page) || null - return - - {/* {JSON.stringify(division)} */} - {page === "division" && } - {page === "division-create" && } - {page === "division-filter" && } - {page === "division-report" && } - {division && division.name === page && } - -} \ No newline at end of file diff --git a/src/module/division/component/HeadDivision.tsx b/src/module/division/component/HeadDivision.tsx deleted file mode 100644 index 7b3e43a..0000000 --- a/src/module/division/component/HeadDivision.tsx +++ /dev/null @@ -1,36 +0,0 @@ -'use client' -import { WARNA } from "@/module/_global"; -import { ActionIcon, Box, Flex, Title } from "@mantine/core"; -import { useSearchParams } from "next/navigation"; -import { useState } from "react"; -import { MdArrowBackIos, MdMenu } from "react-icons/md"; -import { useTitle } from "../lib/devision_state"; -import { BottomDrawer } from "./BottomDrawer"; -import { pagePathTestDivision } from "@/lib/pagePath"; -import _ from "lodash"; - -export function HeadDivision({ title }: { title: string }) { - const [openDrawer, setOpenDrawer] = useState(false) - - function onBack() { - window.location.href = pagePathTestDivision() - } - - return - - - - - {_.startCase(title)} - setOpenDrawer(true)} bg={WARNA.bgIcon} > - - - - - -} \ No newline at end of file diff --git a/src/module/division/component/ListDivision.tsx b/src/module/division/component/ListDivision.tsx deleted file mode 100644 index 8141d4f..0000000 --- a/src/module/division/component/ListDivision.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { Stack } from "@mantine/core"; -import { ViewGrid } from "./ViewGrid"; -import { ViewList } from "./ViewList"; - -export function ListDivision({ listData, isGrid }: { listData: any[], isGrid?: boolean }) { - return - {listData.map((v, k) => isGrid ? : )} - - - -} \ No newline at end of file diff --git a/src/module/division/component/ListWithSearch.tsx b/src/module/division/component/ListWithSearch.tsx deleted file mode 100644 index a08d676..0000000 --- a/src/module/division/component/ListWithSearch.tsx +++ /dev/null @@ -1,40 +0,0 @@ -'use client' - -import { Box, Card, Center, Flex, Stack, Text, Title } from "@mantine/core" -import { ListDivision } from "./ListDivision" -import { SearchDivision } from "./SearchDivision" -import { ToogleList } from "./ToogleList" -import { useState } from "react" -import { useShallowEffect } from "@mantine/hooks" -import { WARNA } from "@/module/_global" -import { apiFetchTestDevisionListDivisionGET } from "@/lib/apiFetch" - - -export function ListWithSearch({ listData, count }: { listData: any[], count: number }) { - const [isGrid, setIsGrid] = useState(true) - const [search, setSearch] = useState("") - const [listDivision, setListDivision] = useState(listData) - - useShallowEffect(() => { - apiFetchTestDevisionListDivisionGET().then(setListDivision) - }, []) - - - return - - - - - - - - Total Divisi -
- {count} -
-
-
-
- v.name.toLowerCase().includes(search.toLowerCase()))} isGrid={isGrid} /> -
-} \ No newline at end of file diff --git a/src/module/division/component/MorePeopleIcon.tsx b/src/module/division/component/MorePeopleIcon.tsx deleted file mode 100644 index f776f16..0000000 --- a/src/module/division/component/MorePeopleIcon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -'use client' - -import { WARNA } from "@/module/_global" -import { Avatar } from "@mantine/core" -import { MdAccountCircle, MdPeople } from "react-icons/md" - -export function MorePeopleIcon() { - return - - - - - +5 - - -} \ No newline at end of file diff --git a/src/module/division/component/SearchDivision.tsx b/src/module/division/component/SearchDivision.tsx deleted file mode 100644 index 22c7391..0000000 --- a/src/module/division/component/SearchDivision.tsx +++ /dev/null @@ -1,8 +0,0 @@ -'use client' - -import { TextInput } from "@mantine/core" -import { MdSearch } from "react-icons/md" - -export function SearchDivision({ text, setText }: { text: string, setText: any }) { - return setText(e.target.value)} value={text} radius={30} leftSection={} placeholder="Cari Divisi" /> -} \ No newline at end of file diff --git a/src/module/division/component/ToogleList.tsx b/src/module/division/component/ToogleList.tsx deleted file mode 100644 index 652b23a..0000000 --- a/src/module/division/component/ToogleList.tsx +++ /dev/null @@ -1,17 +0,0 @@ -'use client' - -import { ActionIcon, Box } from "@mantine/core" -import { useState } from "react" -import { MdGrid3X3, MdGridView, MdList, MdViewList } from "react-icons/md" - -export function ToogleList({ isGrid, setIsGrid }: { isGrid: boolean, setIsGrid: any }) { - function onToogleList() { - setIsGrid(!isGrid) - } - - return - - {isGrid ? : } - - -} \ No newline at end of file diff --git a/src/module/division/component/ViewGrid.tsx b/src/module/division/component/ViewGrid.tsx deleted file mode 100644 index bcee477..0000000 --- a/src/module/division/component/ViewGrid.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { WARNA } from "@/module/_global"; -import { Stack, Box, Title, Group, Text, UnstyledButton } from "@mantine/core"; -import { MorePeopleIcon } from "./MorePeopleIcon"; -import { pagePathTestDivision } from "@/lib/pagePath"; -import _ from "lodash"; - -export function ViewGrid({ v }: { v: any }) { - return ( - { - window.location.href = pagePathTestDivision({ searchParams: { page: _.kebabCase(v.name) } }) - }}> - - - {v.name} - - - - {v.desc} - - - - - - - - ); -} \ No newline at end of file diff --git a/src/module/division/component/ViewList.tsx b/src/module/division/component/ViewList.tsx deleted file mode 100644 index b0f0e71..0000000 --- a/src/module/division/component/ViewList.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { pagePathTestDivision } from "@/lib/pagePath"; -import { Avatar, Flex, Stack, Text, Title, UnstyledButton } from "@mantine/core"; -import _ from "lodash"; -import { MdPeople } from "react-icons/md"; - -export function ViewList({ v }: { v: any }) { - return ( - { - window.location.href = pagePathTestDivision({ searchParams: { page: _.kebabCase(v.name) } }) - }}> - - - - - - {v.name} - - - - ) -} \ No newline at end of file diff --git a/src/module/division/discussion/index.ts b/src/module/division/discussion/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/module/division/document/index.ts b/src/module/division/document/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/module/division/index.ts b/src/module/division/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/module/division/lib/BottomMenu.tsx b/src/module/division/lib/BottomMenu.tsx deleted file mode 100644 index 699085f..0000000 --- a/src/module/division/lib/BottomMenu.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { ActionIcon, Drawer, Flex, Stack, Text } from "@mantine/core"; -import { MdClose } from "react-icons/md"; - -export function BottomMenu({size, title, openDrawer, setOpenDrawer, children }: { size?: number | string, title?: string, openDrawer: boolean, setOpenDrawer: any, children: React.ReactNode }) { - return setOpenDrawer(false)} - position="bottom" - withCloseButton={false} - size={size || "md"} - styles={{ - content: { - margin: "0 auto", - maxWidth: 550, - borderTopRightRadius: 20, - borderTopLeftRadius: 20 - } - }} - > - - - - {title || 'Menu'} - - setOpenDrawer(false)} variant="subtle"> - - - - {children} - - -} \ No newline at end of file diff --git a/src/module/division/lib/ButtonConfirm.tsx b/src/module/division/lib/ButtonConfirm.tsx deleted file mode 100644 index 30dab1f..0000000 --- a/src/module/division/lib/ButtonConfirm.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { WARNA } from "@/module/_global"; -import { Button, Flex, Stack, Text, UnstyledButton } from "@mantine/core"; -import { BottomMenu } from "./BottomMenu"; -import { useState } from "react"; - -export function ButtonConfirm({ label, desc, onConfirm }: { label: string, desc: string, onConfirm: () => void }) { - const [open, setOpen] = useState(false) - - const onClickConfirm = () => { - setOpen(false) - onConfirm() - } - return - - - - {desc} - - setOpen(false)}>Cancel - - - - - -} \ No newline at end of file diff --git a/src/module/division/lib/ButtonNavi.tsx b/src/module/division/lib/ButtonNavi.tsx deleted file mode 100644 index 1857121..0000000 --- a/src/module/division/lib/ButtonNavi.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { WARNA } from "@/module/_global"; -import { Button } from "@mantine/core"; - -export function ButtonNavi({ children, onClick }: { children: React.ReactNode, onClick?: () => void }) { - return -} \ No newline at end of file diff --git a/src/module/division/lib/MultiSelectList.tsx b/src/module/division/lib/MultiSelectList.tsx deleted file mode 100644 index d06ddd1..0000000 --- a/src/module/division/lib/MultiSelectList.tsx +++ /dev/null @@ -1,53 +0,0 @@ -'use client' -import { ActionIcon, Anchor, Button, Card, Divider, Flex, Group, NavLink, Paper, ScrollArea, Select, Stack, Text, UnstyledButton } from "@mantine/core"; -import { useState } from "react"; -import { MdArrowForwardIos, MdCheckBox, MdCheckBoxOutlineBlank } from "react-icons/md"; -import { BottomMenu } from "./BottomMenu"; -import { ButtonNavi } from "./ButtonNavi"; -import _ from "lodash"; -import { WARNA } from "@/module/_global"; - -export function MultiSelectList( - { label, placeholder, data = [], listSelected = [], setListSelected }: - { label?: string, placeholder?: string, data?: any[], listSelected: any[], setListSelected: any } -) { - const [open, setOpen] = useState(false) - // const [listSelected, setListSelected] = useState(defaultValue) - - function selected(value: { label: string, value: any }) { - if (listSelected.includes(value.value)) { - setListSelected(listSelected.filter((v) => v !== value.value)) - } else { - setListSelected([...listSelected, value.value]) - } - } - - const onClickSimpan = () => { - setOpen(false) - } - return - setOpen(true)}> - - - {_.isEmpty(listSelected) ? "Pilih Anggota" : "Tambah Anggota"} - - - - - - - - {data.map((v, k) => - selected(v)} - leftSection={listSelected.includes(v.value) ? : } - label={v.label} /> - )} - - - Simpan - - - - -} \ No newline at end of file diff --git a/src/module/division/lib/SingleSelect.tsx b/src/module/division/lib/SingleSelect.tsx deleted file mode 100644 index 9646b01..0000000 --- a/src/module/division/lib/SingleSelect.tsx +++ /dev/null @@ -1,46 +0,0 @@ -'use client' -import { Flex, Group, NavLink, Paper, ScrollArea, Select, Stack, Text, UnstyledButton } from "@mantine/core"; -import { useState } from "react"; -import { BottomMenu } from "./BottomMenu"; -import { MdArrowForwardIos, MdCheckBox, MdCheckBoxOutlineBlank } from "react-icons/md"; -import _ from "lodash"; - -export function SingleSelect({ desc, icon, placeholder, selected, setSelected, data }: { desc?: string, icon?: any, placeholder: string, selected: any, setSelected: any, data: any[] }) { - const [open, setOpen] = useState(false) - const completed = desc && !_.isEmpty(data) && !_.isEmpty(selected) - - const onSelected = (value: any) => { - setSelected(value) - setOpen(false) - } - return - setOpen(true)} disabled={_.isEmpty(data)}> - - - - - {icon && icon} - {!_.isEmpty(data) ? data?.filter((v) => v.value === selected)[0]?.label || placeholder : placeholder} - - - - {completed && {desc}} - - - - - - - {data?.map((v, k) => onSelected(v.value)} - leftSection={selected === v.value ? - : - } - key={k} - label={v.label} />)} - - - - -} \ No newline at end of file diff --git a/src/module/division/lib/WebVitals.tsx b/src/module/division/lib/WebVitals.tsx deleted file mode 100644 index a85e3e1..0000000 --- a/src/module/division/lib/WebVitals.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client' - -import { useReportWebVitals } from 'next/web-vitals'; - -export function WebVitals({ searchParams }: { searchParams: any }) { - const log = searchParams.log; - useReportWebVitals((metric) => { - log && console.log(JSON.stringify(metric, null, 4)); - }); - - return null; -} diff --git a/src/module/division/lib/devision_state.ts b/src/module/division/lib/devision_state.ts deleted file mode 100644 index b69eb0a..0000000 --- a/src/module/division/lib/devision_state.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { State, hookstate, useHookstate } from "@hookstate/core"; - -const useState = (s: State) => { - const state = useHookstate(s); - const get = state.value; - const set = (v: typeof state.value) => state.set(v); - return [get, set] as const; -}; - -const title = hookstate("Divisi") -export const useTitle = () => useState(title); - -const filter = hookstate("") -export const useDivisionfilter = () => useState(filter) \ No newline at end of file diff --git a/src/module/division/lib/division/get_count_devision.ts b/src/module/division/lib/division/get_count_devision.ts deleted file mode 100644 index 0344a21..0000000 --- a/src/module/division/lib/division/get_count_devision.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { list_devision } from "@/dummy_data"; - -export async function getCountDivision() { - return list_devision.length -} \ No newline at end of file diff --git a/src/module/division/lib/division/get_list_anggota.ts b/src/module/division/lib/division/get_list_anggota.ts deleted file mode 100644 index 51e495f..0000000 --- a/src/module/division/lib/division/get_list_anggota.ts +++ /dev/null @@ -1,45 +0,0 @@ -const listAnggota = [ - { - id: "1", - name: "Anggota 1", - }, - { - id: "2", - name: "Anggota 2", - }, - { - id: "3", - name: "Anggota 3", - }, - { - id: "4", - name: "Anggota 4", - }, - { - id: "5", - name: "Anggota 5", - }, - { - id: "6", - name: "Anggota 6", - }, - { - id: "7", - name: "Anggota 7", - }, - { - id: "8", - name: "Anggota 8", - }, - { - id: "9", - name: "Anggota 9", - }, - { - id: "10", - name: "Anggota 10", - }, -] -export async function getListAnggota() { - return listAnggota -} diff --git a/src/module/division/lib/division/get_list_devision.ts b/src/module/division/lib/division/get_list_devision.ts deleted file mode 100644 index f712541..0000000 --- a/src/module/division/lib/division/get_list_devision.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { list_devision } from "@/dummy_data"; - -export async function getListDevision() { - return list_devision -} \ No newline at end of file diff --git a/src/module/division/lib/division/get_list_group.ts b/src/module/division/lib/division/get_list_group.ts deleted file mode 100644 index 5503d66..0000000 --- a/src/module/division/lib/division/get_list_group.ts +++ /dev/null @@ -1,18 +0,0 @@ -const listGroup = [ - { - id: "1", - name: "Group 1", - - }, - { - id: "2", - name: "Group 2", - }, - { - id: "3", - name: "Group 3", - } -] -export async function getListGroup() { - return listGroup -} \ No newline at end of file diff --git a/src/module/division/lib/toast.tsx b/src/module/division/lib/toast.tsx deleted file mode 100644 index ac7f601..0000000 --- a/src/module/division/lib/toast.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { WARNA } from '@/module/_global' -import t from 'react-simple-toasts' - -type Event = "error" | "success" | "info" | "warning" -export const toast = (message: string, event?: Event) => { - t(message, { - position: "center", - render: (message) =>
-
{message?.toString()}
-
, - }) -} \ No newline at end of file diff --git a/src/module/division/project/index.ts b/src/module/division/project/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/module/division/ui/DivisionCreate.tsx b/src/module/division/ui/DivisionCreate.tsx deleted file mode 100644 index 0fba5f9..0000000 --- a/src/module/division/ui/DivisionCreate.tsx +++ /dev/null @@ -1,82 +0,0 @@ -'use client' - -import { ActionIcon, Avatar, Button, Card, Flex, ScrollArea, Select, Stack, Text, TextInput, Textarea } from "@mantine/core" -import { MultiSelectList } from "../lib/MultiSelectList" -import { WARNA } from "@/module/_global" -import { useTestDevisionListAnggota, useTestDevisionListGroup } from "@/lib/stateApi" -import { useState } from "react" -import _ from "lodash" -import { MdAccountCircle, MdClose, MdGroup, MdGroupAdd, MdGroupWork, MdShield } from "react-icons/md" -import { ButtonNavi } from "../lib/ButtonNavi" -import { pagePathTestDivision } from "@/lib/pagePath" -import { SingleSelect } from "../lib/SingleSelect" -import { ButtonConfirm } from "../lib/ButtonConfirm" -import { toast } from "../lib/toast" - - -export function DivisionCreate() { - const [val, setVal, load] = useTestDevisionListGroup() - const [listAnggota, setListAnggota] = useTestDevisionListAnggota() - const [listSelectedAnggota, setListSelectedAnggota] = useState([]) - const [selectedAdmin, setSelectedAdmin] = useState("") - const [selectedGroup, setSelectedGroup] = useState("") - - - return - } - selected={selectedGroup} - setSelected={setSelectedGroup} - data={val && val.map((v) => ({ label: v.name, value: v.id }))} - placeholder="Pilih Grup" /> - -