1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
import React, {useState} from 'react'
import Head from 'next/head'
import Context from '../context';
import Header from './Header'
import Popup from './Popup'
import PropTypes from 'prop-types'
const Layout = ({ children, apps, setApps}) => {
const [popup, setPopup] = useState({})
return (
<Context.Provider value={{ setPopup }}>
<Head>
<title>Notes App</title>
</Head>
<main>
<div className="container">{children}</div>
</main>
<Header apps={apps} setApps={setApps} />
<Popup popup={popup} />
<style jsx global>{`
main {
position: fixed;
top: 2em;
left: 0;
bottom: 0;
right: 0;
}
body {
margin: 0;
color: #222;
height: 100vh;
overflow: hidden;
background: #50a3a2;
background: -webkit-linear-gradient(top left, #50a3a2 0%, #53e3a6 100%);
background: -moz-linear-gradient(top left, #50a3a2 0%, #53e3a6 100%);
background: -o-linear-gradient(top left, #50a3a2 0%, #53e3a6 100%);
background: linear-gradient(to bottom right, #50a3a2 0%, #53e3a6 100%);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
'Helvetica Neue', Arial, Noto Sans, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}
textarea, input {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
'Helvetica Neue', Arial, Noto Sans, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}
.container {
margin: 1.5rem auto;
padding-left: 2rem;
padding-right: 2rem;
}
`}</style>
</Context.Provider>
)
}
export default Layout
Layout.propTypes = {
children: PropTypes.node,
}
|