aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/Header.js13
-rw-r--r--components/Layout.js26
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>
+ </>
)
}