import {
DesktopOutlined,
GlobalOutlined,
LogoutOutlined,
SettingOutlined,
UserOutlined,
} from "@ant-design/icons";
import { Layout, Menu, MenuProps, Popover } from "antd";
import React, { useState } from "react";
import AuthModal from "./AuthModal";
import "./styles.css";
import { StorePrototype, logOut, setLanguage, store } from "../config/store";
import { useSelector } from "react-redux";
import tr from "../config/translation";
import { Link, useNavigate } from "react-router-dom";
import logo from "../../static/android-chrome-192x192.png";
const { Header } = Layout;
type NullableUser = { name: string | null; username: string } | null;
const HeaderComponent = () => {
const navigate = useNavigate();
const [authModalOpen, setAuthModalOpen] = useState(false);
const [userMenuOpen, setUserMenuOpen] = useState(false);
const [languageSelectOpen, setLanguageSelectOpen] = useState(false);
const currentLanguage = useSelector(
(state: StorePrototype) => state.settings.language
);
const user: NullableUser = useSelector(
(state: StorePrototype) => state.auth.user
);
const languageSelectItems: MenuProps["items"] = [
{
label: "English",
key: "en",
onClick: () => {
store.dispatch(setLanguage("en"));
window.location.reload();
},
},
{
label: "Русский",
key: "ru",
onClick: () => {
store.dispatch(setLanguage("ru"));
window.location.reload();
},
},
];
const userMenuItems: MenuProps["items"] = [
{
label: {tr("Settings")},
key: "settings",
icon: