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.
Files changed (225) hide show
  1. package/README.md +37 -0
  2. package/build/index.js +1 -184
  3. package/config/index.js +1 -44
  4. package/create/index.js +1 -230
  5. package/create/utils/generate-app-config.js +1 -34
  6. package/create/utils/generate-npm-scripts.js +1 -26
  7. package/create/utils/get-options.js +1 -204
  8. package/create/utils/npm-scripts.js +1 -62
  9. package/deploy/index.js +1 -149
  10. package/deploy/utils/get-options.js +1 -69
  11. package/deploy/utils/request-upload.js +1 -34
  12. package/deploy/utils/upload-app.js +1 -82
  13. package/index.js +1 -319
  14. package/login/index.js +1 -169
  15. package/login/utils/get-options.js +1 -58
  16. package/login/utils/zalo-login.js +1 -32
  17. package/migrate/icons/update-icon-v3.js +1 -19
  18. package/migrate/index.js +1 -60
  19. package/migrate/utils/get-options.js +1 -46
  20. package/migrate/utils/migrate-react.js +1 -33
  21. package/package.json +13 -40
  22. package/start/frame/index.html +264 -254
  23. package/start/index.js +1 -382
  24. package/sync/index-to-app-config.js +1 -146
  25. package/sync/index.js +1 -55
  26. package/utils/axios.js +1 -15
  27. package/utils/check-update.js +1 -53
  28. package/utils/constants.js +1 -20
  29. package/utils/env.js +1 -39
  30. package/utils/error.js +1 -16
  31. package/utils/find-files-by-ext.js +1 -27
  32. package/utils/find-free-port.js +1 -11
  33. package/utils/fs-extra.js +1 -90
  34. package/utils/generate-pages-map.js +1 -17
  35. package/utils/get-app-info.js +1 -22
  36. package/utils/get-current-project.js +1 -25
  37. package/utils/get-ip.js +1 -19
  38. package/utils/log.js +1 -19
  39. package/utils/node-blob.js +1 -106
  40. package/utils/resumable.d.js +1 -0
  41. package/utils/resumable.js +1 -1204
  42. package/utils/spinner.js +1 -25
  43. package/utils/tunnel.js +1 -36
  44. package/.editorconfig +0 -15
  45. package/.eslintignore +0 -8
  46. package/.eslintrc.js +0 -10
  47. package/.vscode/launch.json +0 -23
  48. package/LICENSE +0 -21
  49. package/README.git.md +0 -37
  50. package/assets/index.js +0 -147
  51. package/build/dist/index.dev.js +0 -217
  52. package/config/dist/index.dev.js +0 -48
  53. package/create/init-zmp-ui.js +0 -216
  54. package/create/templates/app-parameters.js +0 -33
  55. package/create/templates/common/css/icons.css +0 -60
  56. package/create/templates/common/icons/512x512.png +0 -0
  57. package/create/templates/common/icons/apple-touch-icon.png +0 -0
  58. package/create/templates/common/icons/favicon.png +0 -0
  59. package/create/templates/common/postcss.config.js +0 -5
  60. package/create/templates/common/splash-2732x2732.png +0 -0
  61. package/create/templates/common/tailwind/postcss.config.js +0 -5
  62. package/create/templates/common/tailwind/tailwind.config.js +0 -9
  63. package/create/templates/common/tailwind/tailwind.css +0 -3
  64. package/create/templates/common/webpack/build.js +0 -41
  65. package/create/templates/copy-assets.js +0 -158
  66. package/create/templates/core/babel.config.js +0 -11
  67. package/create/templates/core/copy-assets.js +0 -83
  68. package/create/templates/core/generate-home-page.js +0 -143
  69. package/create/templates/core/generate-root.js +0 -283
  70. package/create/templates/core/generate-routes.js +0 -155
  71. package/create/templates/core/generate-scripts.js +0 -94
  72. package/create/templates/core/pages/404.html +0 -20
  73. package/create/templates/core/pages/about.html +0 -26
  74. package/create/templates/core/pages/catalog.html +0 -40
  75. package/create/templates/core/pages/dynamic-route.html +0 -115
  76. package/create/templates/core/pages/form.html +0 -258
  77. package/create/templates/core/pages/left-page-1.html +0 -24
  78. package/create/templates/core/pages/left-page-2.html +0 -23
  79. package/create/templates/core/pages/product.html +0 -36
  80. package/create/templates/core/pages/request-and-load.html +0 -35
  81. package/create/templates/core/pages/settings.html +0 -252
  82. package/create/templates/create-folders.js +0 -30
  83. package/create/templates/dist/generate-styles.dev.js +0 -46
  84. package/create/templates/generate-config-xml.js +0 -18
  85. package/create/templates/generate-index.js +0 -49
  86. package/create/templates/generate-manifest.js +0 -49
  87. package/create/templates/generate-recoil.js +0 -56
  88. package/create/templates/generate-routes.js +0 -16
  89. package/create/templates/generate-scripts.js +0 -16
  90. package/create/templates/generate-service-worker.js +0 -126
  91. package/create/templates/generate-store.js +0 -88
  92. package/create/templates/generate-styles.js +0 -110
  93. package/create/templates/generate-webpack-config.js +0 -335
  94. package/create/templates/generate-zmp-custom.js +0 -81
  95. package/create/templates/react/babel.config.js +0 -12
  96. package/create/templates/react/components/app-items.jsx +0 -44
  97. package/create/templates/react/components/navbar-back.jsx +0 -25
  98. package/create/templates/react/components/user-card.jsx +0 -18
  99. package/create/templates/react/copy-assets.js +0 -85
  100. package/create/templates/react/dist/generate-scripts.dev.js +0 -23
  101. package/create/templates/react/generate-home-page.js +0 -111
  102. package/create/templates/react/generate-root.js +0 -84
  103. package/create/templates/react/generate-routes.js +0 -16
  104. package/create/templates/react/generate-scripts.js +0 -68
  105. package/create/templates/react/pages/404.js +0 -27
  106. package/create/templates/react/pages/about.js +0 -52
  107. package/create/templates/react/pages/catalog.js +0 -112
  108. package/create/templates/react/pages/dynamic-route.js +0 -80
  109. package/create/templates/react/pages/form.js +0 -152
  110. package/create/templates/react/pages/index copy.js +0 -17
  111. package/create/templates/react/pages/index.js +0 -17
  112. package/create/templates/react/pages/settings.js +0 -76
  113. package/create/templates/react/pages/user.js +0 -56
  114. package/create/templates/react/vite.config.js +0 -11
  115. package/create/templates/react-typescript/_tsconfig.json +0 -33
  116. package/create/templates/react-typescript/components/app-items.js +0 -53
  117. package/create/templates/react-typescript/components/index.js +0 -9
  118. package/create/templates/react-typescript/components/navbar-back.js +0 -40
  119. package/create/templates/react-typescript/components/user-card.js +0 -32
  120. package/create/templates/react-typescript/copy-assets.js +0 -94
  121. package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
  122. package/create/templates/react-typescript/generate-home-page.js +0 -113
  123. package/create/templates/react-typescript/generate-root.js +0 -81
  124. package/create/templates/react-typescript/generate-routes.js +0 -12
  125. package/create/templates/react-typescript/generate-scripts.js +0 -67
  126. package/create/templates/react-typescript/pages/404.js +0 -27
  127. package/create/templates/react-typescript/pages/about.js +0 -52
  128. package/create/templates/react-typescript/pages/catalog.js +0 -112
  129. package/create/templates/react-typescript/pages/dynamic-route.js +0 -80
  130. package/create/templates/react-typescript/pages/form.js +0 -152
  131. package/create/templates/react-typescript/pages/index.js +0 -17
  132. package/create/templates/react-typescript/pages/settings.js +0 -76
  133. package/create/templates/react-typescript/pages/user.js +0 -56
  134. package/create/templates/react-typescript/vite.config.js +0 -21
  135. package/create/templates/svelte/babel.config.js +0 -10
  136. package/create/templates/svelte/copy-assets.js +0 -47
  137. package/create/templates/svelte/generate-home-page.js +0 -158
  138. package/create/templates/svelte/generate-root.js +0 -235
  139. package/create/templates/svelte/generate-routes.js +0 -91
  140. package/create/templates/svelte/generate-scripts.js +0 -47
  141. package/create/templates/svelte/pages/404.svelte +0 -10
  142. package/create/templates/svelte/pages/about.svelte +0 -16
  143. package/create/templates/svelte/pages/catalog.svelte +0 -31
  144. package/create/templates/svelte/pages/dynamic-route.svelte +0 -34
  145. package/create/templates/svelte/pages/form.svelte +0 -175
  146. package/create/templates/svelte/pages/left-page-1.svelte +0 -13
  147. package/create/templates/svelte/pages/left-page-2.svelte +0 -12
  148. package/create/templates/svelte/pages/product.svelte +0 -21
  149. package/create/templates/svelte/pages/request-and-load.svelte +0 -21
  150. package/create/templates/svelte/pages/settings.svelte +0 -175
  151. package/create/templates/vue/babel.config.js +0 -10
  152. package/create/templates/vue/components/header.vue +0 -28
  153. package/create/templates/vue/components/sun-and-moon.vue +0 -34
  154. package/create/templates/vue/copy-assets.js +0 -67
  155. package/create/templates/vue/generate-home-page.js +0 -56
  156. package/create/templates/vue/generate-root.js +0 -50
  157. package/create/templates/vue/generate-routes.js +0 -7
  158. package/create/templates/vue/generate-scripts.js +0 -63
  159. package/create/templates/vue/global-components.d.ts +0 -121
  160. package/create/templates/vue/icons/moon.svg +0 -3
  161. package/create/templates/vue/icons/sun.svg +0 -3
  162. package/create/templates/vue/pages/404.vue +0 -12
  163. package/create/templates/vue/pages/about.vue +0 -15
  164. package/create/templates/vue/pages/catalog.vue +0 -39
  165. package/create/templates/vue/pages/dynamic-route.vue +0 -34
  166. package/create/templates/vue/pages/form.vue +0 -162
  167. package/create/templates/vue/pages/left-page-1.vue +0 -14
  168. package/create/templates/vue/pages/left-page-2.vue +0 -11
  169. package/create/templates/vue/pages/product.vue +0 -31
  170. package/create/templates/vue/pages/request-and-load.vue +0 -25
  171. package/create/templates/vue/pages/settings.vue +0 -18
  172. package/create/templates/vue/vite.config.js +0 -11
  173. package/create/templates/zaui/_tsconfig.json +0 -33
  174. package/create/templates/zaui/babel.config.js +0 -12
  175. package/create/templates/zaui/components/user-card.jsx +0 -16
  176. package/create/templates/zaui/copy-assets.js +0 -90
  177. package/create/templates/zaui/generate-home-page.js +0 -117
  178. package/create/templates/zaui/generate-root.js +0 -53
  179. package/create/templates/zaui/generate-routes.js +0 -10
  180. package/create/templates/zaui/generate-scripts.js +0 -39
  181. package/create/templates/zaui/generate-user-card.js +0 -55
  182. package/create/templates/zaui/pages/about.js +0 -129
  183. package/create/templates/zaui/pages/form.js +0 -123
  184. package/create/templates/zaui/pages/index.js +0 -9
  185. package/create/templates/zaui/pages/user.js +0 -109
  186. package/create/templates/zaui/vite.config.js +0 -11
  187. package/create/utils/colors.js +0 -94
  188. package/create/utils/dist/get-options.dev.js +0 -277
  189. package/create/utils/generate-gitignore.js +0 -43
  190. package/create/utils/generate-package-json.js +0 -132
  191. package/create/utils/generate-readme.js +0 -28
  192. package/create/utils/indent.js +0 -31
  193. package/create/utils/string.js +0 -13
  194. package/create/utils/styles-extension.js +0 -9
  195. package/create/utils/template-if.js +0 -9
  196. package/deploy/dist/index.dev.js +0 -227
  197. package/deploy/utils/dist/request-upload.dev.js +0 -62
  198. package/deploy/utils/dist/upload-app.dev.js +0 -113
  199. package/dist/bundle.js +0 -1
  200. package/dist/index.dev.js +0 -352
  201. package/jsconfig.json +0 -8
  202. package/login/dist/index.dev.js +0 -223
  203. package/login/utils/dist/zalo-login.dev.js +0 -41
  204. package/screenshots/wellcome.jpg +0 -0
  205. package/show-qr-app/assets/css/style.css +0 -87
  206. package/show-qr-app/assets/js/qrcode.min.js +0 -1
  207. package/show-qr-app/index.html +0 -57
  208. package/show-qr-app/package.json +0 -14
  209. package/start/dist/index.dev.js +0 -312
  210. package/start/generate-hr-config.js +0 -59
  211. package/ui/server.js +0 -194
  212. package/ui/www/css/app.css +0 -1
  213. package/ui/www/css/app.css.map +0 -1
  214. package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
  215. package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
  216. package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
  217. package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
  218. package/ui/www/images/logo.png +0 -0
  219. package/ui/www/index.html +0 -1
  220. package/ui/www/js/app.js +0 -3
  221. package/ui/www/js/app.js.LICENSE.txt +0 -20
  222. package/ui/www/js/app.js.map +0 -1
  223. package/ui/www/static/icons/apple-touch-icon.png +0 -0
  224. package/ui/www/static/icons/favicon.png +0 -0
  225. package/utils/dist/get-app-info.dev.js +0 -54
@@ -1,21 +0,0 @@
1
- <Page>
2
- <Navbar title={`${user.firstName} ${user.lastName}`} backLink="Back" />
3
- <Block strong>
4
- {user.about}
5
- </Block>
6
- <List>
7
- {#each user.links as link}
8
- <ListItem
9
- link={link.url}
10
- title={link.title}
11
- external
12
- target="_blank"
13
- />
14
- {/each}
15
- </List>
16
- </Page>
17
- <script>
18
- import { Page, Navbar, Block, List, ListItem } from 'zmp-svelte';
19
-
20
- export let user;
21
- </script>
@@ -1,175 +0,0 @@
1
- <Page name="settings">
2
- <Navbar title="Settings" />
3
-
4
- <BlockTitle>Form Example</BlockTitle>
5
- <List noHairlinesMd>
6
- <ListInput
7
- label="Name"
8
- type="text"
9
- placeholder="Your name"
10
- ></ListInput>
11
-
12
- <ListInput
13
- label="E-mail"
14
- type="email"
15
- placeholder="E-mail"
16
- ></ListInput>
17
-
18
- <ListInput
19
- label="URL"
20
- type="url"
21
- placeholder="URL"
22
- ></ListInput>
23
-
24
- <ListInput
25
- label="Password"
26
- type="password"
27
- placeholder="Password"
28
- ></ListInput>
29
-
30
- <ListInput
31
- label="Phone"
32
- type="tel"
33
- placeholder="Phone"
34
- ></ListInput>
35
-
36
- <ListInput
37
- label="Gender"
38
- type="select"
39
- >
40
- <option>Male</option>
41
- <option>Female</option>
42
- </ListInput>
43
-
44
- <ListInput
45
- label="Birth date"
46
- type="date"
47
- placeholder="Birth day"
48
- value="2014-04-30"
49
- ></ListInput>
50
-
51
- <ListItem
52
- title="Toggle"
53
- >
54
- <span slot="after">
55
- <Toggle />
56
- </span>
57
- </ListItem>
58
-
59
- <ListInput
60
- label="Range"
61
- input={false}
62
- >
63
- <span slot="after">
64
- <Range value={50} min={0} max={100} step={1} />
65
- </span>
66
- </ListInput>
67
-
68
- <ListInput
69
- type="textarea"
70
- label="Textarea"
71
- placeholder="Bio"
72
- ></ListInput>
73
- <ListInput
74
- type="textarea"
75
- label="Resizable"
76
- placeholder="Bio"
77
- resizable
78
- ></ListInput>
79
- </List>
80
-
81
- <BlockTitle>Buttons</BlockTitle>
82
- <Block strong>
83
- <Row tag="p">
84
- <Button class="col">Button</Button>
85
- <Button class="col" fill>Fill</Button>
86
- </Row>
87
- <Row tag="p">
88
- <Button class="col" raised>Raised</Button>
89
- <Button class="col" raised fill>Raised Fill</Button>
90
- </Row>
91
- <Row tag="p">
92
- <Button class="col" round>Round</Button>
93
- <Button class="col" round fill>Round Fill</Button>
94
- </Row>
95
- <Row tag="p">
96
- <Button class="col" outline>Outline</Button>
97
- <Button class="col" round outline>Outline Round</Button>
98
- </Row>
99
- <Row tag="p">
100
- <Button class="col" small outline>Small</Button>
101
- <Button class="col" small round outline>Small Round</Button>
102
- </Row>
103
- <Row tag="p">
104
- <Button class="col" small fill>Small</Button>
105
- <Button class="col" small round fill>Small Round</Button>
106
- </Row>
107
- <Row tag="p">
108
- <Button class="col" large raised>Large</Button>
109
- <Button class="col" large fill raised>Large Fill</Button>
110
- </Row>
111
- <Row tag="p">
112
- <Button class="col" large fill raised color="red">Large Red</Button>
113
- <Button class="col" large fill raised color="green">Large Green</Button>
114
- </Row>
115
- </Block>
116
-
117
- <BlockTitle>Checkbox group</BlockTitle>
118
- <List>
119
- <ListItem
120
- checkbox
121
- name="my-checkbox"
122
- value="Books"
123
- title="Books"
124
- ></ListItem>
125
- <ListItem
126
- checkbox
127
- name="my-checkbox"
128
- value="Movies"
129
- title="Movies"
130
- ></ListItem>
131
- <ListItem
132
- checkbox
133
- name="my-checkbox"
134
- value="Food"
135
- title="Food"
136
- ></ListItem>
137
- </List>
138
-
139
- <BlockTitle>Radio buttons group</BlockTitle>
140
- <List>
141
- <ListItem
142
- radio
143
- name="radio"
144
- value="Books"
145
- title="Books"
146
- ></ListItem>
147
- <ListItem
148
- radio
149
- name="radio"
150
- value="Movies"
151
- title="Movies"
152
- ></ListItem>
153
- <ListItem
154
- radio
155
- name="radio"
156
- value="Food"
157
- title="Food"
158
- ></ListItem>
159
- </List>
160
- </Page>
161
- <script>
162
- import {
163
- Page,
164
- Navbar,
165
- List,
166
- ListInput,
167
- ListItem,
168
- Toggle,
169
- BlockTitle,
170
- Row,
171
- Button,
172
- Range,
173
- Block
174
- } from 'zmp-svelte';
175
- </script>
@@ -1,10 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- ['@babel/preset-env', {
4
- modules: false,
5
- }],
6
- ],
7
- plugins: [
8
- '@babel/plugin-transform-runtime',
9
- ],
10
- };
@@ -1,28 +0,0 @@
1
- <template>
2
- <zmp-navbar>
3
- <zmp-nav-left>
4
- <zmp-skeleton-avatar v-if="!user.id" class="pt-2"></zmp-skeleton-avatar>
5
- <zmp-avatar v-else :src="user.avatar" online />
6
- </zmp-nav-left>
7
- <zmp-nav-title v-if="!user.id">
8
- <zmp-skeleton-text>
9
- <zmp-title class="mb-0">Lorem ipsum</zmp-title>
10
- </zmp-skeleton-text>
11
- <zmp-skeleton-text>Lorem ipsum</zmp-skeleton-text>
12
- </zmp-nav-title>
13
- <zmp-nav-title v-else>
14
- <zmp-title class="mb-0">{{ user.name }}</zmp-title>
15
- <zmp-text class="mb-0">{{ user.id }}</zmp-text>
16
- </zmp-nav-title>
17
- <zmp-nav-right>
18
- <sun-and-moon />
19
- </zmp-nav-right>
20
- </zmp-navbar>
21
- </template>
22
-
23
- <script setup>
24
- import { useStore } from "zmp-vue";
25
- import SunAndMoon from "./sun-and-moon.vue";
26
-
27
- const user = useStore('user')
28
- </script>
@@ -1,34 +0,0 @@
1
- <template>
2
- <zmp-button
3
- small
4
- class="sun-moon"
5
- @click="setLayoutTheme"
6
- type-name="primary"
7
- round
8
- :color="darkMode ? 'gray' : 'default'"
9
- >
10
- <img :src="icon" alt="switch-mode" />
11
- </zmp-button>
12
- </template>
13
-
14
- <script setup>
15
- import { useStore } from 'zmp-vue';
16
- import { computed } from 'vue';
17
- import store from '../store';
18
- import sun from '../static/icons/sun.svg';
19
- import moon from '../static/icons/moon.svg';
20
-
21
- const darkMode = useStore('darkMode');
22
-
23
- const icon = computed(() => (darkMode.value ? moon : sun));
24
-
25
- const setLayoutTheme = () => {
26
- store.dispatch('setDarkMode', !darkMode.value);
27
- };
28
- </script>
29
-
30
- <style scoped>
31
- .sun-moon {
32
- padding: 0;
33
- }
34
- </style>
@@ -1,67 +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 { bundler } = options;
9
- const toCopy = [];
10
-
11
- // Copy Pages
12
- const pages = ['settings'];
13
-
14
- pages.forEach((p) => {
15
- const src = path.resolve(__dirname, 'pages', `${p}.vue`);
16
- const dest = path.resolve(cwd, 'src', 'pages', `${p}.vue`);
17
- toCopy.push({
18
- from: src,
19
- to: dest,
20
- });
21
- });
22
- toCopy.push({
23
- content: generateHomePage(options),
24
- to: path.resolve(cwd, 'src', 'pages', 'index.vue'),
25
- });
26
- toCopy.push({
27
- content: generateRoot(options),
28
- to: path.resolve(cwd, 'src', 'components', 'app.vue'),
29
- });
30
- toCopy.push({
31
- content: generateStore(options),
32
- to: path.resolve(cwd, 'src', 'store.js'),
33
- });
34
- toCopy.push({
35
- from: path.resolve(__dirname, 'vite.config.js'),
36
- to: path.resolve(cwd, 'vite.config.js'),
37
- });
38
- toCopy.push({
39
- from: path.resolve(__dirname, 'global-components.d.ts'),
40
- to: path.resolve(cwd, 'src', 'global-components.d.ts'),
41
- });
42
- toCopy.push({
43
- from: path.resolve(__dirname, 'components', 'header.vue'),
44
- to: path.resolve(cwd, 'src', 'components', 'header.vue'),
45
- });
46
- toCopy.push({
47
- from: path.resolve(__dirname, 'components', 'sun-and-moon.vue'),
48
- to: path.resolve(cwd, 'src', 'components', 'sun-and-moon.vue'),
49
- });
50
- toCopy.push({
51
- from: path.resolve(__dirname, 'icons', 'sun.svg'),
52
- to: path.resolve(cwd, 'src', 'static', 'icons', 'sun.svg'),
53
- });
54
- toCopy.push({
55
- from: path.resolve(__dirname, 'icons', 'moon.svg'),
56
- to: path.resolve(cwd, 'src', 'static', 'icons', 'moon.svg'),
57
- });
58
-
59
-
60
- if (bundler) {
61
- toCopy.push({
62
- from: path.resolve(__dirname, 'babel.config.js'),
63
- to: path.resolve(cwd, 'babel.config.js'),
64
- });
65
- }
66
- return toCopy;
67
- };
@@ -1,56 +0,0 @@
1
- const indent = require('../../utils/indent');
2
-
3
- module.exports = (options) => {
4
- const { name, template } = options;
5
-
6
- return indent(0, `
7
- <template>
8
- <zmp-page name="home" :theme-dark="darkMode">
9
- <Header />
10
- <zmp-box m="4">
11
- <zmp-card inset title="Welcome to Zalo Mini App. Let's see what we have here.">
12
- <p>
13
- Recommended IDE Setup:
14
- <a
15
- href="https://code.visualstudio.com/"
16
- target="_blank"
17
- rel="nofollow"
18
- >VSCode</a> +
19
- <a
20
- href="https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar"
21
- target="_blank"
22
- rel="nofollow"
23
- >Volar</a>
24
- </p>
25
- <zmp-button @click="openDocs" fill responsive>Documentation</zmp-button>
26
- </zmp-card>
27
- </zmp-box>
28
- <zmp-box m="4">
29
- <zmp-card inset class="p-0">
30
- <zmp-box flex justify-content="space-between" align-items="center">
31
- <zmp-text bold class="mb-0">Example navigation</zmp-text>
32
- <zmp-link href="/settings" transition="zmp-fade">
33
- Settings
34
- <zmp-icon zmp="zi-chevron-right" />
35
- </zmp-link>
36
- </zmp-box>
37
- </zmp-card>
38
- </zmp-box>
39
- </zmp-page>
40
- </template>
41
-
42
- <script setup>
43
- import { useStore } from 'zmp-vue';
44
- import api from 'zmp-sdk';
45
- import Header from "../components/header.vue";
46
-
47
- const openDocs = () => {
48
- api.openWebview({
49
- url: 'https://mini.zalo.me'
50
- });
51
- };
52
-
53
- const darkMode = useStore('darkMode');
54
- </script>
55
- `).trim();
56
- };
@@ -1,50 +0,0 @@
1
- const indent = require('../../utils/indent');
2
- const templateIf = require('../../utils/template-if');
3
- const appParameters = require('../app-parameters');
4
-
5
- module.exports = (options) => {
6
- const { template, type, theming, customBuild } = options;
7
-
8
- return indent(0,
9
- `
10
- <template>
11
- <zmp-app v-bind="zmpparams">
12
- <!-- Your main view, should have "view-main" class -->
13
- <zmp-view main class="safe-areas" url="/"></zmp-view>
14
- </zmp-app>
15
- </template>
16
- <script>
17
- import { onMounted } from 'vue';
18
- import { zmpready } from 'zmp-vue';
19
- import api from 'zmp-sdk';
20
- import store from '../store';
21
-
22
- export default {
23
- setup() {
24
- // ZMP Parameters
25
- const zmpparams = {
26
- ${indent(6, appParameters(options)).trim()}
27
- };
28
-
29
- onMounted(() => {
30
- zmpready(async () => {
31
- // Call ZMP APIs here
32
- try {
33
- await api.login();
34
- const { userInfo } = await api.getUserInfo();
35
- store.dispatch('setUser', userInfo);
36
- } catch (error) {
37
- console.error(error);
38
- }
39
- });
40
- });
41
-
42
- return {
43
- zmpparams
44
- }
45
- }
46
- }
47
- </script>
48
- `
49
- ).trim();
50
- };
@@ -1,7 +0,0 @@
1
- module.exports = (options) => {
2
- const { template } = options;
3
-
4
- const routes = ['settings'];
5
-
6
- return routes;
7
- };
@@ -1,63 +0,0 @@
1
- const templateIf = require('../../utils/template-if');
2
- const indent = require('../../utils/indent');
3
- const stylesExtension = require('../../utils/styles-extension');
4
-
5
- module.exports = (options) => {
6
- const {
7
- cssPreProcessor,
8
- theming,
9
- customBuild,
10
- includeTailwind
11
- } = options;
12
-
13
- let scripts = '';
14
-
15
- scripts += indent(0, `
16
- // Import Vue
17
- import { createApp } from 'vue';
18
-
19
- // Import ZMP
20
- import ZMP from '${customBuild ? './zmp-custom.js' : 'zmp-framework/core/lite-bundle'}';
21
-
22
- // Import ZMP-Vue Plugin
23
- import ZMPVue, { registerComponents } from 'zmp-vue/bundle';${includeTailwind ? `
24
-
25
- // Import tailwind styles
26
- import './css/tailwind.css';` : ''}
27
-
28
- // Import ZMP Styles
29
- ${templateIf(customBuild, () => `
30
- import '../css/zmp-custom.less';
31
- `, () => `
32
- import 'zmp-framework/zmp-bundle.min.css';
33
- `)}
34
-
35
- // Import Icons and App Custom Styles
36
- ${templateIf(theming.iconFonts, () => `
37
- import './css/icons.css';
38
- `)}
39
- import './css/app.${stylesExtension(cssPreProcessor)}';
40
-
41
- // Import App Component
42
- import App from './components/app.vue';
43
- import appConfig from '../app-config.json';
44
-
45
- if (!window.APP_CONFIG) {
46
- window.APP_CONFIG = appConfig;
47
- }
48
-
49
- // Init ZMP-Vue Plugin
50
- ZMP.use(ZMPVue);
51
-
52
- // Init App
53
- const app = createApp(App);
54
-
55
- // Register ZMP Vue components
56
- registerComponents(app);
57
-
58
- // Mount the app
59
- app.mount('#app');
60
- `);
61
-
62
- return scripts.trim();
63
- };
@@ -1,121 +0,0 @@
1
- import {
2
- AccordionContent,
3
- AccordionItem,
4
- AccordionToggle,
5
- Accordion,
6
- ActionsButton,
7
- ActionsGroup,
8
- ActionsLabel,
9
- Actions,
10
- App,
11
- AvatarGroup,
12
- Avatar,
13
- Box,
14
- Button,
15
- Card,
16
- Checkbox,
17
- Col,
18
- DatePicker,
19
- FabBackdrop,
20
- FabButton,
21
- FabButtons,
22
- Fab,
23
- GridItem,
24
- Grid,
25
- Icon,
26
- Input,
27
- Link,
28
- ListInput,
29
- ListItem,
30
- List,
31
- NavLeft,
32
- NavRight,
33
- NavTitleLarge,
34
- NavTitle,
35
- Navbar,
36
- Page,
37
- Picker,
38
- Preloader,
39
- Progressbar,
40
- Radio,
41
- Range,
42
- Row,
43
- Searchbar,
44
- Sheet,
45
- SkeletonAvatar,
46
- SkeletonBlock,
47
- SkeletonImage,
48
- SkeletonText,
49
- SwiperSlide,
50
- Swiper,
51
- Tab,
52
- Tabbar,
53
- Tabs,
54
- Text,
55
- Title,
56
- ToastPreloader,
57
- Toggle,
58
- View,
59
- } from 'zmp-vue';
60
-
61
- declare module '@vue/runtime-core' {
62
- export interface GlobalComponents {
63
- ZmpAccordionContent: typeof AccordionContent;
64
- ZmpAccordionItem: typeof AccordionItem;
65
- ZmpAccordionToggle: typeof AccordionToggle;
66
- ZmpAccordion: typeof Accordion;
67
- ZmpActionsButton: typeof ActionsButton;
68
- ZmpActionsGroup: typeof ActionsGroup;
69
- ZmpActionsLabel: typeof ActionsLabel;
70
- ZmpActions: typeof Actions;
71
- ZmpApp: typeof App;
72
- ZmpAvatarGroup: typeof AvatarGroup;
73
- ZmpAvatar: typeof Avatar;
74
- ZmpBox: typeof Box;
75
- ZmpButton: typeof Button;
76
- ZmpCard: typeof Card;
77
- ZmpCheckbox: typeof Checkbox;
78
- ZmpCol: typeof Col;
79
- ZmpDatePicker: typeof DatePicker;
80
- ZmpFabBackdrop: typeof FabBackdrop;
81
- ZmpFabButton: typeof FabButton;
82
- ZmpFabButtons: typeof FabButtons;
83
- ZmpFab: typeof Fab;
84
- ZmpGridItem: typeof GridItem;
85
- ZmpGrid: typeof Grid;
86
- ZmpIcon: typeof Icon;
87
- ZmpInput: typeof Input;
88
- ZmpLink: typeof Link;
89
- ZmpListInput: typeof ListInput;
90
- ZmpListItem: typeof ListItem;
91
- ZmpList: typeof List;
92
- ZmpNavLeft: typeof NavLeft;
93
- ZmpNavRight: typeof NavRight;
94
- ZmpNavTitleLarge: typeof NavTitleLarge;
95
- ZmpNavTitle: typeof NavTitle;
96
- ZmpNavbar: typeof Navbar;
97
- ZmpPage: typeof Page;
98
- ZmpPicker: typeof Picker;
99
- ZmpPreloader: typeof Preloader;
100
- ZmpProgressbar: typeof Progressbar;
101
- ZmpRadio: typeof Radio;
102
- ZmpRange: typeof Range;
103
- ZmpRow: typeof Row;
104
- ZmpSearchbar: typeof Searchbar;
105
- ZmpSheet: typeof Sheet;
106
- ZmpSkeletonAvatar: typeof SkeletonAvatar;
107
- ZmpSkeletonBlock: typeof SkeletonBlock;
108
- ZmpSkeletonImage: typeof SkeletonImage;
109
- ZmpSkeletonText: typeof SkeletonText;
110
- ZmpSwiperSlide: typeof SwiperSlide;
111
- ZmpSwiper: typeof Swiper;
112
- ZmpTab: typeof Tab;
113
- ZmpTabbar: typeof Tabbar;
114
- ZmpTabs: typeof Tabs;
115
- ZmpText: typeof Text;
116
- ZmpTitle: typeof Title;
117
- ZmpToastPreloader: typeof ToastPreloader;
118
- ZmpToggle: typeof Toggle;
119
- ZmpView: typeof View;
120
- }
121
- }
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M9.99975 9.807C8.74152 8.54828 7.88464 6.94484 7.53738 5.1993C7.19012 3.45375 7.36807 1.64444 8.04875 0C6.10802 0.382051 4.32535 1.33431 2.92875 2.735C-0.97625 6.64 -0.97625 12.972 2.92875 16.877C6.83475 20.783 13.1658 20.782 17.0718 16.877C18.4721 15.4805 19.4243 13.6983 19.8067 11.758C18.1623 12.4385 16.353 12.6164 14.6075 12.2692C12.862 11.9219 11.2585 11.0651 9.99975 9.807Z" fill="white"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M10.0004 0.400024C10.3187 0.400024 10.6239 0.526453 10.8489 0.751496C11.074 0.97654 11.2004 1.28176 11.2004 1.60002V2.80002C11.2004 3.11828 11.074 3.42351 10.8489 3.64855C10.6239 3.8736 10.3187 4.00002 10.0004 4.00002C9.68213 4.00002 9.37691 3.8736 9.15186 3.64855C8.92682 3.42351 8.80039 3.11828 8.80039 2.80002V1.60002C8.80039 1.28176 8.92682 0.97654 9.15186 0.751496C9.37691 0.526453 9.68213 0.400024 10.0004 0.400024ZM14.8004 10C14.8004 11.2731 14.2947 12.494 13.3945 13.3941C12.4943 14.2943 11.2734 14.8 10.0004 14.8C8.72735 14.8 7.50645 14.2943 6.60628 13.3941C5.7061 12.494 5.20039 11.2731 5.20039 10C5.20039 8.72698 5.7061 7.50609 6.60628 6.60591C7.50645 5.70574 8.72735 5.20002 10.0004 5.20002C11.2734 5.20002 12.4943 5.70574 13.3945 6.60591C14.2947 7.50609 14.8004 8.72698 14.8004 10ZM14.2436 15.94L15.092 16.7884C15.3183 17.007 15.6214 17.128 15.9361 17.1252C16.2507 17.1225 16.5517 16.9963 16.7742 16.7738C16.9967 16.5513 17.1229 16.2503 17.1256 15.9357C17.1283 15.6211 17.0074 15.3179 16.7888 15.0916L15.9404 14.2432C15.7141 14.0246 15.4109 13.9037 15.0963 13.9064C14.7817 13.9091 14.4807 14.0354 14.2582 14.2578C14.0357 14.4803 13.9095 14.7813 13.9068 15.0959C13.904 15.4106 14.025 15.7137 14.2436 15.94ZM16.7876 3.21162C17.0126 3.43666 17.1389 3.74183 17.1389 4.06002C17.1389 4.37822 17.0126 4.68339 16.7876 4.90842L15.9404 5.75682C15.8297 5.87144 15.6973 5.96285 15.5509 6.02575C15.4045 6.08864 15.247 6.12174 15.0877 6.12312C14.9283 6.12451 14.7703 6.09415 14.6228 6.03381C14.4754 5.97347 14.3414 5.88437 14.2287 5.7717C14.116 5.65903 14.0269 5.52504 13.9666 5.37757C13.9063 5.23009 13.8759 5.07208 13.8773 4.91274C13.8787 4.75341 13.9118 4.59594 13.9747 4.44954C14.0376 4.30313 14.129 4.17072 14.2436 4.06002L15.092 3.21162C15.317 2.98666 15.6222 2.86028 15.9404 2.86028C16.2586 2.86028 16.5638 2.98666 16.7888 3.21162H16.7876ZM18.4004 11.2C18.7186 11.2 19.0239 11.0736 19.2489 10.8486C19.474 10.6235 19.6004 10.3183 19.6004 10C19.6004 9.68176 19.474 9.37654 19.2489 9.1515C19.0239 8.92645 18.7186 8.80002 18.4004 8.80002H17.2004C16.8821 8.80002 16.5769 8.92645 16.3519 9.1515C16.1268 9.37654 16.0004 9.68176 16.0004 10C16.0004 10.3183 16.1268 10.6235 16.3519 10.8486C16.5769 11.0736 16.8821 11.2 17.2004 11.2H18.4004ZM10.0004 16C10.3187 16 10.6239 16.1265 10.8489 16.3515C11.074 16.5765 11.2004 16.8818 11.2004 17.2V18.4C11.2004 18.7183 11.074 19.0235 10.8489 19.2486C10.6239 19.4736 10.3187 19.6 10.0004 19.6C9.68213 19.6 9.37691 19.4736 9.15186 19.2486C8.92682 19.0235 8.80039 18.7183 8.80039 18.4V17.2C8.80039 16.8818 8.92682 16.5765 9.15186 16.3515C9.37691 16.1265 9.68213 16 10.0004 16ZM4.06039 5.75682C4.1718 5.86832 4.30409 5.95677 4.44969 6.01714C4.59528 6.07751 4.75135 6.10861 4.90897 6.10867C5.06658 6.10872 5.22267 6.07773 5.36831 6.01747C5.51395 5.9572 5.6463 5.86884 5.75779 5.75742C5.86928 5.64601 5.95774 5.51373 6.01811 5.36813C6.07848 5.22253 6.10958 5.06647 6.10963 4.90885C6.10969 4.75123 6.0787 4.59514 6.01843 4.4495C5.95817 4.30386 5.8698 4.17152 5.75839 4.06002L4.90879 3.21162C4.68247 2.99303 4.37935 2.87208 4.06471 2.87482C3.75007 2.87755 3.4491 3.00375 3.22661 3.22624C3.00412 3.44873 2.87792 3.74971 2.87518 4.06434C2.87245 4.37898 2.9934 4.6821 3.21199 4.90842L4.06039 5.75682ZM5.75719 15.94L4.90879 16.7884C4.68247 17.007 4.37935 17.128 4.06471 17.1252C3.75007 17.1225 3.4491 16.9963 3.22661 16.7738C3.00412 16.5513 2.87792 16.2503 2.87518 15.9357C2.87245 15.6211 2.9934 15.3179 3.21199 15.0916L4.06039 14.2432C4.28671 14.0246 4.58984 13.9037 4.90447 13.9064C5.21911 13.9091 5.52008 14.0354 5.74257 14.2578C5.96506 14.4803 6.09127 14.7813 6.094 15.0959C6.09673 15.4106 5.97578 15.7137 5.75719 15.94ZM2.80039 11.2C3.11865 11.2 3.42387 11.0736 3.64892 10.8486C3.87396 10.6235 4.00039 10.3183 4.00039 10C4.00039 9.68176 3.87396 9.37654 3.64892 9.1515C3.42387 8.92645 3.11865 8.80002 2.80039 8.80002H1.60039C1.28213 8.80002 0.976906 8.92645 0.751862 9.1515C0.526819 9.37654 0.400391 9.68176 0.400391 10C0.400391 10.3183 0.526819 10.6235 0.751862 10.8486C0.976906 11.0736 1.28213 11.2 1.60039 11.2H2.80039Z" fill="white"/>
3
- </svg>
@@ -1,12 +0,0 @@
1
- <template>
2
- <zmp-page>
3
- <zmp-navbar title="Not found" back-link="Back"></zmp-navbar>
4
- <zmp-block strong>
5
- <p>Sorry</p>
6
- <p>Requested content not found.</p>
7
- </zmp-block>
8
- </zmp-page>
9
- </template>
10
- <script>
11
- export default {};
12
- </script>
@@ -1,15 +0,0 @@
1
- <template>
2
- <zmp-page name="about">
3
- <zmp-navbar title="About" back-link="Back"></zmp-navbar>
4
- <zmp-block-title>About My App</zmp-block-title>
5
- <zmp-block strong>
6
- <p>Fugiat perspiciatis excepturi, soluta quod non ullam deleniti. Nobis sint nemo consequuntur, fugiat. Eius perferendis animi autem incidunt vel quod tenetur nostrum, voluptate omnis quasi quidem illum consequuntur, a, quisquam.</p>
7
- <p>Laudantium neque magnam vitae nemo quam commodi, in cum dolore obcaecati laborum, excepturi harum, optio qui, consequuntur? Obcaecati dolor sequi nesciunt culpa quia perspiciatis, reiciendis ex debitis, ut tenetur alias.</p>
8
- </zmp-block>
9
- <zmp-block>
10
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magni molestiae laudantium dignissimos est nobis delectus nemo ea alias voluptatum architecto, amet similique, saepe iste consectetur in repellat ut minus quibusdam!</p>
11
- <p>Molestias et distinctio porro nesciunt ratione similique, magni doloribus, rerum nobis, aliquam quae reiciendis quasi modi. Nam a recusandae, fugiat in ea voluptates fuga eius, velit corrupti reprehenderit dignissimos consequatur!</p>
12
- <p>Blanditiis, cumque quo adipisci. Molestiae, dolores dolorum quos doloremque ipsa ullam eligendi commodi deserunt doloribus inventore magni? Ea mollitia veniam nostrum nihil, iusto doloribus a at! Ea molestiae ullam delectus!</p>
13
- </zmp-block>
14
- </zmp-page>
15
- </template>