zmp-cli 3.15.6 → 3.15.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/build/index.js +1 -184
- package/config/index.js +1 -44
- package/create/index.js +1 -230
- package/create/utils/generate-app-config.js +1 -34
- package/create/utils/generate-npm-scripts.js +1 -26
- package/create/utils/get-options.js +1 -204
- package/create/utils/npm-scripts.js +1 -62
- package/deploy/index.js +1 -149
- package/deploy/utils/get-options.js +1 -69
- package/deploy/utils/request-upload.js +1 -34
- package/deploy/utils/upload-app.js +1 -82
- package/index.js +1 -319
- package/login/index.js +1 -169
- package/login/utils/get-options.js +1 -58
- package/login/utils/zalo-login.js +1 -32
- package/migrate/icons/update-icon-v3.js +1 -19
- package/migrate/index.js +1 -60
- package/migrate/utils/get-options.js +1 -46
- package/migrate/utils/migrate-react.js +1 -33
- package/package.json +13 -40
- package/start/frame/index.html +264 -254
- package/start/index.js +1 -382
- package/sync/index-to-app-config.js +1 -146
- package/sync/index.js +1 -55
- package/utils/axios.js +1 -15
- package/utils/check-update.js +1 -53
- package/utils/constants.js +1 -20
- package/utils/env.js +1 -39
- package/utils/error.js +1 -16
- package/utils/find-files-by-ext.js +1 -27
- package/utils/find-free-port.js +1 -11
- package/utils/fs-extra.js +1 -90
- package/utils/generate-pages-map.js +1 -17
- package/utils/get-app-info.js +1 -22
- package/utils/get-current-project.js +1 -25
- package/utils/get-ip.js +1 -19
- package/utils/log.js +1 -19
- package/utils/node-blob.js +1 -106
- package/utils/resumable.d.js +1 -0
- package/utils/resumable.js +1 -1204
- package/utils/spinner.js +1 -25
- package/utils/tunnel.js +1 -36
- package/.editorconfig +0 -15
- package/.eslintignore +0 -8
- package/.eslintrc.js +0 -10
- package/.vscode/launch.json +0 -23
- package/LICENSE +0 -21
- package/README.git.md +0 -37
- package/assets/index.js +0 -147
- package/build/dist/index.dev.js +0 -217
- package/config/dist/index.dev.js +0 -48
- package/create/init-zmp-ui.js +0 -216
- package/create/templates/app-parameters.js +0 -33
- package/create/templates/common/css/icons.css +0 -60
- package/create/templates/common/icons/512x512.png +0 -0
- package/create/templates/common/icons/apple-touch-icon.png +0 -0
- package/create/templates/common/icons/favicon.png +0 -0
- package/create/templates/common/postcss.config.js +0 -5
- package/create/templates/common/splash-2732x2732.png +0 -0
- package/create/templates/common/tailwind/postcss.config.js +0 -5
- package/create/templates/common/tailwind/tailwind.config.js +0 -9
- package/create/templates/common/tailwind/tailwind.css +0 -3
- package/create/templates/common/webpack/build.js +0 -41
- package/create/templates/copy-assets.js +0 -158
- package/create/templates/core/babel.config.js +0 -11
- package/create/templates/core/copy-assets.js +0 -83
- package/create/templates/core/generate-home-page.js +0 -143
- package/create/templates/core/generate-root.js +0 -283
- package/create/templates/core/generate-routes.js +0 -155
- package/create/templates/core/generate-scripts.js +0 -94
- package/create/templates/core/pages/404.html +0 -20
- package/create/templates/core/pages/about.html +0 -26
- package/create/templates/core/pages/catalog.html +0 -40
- package/create/templates/core/pages/dynamic-route.html +0 -115
- package/create/templates/core/pages/form.html +0 -258
- package/create/templates/core/pages/left-page-1.html +0 -24
- package/create/templates/core/pages/left-page-2.html +0 -23
- package/create/templates/core/pages/product.html +0 -36
- package/create/templates/core/pages/request-and-load.html +0 -35
- package/create/templates/core/pages/settings.html +0 -252
- package/create/templates/create-folders.js +0 -30
- package/create/templates/dist/generate-styles.dev.js +0 -46
- package/create/templates/generate-config-xml.js +0 -18
- package/create/templates/generate-index.js +0 -49
- package/create/templates/generate-manifest.js +0 -49
- package/create/templates/generate-recoil.js +0 -56
- package/create/templates/generate-routes.js +0 -16
- package/create/templates/generate-scripts.js +0 -16
- package/create/templates/generate-service-worker.js +0 -126
- package/create/templates/generate-store.js +0 -88
- package/create/templates/generate-styles.js +0 -110
- package/create/templates/generate-webpack-config.js +0 -335
- package/create/templates/generate-zmp-custom.js +0 -81
- package/create/templates/react/babel.config.js +0 -12
- package/create/templates/react/components/app-items.jsx +0 -44
- package/create/templates/react/components/navbar-back.jsx +0 -25
- package/create/templates/react/components/user-card.jsx +0 -18
- package/create/templates/react/copy-assets.js +0 -85
- package/create/templates/react/dist/generate-scripts.dev.js +0 -23
- package/create/templates/react/generate-home-page.js +0 -111
- package/create/templates/react/generate-root.js +0 -84
- package/create/templates/react/generate-routes.js +0 -16
- package/create/templates/react/generate-scripts.js +0 -68
- package/create/templates/react/pages/404.js +0 -27
- package/create/templates/react/pages/about.js +0 -52
- package/create/templates/react/pages/catalog.js +0 -112
- package/create/templates/react/pages/dynamic-route.js +0 -80
- package/create/templates/react/pages/form.js +0 -152
- package/create/templates/react/pages/index copy.js +0 -17
- package/create/templates/react/pages/index.js +0 -17
- package/create/templates/react/pages/settings.js +0 -76
- package/create/templates/react/pages/user.js +0 -56
- package/create/templates/react/vite.config.js +0 -11
- package/create/templates/react-typescript/_tsconfig.json +0 -33
- package/create/templates/react-typescript/components/app-items.js +0 -53
- package/create/templates/react-typescript/components/index.js +0 -9
- package/create/templates/react-typescript/components/navbar-back.js +0 -40
- package/create/templates/react-typescript/components/user-card.js +0 -32
- package/create/templates/react-typescript/copy-assets.js +0 -94
- package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
- package/create/templates/react-typescript/generate-home-page.js +0 -113
- package/create/templates/react-typescript/generate-root.js +0 -81
- package/create/templates/react-typescript/generate-routes.js +0 -12
- package/create/templates/react-typescript/generate-scripts.js +0 -67
- package/create/templates/react-typescript/pages/404.js +0 -27
- package/create/templates/react-typescript/pages/about.js +0 -52
- package/create/templates/react-typescript/pages/catalog.js +0 -112
- package/create/templates/react-typescript/pages/dynamic-route.js +0 -80
- package/create/templates/react-typescript/pages/form.js +0 -152
- package/create/templates/react-typescript/pages/index.js +0 -17
- package/create/templates/react-typescript/pages/settings.js +0 -76
- package/create/templates/react-typescript/pages/user.js +0 -56
- package/create/templates/react-typescript/vite.config.js +0 -21
- package/create/templates/svelte/babel.config.js +0 -10
- package/create/templates/svelte/copy-assets.js +0 -47
- package/create/templates/svelte/generate-home-page.js +0 -158
- package/create/templates/svelte/generate-root.js +0 -235
- package/create/templates/svelte/generate-routes.js +0 -91
- package/create/templates/svelte/generate-scripts.js +0 -47
- package/create/templates/svelte/pages/404.svelte +0 -10
- package/create/templates/svelte/pages/about.svelte +0 -16
- package/create/templates/svelte/pages/catalog.svelte +0 -31
- package/create/templates/svelte/pages/dynamic-route.svelte +0 -34
- package/create/templates/svelte/pages/form.svelte +0 -175
- package/create/templates/svelte/pages/left-page-1.svelte +0 -13
- package/create/templates/svelte/pages/left-page-2.svelte +0 -12
- package/create/templates/svelte/pages/product.svelte +0 -21
- package/create/templates/svelte/pages/request-and-load.svelte +0 -21
- package/create/templates/svelte/pages/settings.svelte +0 -175
- package/create/templates/vue/babel.config.js +0 -10
- package/create/templates/vue/components/header.vue +0 -28
- package/create/templates/vue/components/sun-and-moon.vue +0 -34
- package/create/templates/vue/copy-assets.js +0 -67
- package/create/templates/vue/generate-home-page.js +0 -56
- package/create/templates/vue/generate-root.js +0 -50
- package/create/templates/vue/generate-routes.js +0 -7
- package/create/templates/vue/generate-scripts.js +0 -63
- package/create/templates/vue/global-components.d.ts +0 -121
- package/create/templates/vue/icons/moon.svg +0 -3
- package/create/templates/vue/icons/sun.svg +0 -3
- package/create/templates/vue/pages/404.vue +0 -12
- package/create/templates/vue/pages/about.vue +0 -15
- package/create/templates/vue/pages/catalog.vue +0 -39
- package/create/templates/vue/pages/dynamic-route.vue +0 -34
- package/create/templates/vue/pages/form.vue +0 -162
- package/create/templates/vue/pages/left-page-1.vue +0 -14
- package/create/templates/vue/pages/left-page-2.vue +0 -11
- package/create/templates/vue/pages/product.vue +0 -31
- package/create/templates/vue/pages/request-and-load.vue +0 -25
- package/create/templates/vue/pages/settings.vue +0 -18
- package/create/templates/vue/vite.config.js +0 -11
- package/create/templates/zaui/_tsconfig.json +0 -33
- package/create/templates/zaui/babel.config.js +0 -12
- package/create/templates/zaui/components/user-card.jsx +0 -16
- package/create/templates/zaui/copy-assets.js +0 -90
- package/create/templates/zaui/generate-home-page.js +0 -117
- package/create/templates/zaui/generate-root.js +0 -53
- package/create/templates/zaui/generate-routes.js +0 -10
- package/create/templates/zaui/generate-scripts.js +0 -39
- package/create/templates/zaui/generate-user-card.js +0 -55
- package/create/templates/zaui/pages/about.js +0 -129
- package/create/templates/zaui/pages/form.js +0 -123
- package/create/templates/zaui/pages/index.js +0 -9
- package/create/templates/zaui/pages/user.js +0 -109
- package/create/templates/zaui/vite.config.js +0 -11
- package/create/utils/colors.js +0 -94
- package/create/utils/dist/get-options.dev.js +0 -277
- package/create/utils/generate-gitignore.js +0 -43
- package/create/utils/generate-package-json.js +0 -132
- package/create/utils/generate-readme.js +0 -28
- package/create/utils/indent.js +0 -31
- package/create/utils/string.js +0 -13
- package/create/utils/styles-extension.js +0 -9
- package/create/utils/template-if.js +0 -9
- package/deploy/dist/index.dev.js +0 -227
- package/deploy/utils/dist/request-upload.dev.js +0 -62
- package/deploy/utils/dist/upload-app.dev.js +0 -113
- package/dist/bundle.js +0 -1
- package/dist/index.dev.js +0 -352
- package/jsconfig.json +0 -8
- package/login/dist/index.dev.js +0 -223
- package/login/utils/dist/zalo-login.dev.js +0 -41
- package/screenshots/wellcome.jpg +0 -0
- package/show-qr-app/assets/css/style.css +0 -87
- package/show-qr-app/assets/js/qrcode.min.js +0 -1
- package/show-qr-app/index.html +0 -57
- package/show-qr-app/package.json +0 -14
- package/start/dist/index.dev.js +0 -312
- package/start/generate-hr-config.js +0 -59
- package/ui/server.js +0 -194
- package/ui/www/css/app.css +0 -1
- package/ui/www/css/app.css.map +0 -1
- package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
- package/ui/www/images/logo.png +0 -0
- package/ui/www/index.html +0 -1
- package/ui/www/js/app.js +0 -3
- package/ui/www/js/app.js.LICENSE.txt +0 -20
- package/ui/www/js/app.js.map +0 -1
- package/ui/www/static/icons/apple-touch-icon.png +0 -0
- package/ui/www/static/icons/favicon.png +0 -0
- package/utils/dist/get-app-info.dev.js +0 -54
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
const indent = require('../../../utils/indent');
|
|
2
|
-
|
|
3
|
-
module.exports = (options) => {
|
|
4
|
-
const { template } = options;
|
|
5
|
-
const hideNavBar =
|
|
6
|
-
template === 'tabs'
|
|
7
|
-
? `onPageBeforeIn={()=>{
|
|
8
|
-
//hide navbar
|
|
9
|
-
zmp.toolbar.hide('#app-tab-bar')
|
|
10
|
-
}}`
|
|
11
|
-
: '';
|
|
12
|
-
|
|
13
|
-
if (options.stateManagement === 'recoil') {
|
|
14
|
-
return indent(
|
|
15
|
-
0,
|
|
16
|
-
`
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import { Button, Card, Input, Page, Box, zmp } from 'zmp-framework/react';
|
|
19
|
-
import { useRecoilState } from 'recoil';
|
|
20
|
-
import { userState } from '../state';
|
|
21
|
-
import NavbarBack from '../components/navbar-back';
|
|
22
|
-
|
|
23
|
-
const FormPage = () => {
|
|
24
|
-
const [user, setUser] = useRecoilState(userState)
|
|
25
|
-
|
|
26
|
-
const [form, setForm] = React.useState({ ...user });
|
|
27
|
-
const toast = React.useRef<any>(null)
|
|
28
|
-
|
|
29
|
-
const handleChangeInput = (field, value) => {
|
|
30
|
-
setForm({ ...form, [field]: value })
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const handleSubmit = () => {
|
|
34
|
-
if (!toast.current) {
|
|
35
|
-
toast.current = zmp.toast.create({
|
|
36
|
-
text: 'Saved',
|
|
37
|
-
position: 'bottom',
|
|
38
|
-
closeTimeout: 2000,
|
|
39
|
-
})
|
|
40
|
-
}
|
|
41
|
-
setUser(form);
|
|
42
|
-
toast.current.open()
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<Page
|
|
47
|
-
name="user-form"
|
|
48
|
-
${hideNavBar}
|
|
49
|
-
>
|
|
50
|
-
<NavbarBack title="Update user info" />
|
|
51
|
-
<Box>
|
|
52
|
-
<Card inset>
|
|
53
|
-
<Input
|
|
54
|
-
id="name"
|
|
55
|
-
label="Name"
|
|
56
|
-
type="text"
|
|
57
|
-
placeholder="Zalo"
|
|
58
|
-
value={form?.name}
|
|
59
|
-
onChange={(e) => handleChangeInput('name', e.target.value)}
|
|
60
|
-
/>
|
|
61
|
-
<Input
|
|
62
|
-
label="Avatar"
|
|
63
|
-
type="text"
|
|
64
|
-
placeholder="zalo@zalo.me"
|
|
65
|
-
value={form?.avatar}
|
|
66
|
-
onChange={(e) => handleChangeInput('avatar', e.target.value)}
|
|
67
|
-
/>
|
|
68
|
-
<Box mx="0" mt="4">
|
|
69
|
-
<Button responsive typeName="primary" onClick={handleSubmit}>
|
|
70
|
-
Submit
|
|
71
|
-
</Button>
|
|
72
|
-
</Box>
|
|
73
|
-
</Card>
|
|
74
|
-
</Box>
|
|
75
|
-
</Page>
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export default FormPage;
|
|
80
|
-
`
|
|
81
|
-
).trim();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return indent(
|
|
85
|
-
0,
|
|
86
|
-
`
|
|
87
|
-
import React from 'react';
|
|
88
|
-
import { Button, Card, Input, Page, useStore, zmp, Box } from 'zmp-framework/react';
|
|
89
|
-
import NavbarBack from '../components/navbar-back';
|
|
90
|
-
|
|
91
|
-
import store from '../store'
|
|
92
|
-
|
|
93
|
-
const FormPage = () => {
|
|
94
|
-
const user = useStore('user')
|
|
95
|
-
|
|
96
|
-
const [form, setForm] = React.useState({ ...user });
|
|
97
|
-
const toast = React.useRef<any>(null)
|
|
98
|
-
|
|
99
|
-
const handleChangeInput = (field, value) => {
|
|
100
|
-
setForm({ ...form, [field]: value })
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const handleSubmit = () => {
|
|
104
|
-
if (!toast.current) {
|
|
105
|
-
toast.current = zmp.toast.create({
|
|
106
|
-
text: 'Saved',
|
|
107
|
-
position: 'bottom',
|
|
108
|
-
closeTimeout: 2000,
|
|
109
|
-
})
|
|
110
|
-
}
|
|
111
|
-
store.dispatch('setUser', form)
|
|
112
|
-
toast.current.open()
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return (
|
|
116
|
-
<Page
|
|
117
|
-
name="user-form"
|
|
118
|
-
${hideNavBar}
|
|
119
|
-
>
|
|
120
|
-
<NavbarBack title="Update user info" />
|
|
121
|
-
<Box>
|
|
122
|
-
<Card inset>
|
|
123
|
-
<Input
|
|
124
|
-
id="name"
|
|
125
|
-
label="Name"
|
|
126
|
-
type="text"
|
|
127
|
-
placeholder="Zalo"
|
|
128
|
-
value={form?.name}
|
|
129
|
-
onChange={(e) => handleChangeInput('name', e.target.value)}
|
|
130
|
-
/>
|
|
131
|
-
<Input
|
|
132
|
-
label="Avatar"
|
|
133
|
-
type="text"
|
|
134
|
-
placeholder="zalo@zalo.me"
|
|
135
|
-
value={form?.avatar}
|
|
136
|
-
onChange={(e) => handleChangeInput('avatar', e.target.value)}
|
|
137
|
-
/>
|
|
138
|
-
<Box mx="0" mt="4">
|
|
139
|
-
<Button responsive typeName="primary" onClick={handleSubmit}>
|
|
140
|
-
Submit
|
|
141
|
-
</Button>
|
|
142
|
-
</Box>
|
|
143
|
-
</Card>
|
|
144
|
-
</Box>
|
|
145
|
-
</Page>
|
|
146
|
-
)
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
export default FormPage;
|
|
150
|
-
`
|
|
151
|
-
).trim();
|
|
152
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const copyUser = require('./user');
|
|
2
|
-
const copyForm = require('./form');
|
|
3
|
-
const copyDynamicRoute = require('./dynamic-route');
|
|
4
|
-
const copyAbout = require('./about');
|
|
5
|
-
const copy404 = require('./404');
|
|
6
|
-
const copySettings = require('./settings');
|
|
7
|
-
const copyCatalog = require('./catalog');
|
|
8
|
-
|
|
9
|
-
module.exports = {
|
|
10
|
-
copyUser,
|
|
11
|
-
copyForm,
|
|
12
|
-
copyDynamicRoute,
|
|
13
|
-
copyAbout,
|
|
14
|
-
copy404,
|
|
15
|
-
copySettings,
|
|
16
|
-
copyCatalog,
|
|
17
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
const indent = require('../../../utils/indent');
|
|
2
|
-
|
|
3
|
-
// eslint-disable-next-line no-unused-vars
|
|
4
|
-
module.exports = (options) => {
|
|
5
|
-
if (options.stateManagement === 'recoil') {
|
|
6
|
-
return indent(
|
|
7
|
-
0,
|
|
8
|
-
`
|
|
9
|
-
import React from "react";
|
|
10
|
-
import { useRecoilValue } from 'recoil';
|
|
11
|
-
import {
|
|
12
|
-
Page,
|
|
13
|
-
List,
|
|
14
|
-
ListItem,
|
|
15
|
-
Title,
|
|
16
|
-
Box
|
|
17
|
-
} from "zmp-framework/react";
|
|
18
|
-
import UserCard from "../components/user-card";
|
|
19
|
-
import { userState } from '../state'
|
|
20
|
-
|
|
21
|
-
const SettingsPage = () => {
|
|
22
|
-
const user = useRecoilValue(userState);
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<Page name="settings">
|
|
26
|
-
<Box m="0" p="4">
|
|
27
|
-
<Title>Settings</Title>
|
|
28
|
-
<List className="m-0">
|
|
29
|
-
<ListItem link="/user/">
|
|
30
|
-
<UserCard user={user} />
|
|
31
|
-
</ListItem>
|
|
32
|
-
</List>
|
|
33
|
-
</Box>
|
|
34
|
-
</Page>
|
|
35
|
-
);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export default SettingsPage;
|
|
39
|
-
`
|
|
40
|
-
).trim();
|
|
41
|
-
}
|
|
42
|
-
return indent(
|
|
43
|
-
0,
|
|
44
|
-
`
|
|
45
|
-
import React from "react";
|
|
46
|
-
import {
|
|
47
|
-
Page,
|
|
48
|
-
List,
|
|
49
|
-
ListItem,
|
|
50
|
-
useStore,
|
|
51
|
-
Title,
|
|
52
|
-
Box
|
|
53
|
-
} from "zmp-framework/react";
|
|
54
|
-
import UserCard from "../components/user-card";
|
|
55
|
-
|
|
56
|
-
const SettingsPage = () => {
|
|
57
|
-
const user = useStore("user");
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
<Page name="settings">
|
|
61
|
-
<Box m="0" p="4">
|
|
62
|
-
<Title>Settings</Title>
|
|
63
|
-
<List className="m-0">
|
|
64
|
-
<ListItem link="/user/">
|
|
65
|
-
<UserCard user={user} />
|
|
66
|
-
</ListItem>
|
|
67
|
-
</List>
|
|
68
|
-
</Box>
|
|
69
|
-
</Page>
|
|
70
|
-
);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export default SettingsPage;
|
|
74
|
-
`
|
|
75
|
-
).trim();
|
|
76
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const indent = require('../../../utils/indent');
|
|
2
|
-
|
|
3
|
-
module.exports = (options) => {
|
|
4
|
-
const { template, stateManagement } = options;
|
|
5
|
-
const hideNavBar =
|
|
6
|
-
template === 'tabs'
|
|
7
|
-
? `
|
|
8
|
-
onPageBeforeIn={()=>{
|
|
9
|
-
//hide navbar
|
|
10
|
-
zmp.toolbar.hide('#app-tab-bar')
|
|
11
|
-
}}`
|
|
12
|
-
: '';
|
|
13
|
-
const modules = ['Avatar', 'List', 'ListItem', 'Page', 'Title'];
|
|
14
|
-
if (stateManagement === 'store') {
|
|
15
|
-
modules.push('useStore');
|
|
16
|
-
}
|
|
17
|
-
if (template === 'tabs') {
|
|
18
|
-
modules.push('zmp');
|
|
19
|
-
}
|
|
20
|
-
return indent(
|
|
21
|
-
0,
|
|
22
|
-
`
|
|
23
|
-
import React from 'react'
|
|
24
|
-
import { ${modules.join(', ')} } from 'zmp-framework/react'
|
|
25
|
-
import NavbarBack from '../components/navbar-back'${stateManagement === 'recoil' ? `
|
|
26
|
-
import { useRecoilValue } from 'recoil';
|
|
27
|
-
import { userState } from '../state';` : ''}
|
|
28
|
-
|
|
29
|
-
const UserPage = () => {
|
|
30
|
-
${stateManagement === 'recoil' ? 'const user = useRecoilValue(userState);' : `const user = useStore('user')`}
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<Page
|
|
34
|
-
name="user"${hideNavBar}
|
|
35
|
-
>
|
|
36
|
-
<NavbarBack
|
|
37
|
-
title="User info"
|
|
38
|
-
linkRight="/form"
|
|
39
|
-
labelRight="Edit"
|
|
40
|
-
/>
|
|
41
|
-
<div style={{ textAlign: 'center', marginTop: 32 }}>
|
|
42
|
-
<Avatar story online src={user.avatar.startsWith('http') ? user.avatar : null}>{user.avatar}</Avatar>
|
|
43
|
-
<Title style={{ marginTop: 8 }}>{user.name}</Title>
|
|
44
|
-
</div>
|
|
45
|
-
<List>
|
|
46
|
-
<ListItem title="Display name" after={user.name} />
|
|
47
|
-
<ListItem title="ID" after={user.id} />
|
|
48
|
-
</List>
|
|
49
|
-
</Page>
|
|
50
|
-
)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export default UserPage;
|
|
54
|
-
`
|
|
55
|
-
).trim();
|
|
56
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const indent = require('../../utils/indent');
|
|
2
|
-
|
|
3
|
-
module.exports = (options) => {
|
|
4
|
-
return indent(
|
|
5
|
-
0,
|
|
6
|
-
`
|
|
7
|
-
import { defineConfig } from 'vite'
|
|
8
|
-
import reactRefresh from '@vitejs/plugin-react-refresh'
|
|
9
|
-
|
|
10
|
-
// https://vitejs.dev/config/
|
|
11
|
-
export default () => {
|
|
12
|
-
return defineConfig({
|
|
13
|
-
root: './src',
|
|
14
|
-
base: '',
|
|
15
|
-
plugins: [reactRefresh()],
|
|
16
|
-
})
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
`
|
|
20
|
-
).trim();
|
|
21
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
const generateHomePage = require('./generate-home-page');
|
|
3
|
-
const generateRoot = require('./generate-root');
|
|
4
|
-
const generateStore = require('../generate-store');
|
|
5
|
-
|
|
6
|
-
module.exports = (options) => {
|
|
7
|
-
const cwd = options.cwd || process.cwd();
|
|
8
|
-
const { template, bundler } = options;
|
|
9
|
-
const toCopy = [];
|
|
10
|
-
|
|
11
|
-
// Copy Pages
|
|
12
|
-
const pages = [
|
|
13
|
-
...(template !== 'blank' ? ['404', 'about', 'dynamic-route', 'form'] : []),
|
|
14
|
-
...(template === 'tabs' ? ['catalog', 'product', 'settings'] : []),
|
|
15
|
-
...(template === 'split-view' ? ['left-page-1', 'left-page-2'] : []),
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
pages.forEach((p) => {
|
|
19
|
-
const src = path.resolve(__dirname, 'pages', `${p}.svelte`);
|
|
20
|
-
const dest = path.resolve(cwd, 'src', 'pages', `${p}.svelte`);
|
|
21
|
-
toCopy.push({
|
|
22
|
-
from: src,
|
|
23
|
-
to: dest,
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
toCopy.push({
|
|
27
|
-
content: generateHomePage(options),
|
|
28
|
-
to: path.resolve(cwd, 'src', 'pages', 'home.svelte'),
|
|
29
|
-
});
|
|
30
|
-
toCopy.push({
|
|
31
|
-
content: generateRoot(options),
|
|
32
|
-
to: path.resolve(cwd, 'src', 'components', 'app.svelte'),
|
|
33
|
-
});
|
|
34
|
-
toCopy.push({
|
|
35
|
-
content: generateStore(options),
|
|
36
|
-
to: path.resolve(cwd, 'src', 'store.js'),
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
if (bundler) {
|
|
40
|
-
toCopy.push({
|
|
41
|
-
from: path.resolve(__dirname, 'babel.config.js'),
|
|
42
|
-
to: path.resolve(cwd, 'babel.config.js'),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return toCopy;
|
|
47
|
-
};
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
const indent = require('../../utils/indent');
|
|
2
|
-
|
|
3
|
-
module.exports = (options) => {
|
|
4
|
-
const { name, template } = options;
|
|
5
|
-
|
|
6
|
-
let description;
|
|
7
|
-
if (template === 'single-view' || template === 'blank') {
|
|
8
|
-
description = `
|
|
9
|
-
<p>Here is your blank ZMP app. Let's see what we have here.</p>
|
|
10
|
-
`;
|
|
11
|
-
}
|
|
12
|
-
if (template === 'split-view') {
|
|
13
|
-
description = `
|
|
14
|
-
<p>This is an example of split view application layout, commonly used on tablets. The main approach of such kind of layout is that you can see different views at the same time.</p>
|
|
15
|
-
|
|
16
|
-
<p>Each view may have different layout, different navbar type (dynamic, fixed or static) or without navbar.</p>
|
|
17
|
-
|
|
18
|
-
<p>The fun thing is that you can easily control one view from another without any line of JavaScript just using "data-view" attribute on links.</p>
|
|
19
|
-
`;
|
|
20
|
-
}
|
|
21
|
-
if (template === 'tabs') {
|
|
22
|
-
description = `
|
|
23
|
-
<p>This is an example of tabs-layout application. The main point of such tabbed layout is that each tab contains independent view with its own routing and navigation.</p>
|
|
24
|
-
|
|
25
|
-
<p>Each tab/view may have different layout, different navbar type (dynamic, fixed or static) or without navbar like this tab.</p>
|
|
26
|
-
`;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return indent(
|
|
30
|
-
0,
|
|
31
|
-
`
|
|
32
|
-
<Page name="home">
|
|
33
|
-
<!-- Top Navbar -->
|
|
34
|
-
${
|
|
35
|
-
template === 'blank'
|
|
36
|
-
? `
|
|
37
|
-
<Navbar large>
|
|
38
|
-
<NavTitle>${name}</NavTitle>
|
|
39
|
-
<NavTitleLarge>${name}</NavTitleLarge>
|
|
40
|
-
</Navbar>
|
|
41
|
-
`.trim()
|
|
42
|
-
: `
|
|
43
|
-
<Navbar large sliding={false}>
|
|
44
|
-
<NavLeft>
|
|
45
|
-
<Link iconIos="zmp:menu" iconAurora="zmp:menu" iconMd="material:menu" panelOpen="left" />
|
|
46
|
-
</NavLeft>
|
|
47
|
-
<NavTitle sliding>${name}</NavTitle>
|
|
48
|
-
<NavRight>
|
|
49
|
-
<Link iconIos="zmp:menu" iconAurora="zmp:menu" iconMd="material:menu" panelOpen="right" />
|
|
50
|
-
</NavRight>
|
|
51
|
-
<NavTitleLarge>${name}</NavTitleLarge>
|
|
52
|
-
</Navbar>
|
|
53
|
-
`.trim()
|
|
54
|
-
}
|
|
55
|
-
${
|
|
56
|
-
template !== 'tabs'
|
|
57
|
-
? `
|
|
58
|
-
<!-- Toolbar -->
|
|
59
|
-
<Toolbar bottom>
|
|
60
|
-
<Link>Left Link</Link>
|
|
61
|
-
<Link>Right Link</Link>
|
|
62
|
-
</Toolbar>
|
|
63
|
-
|
|
64
|
-
`.trim()
|
|
65
|
-
: ''
|
|
66
|
-
}
|
|
67
|
-
<!-- Page content -->
|
|
68
|
-
<Block strong>
|
|
69
|
-
${description.trim()}
|
|
70
|
-
</Block>
|
|
71
|
-
|
|
72
|
-
${
|
|
73
|
-
template !== 'blank'
|
|
74
|
-
? `
|
|
75
|
-
<BlockTitle>Navigation</BlockTitle>
|
|
76
|
-
<List>
|
|
77
|
-
<ListItem link="/about/" title="About"/>
|
|
78
|
-
<ListItem link="/form/" title="Form"/>
|
|
79
|
-
</List>
|
|
80
|
-
|
|
81
|
-
<BlockTitle>Modals</BlockTitle>
|
|
82
|
-
<Block strong>
|
|
83
|
-
<Row>
|
|
84
|
-
<Col width="50">
|
|
85
|
-
<Button fill raised popupOpen="#my-popup">Popup</Button>
|
|
86
|
-
</Col>
|
|
87
|
-
<Col width="50">
|
|
88
|
-
<Button fill raised loginScreenOpen="#my-login-screen">Login Screen</Button>
|
|
89
|
-
</Col>
|
|
90
|
-
</Row>
|
|
91
|
-
</Block>
|
|
92
|
-
|
|
93
|
-
<BlockTitle>Panels</BlockTitle>
|
|
94
|
-
<Block strong>
|
|
95
|
-
<Row>
|
|
96
|
-
<Col width="50">
|
|
97
|
-
<Button fill raised panelOpen="left">Left Panel</Button>
|
|
98
|
-
</Col>
|
|
99
|
-
<Col width="50">
|
|
100
|
-
<Button fill raised panelOpen="right">Right Panel</Button>
|
|
101
|
-
</Col>
|
|
102
|
-
</Row>
|
|
103
|
-
</Block>
|
|
104
|
-
|
|
105
|
-
<List>
|
|
106
|
-
<ListItem
|
|
107
|
-
title="Dynamic (Component) Route"
|
|
108
|
-
link="/dynamic-route/blog/45/post/125/?foo=bar#about"
|
|
109
|
-
/>
|
|
110
|
-
<ListItem
|
|
111
|
-
title="Default Route (404)"
|
|
112
|
-
link="/load-something-that-doesnt-exist/"
|
|
113
|
-
/>
|
|
114
|
-
</List>
|
|
115
|
-
`.trim()
|
|
116
|
-
: ''
|
|
117
|
-
}
|
|
118
|
-
</Page>
|
|
119
|
-
${
|
|
120
|
-
template === 'blank'
|
|
121
|
-
? `
|
|
122
|
-
<script>
|
|
123
|
-
import {
|
|
124
|
-
Page,
|
|
125
|
-
Navbar,
|
|
126
|
-
NavTitle,
|
|
127
|
-
NavTitleLarge,
|
|
128
|
-
Link,
|
|
129
|
-
Toolbar,
|
|
130
|
-
Block,
|
|
131
|
-
} from 'zmp-svelte';
|
|
132
|
-
</script>
|
|
133
|
-
`.trim()
|
|
134
|
-
: `
|
|
135
|
-
<script>
|
|
136
|
-
import {
|
|
137
|
-
Page,
|
|
138
|
-
Navbar,
|
|
139
|
-
NavLeft,
|
|
140
|
-
NavTitle,
|
|
141
|
-
NavTitleLarge,
|
|
142
|
-
NavRight,
|
|
143
|
-
Link,
|
|
144
|
-
Toolbar,
|
|
145
|
-
Block,
|
|
146
|
-
BlockTitle,
|
|
147
|
-
List,
|
|
148
|
-
ListItem,
|
|
149
|
-
Row,
|
|
150
|
-
Col,
|
|
151
|
-
Button
|
|
152
|
-
} from 'zmp-svelte';
|
|
153
|
-
</script>
|
|
154
|
-
`.trim()
|
|
155
|
-
}
|
|
156
|
-
`
|
|
157
|
-
).trim();
|
|
158
|
-
};
|