aboutsummaryrefslogtreecommitdiffstats
path: root/pages/Notes.js
diff options
context:
space:
mode:
authorGravatar piotrruss <mail@pruss.it> 2021-09-30 22:48:13 +0200
committerGravatar piotrruss <mail@pruss.it> 2021-10-01 00:53:11 +0200
commit79bdb88a5fc099b5871a83d18eadf9b0448b41d1 (patch)
treed0a8e48dda7649205e08d17c2fa0de938e27a674 /pages/Notes.js
parentcf1fbb69d7cdb67219be187fc38feea5a6325f45 (diff)
downloadmy_apps-79bdb88a5fc099b5871a83d18eadf9b0448b41d1.tar.gz
my_apps-79bdb88a5fc099b5871a83d18eadf9b0448b41d1.tar.bz2
my_apps-79bdb88a5fc099b5871a83d18eadf9b0448b41d1.zip
added favicons & notes route for phone
Diffstat (limited to 'pages/Notes.js')
-rw-r--r--pages/Notes.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/pages/Notes.js b/pages/Notes.js
new file mode 100644
index 0000000..5ed91cf
--- /dev/null
+++ b/pages/Notes.js
@@ -0,0 +1,60 @@
+import styles from 'styles/Main.module.scss'
+import React, { useMemo, Suspense, useEffect } from 'react'
+import Head from 'next/head'
+import useApps from 'hooks/useApps'
+import useSettings from 'hooks/useSettings'
+import useUser from 'hooks/useUser'
+import { Splash, Popup } from 'components'
+
+const NotesApp = () => {
+ const { user } = useUser({
+ redirectToLogin: true,
+ redirectToVerify: true
+ })
+ const app = { name: 'Notes', min: false, max: true, height: '48em', width: '64em', pos: [], buttons: [], props: {} }
+ const { apps, setApps } = useApps([app])
+ const { settings } = useSettings()
+
+ useEffect(() => setApps([app]), [])
+
+ if (!user || !apps || apps.length < 1 || !settings || !settings.theme || !settings.language) return null
+
+ return (
+ <>
+ <Head>
+ <title>My Notes</title>
+ <link rel='apple-touch-icon' sizes='180x180' href='/notes/apple-touch-icon.png' />
+ <link rel='icon' type='image/png' sizes='32x32' href='/notes/favicon-32x32.png' />
+ <link rel='icon' type='image/png' sizes='16x16' href='/notes/favicon-16x16.png' />
+ <link rel='manifest' href='/notes/site.webmanifest' />
+ <link rel='mask-icon' href='/notes/safari-pinned-tab.svg' color='#ffc40d' />
+ <link rel='shortcut icon' href='/notes/favicon.ico' />
+ <meta name='msapplication-TileColor' content='#ffc40d' />
+ <meta name='msapplication-config' content='/notes/browserconfig.xml' />
+ <meta name='theme-color' content='#ffffff' />
+ </Head>
+ <section className={styles.layout + ' ' + settings.theme}>
+ <main className='window__content noHeader'>
+ <NotesContainer />
+ </main>
+ <Popup />
+ </section>
+ </>
+ )
+}
+
+const NotesContainer = () => {
+ const Notes = React.lazy(() => import('apps/Notes'))
+
+ const Component = useMemo(() => (
+ <Suspense fallback={<Splash fixed />}>
+ <Notes logout />
+ </Suspense>
+ ), [])
+
+ return Notes
+ ? Component
+ : null
+}
+
+export default NotesApp