remove IndexErrorCode component

This commit is contained in:
2025-10-10 14:12:37 +07:00
parent 27c901d08f
commit 3ce9b3772d
2 changed files with 75 additions and 85 deletions

View File

@@ -25,7 +25,7 @@ import {
TeamOutlined, TeamOutlined,
ClockCircleOutlined, ClockCircleOutlined,
CalendarOutlined, CalendarOutlined,
UsergroupAddOutlined UsergroupAddOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
const { Text } = Typography; const { Text } = Typography;
@@ -33,96 +33,111 @@ const { Text } = Typography;
const allItems = [ const allItems = [
{ {
key: 'home', key: 'home',
icon: <HomeOutlined style={{fontSize:'19px'}} />, icon: <HomeOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/dashboard/home" className='fontMenus'>Home</Link>, label: (
<Link to="/dashboard/home" className="fontMenus">
Home
</Link>
),
}, },
{ {
key: 'master', key: 'master',
icon: <DatabaseOutlined style={{fontSize:'19px'}} />, icon: <DatabaseOutlined style={{ fontSize: '19px' }} />,
label: 'Master', label: 'Master',
children: [ children: [
{ {
key: 'master-plant-section', key: 'master-plant-section',
icon: <ProductOutlined style={{fontSize:'19px'}} />, icon: <ProductOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/master/plant-section">Plant Section</Link>, label: <Link to="/master/plant-section">Plant Section</Link>,
}, },
{ {
key: 'master-device', key: 'master-device',
icon: <MobileOutlined style={{fontSize:'19px'}} />, icon: <MobileOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/master/device">Device</Link>, label: <Link to="/master/device">Device</Link>,
}, },
{ {
key: 'master-tag', key: 'master-tag',
icon: <TagOutlined style={{fontSize:'19px'}} />, icon: <TagOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/master/tag">Tag</Link>, label: <Link to="/master/tag">Tag</Link>,
}, },
{ {
key: 'master-brand-device', key: 'master-brand-device',
icon: <AntDesignOutlined style={{fontSize:'19px'}} />, icon: <AntDesignOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/master/brand-device">Brand Device</Link>, label: <Link to="/master/brand-device">Brand Device</Link>,
}, },
{
key: 'master-error-code',
icon: <WarningOutlined style={{fontSize:'19px'}} />,
label: <Link to="/master/error-code">Error Code</Link>,
},
{ {
key: 'master-status', key: 'master-status',
icon: <SafetyOutlined style={{fontSize:'19px'}} />, icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/master/status">Status</Link>, label: <Link to="/master/status">Status</Link>,
}, },
], ],
}, },
{ {
key: 'history', key: 'history',
icon: <HistoryOutlined style={{fontSize:'19px'}} />, icon: <HistoryOutlined style={{ fontSize: '19px' }} />,
label: 'History', label: 'History',
children: [ children: [
{ {
key: 'history-trending', key: 'history-trending',
icon: <LineChartOutlined style={{fontSize:'19px'}} />, icon: <LineChartOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/history/trending">Trending</Link>, label: <Link to="/history/trending">Trending</Link>,
}, },
{ {
key: 'history-report', key: 'history-report',
icon: <FileTextOutlined style={{fontSize:'19px'}} />, icon: <FileTextOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/history/report">Report</Link>, label: <Link to="/history/report">Report</Link>,
}, },
], ],
}, },
{ {
key: 'notification', key: 'notification',
icon: <BellOutlined style={{fontSize:'19px'}} />, icon: <BellOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/notification" className='fontMenus'>Notifikasi</Link>, label: (
<Link to="/notification" className="fontMenus">
Notifikasi
</Link>
),
}, },
{ {
key: 'event-alarm', key: 'event-alarm',
icon: <AlertOutlined style={{fontSize:'19px'}} />, icon: <AlertOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/event-alarm" className='fontMenus'>Event Alarm</Link>, label: (
<Link to="/event-alarm" className="fontMenus">
Event Alarm
</Link>
),
}, },
{ {
key: 'role', key: 'role',
icon: <SafetyOutlined style={{fontSize:'19px'}} />, icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/role" className='fontMenus'>Role</Link>, label: (
<Link to="/role" className="fontMenus">
Role
</Link>
),
}, },
{ {
key: 'user', key: 'user',
icon: <UserOutlined style={{fontSize:'19px'}} />, icon: <UserOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/user" className='fontMenus'>User</Link>, label: (
<Link to="/user" className="fontMenus">
User
</Link>
),
}, },
{ {
key: 'shift-management', key: 'shift-management',
icon: <ClockCircleOutlined style={{fontSize:'19px'}} />, icon: <ClockCircleOutlined style={{ fontSize: '19px' }} />,
label: 'Manajemen Shift', label: 'Manajemen Shift',
children: [ children: [
{ {
key: 'shift-schedule', key: 'shift-schedule',
icon: <CalendarOutlined style={{fontSize:'19px'}} />, icon: <CalendarOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/shift-management/schedule">Jadwal Shift</Link>, label: <Link to="/shift-management/schedule">Jadwal Shift</Link>,
}, },
{ {
key: 'shift-member', key: 'shift-member',
icon: <UsergroupAddOutlined style={{fontSize:'19px'}} />, icon: <UsergroupAddOutlined style={{ fontSize: '19px' }} />,
label: <Link to="/shift-management/member">Anggota Shift</Link>, label: <Link to="/shift-management/member">Anggota Shift</Link>,
}, },
], ],
@@ -132,10 +147,10 @@ const allItems = [
const LayoutMenu = () => { const LayoutMenu = () => {
const [stateOpenKeys, setStateOpenKeys] = useState(['home']); const [stateOpenKeys, setStateOpenKeys] = useState(['home']);
const getLevelKeys = items1 => { const getLevelKeys = (items1) => {
const key = {}; const key = {};
const func = (items2, level = 1) => { const func = (items2, level = 1) => {
items2.forEach(item => { items2.forEach((item) => {
if (item.key) { if (item.key) {
key[item.key] = level; key[item.key] = level;
} }
@@ -150,12 +165,16 @@ const LayoutMenu = () => {
const levelKeys = getLevelKeys(allItems); const levelKeys = getLevelKeys(allItems);
const onOpenChange = openKeys => { const onOpenChange = (openKeys) => {
const currentOpenKey = openKeys.find(key => stateOpenKeys.indexOf(key) === -1); const currentOpenKey = openKeys.find((key) => stateOpenKeys.indexOf(key) === -1);
if (currentOpenKey !== undefined) { if (currentOpenKey !== undefined) {
const repeatIndex = openKeys.filter(key => key !== currentOpenKey).findIndex(key => levelKeys[key] === levelKeys[currentOpenKey]); const repeatIndex = openKeys
.filter((key) => key !== currentOpenKey)
.findIndex((key) => levelKeys[key] === levelKeys[currentOpenKey]);
setStateOpenKeys( setStateOpenKeys(
openKeys.filter((_, index) => index !== repeatIndex).filter(key => levelKeys[key] <= levelKeys[currentOpenKey]), openKeys
.filter((_, index) => index !== repeatIndex)
.filter((key) => levelKeys[key] <= levelKeys[currentOpenKey])
); );
} else { } else {
setStateOpenKeys(openKeys); setStateOpenKeys(openKeys);
@@ -165,26 +184,28 @@ const LayoutMenu = () => {
const session = getSessionData(); const session = getSessionData();
const isAdmin = session?.user?.user_id; const isAdmin = session?.user?.user_id;
const karyawan = ()=>{ const karyawan = () => {
return allItems.filter( return allItems
item => item.key !== 'setting' .filter(
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan (item) => item.key !== 'setting'
// && item.key !== 'master' // tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
// && item.key !== 'master' // && item.key !== 'master'
).map(item=>{ // && item.key !== 'master'
if(item.key === 'master'){ )
return{ .map((item) => {
...item, if (item.key === 'master') {
// buka command dibawah jika terdapat sub menu yang di sembunyikan return {
// children: item.children.filter( ...item,
// child => child.key !== 'master-product' // buka command dibawah jika terdapat sub menu yang di sembunyikan
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan // children: item.children.filter(
// && child.key !== 'master-service' // child => child.key !== 'master-product'
// ) // tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
// && child.key !== 'master-service'
// )
};
} }
} return item;
return item; });
});
}; };
const items = isAdmin === 1 ? allItems : karyawan(); const items = isAdmin === 1 ? allItems : karyawan();
@@ -205,4 +226,4 @@ const LayoutMenu = () => {
/> />
); );
}; };
export default LayoutMenu; export default LayoutMenu;

View File

@@ -1,31 +0,0 @@
import React, { memo, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { useBreadcrumb } from '../../../layout/LayoutBreadcrumb';
import { Typography } from 'antd';
const { Text } = Typography;
const IndexErrorCode = memo(function IndexErrorCode() {
const navigate = useNavigate();
const { setBreadcrumbItems } = useBreadcrumb();
useEffect(() => {
const token = localStorage.getItem('token');
if (token) {
setBreadcrumbItems([
{ title: <Text strong style={{ fontSize: '14px' }}> Master</Text> },
{ title: <Text strong style={{ fontSize: '14px' }}>Error Code</Text> }
]);
} else {
navigate('/signin');
}
}, []);
return (
<div>
<h1>Error Code Page</h1>
</div>
);
});
export default IndexErrorCode;