create-blocklet 0.7.9 → 0.8.0

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 (249) hide show
  1. package/common/.github/workflows/main.yml +10 -7
  2. package/common/.prettierrc +1 -1
  3. package/common/LICENSE +1 -1
  4. package/common/_gitignore +1 -0
  5. package/common/scripts/build-clean.mjs +7 -0
  6. package/index.js +40 -32
  7. package/lib/arcblock.js +1 -1
  8. package/lib/constant.js +1 -0
  9. package/lib/did.js +2 -1
  10. package/lib/git.js +21 -21
  11. package/lib/server.js +10 -10
  12. package/lib/utils.js +2 -1
  13. package/package.json +16 -16
  14. package/templates/express-api/README.md +3 -3
  15. package/templates/express-api/api/hooks/pre-start.js +2 -1
  16. package/templates/express-api/api/index.js +1 -12
  17. package/templates/express-api/blocklet.yml +1 -1
  18. package/templates/express-api/package.json +20 -17
  19. package/templates/express-api/template-info.json +6 -3
  20. package/templates/html-static/README.md +3 -3
  21. package/templates/html-static/app/index.html +35 -36
  22. package/templates/html-static/app/styles/style.css +9 -1
  23. package/templates/html-static/blocklet.yml +1 -1
  24. package/templates/html-static/package.json +6 -5
  25. package/templates/html-static/template-info.json +2 -2
  26. package/templates/monorepo/.prettierrc +1 -1
  27. package/templates/monorepo/README.md +2 -2
  28. package/templates/monorepo/package.json +21 -13
  29. package/templates/monorepo/scripts/bump-version.mjs +1 -1
  30. package/templates/nestjs-api/.eslintrc.js +27 -3
  31. package/templates/nestjs-api/README.md +3 -3
  32. package/templates/nestjs-api/api/app.controller.ts +3 -1
  33. package/templates/nestjs-api/api/app.service.ts +1 -16
  34. package/templates/nestjs-api/api/hooks/pre-start.js +2 -1
  35. package/templates/nestjs-api/blocklet.yml +1 -1
  36. package/templates/nestjs-api/package.json +29 -26
  37. package/templates/nestjs-api/template-info.json +4 -1
  38. package/templates/nestjs-api/tsconfig.build.json +6 -1
  39. package/templates/nestjs-api/tsconfig.eslint.json +7 -0
  40. package/templates/nextjs-dapp/README.md +3 -3
  41. package/templates/nextjs-dapp/api/hooks/pre-start.js +2 -1
  42. package/templates/nextjs-dapp/blocklet.yml +1 -1
  43. package/templates/nextjs-dapp/package.json +23 -20
  44. package/templates/nextjs-dapp/pages/_app.js +1 -1
  45. package/templates/nextjs-dapp/pages/api/hello.js +1 -1
  46. package/templates/nextjs-dapp/pages/index.js +9 -17
  47. package/templates/nextjs-dapp/styles/Home.module.css +12 -3
  48. package/templates/nextjs-dapp/styles/globals.css +12 -2
  49. package/templates/nextjs-dapp/template-info.json +2 -2
  50. package/templates/react-dapp/README.md +3 -3
  51. package/templates/react-dapp/api/hooks/pre-start.js +2 -1
  52. package/templates/react-dapp/api/routes/index.js +6 -0
  53. package/templates/react-dapp/blocklet.yml +1 -1
  54. package/templates/react-dapp/index.html +14 -11
  55. package/templates/react-dapp/package.json +32 -28
  56. package/templates/react-dapp/src/app.jsx +1 -5
  57. package/templates/react-dapp/src/assets/blocklet.svg +16 -0
  58. package/templates/react-dapp/src/assets/react.svg +1 -0
  59. package/templates/react-dapp/src/assets/vite.svg +1 -0
  60. package/templates/react-dapp/src/index.css +68 -0
  61. package/templates/react-dapp/src/index.jsx +1 -0
  62. package/templates/react-dapp/src/libs/api.js +5 -12
  63. package/templates/react-dapp/src/pages/home.css +45 -0
  64. package/templates/react-dapp/src/pages/home.jsx +42 -15
  65. package/templates/react-dapp/template-info.json +2 -2
  66. package/templates/react-dapp-ts/.eslintrc.js +3 -0
  67. package/templates/react-dapp-ts/README.md +3 -3
  68. package/templates/react-dapp-ts/api/src/hooks/pre-start.ts +2 -2
  69. package/templates/react-dapp-ts/api/src/routes/index.ts +6 -0
  70. package/templates/react-dapp-ts/blocklet.yml +1 -1
  71. package/templates/react-dapp-ts/index.html +14 -11
  72. package/templates/react-dapp-ts/package.json +38 -34
  73. package/templates/react-dapp-ts/src/app.tsx +1 -6
  74. package/templates/react-dapp-ts/src/assets/blocklet.svg +16 -0
  75. package/templates/react-dapp-ts/src/assets/react.svg +1 -0
  76. package/templates/react-dapp-ts/src/assets/vite.svg +1 -0
  77. package/templates/react-dapp-ts/src/index.css +68 -0
  78. package/templates/react-dapp-ts/src/index.tsx +2 -2
  79. package/templates/react-dapp-ts/src/libs/api.ts +5 -12
  80. package/templates/react-dapp-ts/src/pages/home.css +45 -0
  81. package/templates/react-dapp-ts/src/pages/home.tsx +42 -15
  82. package/templates/react-dapp-ts/tsconfig.api.json +4 -1
  83. package/templates/react-dapp-ts/tsconfig.eslint.json +3 -1
  84. package/templates/react-gun-dapp/README.md +3 -3
  85. package/templates/react-gun-dapp/api/hooks/pre-start.js +2 -1
  86. package/templates/react-gun-dapp/blocklet.yml +1 -1
  87. package/templates/react-gun-dapp/index.html +14 -11
  88. package/templates/react-gun-dapp/package.json +31 -28
  89. package/templates/react-gun-dapp/src/app.jsx +1 -1
  90. package/templates/react-gun-dapp/src/libs/api.js +1 -1
  91. package/templates/react-gun-dapp/src/pages/about.jsx +5 -1
  92. package/templates/react-gun-dapp/src/pages/home.jsx +5 -1
  93. package/templates/react-static/README.md +3 -3
  94. package/templates/react-static/blocklet.yml +1 -1
  95. package/templates/react-static/index.html +14 -11
  96. package/templates/react-static/package.json +20 -18
  97. package/templates/react-static/src/app.jsx +1 -5
  98. package/templates/react-static/src/assets/blocklet.svg +16 -0
  99. package/templates/react-static/src/assets/react.svg +1 -0
  100. package/templates/react-static/src/assets/vite.svg +1 -0
  101. package/templates/react-static/src/index.css +68 -0
  102. package/templates/react-static/src/index.jsx +1 -0
  103. package/templates/react-static/src/pages/home.css +45 -0
  104. package/templates/react-static/src/pages/home.jsx +30 -15
  105. package/templates/react-static/template-info.json +6 -3
  106. package/templates/solidjs-dapp/.eslintrc.js +2 -1
  107. package/templates/solidjs-dapp/README.md +3 -3
  108. package/templates/solidjs-dapp/api/hooks/pre-start.js +2 -1
  109. package/templates/solidjs-dapp/api/routes/index.js +6 -0
  110. package/templates/solidjs-dapp/blocklet.yml +4 -2
  111. package/templates/solidjs-dapp/index.html +15 -12
  112. package/templates/solidjs-dapp/package.json +34 -30
  113. package/templates/solidjs-dapp/src/App.jsx +15 -3
  114. package/templates/solidjs-dapp/src/App.module.css +7 -1
  115. package/templates/solidjs-dapp/src/assets/blocklet.svg +16 -0
  116. package/templates/{solidjs-static/src/logo.svg → solidjs-dapp/src/assets/solidjs.svg} +1 -1
  117. package/templates/solidjs-dapp/src/index.css +21 -5
  118. package/templates/solidjs-dapp/src/libs/api.js +7 -0
  119. package/templates/solidjs-dapp/template-info.json +2 -2
  120. package/templates/solidjs-static/.eslintrc.js +4 -0
  121. package/templates/solidjs-static/README.md +3 -3
  122. package/templates/solidjs-static/blocklet.yml +1 -1
  123. package/templates/solidjs-static/index.html +15 -12
  124. package/templates/solidjs-static/package.json +22 -21
  125. package/templates/solidjs-static/src/App.jsx +7 -3
  126. package/templates/solidjs-static/src/App.module.css +7 -1
  127. package/templates/solidjs-static/src/assets/blocklet.svg +16 -0
  128. package/templates/solidjs-static/src/index.css +3 -5
  129. package/templates/solidjs-static/template-info.json +2 -2
  130. package/templates/svelte-dapp/README.md +3 -4
  131. package/templates/svelte-dapp/api/hooks/pre-start.js +2 -1
  132. package/templates/svelte-dapp/api/routes/index.js +6 -0
  133. package/templates/svelte-dapp/blocklet.yml +1 -1
  134. package/templates/svelte-dapp/index.html +13 -10
  135. package/templates/svelte-dapp/jsconfig.json +9 -7
  136. package/templates/svelte-dapp/package.json +29 -29
  137. package/templates/svelte-dapp/src/App.svelte +45 -42
  138. package/templates/svelte-dapp/src/app.css +79 -0
  139. package/templates/svelte-dapp/src/assets/blocklet.svg +16 -0
  140. package/templates/svelte-dapp/src/assets/svelte.svg +1 -0
  141. package/templates/svelte-dapp/src/assets/vite.svg +1 -0
  142. package/templates/svelte-dapp/src/components/Counter.svelte +10 -0
  143. package/templates/svelte-dapp/src/libs/api.js +7 -0
  144. package/templates/svelte-dapp/src/main.js +1 -0
  145. package/templates/svelte-dapp/template-info.json +2 -2
  146. package/templates/svelte-dapp/vite.config.mjs +6 -1
  147. package/templates/svelte-static/README.md +3 -4
  148. package/templates/svelte-static/blocklet.yml +1 -1
  149. package/templates/svelte-static/index.html +13 -10
  150. package/templates/svelte-static/jsconfig.json +9 -7
  151. package/templates/svelte-static/package.json +18 -22
  152. package/templates/svelte-static/src/App.svelte +36 -43
  153. package/templates/svelte-static/src/app.css +79 -0
  154. package/templates/svelte-static/src/assets/blocklet.svg +16 -0
  155. package/templates/svelte-static/src/assets/svelte.svg +1 -0
  156. package/templates/svelte-static/src/assets/vite.svg +1 -0
  157. package/templates/svelte-static/src/components/Counter.svelte +10 -0
  158. package/templates/svelte-static/src/main.js +1 -0
  159. package/templates/svelte-static/template-info.json +6 -3
  160. package/templates/svelte-static/vite.config.mjs +6 -1
  161. package/templates/todo-list-example/.eslintrc.js +1 -1
  162. package/templates/todo-list-example/api/src/hooks/pre-start.ts +2 -1
  163. package/templates/todo-list-example/api/src/routes/todo-list/$get.ts +1 -1
  164. package/templates/todo-list-example/api/src/routes/todo-list/$put.ts +1 -1
  165. package/templates/todo-list-example/blocklet.yml +7 -5
  166. package/templates/todo-list-example/index.html +14 -11
  167. package/templates/todo-list-example/package.json +44 -41
  168. package/templates/todo-list-example/src/components/layout.tsx +1 -1
  169. package/templates/todo-list-example/src/libs/api.ts +5 -12
  170. package/templates/todo-list-example/src/logo.svg +1 -1
  171. package/templates/todo-list-example/src/pages/required-login.tsx +3 -6
  172. package/templates/todo-list-example/src/pages/todo-list.css +72 -68
  173. package/templates/todo-list-example/src/pages/todo-list.tsx +32 -32
  174. package/templates/todo-list-example/template-info.json +1 -1
  175. package/templates/todo-list-example/tsconfig.api.json +4 -1
  176. package/templates/todo-list-example/tsconfig.eslint.json +3 -1
  177. package/templates/vue-dapp/README.md +3 -3
  178. package/templates/vue-dapp/api/hooks/pre-start.js +2 -1
  179. package/templates/vue-dapp/api/routes/index.js +6 -0
  180. package/templates/vue-dapp/blocklet.yml +1 -1
  181. package/templates/vue-dapp/index.html +14 -11
  182. package/templates/vue-dapp/package.json +32 -28
  183. package/templates/vue-dapp/src/App.vue +26 -19
  184. package/templates/vue-dapp/src/assets/blocklet.svg +16 -0
  185. package/templates/vue-dapp/src/assets/vite.svg +1 -0
  186. package/templates/vue-dapp/src/assets/vue.svg +1 -0
  187. package/templates/vue-dapp/src/components/HelloWorld.vue +25 -15
  188. package/templates/vue-dapp/src/libs/api.js +5 -12
  189. package/templates/vue-dapp/src/main.js +1 -0
  190. package/templates/vue-dapp/src/style.css +79 -0
  191. package/templates/vue-dapp/template-info.json +2 -2
  192. package/templates/vue-static/README.md +3 -3
  193. package/templates/vue-static/blocklet.yml +1 -1
  194. package/templates/vue-static/index.html +14 -11
  195. package/templates/vue-static/package.json +20 -19
  196. package/templates/vue-static/src/App.vue +27 -12
  197. package/templates/vue-static/src/assets/blocklet.svg +16 -0
  198. package/templates/vue-static/src/assets/vite.svg +1 -0
  199. package/templates/vue-static/src/assets/vue.svg +1 -0
  200. package/templates/vue-static/src/components/HelloWorld.vue +15 -15
  201. package/templates/vue-static/src/main.js +1 -0
  202. package/templates/vue-static/src/style.css +79 -0
  203. package/templates/vue-static/template-info.json +6 -3
  204. package/templates/vue2-dapp/README.md +3 -3
  205. package/templates/vue2-dapp/api/hooks/pre-start.js +2 -1
  206. package/templates/vue2-dapp/blocklet.yml +1 -1
  207. package/templates/vue2-dapp/index.html +14 -11
  208. package/templates/vue2-dapp/package.json +30 -27
  209. package/templates/vue2-dapp/src/libs/api.js +1 -1
  210. package/templates/vue2-dapp/template-info.json +2 -2
  211. package/templates/vue2-static/README.md +3 -3
  212. package/templates/vue2-static/blocklet.yml +1 -1
  213. package/templates/vue2-static/index.html +14 -11
  214. package/templates/vue2-static/package.json +19 -18
  215. package/templates/vue2-static/template-info.json +6 -3
  216. package/common/.husky/pre-commit +0 -4
  217. package/common/_npmrc +0 -4
  218. package/common/scripts/build-clean.js +0 -5
  219. package/templates/express-api/.env +0 -1
  220. package/templates/monorepo/.husky/pre-commit +0 -4
  221. package/templates/react-dapp/src/app.css +0 -30
  222. package/templates/react-dapp/src/logo.svg +0 -1
  223. package/templates/react-dapp/src/pages/about.jsx +0 -16
  224. package/templates/react-dapp-ts/src/app.css +0 -30
  225. package/templates/react-dapp-ts/src/logo.svg +0 -1
  226. package/templates/react-dapp-ts/src/pages/about.tsx +0 -16
  227. package/templates/react-static/src/app.css +0 -30
  228. package/templates/react-static/src/logo.svg +0 -1
  229. package/templates/react-static/src/pages/about.jsx +0 -16
  230. package/templates/svelte-dapp/.eslintrc.js +0 -22
  231. package/templates/svelte-dapp/src/assets/svelte.png +0 -0
  232. package/templates/svelte-dapp/src/lib/Counter.svelte +0 -34
  233. package/templates/svelte-static/.eslintrc.js +0 -22
  234. package/templates/svelte-static/src/assets/svelte.png +0 -0
  235. package/templates/svelte-static/src/lib/Counter.svelte +0 -34
  236. package/templates/todo-list-example/.editorconfig +0 -23
  237. package/templates/todo-list-example/.github/workflows/main.yml +0 -36
  238. package/templates/todo-list-example/.github/workflows/pr-title.yml +0 -21
  239. package/templates/todo-list-example/.github/workflows/version-check.yml +0 -20
  240. package/templates/todo-list-example/.husky/pre-commit +0 -4
  241. package/templates/todo-list-example/.prettierrc +0 -9
  242. package/templates/todo-list-example/logo.png +0 -0
  243. package/templates/todo-list-example/public/.gitkeep +0 -0
  244. package/templates/todo-list-example/screenshots/.gitkeep +0 -0
  245. package/templates/todo-list-example/scripts/build-clean.js +0 -5
  246. package/templates/todo-list-example/scripts/bump-version.mjs +0 -35
  247. package/templates/vue-static/src/assets/logo.png +0 -0
  248. /package/templates/monorepo/{eslintrc.js → .eslintrc.js} +0 -0
  249. /package/templates/{solidjs-dapp/src/logo.svg → solidjs-static/src/assets/solidjs.svg} +0 -0
@@ -1,42 +1,42 @@
1
- *{
1
+ * {
2
2
  margin: 0;
3
3
  padding: 0;
4
4
  font-family: sans-serif;
5
5
  box-sizing: border-box;
6
- }
6
+ }
7
7
 
8
8
  /* container */
9
- .container{
9
+ .container {
10
10
  width: 100%;
11
11
  min-height: 100vh;
12
12
  background: #f6f8fa;
13
13
  padding: 10px;
14
14
  }
15
15
 
16
- .todo-app{
16
+ .todo-app {
17
17
  width: 100%;
18
18
  max-width: 540px;
19
19
  background: white;
20
- border: 0.5px solid black;
20
+ border: 0.5px solid #e5e5e5;
21
21
  margin: 20px auto 20px;
22
22
  padding: 40px 30px 70px;
23
23
  border-radius: 15px;
24
24
  }
25
25
 
26
- .todo-app h2{
26
+ .todo-app h2 {
27
27
  display: flex;
28
28
  align-items: center;
29
29
  margin-bottom: 20px;
30
30
  justify-content: center;
31
31
  }
32
32
 
33
- .todo-app h2 img{
33
+ .todo-app h2 img {
34
34
  width: 30px;
35
35
  margin-left: 10px;
36
36
  }
37
37
 
38
38
  /* input box */
39
- .row{
39
+ .row {
40
40
  display: flex;
41
41
  align-items: center;
42
42
  justify-content: space-between;
@@ -46,7 +46,7 @@
46
46
  margin-bottom: 25px;
47
47
  }
48
48
 
49
- input{
49
+ input {
50
50
  position: relative;
51
51
  flex: 1;
52
52
  border: none;
@@ -55,11 +55,11 @@ input{
55
55
  padding: 10px;
56
56
  }
57
57
 
58
- button{
58
+ button {
59
59
  border: none;
60
60
  outline: none;
61
61
  padding: 16px 50px;
62
- background: #4CAF50;
62
+ background: #4caf50;
63
63
  color: white;
64
64
  font-size: 16px;
65
65
  cursor: pointer;
@@ -67,26 +67,24 @@ button{
67
67
  }
68
68
 
69
69
  /* styling on mid */
70
- .mid{
70
+ .mid {
71
71
  display: flex;
72
72
  font-size: 1.2rem;
73
73
  margin-left: 20px;
74
74
  margin-bottom: 30px;
75
75
  /* justify-content: space-between; */
76
-
77
76
  }
78
77
 
79
- #complete-all{
78
+ #complete-all {
80
79
  margin-left: 10px;
81
80
  cursor: pointer;
82
81
  }
83
82
 
84
- #clear-all{
83
+ #clear-all {
85
84
  margin-left: 90px;
86
85
  cursor: pointer;
87
86
  }
88
87
 
89
-
90
88
  /* styling on todo list */
91
89
 
92
90
  ul {
@@ -117,18 +115,19 @@ ul li:hover {
117
115
  cursor: pointer;
118
116
  }
119
117
 
120
-
121
118
  #list label {
122
119
  position: relative;
123
120
  cursor: pointer;
124
121
  }
125
122
 
126
123
  #list label:before {
127
- content:'';
124
+ content: '';
128
125
  -webkit-appearance: none;
129
126
  background-color: transparent;
130
127
  border: 2px solid #0079bf;
131
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
128
+ box-shadow:
129
+ 0 1px 2px rgba(0, 0, 0, 0.05),
130
+ inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
132
131
  padding: 10px;
133
132
  display: inline-block;
134
133
  position: relative;
@@ -150,28 +149,28 @@ ul li:hover {
150
149
  }
151
150
  #list input:checked + label:before {
152
151
  background: #0079bf;
153
- }
152
+ }
154
153
  #list input:checked + label {
155
154
  text-decoration: line-through;
156
155
  }
157
156
  .delete {
158
- height: 25px;
159
- padding: 5px 0px;
160
- border-radius: 3px;
157
+ height: 26px;
158
+ padding: 5px 3px;
159
+ border-radius: 3px;
161
160
  }
162
161
  .delete:hover {
163
162
  background: #f2f2f2;
164
163
  cursor: pointer;
165
164
  }
166
165
 
167
- .edit{
168
- height: 25px;
169
- padding: 5px 0px;
166
+ .edit {
167
+ height: 26px;
168
+ padding: 5px 3px;
170
169
  border-radius: 3px;
171
170
  margin-right: 10px;
172
171
  }
173
172
 
174
- .edit:hover{
173
+ .edit:hover {
175
174
  background: #f2f2f2;
176
175
  cursor: pointer;
177
176
  }
@@ -181,77 +180,82 @@ h1 {
181
180
  }
182
181
  .add-task {
183
182
  width: 100%;
184
- outline: none;
185
- font-size: 15px;
186
- padding: 11px;
187
- border: 1px solid #f3f3f3;
188
- margin-bottom: 3px;
183
+ outline: none;
184
+ font-size: 15px;
185
+ padding: 11px;
186
+ border: 1px solid #f3f3f3;
187
+ margin-bottom: 3px;
188
+ }
189
+ .task-actions {
190
+ display: flex;
191
+ align-items: center;
192
+ gap: 8px;
189
193
  }
190
-
191
-
192
-
193
194
 
194
195
  #total-tasks {
195
196
  margin-bottom: 20px;
196
197
  font-size: 13px;
197
- margin-left: 2px;
198
- color: gray;
198
+ margin-left: 2px;
199
+ color: gray;
199
200
  }
200
201
 
201
202
  /*
202
203
  dropdown*/
203
- .filters{
204
- margin-top: 40px;
204
+ .filters {
205
+ margin-top: 40px;
205
206
  }
206
207
  .dropbtn {
207
- background-color: #4CAF50;
208
- color: white;
209
- padding: 10px 16px;
210
- font-size: 16px;
211
- border: none;
212
- cursor: pointer;
213
- border-radius: 5px;
208
+ background-color: #4caf50;
209
+ color: white;
210
+ padding: 10px 16px;
211
+ font-size: 16px;
212
+ border: none;
213
+ cursor: pointer;
214
+ border-radius: 5px;
214
215
  }
215
216
 
216
217
  .dropdown {
217
- position: relative;
218
- display: inline-block;
218
+ position: relative;
219
+ display: inline-block;
219
220
  }
220
221
 
221
222
  .dropdown-content {
222
- display: none;
223
- position: absolute;
224
- background-color: #f9f9f9;
225
- min-width: 160px;
226
- box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
227
- z-index: 1;
223
+ display: none;
224
+ position: absolute;
225
+ background-color: #f9f9f9;
226
+ min-width: 160px;
227
+ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
228
+ z-index: 1;
228
229
  }
229
230
 
230
- .dropdown-content a {
231
- color: black;
232
- padding: 12px 16px;
233
- text-decoration: none;
234
- display: block;
231
+ .dropdown-content .item {
232
+ color: black;
233
+ padding: 12px 16px;
234
+ text-decoration: none;
235
+ display: block;
236
+ cursor: pointer;
235
237
  }
236
238
 
237
- .dropdown-content a:hover {background-color: #f1f1f1}
239
+ .dropdown-content .item:hover {
240
+ background-color: #f1f1f1;
241
+ }
238
242
 
239
243
  .dropdown:hover .dropdown-content {
240
- display: block;
244
+ display: block;
241
245
  }
242
246
 
243
247
  .dropdown:hover .dropbtn {
244
- background-color: #3e8e41;
248
+ background-color: #3e8e41;
245
249
  }
246
250
 
247
- .completed-task{
248
- display: inline-block;
249
- margin-left: 100px;
251
+ .completed-task {
252
+ display: inline-block;
253
+ margin-left: 100px;
250
254
  }
251
255
 
252
- .remaining-task{
253
- display: inline-block;
254
- margin-left: 80px;
256
+ .remaining-task {
257
+ display: inline-block;
258
+ margin-left: 80px;
255
259
  }
256
260
 
257
261
  /* .remaining-task p{
@@ -1,14 +1,11 @@
1
- /* eslint-disable jsx-a11y/anchor-is-valid */
2
- /* eslint-disable jsx-a11y/no-autofocus */
3
- /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
4
- /* eslint-disable jsx-a11y/alt-text */
5
- import React, { useState, useEffect } from 'react';
1
+ import { useState, useEffect } from 'react';
6
2
  import { ToastContainer, toast } from 'react-toastify';
7
3
  import 'react-toastify/dist/ReactToastify.css';
8
- import './todo-list.css';
9
4
  import { nanoid } from 'nanoid';
10
5
  import isEmpty from 'lodash/isEmpty';
11
6
  import type { AxiosResponse } from 'axios';
7
+
8
+ import './todo-list.css';
12
9
  import { useSessionContext } from '../contexts/session';
13
10
  import RequiredLogin from './required-login';
14
11
  import axios from '../libs/api';
@@ -88,7 +85,7 @@ function TodoList() {
88
85
 
89
86
  const handleTaskCheckboxChange = async (taskId: string) => {
90
87
  const currentTodoList = todoList.map((task) =>
91
- task.id === taskId ? { ...task, completed: !task.completed } : task
88
+ task.id === taskId ? { ...task, completed: !task.completed } : task,
92
89
  );
93
90
  setTodoList(currentTodoList);
94
91
  await putTodoList(currentTodoList);
@@ -120,7 +117,7 @@ function TodoList() {
120
117
  };
121
118
 
122
119
  const currentTodoList = todoList.map((task) =>
123
- task.id === editTaskId ? { ...task, title: updatedTodo.title } : task
120
+ task.id === editTaskId ? { ...task, title: updatedTodo.title } : task,
124
121
  );
125
122
  setTodoList(currentTodoList);
126
123
  await putTodoList(currentTodoList);
@@ -179,7 +176,6 @@ function TodoList() {
179
176
  className="add-task"
180
177
  id="add"
181
178
  placeholder="Add your todo"
182
- autoFocus
183
179
  value={todoTitle}
184
180
  onChange={handleInputChange}
185
181
  />
@@ -190,12 +186,12 @@ function TodoList() {
190
186
 
191
187
  <div className="mid">
192
188
  <i className="fas fa-check-double" />
193
- <p id="complete-all" onClick={handleCompleteAll}>
189
+ <div id="complete-all" onClick={handleCompleteAll}>
194
190
  Complete all todo
195
- </p>
196
- <p id="clear-all" onClick={handleClearCompleted}>
191
+ </div>
192
+ <div id="clear-all" onClick={handleClearCompleted}>
197
193
  Delete comp todo
198
- </p>
194
+ </div>
199
195
  </div>
200
196
 
201
197
  <ul id="list">
@@ -210,19 +206,23 @@ function TodoList() {
210
206
  onChange={() => handleTaskCheckboxChange(task.id)}
211
207
  />
212
208
  <label htmlFor={`task-${task.id}`}>{task.title}</label>
213
- <div>
214
- <img
215
- src="https://cdn-icons-png.flaticon.com/128/1159/1159633.png"
216
- className="edit"
217
- data-id={task.id}
218
- onClick={() => handleEditTask(task.id)}
219
- />
220
- <img
221
- src="https://cdn-icons-png.flaticon.com/128/3096/3096673.png"
222
- className="delete"
223
- data-id={task.id}
224
- onClick={() => handleDeleteTask(task.id)}
225
- />
209
+ <div className="task-actions">
210
+ <div onClick={() => handleEditTask(task.id)}>
211
+ <img
212
+ src="https://cdn-icons-png.flaticon.com/128/1159/1159633.png"
213
+ className="edit"
214
+ data-id={task.id}
215
+ alt="Edit"
216
+ />
217
+ </div>
218
+ <div onClick={() => handleDeleteTask(task.id)}>
219
+ <img
220
+ src="https://cdn-icons-png.flaticon.com/128/3096/3096673.png"
221
+ className="delete"
222
+ data-id={task.id}
223
+ alt="Delete"
224
+ />
225
+ </div>
226
226
  </div>
227
227
  </li>
228
228
  ))}
@@ -234,15 +234,15 @@ function TodoList() {
234
234
  Filter
235
235
  </button>
236
236
  <div className="dropdown-content">
237
- <a href="#" id="all" onClick={() => handleFilterTypeChange('all')}>
237
+ <div className="item" id="all" onClick={() => handleFilterTypeChange('all')}>
238
238
  All
239
- </a>
240
- <a href="#" id="rem" onClick={() => handleFilterTypeChange('uncompleted')}>
239
+ </div>
240
+ <div className="item" id="rem" onClick={() => handleFilterTypeChange('uncompleted')}>
241
241
  Uncompleted
242
- </a>
243
- <a href="#" id="com" onClick={() => handleFilterTypeChange('completed')}>
242
+ </div>
243
+ <div className="item" id="com" onClick={() => handleFilterTypeChange('completed')}>
244
244
  Completed
245
- </a>
245
+ </div>
246
246
  </div>
247
247
  </div>
248
248
  <div className="completed-task">
@@ -9,4 +9,4 @@
9
9
  "languages": "Typescript",
10
10
  "useCase": "Starter",
11
11
  "author": "JianChao Ye"
12
- }
12
+ }
@@ -5,5 +5,8 @@
5
5
  "noEmit": false,
6
6
  "noEmitOnError": true
7
7
  },
8
- "include": ["api/*.d.ts", "api/src"]
8
+ "include": [
9
+ "api/*.d.ts",
10
+ "api/src"
11
+ ]
9
12
  }
@@ -3,5 +3,7 @@
3
3
  "compilerOptions": {
4
4
  "noEmit": true
5
5
  },
6
- "include": [".eslintrc.js"]
6
+ "include": [
7
+ ".eslintrc.js"
8
+ ]
7
9
  }
@@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I
32
32
 
33
33
  Blocklet needs blocklet server as a dependency. So you need to install it first.
34
34
  `npm install -g @blocklet/cli`
35
- See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution)
35
+ See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli)
36
36
 
37
37
  2. Init blocklet server & start blocklet server
38
38
 
39
39
  Before starting an blocklet server, you need to init blocklet server.
40
40
  `blocklet server init --mode=debug`
41
41
  `blocklet server start`
42
- See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server)
42
+ See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started)
43
43
 
44
44
  3. Go to the project directory `cd [name]`
45
45
  4. Install dependencies: `npm install` or `yarn`
@@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com
139
139
  ## Learn More
140
140
 
141
141
  - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md)
142
- - Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en)
142
+ - Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer)
143
143
 
144
144
  ## License
145
145
 
@@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => {
25
25
  (async () => {
26
26
  try {
27
27
  await ensureAccountDeclared();
28
+ logger.info(`${name} pre-start successfully`);
28
29
  process.exit(0);
29
30
  } catch (err) {
30
- logger.error(`${name} pre-start error`, err.message);
31
+ logger.error(`${name} pre-start error`, err);
31
32
  process.exit(1);
32
33
  }
33
34
  })();
@@ -3,4 +3,10 @@ const router = require('express').Router();
3
3
 
4
4
  router.use('/user', middleware.user(), (req, res) => res.json(req.user || {}));
5
5
 
6
+ router.use('/data', (req, res) =>
7
+ res.json({
8
+ message: 'Hello Blocklet!',
9
+ }),
10
+ );
11
+
6
12
  module.exports = router;
@@ -13,7 +13,7 @@ author:
13
13
  repository:
14
14
  type: git
15
15
  url: 'git+https://github.com/blocklet/create-blocklet.git'
16
- specVersion: 1.1.1
16
+ specVersion: 1.2.8
17
17
  version: 0.1.0
18
18
  logo: logo.png
19
19
  files:
@@ -1,14 +1,17 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" href="/favicon.ico?imageFilter=convert&f=png&w=32" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
7
- <meta name="theme-color" content="#4F6AF5" />
8
- </head>
9
- <body>
10
- <noscript>You need to enable JavaScript to run this app.</noscript>
11
- <div id="app"></div>
12
- <script type="module" src="/src/main.js"></script>
13
- </body>
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" href="/favicon.ico?imageFilter=convert&f=png&w=32" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ <meta name="theme-color" content="#4F6AF5" />
9
+ </head>
10
+
11
+ <body>
12
+ <noscript>You need to enable JavaScript to run this app.</noscript>
13
+ <div id="app"></div>
14
+ <script type="module" src="/src/main.js"></script>
15
+ </body>
16
+
14
17
  </html>
@@ -1,54 +1,55 @@
1
1
  {
2
- "name": "template-vue",
2
+ "name": "template-vue-dapp",
3
3
  "version": "0.1.0",
4
4
  "scripts": {
5
5
  "dev": "blocklet dev",
6
6
  "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api",
7
- "clean": "node scripts/build-clean.js",
7
+ "clean": "node scripts/build-clean.mjs",
8
8
  "bundle": "npm run bundle:client && npm run bundle:api",
9
9
  "bundle:client": "vite build",
10
- "bundle:api": "npm run clean && blocklet bundle --zip --create-release",
10
+ "bundle:api": "npm run clean && blocklet bundle --compact --create-release",
11
11
  "deploy": "npm run bundle && blocklet deploy .blocklet/bundle",
12
12
  "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json",
13
13
  "lint": "eslint src api --ext .mjs,.js,.vue",
14
14
  "lint:fix": "npm run lint -- --fix",
15
15
  "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>",
16
16
  "dev:child": "blocklet dev --component --app-did=<%= did %>",
17
- "prepare": "husky install",
17
+ "prepare": "npx simple-git-hooks",
18
18
  "bump-version": "zx --quiet scripts/bump-version.mjs"
19
19
  },
20
20
  "dependencies": {
21
- "@arcblock/did-auth": "^1.18.108",
21
+ "@arcblock/did-auth": "^1.18.124",
22
22
  "@arcblock/did-auth-storage-nedb": "^1.7.1",
23
- "@blocklet/sdk": "^1.16.20",
24
- "@ocap/client": "^1.18.108",
25
- "@ocap/mcrypto": "^1.18.108",
26
- "@ocap/wallet": "^1.18.108",
27
- "axios": "^1.6.2",
23
+ "@blocklet/sdk": "^1.16.28",
24
+ "@ocap/client": "^1.18.124",
25
+ "@ocap/mcrypto": "^1.18.124",
26
+ "@ocap/wallet": "^1.18.124",
27
+ "axios": "^1.7.2",
28
28
  "cookie-parser": "^1.4.6",
29
29
  "cors": "^2.8.5",
30
- "dotenv-flow": "^3.3.0",
31
- "express": "^4.18.2",
32
- "express-async-errors": "^3.1.1",
33
- "vue": "^3.3.13"
30
+ "dotenv-flow": "^4.1.0",
31
+ "express": "^4.19.2",
32
+ "express-async-errors": "^3.1.1"
34
33
  },
35
34
  "devDependencies": {
36
- "@vitejs/plugin-vue": "^4.5.2",
37
- "bumpp": "^8.2.1",
35
+ "@blocklet/js-sdk": "^1.16.28",
36
+ "@vitejs/plugin-vue": "^5.0.5",
37
+ "bumpp": "^9.4.1",
38
38
  "cross-env": "^7.0.3",
39
- "eslint": "^8.56.0",
40
- "eslint-config-prettier": "^8.10.0",
41
- "eslint-plugin-prettier": "^4.2.1",
42
- "eslint-plugin-vue": "^9.19.2",
43
- "husky": "^8.0.3",
44
- "lint-staged": "^12.5.0",
45
- "nodemon": "^3.0.2",
39
+ "eslint": "^8.57.0",
40
+ "eslint-config-prettier": "^9.1.0",
41
+ "eslint-plugin-prettier": "^5.1.3",
42
+ "eslint-plugin-vue": "^9.26.0",
43
+ "lint-staged": "^15.2.7",
44
+ "nodemon": "^3.1.4",
46
45
  "npm-run-all": "^4.1.5",
47
- "prettier": "^3.1.1",
48
- "rimraf": "^3.0.2",
49
- "vite": "^5.0.10",
50
- "vite-plugin-blocklet": "^0.7.9",
51
- "zx": "^7.2.3"
46
+ "prettier": "^3.3.2",
47
+ "rimraf": "^5.0.7",
48
+ "simple-git-hooks": "^2.11.1",
49
+ "vite": "^5.3.2",
50
+ "vite-plugin-blocklet": "^0.8.0",
51
+ "vue": "^3.4.31",
52
+ "zx": "^8.1.3"
52
53
  },
53
54
  "lint-staged": {
54
55
  "*.{mjs,js,vue}": [
@@ -58,5 +59,8 @@
58
59
  "*.{css,less,scss,json,graphql}": [
59
60
  "prettier --write"
60
61
  ]
62
+ },
63
+ "simple-git-hooks": {
64
+ "pre-commit": "npx lint-staged"
61
65
  }
62
66
  }