import React from 'react'; import { Layout, Typography, Breadcrumb, Button, theme } from 'antd'; import { UserOutlined } from '@ant-design/icons'; import handleLogOut from '../Utils/Auth/Logout'; import { useBreadcrumb } from './LayoutBreadcrumb'; import { decryptData } from '../components/Global/Formatter'; import { useNavigate } from 'react-router-dom'; import DateRealTime from '../components/Global/DateRealTime'; const { Link, Text } = Typography; const { Header } = Layout; const LayoutHeader = () => { const { breadcrumbItems } = useBreadcrumb(); const navigate = useNavigate(); // 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 || '#1BAA56'; // Ambil data user dari localStorage let userData = null; 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 let roleName = userData?.user?.role_name || 'Guest'; 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 ( <>
{/* Login AS {roleName} */} CALL OF DUTY
{/* */} {/* Login AS {roleName} */} {/* Kamis, 04 November 2025 16:35:00 */} {/* */}
{ handleLogOut(navigate); }} aria-label="Log out from the application" style={{ color: colorText, whiteSpace: 'nowrap', }} > Logout
); }; export default LayoutHeader;