/
ContextProject.njs
53 lines (48 loc) · 1.8 KB
/
ContextProject.njs
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
import Nullstack from 'nullstack'
class ContextProject extends Nullstack {
static async start({ project }) {
project.color = '#d22365'
project.backgroundColor = '#d22365'
project.type = 'website'
project.display = 'standalone'
project.orientation = 'portrait'
project.scope = '/'
project.root = '/'
project.folderIcons = project.icons
project.icons = {
72: '/icon-72x72.png',
144: '/icon-144x144.png',
}
project.favicon = '/favicon-96x96.png'
project.disallow = ['/admin']
project.sitemap = true
project.viewport = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no viewport-fit=cover'
}
render({ project }) {
const ignoredUnmatchedIcon = !Object.keys(project.folderIcons).find((key) => /icon-(\d+)x\1\.[a-zA-Z]+/.test(key))
return (
<div>
<div data-project={!!project} />
<div data-name={project.name} />
<div data-short-name={project.shortName} />
<div data-domain={project.domain} />
<div data-color={project.color} />
<div data-background-color={project.backgroundColor} />
<div data-type={project.type} />
<div data-display={project.display} />
<div data-orientation={project.orientation} />
<div data-scope={project.scope} />
<div data-root={project.root} />
<div data-icons={!!project.icons} />
<div data-icon-72={project.icons['72']} />
<div data-favicon={project.favicon} />
<div data-disallow={!!project.disallow} />
<div data-disallow-admin={project.disallow[0]} />
<div data-sitemap={project.sitemap} />
<div data-viewport={project.viewport} />
<div data-ignored-unmatched-icon={ignoredUnmatchedIcon} />
</div>
)
}
}
export default ContextProject