import React, { useState, useEffect } from 'react'; import { Layout, Menu, Row, Col } from 'antd'; import { GlobalOutlined, PhoneOutlined, HomeOutlined, MailOutlined } from '@ant-design/icons'; import Burger from '@animated-burgers/burger-slip'; import '@animated-burgers/burger-slip/dist/styles.css'; import classNames from 'classnames'; import { BrowserRouter as Router, Switch, Route, Link, Redirect } from "react-router-dom"; import Analytics from './common/Analytics'; import Cluar from './common/Cluar'; import Builder from './common/Builder'; import Cookies from './components/Cookies'; import NotFound from './pages/NotFound'; import './styles/App.less'; const { Header, Content, Footer } = Layout; const { SubMenu } = Menu; export default () => { const storageLocale = window.localStorage.getItem('locale'); if (storageLocale == null) { window.localStorage.setItem('locale', Cluar.currentLanguage().locale); } else { Cluar.changeLanguage(storageLocale); } const [burgerMenu, setBurgerMenu] = useState(false); const [activeMenu, setActiveMenu] = useState('main'); const [locale, setLocale] = useState(Cluar.currentLanguage().locale); const handleMenuClick = (selectMenu) => { setBurgerMenu(false); if (selectMenu) { setActiveMenu(selectMenu); } window.scrollTo(0, 0); }; const menuLanguages = []; const menu = []; const subMenuKeys = []; const routes = []; for (const language of Cluar.languages()) { if (!Cluar.pages()[language.code]) { continue; } if (language.code !== Cluar.currentLanguage().code) { menuLanguages.push( { Cluar.changeLanguage(language.locale); window.localStorage.setItem('locale', Cluar.currentLanguage().locale); window.location.href = `/${language.locale}/`; }}>{language.description} ); } const buildMenu = (page) => { if (page.menu && language.code === Cluar.currentLanguage().code) { const key = `${page.link}`; if (Cluar.pages()[language.code].find((p) => p.menu && p.parent === page.link)) { subMenuKeys.push(key); return ( handleMenuClick(key)}> {page.title} }> { Cluar.pages()[language.code].filter((p) => p.menu && p.parent === page.link).map((p) => buildMenu(p))} ); } else { return ( handleMenuClick(key)}> {page.title} ); } } return null; }; const subroutes = []; for (const page of Cluar.pages()[language.code]) { if (page.menu && page.parent === "" && language.code === Cluar.currentLanguage().code) { menu.push( buildMenu(page) ); } subroutes.push( { return ; }} /> ); } routes.push( {subroutes} ); } useEffect(() => { }, []); return ( { Analytics.init() && }
handleMenuClick('/')}> logo
{menu}
{menu}
{ setBurgerMenu(!burgerMenu); }} />
} title={Cluar.currentLanguage().code}> {menuLanguages}
{ return ; }} /> {routes}
logo

); }