"use client"; import { Box, Button, Center, Group, Pagination, Paper, ScrollArea, SimpleGrid, Stack, Table, TextInput, Title, } from "@mantine/core"; import ComponentAdminGlobal_HeaderTamplate from "../component/header_tamplate"; import { MODEL_USER } from "@/app_modules/home/model/interface"; import _ from "lodash"; import { IconSearch } from "@tabler/icons-react"; import { useEffect, useState } from "react"; import adminDeveloper_funEditUserAksesById from "./fun/edit/fun_edit_user_akses_by_id"; import adminDeveloper_funGetListAllAdmin from "./fun/get/fun_get_list_all_admin"; import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil"; import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal"; import adminDeveloper_funGetListAllUser from "./fun/get/fun_get_list_all_user"; export default function AdminDeveloper({ listUser, listAdmin, pUser, pAdmin }: { listUser: MODEL_USER[]; listAdmin: MODEL_USER[]; pUser: any, pAdmin: any }) { const [dataUser, setDataUser] = useState(listUser); const [dataAdmin, setDataAdmin] = useState(listAdmin); const [pageUser, setPageUser] = useState(pUser); const [pageAdmin, setPageAdmin] = useState(pAdmin); return ( <> {/* */} {/* */} { setDataUser(val.data) setPageUser(val.nPage) }} /> { setDataAdmin(val.data) setPageAdmin(val.nPage) }} /> ); } function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpdated: (val: any) => void }) { const [isChoosePage, setChoosePage] = useState(1) const [dataUser, setDataUser] = useState(data) const [isNPage, setNPage] = useState(nPage) const [isSearch, setSearch] = useState('') async function onPageClick(p: any) { setChoosePage(p) const loadData = await adminDeveloper_funGetListAllUser({ search: isSearch, page: p }) setDataUser(loadData.data) setNPage(loadData.nPage) } async function onSearch(s: any) { setSearch(s) setChoosePage(1) const loadData = await adminDeveloper_funGetListAllUser({ search: s, page: 1 }) setDataUser(loadData.data) setNPage(loadData.nPage) } async function onAccess(id: string) { const upd = await adminDeveloper_funEditUserAksesById(id, "2") if (upd.status == 200) { const loadData = await adminDeveloper_funGetListAllUser({ search: isSearch, page: isChoosePage }) setDataUser(loadData.data) setNPage(loadData.nPage) const loadDataAdmin = await adminDeveloper_funGetListAllAdmin({ page: 1 }) onUpdated(loadDataAdmin) ComponentGlobal_NotifikasiBerhasil(upd.message) } else { ComponentGlobal_NotifikasiGagal(upd.message) } } useEffect(() => { setDataUser(data) setNPage(nPage) setSearch('') setChoosePage(1) }, [data, nPage]) return ( <> Table User NEW } radius={"xl"} placeholder="Masukan username" onChange={(val) => { onSearch(val.currentTarget.value) }} /> {dataUser.map((v: any, i: any) => ( ))}
Username
Nomor
Aksi
{v.username}
{v.nomor}
{ onPageClick(val) }} total={isNPage} />
) } function NewTableAdmin({ data, nPage, onUpdated }: { data: any, nPage: any, onUpdated: (val: any) => void }) { const [isChoosePage, setChoosePage] = useState(1) const [dataAdmin, setDataAdmin] = useState(data) const [isNPage, setNPage] = useState(nPage) const [isSearch, setSearch] = useState('') async function onPageClick(p: any) { setChoosePage(p) const loadData = await adminDeveloper_funGetListAllAdmin({ search: isSearch, page: p }) setDataAdmin(loadData.data) setNPage(loadData.nPage) } async function onSearch(s: any) { setSearch(s) setChoosePage(1) const loadData = await adminDeveloper_funGetListAllAdmin({ search: s, page: 1 }) setDataAdmin(loadData.data) setNPage(loadData.nPage) } async function onAccess(id: string) { const upd = await adminDeveloper_funEditUserAksesById(id, "1") if (upd.status == 200) { const loadData = await adminDeveloper_funGetListAllAdmin({ search: isSearch, page: isChoosePage }) setDataAdmin(loadData.data) setNPage(loadData.nPage) const loadDataUser = await adminDeveloper_funGetListAllUser({ page: 1 }) onUpdated(loadDataUser) ComponentGlobal_NotifikasiBerhasil(upd.message) } else { ComponentGlobal_NotifikasiGagal(upd.message) } } useEffect(() => { setDataAdmin(data) setNPage(nPage) setSearch('') setChoosePage(1) }, [data, nPage]) return ( <> Table Admin } radius={"xl"} placeholder="Masukan username" onChange={(val) => { onSearch(val.currentTarget.value) }} /> {dataAdmin.map((v: any, i: any) => ( ))}
Username
Nomor
Aksi
{v.username}
{v.nomor}
{ onPageClick(val) }} total={isNPage} />
) } function TableAdmin({ dataAdmin, setDataAdmin, setDataUser, }: { dataAdmin: MODEL_USER[]; setDataAdmin: any; setDataUser: any; }) { async function onAccess(id: string) { await adminDeveloper_funEditUserAksesById(id, "1").then(async (res) => { if (res.status === 200) { await adminDeveloper_funGetListAllUser({ page: 1 }).then((val) => { setDataUser(val); }); await adminDeveloper_funGetListAllAdmin({ page: 1 }).then((val) => { setDataAdmin(val); }); ComponentGlobal_NotifikasiBerhasil(res.message); } else { ComponentGlobal_NotifikasiGagal(res.message); } }); } const tableBody = dataAdmin.map((e) => (
{e.username}
{e.nomor}
)); return ( <> Table Admin } radius={"xl"} placeholder="Masukan username" /> {tableBody}
Username
Nomor
Aksi
); } function TableUser({ dataUser, setDataUser, setDataAdmin, }: { dataUser: MODEL_USER[]; setDataUser: any; setDataAdmin: any; }) { async function onAccess(id: string) { await adminDeveloper_funEditUserAksesById(id, "2").then(async (res) => { if (res.status === 200) { await adminDeveloper_funGetListAllUser({ page: 1 }).then((val) => { setDataUser(val.data); }); await adminDeveloper_funGetListAllAdmin({ page: 1 }).then((val) => { setDataAdmin(val); }); ComponentGlobal_NotifikasiBerhasil(res.message); } else { ComponentGlobal_NotifikasiGagal(res.message); } }); } const tableBody = dataUser.map((e) => (
{e.username}
{e.nomor}
)); return ( <> Table User } radius={"xl"} placeholder="Masukan username" /> {tableBody}
Username
Nomor
Aksi
); }