@maka/maka-cli 5.123.1 → 5.125.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 (342) 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/adept-powers.d.ts +0 -8
  23. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +6 -50
  24. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +3 -3
  26. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +0 -4
  28. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +0 -1342
  29. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -6
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +13 -5
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +5 -2
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -2
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -38
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +11 -45
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +5 -4
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +10 -4
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +7 -0
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +58 -9
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +10 -7
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +7 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +12 -8
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +2 -2
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +8 -8
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +22 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  64. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +24 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +39 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +110 -35
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +445 -445
  71. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  73. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +42 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/game.js +118 -43
  75. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  76. package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +32 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js +12 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +1 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +6 -4
  80. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +3 -83
  81. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.d.ts +36 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js +62 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js.map +1 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
  86. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -5
  87. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +10 -14
  88. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +24 -10
  90. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +3 -7
  92. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +15 -715
  93. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  94. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  95. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  96. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +5 -7
  97. package/bundle/typescript/src/commands/game/sideQuest/spells.js +5 -63
  98. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
  99. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -0
  101. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +36 -20
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +24 -658
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +100 -20
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +314 -57
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +32 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +45 -5
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.d.ts +32 -0
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js +24 -0
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js.map +1 -0
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +34 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +66 -29
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  118. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  119. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +28 -2
  120. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  121. package/bundle/typescript/src/commands/generate.js +2 -2
  122. package/bundle/typescript/src/commands/lint.js +10 -10
  123. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  124. package/bundle/typescript/src/commands/murder.js +14 -14
  125. package/bundle/typescript/src/commands/proxy.js +13 -13
  126. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  127. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  128. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  129. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  130. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  131. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  132. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  133. package/bundle/typescript/src/error.js +1 -1
  134. package/bundle/typescript/src/error.js.map +1 -1
  135. package/bundle/typescript/src/exec.js +0 -0
  136. package/bundle/typescript/src/generators/api.js +11 -11
  137. package/bundle/typescript/src/generators/collection.js +6 -6
  138. package/bundle/typescript/src/generators/hook.js +10 -10
  139. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  140. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  141. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  142. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  143. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  144. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  145. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  146. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  147. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  148. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  149. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  150. package/bundle/typescript/src/generators/services/translation.js +5 -5
  151. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  152. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  153. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  154. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  155. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  156. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  157. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  158. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  159. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  160. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  161. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  162. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  163. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  164. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  165. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  166. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  167. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  168. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  169. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  170. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  171. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  172. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  173. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  174. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  175. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  176. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  177. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  178. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  179. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  180. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  181. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  182. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  183. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  184. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  185. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  186. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  187. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  188. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  189. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  190. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  191. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  192. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  193. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  194. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  195. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  196. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  197. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  198. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  199. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  200. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  201. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  202. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  203. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  204. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  205. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  206. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  207. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  208. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  209. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  210. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  211. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  212. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  213. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  214. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  215. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  216. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  217. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  218. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  219. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  220. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  221. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  222. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  223. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  224. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  225. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  226. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  227. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  228. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  229. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  230. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  231. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  232. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  233. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  234. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  235. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  236. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  237. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  238. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  239. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  240. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  241. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  242. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  243. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  244. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  245. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  246. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  247. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  248. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  249. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  250. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  251. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  252. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  253. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  254. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  255. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  256. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  257. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  258. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  259. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  260. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  261. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  262. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  263. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  264. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  265. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  266. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  267. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  268. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  269. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  270. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  271. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  272. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  273. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  274. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  275. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  276. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  277. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  278. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  279. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  280. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  281. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  282. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  283. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  284. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  285. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  286. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  287. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  288. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  289. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  290. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  291. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  292. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  293. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  294. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  295. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  296. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  297. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  298. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  299. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  300. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  301. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  302. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  303. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  304. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  305. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  306. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  307. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  308. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  309. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  310. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  311. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  312. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  313. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  314. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  315. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  316. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  317. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  318. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  319. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  320. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  321. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  322. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  323. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  324. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  325. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  326. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  327. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  328. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  329. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  330. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  331. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  332. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  333. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  334. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  335. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  336. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  337. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  338. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  339. package/bundle/typescript/src/tool.d.ts +2 -0
  340. package/bundle/typescript/src/tool.js +5 -2
  341. package/bundle/typescript/src/tool.js.map +1 -1
  342. package/package.json +120 -120
@@ -1,166 +1,166 @@
1
- import './<%= fileName %>.css';
2
- import * as React from 'react';
3
- import { Component } from 'react';
4
- import PropTypes from 'prop-types';
5
- import { WorkspaceManager, WorkspaceStore } from 'meteor/maka:maka-frames';
6
-
7
- interface <%= className %>Props {
8
- currentWorkspaceId: string;
9
- allWorkspaces: any[];
10
- user?: any;
11
- onWorkspaceSwitch?: (workspaceId: string) => void;
12
- }
13
-
14
- /**
15
- * <%= className %> Component
16
- *
17
- * UI component for managing workspaces in the maka-frames package.
18
- * Provides controls for creating, switching, renaming, and deleting workspaces.
19
- */
20
- class <%= className %>Component extends Component<<%= className %>Props> {
21
- static propTypes = {
22
- currentWorkspaceId: PropTypes.string.isRequired,
23
- allWorkspaces: PropTypes.array.isRequired,
24
- user: PropTypes.object,
25
- onWorkspaceSwitch: PropTypes.func
26
- };
27
-
28
- handleCreateWorkspace = () => {
29
- const { user, onWorkspaceSwitch } = this.props;
30
-
31
- const workspaceName = prompt('Enter workspace name:', `Workspace ${new Date().toLocaleTimeString()}`);
32
- if (!workspaceName) return;
33
-
34
- const workspaceId = `workspace-${Date.now()}`;
35
- const workspaceData = {
36
- id: workspaceId,
37
- name: workspaceName,
38
- frames: [],
39
- createdAt: new Date(),
40
- updatedAt: new Date()
41
- };
42
-
43
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
44
- if (user) {
45
- WorkspaceManager.createWorkspace(workspaceData.id, workspaceData.name)
46
- .then(() => {
47
- console.log('Workspace created:', workspaceData.id);
48
- if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
49
- })
50
- .catch((error: any) => {
51
- console.error('Error creating workspace:', error);
52
- });
53
- } else {
54
- WorkspaceStore.setWorkspace(workspaceData);
55
- if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
56
- }
57
- }
58
-
59
- handleDeleteWorkspace = (workspaceId: string) => {
60
- const { user, allWorkspaces, onWorkspaceSwitch } = this.props;
61
-
62
- const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
63
- if (!workspace) return;
64
-
65
- const confirmed = confirm(`Are you sure you want to delete "${workspace.name}"?`);
66
- if (!confirmed) return;
67
-
68
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
69
- if (user) {
70
- WorkspaceManager.deleteWorkspace(workspaceId)
71
- .then(() => {
72
- console.log('Workspace deleted:', workspaceId);
73
- // Switch to first available workspace
74
- const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
75
- if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
76
- onWorkspaceSwitch(remainingWorkspaces[0].id);
77
- }
78
- })
79
- .catch((error: any) => {
80
- // Handle error (e.g., last workspace can't be deleted)
81
- alert(error.message || 'Cannot delete workspace');
82
- console.error('Error deleting workspace:', error);
83
- });
84
- } else {
85
- const success = WorkspaceStore.deleteWorkspace(workspaceId);
86
- if (success) {
87
- // Switch to first available workspace
88
- const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
89
- if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
90
- onWorkspaceSwitch(remainingWorkspaces[0].id);
91
- }
92
- } else {
93
- alert('Cannot delete the last workspace');
94
- }
95
- }
96
- }
97
-
98
- handleRenameWorkspace = (workspaceId: string) => {
99
- const { user, allWorkspaces } = this.props;
100
-
101
- const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
102
- if (!workspace) return;
103
-
104
- const newName = prompt('Enter new workspace name:', workspace.name);
105
- if (!newName || newName === workspace.name) return;
106
-
107
- // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
108
- if (user) {
109
- WorkspaceManager.updateWorkspace(workspaceId, { name: newName });
110
- } else {
111
- const localWorkspace = WorkspaceStore.getWorkspace(workspaceId);
112
- if (localWorkspace) {
113
- localWorkspace.name = newName;
114
- localWorkspace.updatedAt = new Date();
115
- WorkspaceStore.setWorkspace(localWorkspace);
116
- }
117
- }
118
- }
119
-
120
- render() {
121
- const { currentWorkspaceId, allWorkspaces, onWorkspaceSwitch } = this.props;
122
-
123
- return (
124
- <div className="<%= fileName %>">
125
- <div className="workspace-selector">
126
- <select
127
- value={currentWorkspaceId}
128
- onChange={(e) => onWorkspaceSwitch && onWorkspaceSwitch(e.target.value)}
129
- className="workspace-select"
130
- >
131
- {allWorkspaces.map(ws => (
132
- <option key={ws.id} value={ws.id}>{ws.name}</option>
133
- ))}
134
- </select>
135
- </div>
136
-
137
- <div className="workspace-actions">
138
- <button
139
- onClick={this.handleCreateWorkspace}
140
- className="workspace-btn workspace-create-btn"
141
- >
142
- + New Workspace
143
- </button>
144
-
145
- <button
146
- onClick={() => this.handleRenameWorkspace(currentWorkspaceId)}
147
- className="workspace-btn workspace-rename-btn"
148
- >
149
- Rename Workspace
150
- </button>
151
-
152
- {allWorkspaces.length > 1 && (
153
- <button
154
- onClick={() => this.handleDeleteWorkspace(currentWorkspaceId)}
155
- className="workspace-btn workspace-delete-btn"
156
- >
157
- Delete Workspace
158
- </button>
159
- )}
160
- </div>
161
- </div>
162
- );
163
- }
164
- }
165
-
166
- export { <%= className %>Component };
1
+ import './<%= fileName %>.css';
2
+ import * as React from 'react';
3
+ import { Component } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { WorkspaceManager, WorkspaceStore } from 'meteor/maka:maka-frames';
6
+
7
+ interface <%= className %>Props {
8
+ currentWorkspaceId: string;
9
+ allWorkspaces: any[];
10
+ user?: any;
11
+ onWorkspaceSwitch?: (workspaceId: string) => void;
12
+ }
13
+
14
+ /**
15
+ * <%= className %> Component
16
+ *
17
+ * UI component for managing workspaces in the maka-frames package.
18
+ * Provides controls for creating, switching, renaming, and deleting workspaces.
19
+ */
20
+ class <%= className %>Component extends Component<<%= className %>Props> {
21
+ static propTypes = {
22
+ currentWorkspaceId: PropTypes.string.isRequired,
23
+ allWorkspaces: PropTypes.array.isRequired,
24
+ user: PropTypes.object,
25
+ onWorkspaceSwitch: PropTypes.func
26
+ };
27
+
28
+ handleCreateWorkspace = () => {
29
+ const { user, onWorkspaceSwitch } = this.props;
30
+
31
+ const workspaceName = prompt('Enter workspace name:', `Workspace ${new Date().toLocaleTimeString()}`);
32
+ if (!workspaceName) return;
33
+
34
+ const workspaceId = `workspace-${Date.now()}`;
35
+ const workspaceData = {
36
+ id: workspaceId,
37
+ name: workspaceName,
38
+ frames: [],
39
+ createdAt: new Date(),
40
+ updatedAt: new Date()
41
+ };
42
+
43
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
44
+ if (user) {
45
+ WorkspaceManager.createWorkspace(workspaceData.id, workspaceData.name)
46
+ .then(() => {
47
+ console.log('Workspace created:', workspaceData.id);
48
+ if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
49
+ })
50
+ .catch((error: any) => {
51
+ console.error('Error creating workspace:', error);
52
+ });
53
+ } else {
54
+ WorkspaceStore.setWorkspace(workspaceData);
55
+ if (onWorkspaceSwitch) onWorkspaceSwitch(workspaceData.id);
56
+ }
57
+ }
58
+
59
+ handleDeleteWorkspace = (workspaceId: string) => {
60
+ const { user, allWorkspaces, onWorkspaceSwitch } = this.props;
61
+
62
+ const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
63
+ if (!workspace) return;
64
+
65
+ const confirmed = confirm(`Are you sure you want to delete "${workspace.name}"?`);
66
+ if (!confirmed) return;
67
+
68
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
69
+ if (user) {
70
+ WorkspaceManager.deleteWorkspace(workspaceId)
71
+ .then(() => {
72
+ console.log('Workspace deleted:', workspaceId);
73
+ // Switch to first available workspace
74
+ const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
75
+ if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
76
+ onWorkspaceSwitch(remainingWorkspaces[0].id);
77
+ }
78
+ })
79
+ .catch((error: any) => {
80
+ // Handle error (e.g., last workspace can't be deleted)
81
+ alert(error.message || 'Cannot delete workspace');
82
+ console.error('Error deleting workspace:', error);
83
+ });
84
+ } else {
85
+ const success = WorkspaceStore.deleteWorkspace(workspaceId);
86
+ if (success) {
87
+ // Switch to first available workspace
88
+ const remainingWorkspaces = allWorkspaces.filter(ws => ws.id !== workspaceId);
89
+ if (remainingWorkspaces.length > 0 && onWorkspaceSwitch) {
90
+ onWorkspaceSwitch(remainingWorkspaces[0].id);
91
+ }
92
+ } else {
93
+ alert('Cannot delete the last workspace');
94
+ }
95
+ }
96
+ }
97
+
98
+ handleRenameWorkspace = (workspaceId: string) => {
99
+ const { user, allWorkspaces } = this.props;
100
+
101
+ const workspace = allWorkspaces.find(ws => ws.id === workspaceId);
102
+ if (!workspace) return;
103
+
104
+ const newName = prompt('Enter new workspace name:', workspace.name);
105
+ if (!newName || newName === workspace.name) return;
106
+
107
+ // Use WorkspaceManager for logged-in users, WorkspaceStore for anonymous
108
+ if (user) {
109
+ WorkspaceManager.updateWorkspace(workspaceId, { name: newName });
110
+ } else {
111
+ const localWorkspace = WorkspaceStore.getWorkspace(workspaceId);
112
+ if (localWorkspace) {
113
+ localWorkspace.name = newName;
114
+ localWorkspace.updatedAt = new Date();
115
+ WorkspaceStore.setWorkspace(localWorkspace);
116
+ }
117
+ }
118
+ }
119
+
120
+ render() {
121
+ const { currentWorkspaceId, allWorkspaces, onWorkspaceSwitch } = this.props;
122
+
123
+ return (
124
+ <div className="<%= fileName %>">
125
+ <div className="workspace-selector">
126
+ <select
127
+ value={currentWorkspaceId}
128
+ onChange={(e) => onWorkspaceSwitch && onWorkspaceSwitch(e.target.value)}
129
+ className="workspace-select"
130
+ >
131
+ {allWorkspaces.map(ws => (
132
+ <option key={ws.id} value={ws.id}>{ws.name}</option>
133
+ ))}
134
+ </select>
135
+ </div>
136
+
137
+ <div className="workspace-actions">
138
+ <button
139
+ onClick={this.handleCreateWorkspace}
140
+ className="workspace-btn workspace-create-btn"
141
+ >
142
+ + New Workspace
143
+ </button>
144
+
145
+ <button
146
+ onClick={() => this.handleRenameWorkspace(currentWorkspaceId)}
147
+ className="workspace-btn workspace-rename-btn"
148
+ >
149
+ Rename Workspace
150
+ </button>
151
+
152
+ {allWorkspaces.length > 1 && (
153
+ <button
154
+ onClick={() => this.handleDeleteWorkspace(currentWorkspaceId)}
155
+ className="workspace-btn workspace-delete-btn"
156
+ >
157
+ Delete Workspace
158
+ </button>
159
+ )}
160
+ </div>
161
+ </div>
162
+ );
163
+ }
164
+ }
165
+
166
+ export { <%= className %>Component };
@@ -1,34 +1,34 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicForgotPasswordPage = () => {
6
- const { forgotPassword } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
-
9
- const handleSubmit = async (event) => {
10
- event.preventDefault();
11
- const { email } = event.target;
12
- await forgotPassword(email.value);
13
- navigate('/');
14
- };
15
-
16
- return (
17
- <Container component="main" maxWidth="xs">
18
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
19
- <Typography component="h1" variant="h5">Forgot Password</Typography>
20
- <form onSubmit={handleSubmit}>
21
- {/* Form Field */}
22
- <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
23
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
- Send Password Reset Email
25
- </Button>
26
- <Button onClick={() => navigate('/login')} fullWidth>
27
- Back to Login
28
- </Button>
29
- </form>
30
- </Paper>
31
- </Container>
32
- );
33
- };
34
-
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicForgotPasswordPage = () => {
6
+ const { forgotPassword } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+
9
+ const handleSubmit = async (event) => {
10
+ event.preventDefault();
11
+ const { email } = event.target;
12
+ await forgotPassword(email.value);
13
+ navigate('/');
14
+ };
15
+
16
+ return (
17
+ <Container component="main" maxWidth="xs">
18
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
19
+ <Typography component="h1" variant="h5">Forgot Password</Typography>
20
+ <form onSubmit={handleSubmit}>
21
+ {/* Form Field */}
22
+ <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
23
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
+ Send Password Reset Email
25
+ </Button>
26
+ <Button onClick={() => navigate('/login')} fullWidth>
27
+ Back to Login
28
+ </Button>
29
+ </form>
30
+ </Paper>
31
+ </Container>
32
+ );
33
+ };
34
+
@@ -1,33 +1,33 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicForgotPasswordPage = () => {
6
- const { forgotPassword } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
-
9
- const handleSubmit = async (event) => {
10
- event.preventDefault();
11
- const { email } = event.target;
12
- await forgotPassword(email.value);
13
- navigate('/');
14
- };
15
-
16
- return (
17
- <Container component="main" maxWidth="xs">
18
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
19
- <Typography component="h1" variant="h5">Forgot Password</Typography>
20
- <form onSubmit={handleSubmit}>
21
- {/* Form Field */}
22
- <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
23
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
- Send Password Reset Email
25
- </Button>
26
- <Button onClick={() => navigate('/login')} fullWidth>
27
- Back to Login
28
- </Button>
29
- </form>
30
- </Paper>
31
- </Container>
32
- );
33
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicForgotPasswordPage = () => {
6
+ const { forgotPassword } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+
9
+ const handleSubmit = async (event) => {
10
+ event.preventDefault();
11
+ const { email } = event.target;
12
+ await forgotPassword(email.value);
13
+ navigate('/');
14
+ };
15
+
16
+ return (
17
+ <Container component="main" maxWidth="xs">
18
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
19
+ <Typography component="h1" variant="h5">Forgot Password</Typography>
20
+ <form onSubmit={handleSubmit}>
21
+ {/* Form Field */}
22
+ <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
23
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
+ Send Password Reset Email
25
+ </Button>
26
+ <Button onClick={() => navigate('/login')} fullWidth>
27
+ Back to Login
28
+ </Button>
29
+ </form>
30
+ </Paper>
31
+ </Container>
32
+ );
33
+ };
@@ -1,53 +1,53 @@
1
- import React, { useContext, useEffect } from 'react';
2
- import { Container, Paper, Typography, TextField, Button, Grid, Link } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';<% if (isSsr) { %>
4
- import { AuthContext } from '/imports/startup/lib/authentication-provider';<% } else { %>
5
- import { AuthContext } from '/imports/startup/client/authentication-provider';<% } %>
6
-
7
- export const BasicLoginPage = () => {
8
- const { currentUser, login } = useContext(AuthContext);
9
- const navigate = useNavigate();
10
- useEffect(() => {
11
- if (currentUser) {
12
- navigate('/logout');
13
- }
14
- });
15
-
16
- const handleLogin = async (event) => {
17
- event.preventDefault();
18
- const { email, password } = event.target;
19
- const user = await login({ username: email.value, password: password.value });
20
-
21
- if (user) {
22
- navigate('/');
23
- }
24
- };
25
-
26
- return (
27
- <Container component="main" maxWidth="xs">
28
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
29
- <Typography component="h1" variant="h5">Sign in</Typography>
30
- <form onSubmit={handleLogin}>
31
- {/* Form Fields */}
32
- <TextField id="email" type="email" label="Email Address*" fullWidth autoFocus margin="normal" />
33
- <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
34
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
35
- Sign In
36
- </Button>
37
- <Grid container>
38
- <Grid item xs>
39
- <Link href="#" onClick={() => navigate('/forgot-password')} variant="body2">
40
- Forgot password?
41
- </Link>
42
- </Grid>
43
- <Grid item>
44
- <Link href="#" onClick={() => navigate('/register')} variant="body2">
45
- Don't have an account? Sign Up
46
- </Link>
47
- </Grid>
48
- </Grid>
49
- </form>
50
- </Paper>
51
- </Container>
52
- );
53
- };
1
+ import React, { useContext, useEffect } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button, Grid, Link } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';<% if (isSsr) { %>
4
+ import { AuthContext } from '/imports/startup/lib/authentication-provider';<% } else { %>
5
+ import { AuthContext } from '/imports/startup/client/authentication-provider';<% } %>
6
+
7
+ export const BasicLoginPage = () => {
8
+ const { currentUser, login } = useContext(AuthContext);
9
+ const navigate = useNavigate();
10
+ useEffect(() => {
11
+ if (currentUser) {
12
+ navigate('/logout');
13
+ }
14
+ });
15
+
16
+ const handleLogin = async (event) => {
17
+ event.preventDefault();
18
+ const { email, password } = event.target;
19
+ const user = await login({ username: email.value, password: password.value });
20
+
21
+ if (user) {
22
+ navigate('/');
23
+ }
24
+ };
25
+
26
+ return (
27
+ <Container component="main" maxWidth="xs">
28
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
29
+ <Typography component="h1" variant="h5">Sign in</Typography>
30
+ <form onSubmit={handleLogin}>
31
+ {/* Form Fields */}
32
+ <TextField id="email" type="email" label="Email Address*" fullWidth autoFocus margin="normal" />
33
+ <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
34
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
35
+ Sign In
36
+ </Button>
37
+ <Grid container>
38
+ <Grid item xs>
39
+ <Link href="#" onClick={() => navigate('/forgot-password')} variant="body2">
40
+ Forgot password?
41
+ </Link>
42
+ </Grid>
43
+ <Grid item>
44
+ <Link href="#" onClick={() => navigate('/register')} variant="body2">
45
+ Don't have an account? Sign Up
46
+ </Link>
47
+ </Grid>
48
+ </Grid>
49
+ </form>
50
+ </Paper>
51
+ </Container>
52
+ );
53
+ };