@maka/maka-cli 5.123.0 → 5.123.1

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 (254) hide show
  1. package/README.md +64 -64
  2. package/bundle/typescript/package.json +120 -120
  3. package/bundle/typescript/src/README.md +64 -64
  4. package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
  5. package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
  6. package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
  7. package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
  8. package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
  9. package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
  10. package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
  11. package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
  12. package/bundle/typescript/src/commands/build/build.js +16 -16
  13. package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
  14. package/bundle/typescript/src/commands/create.js +36 -36
  15. package/bundle/typescript/src/commands/debug.js +4 -4
  16. package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
  17. package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
  18. package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
  19. package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +2 -2
  20. package/bundle/typescript/src/commands/env/env.command.js +8 -8
  21. package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +7 -7
  25. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +443 -443
  26. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  27. package/bundle/typescript/src/commands/game/sideQuest/game.js +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
  29. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +9 -9
  30. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  31. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  32. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  33. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  34. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +2 -2
  35. package/bundle/typescript/src/commands/generate.js +2 -2
  36. package/bundle/typescript/src/commands/lint.js +10 -10
  37. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  38. package/bundle/typescript/src/commands/murder.js +14 -14
  39. package/bundle/typescript/src/commands/proxy.js +13 -13
  40. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  41. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  42. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  43. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  44. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  45. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  46. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  47. package/bundle/typescript/src/exec.js +0 -0
  48. package/bundle/typescript/src/generators/api.js +11 -11
  49. package/bundle/typescript/src/generators/collection.js +6 -6
  50. package/bundle/typescript/src/generators/hook.js +10 -10
  51. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  52. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  53. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  54. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  55. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  56. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  57. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  58. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  59. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  60. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  61. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  62. package/bundle/typescript/src/generators/services/translation.js +5 -5
  63. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  64. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  65. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  66. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  67. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  68. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  69. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  70. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  71. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  72. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  73. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  74. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  75. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  76. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  77. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  78. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  79. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  80. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  81. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  82. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  83. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  84. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  85. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  86. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  87. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  88. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  89. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  90. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  91. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  92. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  93. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  94. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  95. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  96. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  97. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  98. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  99. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  100. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  101. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  102. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  103. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  104. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  105. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  106. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  107. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  108. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  109. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  110. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  111. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  112. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  113. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  114. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  115. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  116. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  117. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  118. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  119. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  120. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  121. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  122. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  123. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  124. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  125. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  126. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  127. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  128. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  129. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  130. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  131. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  132. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  133. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  134. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  135. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  136. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  137. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  138. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  139. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  140. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  141. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  142. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  143. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  144. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  145. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  146. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  147. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  148. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  149. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  150. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  151. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  152. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  153. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  154. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  155. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  156. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  157. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  158. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  159. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  160. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  161. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  162. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  163. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  164. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  165. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  166. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  167. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  168. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  169. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  170. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  171. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  172. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  173. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  174. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  175. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  176. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  177. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  178. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  179. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  180. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  181. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  182. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  183. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  184. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  185. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  186. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  187. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  188. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  189. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  190. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  191. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  192. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  193. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  194. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  195. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  196. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  197. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  198. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  199. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  200. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  201. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  202. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  203. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  204. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  205. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  206. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  207. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  208. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  209. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  210. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  211. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  212. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  213. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  214. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  215. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  216. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  217. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  218. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  219. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  220. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  221. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  222. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  223. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  224. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  225. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  226. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  227. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  228. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  229. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  230. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  231. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  232. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  233. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  234. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  235. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  236. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  237. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  238. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  239. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  240. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  241. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  242. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  243. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  244. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  245. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  246. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  247. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  248. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  249. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  250. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  251. package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -0
  252. package/bundle/typescript/src/tools/mpi/sdk-runtime.js +29 -0
  253. package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
  254. package/package.json +120 -120
@@ -1,105 +1,105 @@
1
- .<%= fileName %> {
2
- display: flex;
3
- align-items: center;
4
- gap: 15px;
5
- flex-wrap: wrap;
6
- }
7
-
8
- .workspace-selector {
9
- display: flex;
10
- align-items: center;
11
- }
12
-
13
- .workspace-select {
14
- padding: 8px 12px;
15
- border: 2px solid #667eea;
16
- border-radius: 4px;
17
- background: white;
18
- font-size: 14px;
19
- font-weight: 500;
20
- color: #333;
21
- cursor: pointer;
22
- transition: all 0.2s ease;
23
- min-width: 180px;
24
- }
25
-
26
- .workspace-select:hover {
27
- border-color: #764ba2;
28
- box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
29
- }
30
-
31
- .workspace-select:focus {
32
- outline: none;
33
- border-color: #764ba2;
34
- box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
35
- }
36
-
37
- .workspace-actions {
38
- display: flex;
39
- gap: 10px;
40
- flex-wrap: wrap;
41
- }
42
-
43
- .workspace-btn {
44
- padding: 8px 16px;
45
- border: none;
46
- border-radius: 4px;
47
- font-size: 14px;
48
- font-weight: 500;
49
- cursor: pointer;
50
- transition: all 0.2s ease;
51
- white-space: nowrap;
52
- }
53
-
54
- .workspace-create-btn {
55
- background: #667eea;
56
- color: white;
57
- }
58
-
59
- .workspace-create-btn:hover {
60
- background: #5568d3;
61
- box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
62
- }
63
-
64
- .workspace-rename-btn {
65
- background: #48bb78;
66
- color: white;
67
- }
68
-
69
- .workspace-rename-btn:hover {
70
- background: #38a169;
71
- box-shadow: 0 2px 4px rgba(72, 187, 120, 0.3);
72
- }
73
-
74
- .workspace-delete-btn {
75
- background: #f56565;
76
- color: white;
77
- }
78
-
79
- .workspace-delete-btn:hover {
80
- background: #e53e3e;
81
- box-shadow: 0 2px 4px rgba(245, 101, 101, 0.3);
82
- }
83
-
84
- .workspace-btn:active {
85
- transform: translateY(1px);
86
- }
87
-
88
- @media (max-width: 768px) {
89
- .<%= fileName %> {
90
- flex-direction: column;
91
- align-items: stretch;
92
- }
93
-
94
- .workspace-select {
95
- width: 100%;
96
- }
97
-
98
- .workspace-actions {
99
- width: 100%;
100
- }
101
-
102
- .workspace-btn {
103
- flex: 1;
104
- }
105
- }
1
+ .<%= fileName %> {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 15px;
5
+ flex-wrap: wrap;
6
+ }
7
+
8
+ .workspace-selector {
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ .workspace-select {
14
+ padding: 8px 12px;
15
+ border: 2px solid #667eea;
16
+ border-radius: 4px;
17
+ background: white;
18
+ font-size: 14px;
19
+ font-weight: 500;
20
+ color: #333;
21
+ cursor: pointer;
22
+ transition: all 0.2s ease;
23
+ min-width: 180px;
24
+ }
25
+
26
+ .workspace-select:hover {
27
+ border-color: #764ba2;
28
+ box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
29
+ }
30
+
31
+ .workspace-select:focus {
32
+ outline: none;
33
+ border-color: #764ba2;
34
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
35
+ }
36
+
37
+ .workspace-actions {
38
+ display: flex;
39
+ gap: 10px;
40
+ flex-wrap: wrap;
41
+ }
42
+
43
+ .workspace-btn {
44
+ padding: 8px 16px;
45
+ border: none;
46
+ border-radius: 4px;
47
+ font-size: 14px;
48
+ font-weight: 500;
49
+ cursor: pointer;
50
+ transition: all 0.2s ease;
51
+ white-space: nowrap;
52
+ }
53
+
54
+ .workspace-create-btn {
55
+ background: #667eea;
56
+ color: white;
57
+ }
58
+
59
+ .workspace-create-btn:hover {
60
+ background: #5568d3;
61
+ box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
62
+ }
63
+
64
+ .workspace-rename-btn {
65
+ background: #48bb78;
66
+ color: white;
67
+ }
68
+
69
+ .workspace-rename-btn:hover {
70
+ background: #38a169;
71
+ box-shadow: 0 2px 4px rgba(72, 187, 120, 0.3);
72
+ }
73
+
74
+ .workspace-delete-btn {
75
+ background: #f56565;
76
+ color: white;
77
+ }
78
+
79
+ .workspace-delete-btn:hover {
80
+ background: #e53e3e;
81
+ box-shadow: 0 2px 4px rgba(245, 101, 101, 0.3);
82
+ }
83
+
84
+ .workspace-btn:active {
85
+ transform: translateY(1px);
86
+ }
87
+
88
+ @media (max-width: 768px) {
89
+ .<%= fileName %> {
90
+ flex-direction: column;
91
+ align-items: stretch;
92
+ }
93
+
94
+ .workspace-select {
95
+ width: 100%;
96
+ }
97
+
98
+ .workspace-actions {
99
+ width: 100%;
100
+ }
101
+
102
+ .workspace-btn {
103
+ flex: 1;
104
+ }
105
+ }
@@ -1,158 +1,158 @@
1
- import './<%= fileName %>.css';
2
- import React, { Component } from 'react';
3
- import PropTypes from 'prop-types';
4
- import { WorkspaceManager, WorkspaceStore } from 'meteor/maka:maka-frames';
5
-
6
- /**
7
- * <%= className %> Component
8
- *
9
- * UI component for managing workspaces in the maka-frames package.
10
- * Provides controls for creating, switching, renaming, and deleting workspaces.
11
- */
12
- class <%= className %>Component extends Component {
13
- static propTypes = {
14
- currentWorkspaceId: PropTypes.string.isRequired,
15
- allWorkspaces: PropTypes.array.isRequired,
16
- user: PropTypes.object,
17
- onWorkspaceSwitch: PropTypes.func
18
- };
19
-
20
- handleCreateWorkspace = () => {
21
- const { user, onWorkspaceSwitch } = this.props;
22
-
23
- const workspaceName = prompt('Enter workspace name:', `Workspace ${new Date().toLocaleTimeString()}`);
24
- if (!workspaceName) return;
25
-
26
- const workspaceId = `workspace-${Date.now()}`;
27
- const workspaceData = {
28
- id: workspaceId,
29
- name: workspaceName,
30
- frames: [],
31
- createdAt: new Date(),
32
- updatedAt: new Date()
33
- };
34
-
35
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
36
- if (user) {
37
- WorkspaceManager.createWorkspace(workspaceData.id, workspaceData.name)
38
- .then(() => {
39
- console.log('Workspace created:', workspaceData.id);
40
- if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
41
- })
42
- .catch((error) => {
43
- console.error('Error creating workspace:', error);
44
- });
45
- } else {
46
- WorkspaceStore.setWorkspace(workspaceData);
47
- if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
48
- }
49
- }
50
-
51
- handleDeleteWorkspace = (workspaceId) => {
52
- const { user, allWorkspaces, onWorkspaceSwitch } = this.props;
53
-
54
- const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
55
- if (!workspace) return;
56
-
57
- const confirmed = confirm(`Are you sure you want to delete "${workspace.name}"?`);
58
- if (!confirmed) return;
59
-
60
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
61
- if (user) {
62
- WorkspaceManager.deleteWorkspace(workspaceId)
63
- .then(() => {
64
- console.log('Workspace deleted:', workspaceId);
65
- // Switch to first available workspace
66
- const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
67
- if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
68
- onWorkspaceSwitch(remainingWorkspaces[0].id);
69
- }
70
- })
71
- .catch((error) => {
72
- // Handle error (e.g., last workspace can't be deleted)
73
- alert(error.message || 'Cannot delete workspace');
74
- console.error('Error deleting workspace:', error);
75
- });
76
- } else {
77
- const success = WorkspaceStore.deleteWorkspace(workspaceId);
78
- if (success) {
79
- // Switch to first available workspace
80
- const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
81
- if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
82
- onWorkspaceSwitch(remainingWorkspaces[0].id);
83
- }
84
- } else {
85
- alert('Cannot delete the last workspace');
86
- }
87
- }
88
- }
89
-
90
- handleRenameWorkspace = (workspaceId) => {
91
- const { user, allWorkspaces } = this.props;
92
-
93
- const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
94
- if (!workspace) return;
95
-
96
- const newName = prompt('Enter new workspace name:', workspace.name);
97
- if (!newName || newName === workspace.name) return;
98
-
99
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
100
- if (user) {
101
- WorkspaceManager.updateWorkspace(workspaceId, { name: newName });
102
- } else {
103
- const localWorkspace = WorkspaceStore.getWorkspace(workspaceId);
104
- if (localWorkspace) {
105
- localWorkspace.name = newName;
106
- localWorkspace.updatedAt = new Date();
107
- WorkspaceStore.setWorkspace(localWorkspace);
108
- }
109
- }
110
- }
111
-
112
- render() {
113
- const { currentWorkspaceId, allWorkspaces, onWorkspaceSwitch } = this.props;
114
-
115
- return (
116
- <div className="<%= fileName %>">
117
- <div className="workspace-selector">
118
- <select
119
- value={currentWorkspaceId}
120
- onChange={(e) => onWorkspaceSwitch && onWorkspaceSwitch(e.target.value)}
121
- className="workspace-select"
122
- >
123
- {allWorkspaces.map(ws => (
124
- <option key={ws.id} value={ws.id}>{ws.name}</option>
125
- ))}
126
- </select>
127
- </div>
128
-
129
- <div className="workspace-actions">
130
- <button
131
- onClick={this.handleCreateWorkspace}
132
- className="workspace-btn workspace-create-btn"
133
- >
134
- + New Workspace
135
- </button>
136
-
137
- <button
138
- onClick={() => this.handleRenameWorkspace(currentWorkspaceId)}
139
- className="workspace-btn workspace-rename-btn"
140
- >
141
- Rename Workspace
142
- </button>
143
-
144
- {allWorkspaces.length > 1 && (
145
- <button
146
- onClick={() => this.handleDeleteWorkspace(currentWorkspaceId)}
147
- className="workspace-btn workspace-delete-btn"
148
- >
149
- Delete Workspace
150
- </button>
151
- )}
152
- </div>
153
- </div>
154
- );
155
- }
156
- }
157
-
158
- export { <%= className %>Component };
1
+ import './<%= fileName %>.css';
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { WorkspaceManager, WorkspaceStore } from 'meteor/maka:maka-frames';
5
+
6
+ /**
7
+ * <%= className %> Component
8
+ *
9
+ * UI component for managing workspaces in the maka-frames package.
10
+ * Provides controls for creating, switching, renaming, and deleting workspaces.
11
+ */
12
+ class <%= className %>Component extends Component {
13
+ static propTypes = {
14
+ currentWorkspaceId: PropTypes.string.isRequired,
15
+ allWorkspaces: PropTypes.array.isRequired,
16
+ user: PropTypes.object,
17
+ onWorkspaceSwitch: PropTypes.func
18
+ };
19
+
20
+ handleCreateWorkspace = () => {
21
+ const { user, onWorkspaceSwitch } = this.props;
22
+
23
+ const workspaceName = prompt('Enter workspace name:', `Workspace ${new Date().toLocaleTimeString()}`);
24
+ if (!workspaceName) return;
25
+
26
+ const workspaceId = `workspace-${Date.now()}`;
27
+ const workspaceData = {
28
+ id: workspaceId,
29
+ name: workspaceName,
30
+ frames: [],
31
+ createdAt: new Date(),
32
+ updatedAt: new Date()
33
+ };
34
+
35
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
36
+ if (user) {
37
+ WorkspaceManager.createWorkspace(workspaceData.id, workspaceData.name)
38
+ .then(() => {
39
+ console.log('Workspace created:', workspaceData.id);
40
+ if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
41
+ })
42
+ .catch((error) => {
43
+ console.error('Error creating workspace:', error);
44
+ });
45
+ } else {
46
+ WorkspaceStore.setWorkspace(workspaceData);
47
+ if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
48
+ }
49
+ }
50
+
51
+ handleDeleteWorkspace = (workspaceId) => {
52
+ const { user, allWorkspaces, onWorkspaceSwitch } = this.props;
53
+
54
+ const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
55
+ if (!workspace) return;
56
+
57
+ const confirmed = confirm(`Are you sure you want to delete "${workspace.name}"?`);
58
+ if (!confirmed) return;
59
+
60
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
61
+ if (user) {
62
+ WorkspaceManager.deleteWorkspace(workspaceId)
63
+ .then(() => {
64
+ console.log('Workspace deleted:', workspaceId);
65
+ // Switch to first available workspace
66
+ const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
67
+ if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
68
+ onWorkspaceSwitch(remainingWorkspaces[0].id);
69
+ }
70
+ })
71
+ .catch((error) => {
72
+ // Handle error (e.g., last workspace can't be deleted)
73
+ alert(error.message || 'Cannot delete workspace');
74
+ console.error('Error deleting workspace:', error);
75
+ });
76
+ } else {
77
+ const success = WorkspaceStore.deleteWorkspace(workspaceId);
78
+ if (success) {
79
+ // Switch to first available workspace
80
+ const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
81
+ if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
82
+ onWorkspaceSwitch(remainingWorkspaces[0].id);
83
+ }
84
+ } else {
85
+ alert('Cannot delete the last workspace');
86
+ }
87
+ }
88
+ }
89
+
90
+ handleRenameWorkspace = (workspaceId) => {
91
+ const { user, allWorkspaces } = this.props;
92
+
93
+ const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
94
+ if (!workspace) return;
95
+
96
+ const newName = prompt('Enter new workspace name:', workspace.name);
97
+ if (!newName || newName === workspace.name) return;
98
+
99
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
100
+ if (user) {
101
+ WorkspaceManager.updateWorkspace(workspaceId, { name: newName });
102
+ } else {
103
+ const localWorkspace = WorkspaceStore.getWorkspace(workspaceId);
104
+ if (localWorkspace) {
105
+ localWorkspace.name = newName;
106
+ localWorkspace.updatedAt = new Date();
107
+ WorkspaceStore.setWorkspace(localWorkspace);
108
+ }
109
+ }
110
+ }
111
+
112
+ render() {
113
+ const { currentWorkspaceId, allWorkspaces, onWorkspaceSwitch } = this.props;
114
+
115
+ return (
116
+ <div className="<%= fileName %>">
117
+ <div className="workspace-selector">
118
+ <select
119
+ value={currentWorkspaceId}
120
+ onChange={(e) => onWorkspaceSwitch && onWorkspaceSwitch(e.target.value)}
121
+ className="workspace-select"
122
+ >
123
+ {allWorkspaces.map(ws => (
124
+ <option key={ws.id} value={ws.id}>{ws.name}</option>
125
+ ))}
126
+ </select>
127
+ </div>
128
+
129
+ <div className="workspace-actions">
130
+ <button
131
+ onClick={this.handleCreateWorkspace}
132
+ className="workspace-btn workspace-create-btn"
133
+ >
134
+ + New Workspace
135
+ </button>
136
+
137
+ <button
138
+ onClick={() => this.handleRenameWorkspace(currentWorkspaceId)}
139
+ className="workspace-btn workspace-rename-btn"
140
+ >
141
+ Rename Workspace
142
+ </button>
143
+
144
+ {allWorkspaces.length > 1 && (
145
+ <button
146
+ onClick={() => this.handleDeleteWorkspace(currentWorkspaceId)}
147
+ className="workspace-btn workspace-delete-btn"
148
+ >
149
+ Delete Workspace
150
+ </button>
151
+ )}
152
+ </div>
153
+ </div>
154
+ );
155
+ }
156
+ }
157
+
158
+ export { <%= className %>Component };