import PropTypes from 'prop-types'; import React , { useState } from 'react'; import { useDispatch } from "react-redux"; import { useNavigate } from "react-router-dom"; // material-ui // import { useTheme } from '@mui/material/styles'; import { AppBar, // Container, Typography, Box, Stack, // IconButton, // Menu, // MenuItem, // Button, // Tooltip, // Avatar, // Stack, Toolbar, Divider, // List, // ListItem, // ListItemButton, // ListItemText, IconButton, Drawer, Grid, // useMediaQuery } from '@mui/material'; import MenuIcon from '@mui/icons-material/Menu'; import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; // project import // import AppBarStyled from './AppBarStyled'; // import HeaderContent from './HeaderContent'; import Logo from 'components/Logo'; import AdminLogo from 'components/AdminLogo'; import MobileLogo from 'components/MobileLogo'; import Profile from './HeaderContent/Profile'; import "assets/style/navbarStyles.css"; import { isUserLoggedIn, isGLDLoggedIn, isPrimaryLoggedIn, isCreditorLoggedIn } from "utils/Utils"; import { handleLogoutFunction } from 'auth/index'; // assets // import { MenuFoldOutlined,MenuOutlined } from '@ant-design/icons'; // import { AppBar } from '../../../../node_modules/@mui/material/index'; import { Link } from "react-router-dom"; import LocaleSelector from "./HeaderContent/LocaleSelector"; import { FormattedMessage } from "react-intl"; const drawerWidth = 240; // const navItems = ['Home', 'About', 'Contact']; // ==============================|| MAIN LAYOUT - HEADER ||============================== // function Header(props) { const { window } = props; const [mobileOpen, setMobileOpen] = useState(false); const dispatch = useDispatch() const navigate = useNavigate() const handleDrawerToggle = () => { setMobileOpen((prevState) => !prevState); }; const handleLogout = async () => { dispatch(handleLogoutFunction()); //await handleLogoutFunction(); navigate('/login'); }; const loginContent = ( isGLDLoggedIn() ?
  • Dashboard
  • Application
  • Proof
  • Payment
    • Payment Record
    • GFMIS Generate XML
    • Create Demand Note
    • Demand Note
  • Client
    • Users (GLD)
    • Users (Individual)
    • Users (Organisation)
    • Organisation
    • User Group
  • Email Template
  • {/*
  • Logout
  • */}
    :
  • {isCreditorLoggedIn() ? <> 付款記錄
    • 繳款通知記錄
    : }
  • {isPrimaryLoggedIn() ? <> console.log(event)}>
    : <> console.log(event)}> }
  • {/*
  • 登出
  • */}
    ); const logoutContent = (
  • ); const drawer = ( isUserLoggedIn() ? PNSPS
    • 登出
    : PNSPS ); const container = window !== undefined ? () => window().document.body : undefined; return ( isUserLoggedIn() ? // User Login success {isGLDLoggedIn() ? PNSPS : 公共啟事提交 及繳費系統 } { isGLDLoggedIn() ? : } {drawer} : {/* */} {drawer} ); } Header.propTypes = { /** * Injected by the documentation to work in an iframe. * You won't need it on your project. */ window: PropTypes.func, }; export default Header;