import styles from 'styles/Main.module.scss' import React, {useState, useEffect} from 'react' import useUser from 'lib/useUser' import {Layout, App, Splash} from 'components' import {open} from 'helpers/windowActions' import appList from 'helpers/appList' import Context from '../context'; const Home = () => { const [settings, setSettings] = useState() const [apps, setApps] = useState([]) const {user} = useUser({ redirectToLogin: true, redirectToVerify: true, redirectToApps: true, }) useEffect(() => { if (user) { setSettings({theme: user.theme, language: user.language}) } }, [user]) if (!user) return ( ) const handleClick = (e, appProps) => { switch (e.detail) { case 1: e.currentTarget.focus() break; case 2: open(appProps, setApps) e.currentTarget.blur() break; } }; const handleKey = (e, appProps) => { if (e.key === 'Enter') { open(appProps, setApps) } } return ( <> { Object.entries(appList).filter(a => a[1].icon).map(a => (
handleClick(e, {appName: a[0], ...a[1]})} onKeyDown={e => handleKey(e, {appName: a[0], ...a[1]})} tabIndex="0" > {`${a[0]}

{a[0]}

)) } {apps && apps.map(app => { const AppComponent = appList[app.name].component return ( ); })}
) } export default Home