aboutsummaryrefslogtreecommitdiffstats
path: root/components/App.js
diff options
context:
space:
mode:
authorGravatar piotrruss <mail@pruss.it> 2021-08-22 14:33:54 +0200
committerGravatar piotrruss <mail@pruss.it> 2021-08-29 15:35:49 +0200
commit9f74c550927671f4ded301d0cf3e9d592716375c (patch)
tree6075bead5939bfb9c3b6137fc5ef865f088b57cb /components/App.js
parent71cc09db93ec9b079a30593e14ca57c98fdc94ac (diff)
downloadmy_apps-9f74c550927671f4ded301d0cf3e9d592716375c.tar.gz
my_apps-9f74c550927671f4ded301d0cf3e9d592716375c.tar.bz2
my_apps-9f74c550927671f4ded301d0cf3e9d592716375c.zip
settings
Diffstat (limited to 'components/App.js')
-rw-r--r--components/App.js46
1 files changed, 30 insertions, 16 deletions
diff --git a/components/App.js b/components/App.js
index a68e593..59fd5a0 100644
--- a/components/App.js
+++ b/components/App.js
@@ -3,11 +3,11 @@ import {close, toggleMin, toggleMax, move} from 'helpers/windowActions'
import {faArrowUp, faExpandAlt, faTimes, faCompressAlt} from '@fortawesome/free-solid-svg-icons'
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'
-const App = ({children, app, apps, setApps}) => {
+const App = ({children, app, setApps}) => {
const winRef = useRef(null);
useEffect(() => {
- move(app.name, winRef, apps, setApps)
+ move(app.name, winRef, setApps)
}, [])
return (
@@ -15,26 +15,40 @@ const App = ({children, app, apps, setApps}) => {
<div
ref={winRef}
className={
- 'list window'
+ 'window'
+ (app.min ? ' hidden' : '')
+ (app.max ? ' maximized' : '')
}
- style={app.pos.length ? {top: app.pos[1], left: app.pos[0]} : {}}
- tabIndex={0}
+ style={{
+ maxHeight: app.height,
+ maxWidth: 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)`,
+ }
+ }}
>
- <h2 className='window__title'>Notes</h2>
+ <h2 className='window__title'>{app.name}</h2>
+ <div className='window__content'>{children}</div>
<div className='window__title-buttons'>
- <span onClick={() => toggleMin('Notes', apps, setApps)}>
- <FontAwesomeIcon icon={faArrowUp} />
- </span>
- <span onClick={() => toggleMax('Notes', apps, setApps)}>
- <FontAwesomeIcon icon={app.max ? faCompressAlt : faExpandAlt} />
- </span>
- <span onClick={() => close('Notes', apps, setApps)}>
- <FontAwesomeIcon icon={faTimes} />
- </span>
+ { app.buttons.includes('min') && (
+ <span onClick={() => toggleMin(app.name, setApps)}>
+ <FontAwesomeIcon icon={faArrowUp} />
+ </span>
+ )}
+ { app.buttons.includes('max') && (
+ <span onClick={() => toggleMax(app.name, setApps)}>
+ <FontAwesomeIcon icon={app.max ? faCompressAlt : faExpandAlt} />
+ </span>
+ )}
+ { app.buttons.includes('close') && (
+ <span onClick={() => close(app.name, setApps)}>
+ <FontAwesomeIcon icon={faTimes} />
+ </span>
+ )}
</div>
- <div className='window__content'>{children}</div>
</div>
</>
)