diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/Header.js | 13 | ||||
-rw-r--r-- | components/Layout.js | 26 |
2 files changed, 21 insertions, 18 deletions
diff --git a/components/Header.js b/components/Header.js index 5e4ff12..2db8178 100644 --- a/components/Header.js +++ b/components/Header.js @@ -3,11 +3,11 @@ import React, { useState } from 'react' import { useRouter } from 'next/router' import Link from 'next/link' import useUser from 'hooks/useUser' -import fetchJson from 'helpers/fetchJson' import { focus, toggleMin, open, close } from 'helpers/windowActions' import appList from 'configs/appList' import useSettings from 'hooks/useSettings' import useApps from 'hooks/useApps' +import handleLogout from 'helpers/logout' import { faArrowUp, faTimes } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' @@ -19,15 +19,6 @@ const Header = () => { const { t } = useSettings() const router = useRouter() - const handleLogout = async (e) => { - e.preventDefault() - mutateUser( - await fetchJson('/api/logout', { method: 'POST' }), - false - ) - router.push('/login') - } - const handleClick = (app, setApps) => { if (app.min) { toggleMin(app.name, apps, setApps) @@ -118,7 +109,7 @@ const Header = () => { </li> )} <li> - <span onClick={handleLogout}> + <span onClick={e => handleLogout(e, router, mutateUser)}> {t('logout')} </span> </li> diff --git a/components/Layout.js b/components/Layout.js index 7caa5a5..8c48dd5 100644 --- a/components/Layout.js +++ b/components/Layout.js @@ -1,4 +1,5 @@ import styles from 'styles/Main.module.scss' +import Head from 'next/head' import React from 'react' import { Header, Popup } from 'components' import useSettings from 'hooks/useSettings' @@ -12,13 +13,24 @@ const Layout = ({ if (!settings || !settings.theme || !settings.language) return null return ( - <section className={styles.layout + ' ' + settings.theme}> - <main> - <div className='container'>{children}</div> - </main> - <Header /> - <Popup /> - </section> + <> + <Head> + <link rel='apple-touch-icon' sizes='180x180' href='/apple-touch-icon.png' /> + <link rel='icon' type='image/png' sizes='32x32' href='/favicon-32x32.png' /> + <link rel='icon' type='image/png' sizes='16x16' href='/favicon-16x16.png' /> + <link rel='manifest' href='/site.webmanifest' /> + <link rel='mask-icon' href='/safari-pinned-tab.svg' color='#5bbad5' /> + <meta name='msapplication-TileColor' content='#da532c' /> + <meta name='theme-color' content='#ffffff' /> + </Head> + <section className={styles.layout + ' ' + settings.theme}> + <main> + <div className='container'>{children}</div> + </main> + <Header /> + <Popup /> + </section> + </> ) } |