update layout header
This commit is contained in:
@@ -4,7 +4,7 @@ import { UserOutlined } from '@ant-design/icons';
|
||||
import handleLogOut from '../Utils/Auth/Logout';
|
||||
import { useBreadcrumb } from './LayoutBreadcrumb';
|
||||
import { decryptData } from '../components/Global/Formatter';
|
||||
import { replace, useNavigate } from 'react-router-dom';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
|
||||
const { Link, Text } = Typography;
|
||||
const { Header } = Layout;
|
||||
@@ -13,18 +13,51 @@ const LayoutHeader = () => {
|
||||
const { breadcrumbItems } = useBreadcrumb();
|
||||
const navigate = useNavigate();
|
||||
|
||||
// Ambil token warna dari theme Ant Design, dengan fallback default
|
||||
// Ambil token warna dari theme Ant Design
|
||||
const { token } = theme.useToken() || {};
|
||||
const colorBgContainer = token?.colorBgContainer || '#fff';
|
||||
const colorBorder = token?.colorBorder || '#d9d9d9';
|
||||
const colorText = token?.colorText || '#000';
|
||||
|
||||
// Ambil data user dari localStorage dan dekripsi
|
||||
const sessionData = localStorage.getItem('session');
|
||||
const userData = sessionData ? decryptData(sessionData) : null;
|
||||
// Ambil data user dari localStorage
|
||||
let userData = null;
|
||||
|
||||
const roleName = userData?.user?.approval || userData?.user?.partner_name || 'Guest';
|
||||
const userName = userData?.user?.name || userData?.user?.username || 'User';
|
||||
const sessionData = localStorage.getItem('session');
|
||||
if (sessionData) {
|
||||
userData = decryptData(sessionData);
|
||||
} else {
|
||||
const userRaw = localStorage.getItem('user');
|
||||
if (userRaw) {
|
||||
try {
|
||||
// bungkus biar konsisten { user: {...} }
|
||||
userData = { user: JSON.parse(userRaw) };
|
||||
} catch (e) {
|
||||
console.error('Gagal parse user dari localStorage:', e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// console.log('User data di header:', userData?.user);
|
||||
|
||||
// Role handling
|
||||
const roleNameDefault =
|
||||
userData?.user?.approval ||
|
||||
userData?.user?.partner_name ||
|
||||
userData?.user?.role_name ||
|
||||
'Guest';
|
||||
|
||||
let roleName = roleNameDefault;
|
||||
const userName =
|
||||
userData?.user?.name || userData?.user?.username || userData?.user?.user_name || 'User';
|
||||
|
||||
// Override jika Super Admin
|
||||
if (
|
||||
userData?.user?.is_sa === true ||
|
||||
userData?.user?.is_sa === 'true' ||
|
||||
userData?.user?.is_sa === 1
|
||||
) {
|
||||
roleName = 'Super Admin';
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -117,4 +150,3 @@ const LayoutHeader = () => {
|
||||
};
|
||||
|
||||
export default LayoutHeader;
|
||||
|
||||
Reference in New Issue
Block a user