From 1e14a1101933dcfec3f357c590a455649db375ff Mon Sep 17 00:00:00 2001 From: piotrruss Date: Sat, 4 Sep 2021 21:55:21 +0200 Subject: add mobile styles --- components/App.js | 81 ++++++++++++++++++++++++++-------------------------- components/Header.js | 62 ++++++++++++++++++++++++++-------------- 2 files changed, 80 insertions(+), 63 deletions(-) (limited to 'components') diff --git a/components/App.js b/components/App.js index b24aead..c539e72 100644 --- a/components/App.js +++ b/components/App.js @@ -1,7 +1,7 @@ import React, {useEffect, useRef} from 'react' import useSettings from 'hooks/useSettings' import useMediaQuery from 'hooks/useMediaQuery' -import {close, toggleMin, toggleMax, move} from 'helpers/windowActions' +import {close, toggleMin, toggleMax, move, focus} from 'helpers/windowActions' import {faArrowUp, faExpandAlt, faTimes, faCompressAlt} from '@fortawesome/free-solid-svg-icons' import {FontAwesomeIcon} from '@fortawesome/react-fontawesome' @@ -11,50 +11,49 @@ const App = ({children, app, setApps}) => { const forceMax = useMediaQuery(`(max-width: ${app.width}), (max-height: ${app.height})`); useEffect(() => { - move(app.name, winRef, setApps) + move(app, winRef, setApps) }, []) return ( - <> -
-

{t(app.name)}

-
{children}
-
- { app.buttons.includes('min') && ( - toggleMin(app.name, setApps)}> - - - )} - { app.buttons.includes('max') && !forceMax && ( - toggleMax(app.name, setApps)}> - - - )} - { app.buttons.includes('close') && ( - close(app.name, setApps)}> - - - )} -
+
{focus(app.name, setApps)}} + className={ + 'window' + + (app.min ? ' hidden' : '') + + (app.max || forceMax ? ' maximized' : '') + } + style={{ + height: app.height, + width: app.width, + ...app.pos.length + ? {top: app.pos[1], left: app.pos[0]} + : { + top: `calc((( 100vh - ${app.height} ) / 2) + 2em)`, + left: `calc(( 100vw - ${app.width} ) / 2)`, + } + }} + > +

{t(app.name)}

+
{children}
+
+ { app.buttons.includes('min') && ( + toggleMin(app.name, setApps)}> + + + )} + { app.buttons.includes('max') && !forceMax && ( + toggleMax(app.name, setApps)}> + + + )} + { app.buttons.includes('close') && ( + close(app.name, setApps)}> + + + )}
- +
) } diff --git a/components/Header.js b/components/Header.js index 9ff3d75..83f0ff9 100644 --- a/components/Header.js +++ b/components/Header.js @@ -5,12 +5,15 @@ import Link from 'next/link' import useUser from 'hooks/useUser' import fetchJson from 'helpers/fetchJson' import {focus, toggleMin} from 'helpers/windowActions' -import {open} from 'helpers/windowActions' +import {open, close} from 'helpers/windowActions' import appList from 'configs/appList' import useSettings from 'hooks/useSettings' +import {faTimes} from '@fortawesome/free-solid-svg-icons' +import {FontAwesomeIcon} from '@fortawesome/react-fontawesome' const Header = ({apps, setApps}) => { - const [userMenu, setUserMenu] = useState(false); + const [userMenu, setUserMenu] = useState(false) + const [showApps, setShowApps] = useState(false) const {user, mutateUser} = useUser() const {t} = useSettings() const router = useRouter() @@ -24,7 +27,6 @@ const Header = ({apps, setApps}) => { router.push('/login') } - const handleClick = (app, setApps) => { if (app.min) { toggleMin(app.name, setApps) @@ -35,25 +37,41 @@ const Header = ({apps, setApps}) => { return (