diff --git a/app/admin/master/master-user-level/create/page.tsx b/app/admin/master/master-user-level/create/page.tsx
new file mode 100644
index 0000000..916eafe
--- /dev/null
+++ b/app/admin/master/master-user-level/create/page.tsx
@@ -0,0 +1,14 @@
+import CreateMagazineForm from '@/components/form/magazine/magazine-form'
+import CreateMenuDataForm from '@/components/form/master/master-menu/menu-data/menu-data-form'
+import CreateMasterModuleForm from '@/components/form/master/master-module/master-module-form'
+import CreateMasterUserLevelForm from '@/components/form/master/master-user-level/master-user-level-form'
+import MagazineTable from '@/components/table/magazine/magazine-table'
+import React from 'react'
+
+const AdminMasterUserLevelCreate = () => {
+ return (
+
+ )
+}
+
+export default AdminMasterUserLevelCreate
\ No newline at end of file
diff --git a/app/admin/master/master-user-level/page.tsx b/app/admin/master/master-user-level/page.tsx
new file mode 100644
index 0000000..cb67e53
--- /dev/null
+++ b/app/admin/master/master-user-level/page.tsx
@@ -0,0 +1,13 @@
+import MagazineTable from '@/components/table/magazine/magazine-table'
+import MenuDataTable from '@/components/table/master/master-menu/menu-data/menu-data-table'
+import MasterModuleTable from '@/components/table/master/master-module/master-module-table'
+import MasterUserLevelTable from '@/components/table/master/master-user-level/master-user-level-table'
+import React from 'react'
+
+const AdminMasterUserLevel = () => {
+ return (
+
+ )
+}
+
+export default AdminMasterUserLevel
\ No newline at end of file
diff --git a/components/form/master/master-menu/menu-data/menu-data-form.tsx b/components/form/master/master-menu/menu-data/menu-data-form.tsx
index 0c830e8..6859834 100644
--- a/components/form/master/master-menu/menu-data/menu-data-form.tsx
+++ b/components/form/master/master-menu/menu-data/menu-data-form.tsx
@@ -344,7 +344,7 @@ export default function CreateMenuDataForm() {
classNames={{
label: "!text-black",
}}
- value="no"
+ value="1"
>
Active
@@ -352,7 +352,7 @@ export default function CreateMenuDataForm() {
classNames={{
label: "!text-black",
}}
- value="yes"
+ value="2"
>
Inactive
diff --git a/components/form/master/master-module/master-module-form.tsx b/components/form/master/master-module/master-module-form.tsx
index a08aa9b..cedd20b 100644
--- a/components/form/master/master-module/master-module-form.tsx
+++ b/components/form/master/master-module/master-module-form.tsx
@@ -241,7 +241,7 @@ export default function CreateMasterModuleForm() {
classNames={{
label: "!text-black",
}}
- value="no"
+ value="1"
>
Active
@@ -249,14 +249,14 @@ export default function CreateMasterModuleForm() {
classNames={{
label: "!text-black",
}}
- value="yes"
+ value="2"
>
Inactive
-
+
+
+
+
+
+ )
+}
diff --git a/components/table/master/master-user-level/master-user-level-table.tsx b/components/table/master/master-user-level/master-user-level-table.tsx
new file mode 100644
index 0000000..865c245
--- /dev/null
+++ b/components/table/master/master-user-level/master-user-level-table.tsx
@@ -0,0 +1,217 @@
+"use client";
+import {
+ TableCell,
+ TableRow,
+ Table,
+ TableHeader,
+ TableColumn,
+ TableBody,
+ Pagination,
+ Dropdown,
+ DropdownTrigger,
+ DropdownMenu,
+ DropdownItem,
+ Input,
+ User,
+ Card,
+ Divider,
+ Chip,
+ ChipProps,
+} from "@nextui-org/react";
+import { Button } from "@nextui-org/button";
+import React, { Key, useCallback, useMemo, useState } from "react";
+import {
+ AddIcon,
+ CreateIconIon,
+ DeleteIcon,
+ DotsYIcon,
+ EyeFilledIcon,
+ EyeIconMdi,
+} from "@/components/icons";
+import Link from "next/link";
+
+type UserObject = {
+ id: number;
+ name: string;
+ levelNumber: string;
+ aliasName: string;
+ parentLevelId: string;
+ provinceId: string;
+};
+
+const statusColorMap = {
+ active: "success",
+ paused: "danger",
+ vacation: "warning",
+};
+
+
+export default function MasterUserLevelTable() {
+ type TableRow = (typeof masterUserLevelTable)[0];
+
+ const columns = [
+ { name: "No", uid: "no" },
+ { name: "Name", uid: "name" },
+ { name: "User Name", uid: "aliasName" },
+ { name: "Level Number", uid: "levelNumber" },
+ { name: "Parent Level", uid: "parentLevelId" },
+ { name: "Province", uid: "provinceId" },
+ { name: "Action", uid: "actions" },
+ ];
+
+ const masterUserLevelTable = [
+ {
+ id: 1,
+ name: "AI Journalist ",
+ aliasName: "Journalist",
+ levelNumber: "admin",
+ parentLevelId: "admin",
+ provinceId: "Sumatra Barat",
+ },
+ {
+ id: 2,
+ name: "AI Journalist ",
+ aliasName: "Journalist",
+ levelNumber: "admin",
+ parentLevelId: "admin",
+ provinceId: "Sumatra Barat",
+ },
+ {
+ id: 3,
+ name: "AI Journalist ",
+ aliasName: "Journalist",
+ levelNumber: "admin",
+ parentLevelId: "admin",
+ provinceId: "Sumatra Barat",
+ },
+ {
+ id: 4,
+ name: "AI Journalist ",
+ aliasName: "Journalist",
+ levelNumber: "admin",
+ parentLevelId: "admin",
+ provinceId: "Sumatra Barat",
+ },
+ {
+ id: 5,
+ name: "AI Journalist ",
+ aliasName: "Journalist",
+ levelNumber: "admin",
+ parentLevelId: "admin",
+ provinceId: "Sumatra Barat",
+ },
+ ];
+
+ const renderCell = useCallback((masterUserLevel: TableRow, columnKey: Key) => {
+ const cellValue = masterUserLevel[columnKey as keyof UserObject];
+ const statusColorMap: Record = {
+ active: "success",
+ cancel: "danger",
+ pending: "warning",
+ };
+
+ switch (columnKey) {
+ case "no":
+ return (
+ {masterUserLevel.id}
+ )
+
+ case "name":
+ return (
+ {masterUserLevel.name}
+ )
+
+ case "aliasName":
+ return (
+ {masterUserLevel.aliasName}
+ )
+
+ case "actions":
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ Detail
+
+
+
+
+
+ Edit
+
+
+
+
+
+ Delete
+
+
+
+
+
+ );
+
+ default:
+ return cellValue;
+ }
+ }, []);
+
+ return (
+ <>
+
+
+
Create New User Level
+
+
+
+
+ {(column) => (
+ {column.name}
+ )}
+
+
+ {(item) => (
+
+ {(columnKey) => (
+ {renderCell(item, columnKey)}
+ )}
+
+ )}
+
+
+
+
+
+ >
+ );
+}