upd: form surat
Deskripsi: - api detail categori list - form awal buat surat No Issues
This commit is contained in:
@@ -5,19 +5,14 @@ import ProfileUser from "@/components/ProfileUser";
|
||||
import UserRoleSetting from "@/components/UserRoleSetting";
|
||||
import UserSetting from "@/components/UserSetting";
|
||||
import apiFetch from "@/lib/apiFetch";
|
||||
import {
|
||||
Card,
|
||||
Container,
|
||||
Grid,
|
||||
NavLink
|
||||
} from "@mantine/core";
|
||||
import { Card, Container, Grid, NavLink } from "@mantine/core";
|
||||
import {
|
||||
IconBuildingBank,
|
||||
IconCategory2,
|
||||
IconMailSpark,
|
||||
IconUserCog,
|
||||
IconUserScreen,
|
||||
IconUsersGroup
|
||||
IconUsersGroup,
|
||||
} from "@tabler/icons-react";
|
||||
import type { JsonValue } from "generated/prisma/runtime/library";
|
||||
import { useEffect, useState } from "react";
|
||||
@@ -33,7 +28,9 @@ export default function DetailSettingPage() {
|
||||
async function fetchPermissions() {
|
||||
const { data } = await apiFetch.api.user.find.get();
|
||||
if (Array.isArray(data?.permissions)) {
|
||||
const onlySetting = data.permissions.filter((p: any) => p.startsWith("setting"));
|
||||
const onlySetting = data.permissions.filter((p: any) =>
|
||||
p.startsWith("setting"),
|
||||
);
|
||||
setPermissions(onlySetting);
|
||||
} else {
|
||||
setPermissions([]);
|
||||
@@ -42,7 +39,6 @@ export default function DetailSettingPage() {
|
||||
fetchPermissions();
|
||||
}, []);
|
||||
|
||||
|
||||
const navItems = [
|
||||
{
|
||||
key: "setting.profile",
|
||||
@@ -85,8 +81,7 @@ export default function DetailSettingPage() {
|
||||
icon: <IconBuildingBank size={20} />,
|
||||
label: "Desa",
|
||||
description: "Manage desa information",
|
||||
}
|
||||
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -104,17 +99,19 @@ export default function DetailSettingPage() {
|
||||
boxShadow: "0 0 20px rgba(0,255,200,0.08)",
|
||||
}}
|
||||
>
|
||||
{
|
||||
navItems.filter((item) => permissions.includes(item.key)).map((item) => (
|
||||
{navItems
|
||||
.filter((item) => permissions.includes(item.key))
|
||||
.map((item) => (
|
||||
<NavLink
|
||||
key={item.key}
|
||||
href={'?type=' + item.path}
|
||||
href={"?type=" + item.path}
|
||||
label={item.label}
|
||||
leftSection={item.icon}
|
||||
active={type === item.path || (!type && item.path === 'profile')}
|
||||
active={
|
||||
type === item.path || (!type && item.path === "profile")
|
||||
}
|
||||
/>
|
||||
))
|
||||
}
|
||||
))}
|
||||
</Card>
|
||||
</Grid.Col>
|
||||
<Grid.Col span={9}>
|
||||
@@ -130,17 +127,47 @@ export default function DetailSettingPage() {
|
||||
}}
|
||||
>
|
||||
{type === "cat-pengaduan" ? (
|
||||
<KategoriPengaduan permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.kategori_pengaduan"))} />
|
||||
<KategoriPengaduan
|
||||
permissions={permissions.filter(
|
||||
(p) =>
|
||||
typeof p === "string" &&
|
||||
p.startsWith("setting.kategori_pengaduan"),
|
||||
)}
|
||||
/>
|
||||
) : type === "cat-pelayanan" ? (
|
||||
<KategoriPelayananSurat permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.kategori_pelayanan"))} />
|
||||
<KategoriPelayananSurat
|
||||
permissions={permissions.filter(
|
||||
(p) =>
|
||||
typeof p === "string" &&
|
||||
p.startsWith("setting.kategori_pelayanan"),
|
||||
)}
|
||||
/>
|
||||
) : type === "desa" ? (
|
||||
<DesaSetting permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.desa"))} />
|
||||
<DesaSetting
|
||||
permissions={permissions.filter(
|
||||
(p) => typeof p === "string" && p.startsWith("setting.desa"),
|
||||
)}
|
||||
/>
|
||||
) : type === "user" ? (
|
||||
<UserSetting permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.user."))} />
|
||||
<UserSetting
|
||||
permissions={permissions.filter(
|
||||
(p) => typeof p === "string" && p.startsWith("setting.user."),
|
||||
)}
|
||||
/>
|
||||
) : type === "role" ? (
|
||||
<UserRoleSetting permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.user_role"))} />
|
||||
<UserRoleSetting
|
||||
permissions={permissions.filter(
|
||||
(p) =>
|
||||
typeof p === "string" && p.startsWith("setting.user_role"),
|
||||
)}
|
||||
/>
|
||||
) : (
|
||||
<ProfileUser permissions={permissions.filter((p) => typeof p === 'string' && p.startsWith("setting.profile"))} />
|
||||
<ProfileUser
|
||||
permissions={permissions.filter(
|
||||
(p) =>
|
||||
typeof p === "string" && p.startsWith("setting.profile"),
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
</Card>
|
||||
</Grid.Col>
|
||||
|
||||
Reference in New Issue
Block a user