kontenhumas-fe/app/[locale]/(admin)/admin/management-user/page.tsx

55 lines
1.7 KiB
TypeScript

"use client";
import SiteBreadcrumb from "@/components/site-breadcrumb";
import { Button } from "@/components/ui/button";
import ManagementUserVisualization from "@/components/visualization/management-user-viz";
import { Link, useRouter } from "@/i18n/routing";
import { PlusIcon } from "lucide-react";
import { useEffect, useState } from "react";
import Cookies from "js-cookie";
import { getCookiesDecrypt } from "@/lib/utils";
import UserInternalTable from "@/components/table/management-user/management-user-internal-table";
import UserExternalTable from "@/components/table/management-user/management-user-external-table";
export default function ManagementUser() {
const [isInternal, setIsInternal] = useState(true);
const [levelNumber, setLevelNumber] = useState<number | null>(null);
const router = useRouter();
useEffect(() => {
const encryptedLevel = Cookies.get("ulne");
if (encryptedLevel) {
const decryptedLevel = getCookiesDecrypt("ulne");
setLevelNumber(Number(decryptedLevel));
}
}, []);
useEffect(() => {
router.push("?page=1");
}, [isInternal]);
const showExternalButton = levelNumber !== 2 && levelNumber !== 3;
return (
<div>
<SiteBreadcrumb />
<section className="flex flex-col gap-2 bg-white dark:bg-black rounded-lg p-3 mt-5 border">
<div className="flex justify-between py-3">
<p className="text-lg">
Data User
</p>
{isInternal && (
<Link href="/admin/management-user/create">
<Button color="primary" size="md">
<PlusIcon />
Add User
</Button>
</Link>
)}
</div>
<UserInternalTable />
</section>
</div>
);
}