@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,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
+ };
@@ -1,25 +1,25 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Button, Typography } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicLogoutPage = () => {
6
- const { logout } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
-
9
- const handleLogout = async (event) => {
10
- event.preventDefault();
11
- await logout();
12
- navigate('/');
13
- };
14
-
15
- return (
16
- <Container component="main" maxWidth="xs">
17
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px', textAlign: 'center' }}>
18
- <Typography variant="h5">You are logged in</Typography>
19
- <Button onClick={handleLogout} variant="contained" color="primary" style={{ marginTop: '20px' }}>
20
- Logout
21
- </Button>
22
- </Paper>
23
- </Container>
24
- );
25
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Button, Typography } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicLogoutPage = () => {
6
+ const { logout } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+
9
+ const handleLogout = async (event) => {
10
+ event.preventDefault();
11
+ await logout();
12
+ navigate('/');
13
+ };
14
+
15
+ return (
16
+ <Container component="main" maxWidth="xs">
17
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px', textAlign: 'center' }}>
18
+ <Typography variant="h5">You are logged in</Typography>
19
+ <Button onClick={handleLogout} variant="contained" color="primary" style={{ marginTop: '20px' }}>
20
+ Logout
21
+ </Button>
22
+ </Paper>
23
+ </Container>
24
+ );
25
+ };
@@ -1,25 +1,25 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Button, Typography } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicLogoutPage = () => {
6
- const { logout } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
-
9
- const handleLogout = async (event) => {
10
- event.preventDefault();
11
- await logout();
12
- navigate('/');
13
- };
14
-
15
- return (
16
- <Container component="main" maxWidth="xs">
17
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px', textAlign: 'center' }}>
18
- <Typography variant="h5">You are logged in</Typography>
19
- <Button onClick={handleLogout} variant="contained" color="primary" style={{ marginTop: '20px' }}>
20
- Logout
21
- </Button>
22
- </Paper>
23
- </Container>
24
- );
25
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Button, Typography } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicLogoutPage = () => {
6
+ const { logout } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+
9
+ const handleLogout = async (event) => {
10
+ event.preventDefault();
11
+ await logout();
12
+ navigate('/');
13
+ };
14
+
15
+ return (
16
+ <Container component="main" maxWidth="xs">
17
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px', textAlign: 'center' }}>
18
+ <Typography variant="h5">You are logged in</Typography>
19
+ <Button onClick={handleLogout} variant="contained" color="primary" style={{ marginTop: '20px' }}>
20
+ Logout
21
+ </Button>
22
+ </Paper>
23
+ </Container>
24
+ );
25
+ };
@@ -1,41 +1,41 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
- import { useNavigate, useParams } from 'react-router-dom'; // Import useParams
4
-
5
- export const BasicPasswordResetPage = () => {
6
- const { token } = useParams(); // Access the 'token' directly from the URL
7
- const { resetPassword } = useContext(AuthContext);
8
- const navigate = useNavigate();
9
-
10
- const handleSubmit = async (event) => {
11
- event.preventDefault();
12
- const password = event.target.password.value;
13
- await resetPassword(token, password);
14
- navigate('/');
15
- };
16
-
17
- return (
18
- <Container component="main" maxWidth="xs">
19
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
20
- <Typography component="h1" variant="h5">Password Reset</Typography>
21
- <form onSubmit={handleSubmit}>
22
- <TextField
23
- id="password"
24
- label="Password*"
25
- type="password"
26
- fullWidth
27
- margin="normal"
28
- name="password" // Added name attribute for better form handling
29
- />
30
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
31
- Reset Password
32
- </Button>
33
- <Button onClick={() => navigate('/login')} fullWidth>
34
- Back to Login
35
- </Button>
36
- </form>
37
- </Paper>
38
- </Container>
39
- );
40
- };
41
-
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
+ import { useNavigate, useParams } from 'react-router-dom'; // Import useParams
4
+
5
+ export const BasicPasswordResetPage = () => {
6
+ const { token } = useParams(); // Access the 'token' directly from the URL
7
+ const { resetPassword } = useContext(AuthContext);
8
+ const navigate = useNavigate();
9
+
10
+ const handleSubmit = async (event) => {
11
+ event.preventDefault();
12
+ const password = event.target.password.value;
13
+ await resetPassword(token, password);
14
+ navigate('/');
15
+ };
16
+
17
+ return (
18
+ <Container component="main" maxWidth="xs">
19
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
20
+ <Typography component="h1" variant="h5">Password Reset</Typography>
21
+ <form onSubmit={handleSubmit}>
22
+ <TextField
23
+ id="password"
24
+ label="Password*"
25
+ type="password"
26
+ fullWidth
27
+ margin="normal"
28
+ name="password" // Added name attribute for better form handling
29
+ />
30
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
31
+ Reset Password
32
+ </Button>
33
+ <Button onClick={() => navigate('/login')} fullWidth>
34
+ Back to Login
35
+ </Button>
36
+ </form>
37
+ </Paper>
38
+ </Container>
39
+ );
40
+ };
41
+
@@ -1,34 +1,34 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
- import { useNavigate, useParams } from 'react-router-dom';
4
-
5
- export const BasicPasswordResetPage = () => {
6
- const { token } = useParams();
7
-
8
- const { resetPassword } = useContext(AuthContext);
9
- const navigate = useNavigate();
10
- const handleSubmit = async (event) => {
11
- event.preventDefault();
12
- const { password } = event.target;
13
- await resetPassword(token, password.value);
14
- navigate('/');
15
- };
16
-
17
- return (
18
- <Container component="main" maxWidth="xs">
19
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
20
- <Typography component="h1" variant="h5">Password Reset</Typography>
21
- <form onSubmit={handleSubmit}>
22
- {/* Form Field */}
23
- <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
24
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
25
- Reset Password
26
- </Button>
27
- <Button onClick={() => navigate('/login')} fullWidth>
28
- Back to Login
29
- </Button>
30
- </form>
31
- </Paper>
32
- </Container>
33
- );
34
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button } from '@mui/material';
3
+ import { useNavigate, useParams } from 'react-router-dom';
4
+
5
+ export const BasicPasswordResetPage = () => {
6
+ const { token } = useParams();
7
+
8
+ const { resetPassword } = useContext(AuthContext);
9
+ const navigate = useNavigate();
10
+ const handleSubmit = async (event) => {
11
+ event.preventDefault();
12
+ const { password } = event.target;
13
+ await resetPassword(token, password.value);
14
+ navigate('/');
15
+ };
16
+
17
+ return (
18
+ <Container component="main" maxWidth="xs">
19
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
20
+ <Typography component="h1" variant="h5">Password Reset</Typography>
21
+ <form onSubmit={handleSubmit}>
22
+ {/* Form Field */}
23
+ <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
24
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
25
+ Reset Password
26
+ </Button>
27
+ <Button onClick={() => navigate('/login')} fullWidth>
28
+ Back to Login
29
+ </Button>
30
+ </form>
31
+ </Paper>
32
+ </Container>
33
+ );
34
+ };
@@ -1,33 +1,33 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button, Link } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicRegisterPage = () => {
6
- const { register } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
- const handleSubmit = async (event) => {
9
- event.preventDefault();
10
- const { email, password } = event.target;
11
- await register(email.value, password.value);
12
- navigate('/');
13
- };
14
-
15
- return (
16
- <Container component="main" maxWidth="xs">
17
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
18
- <Typography component="h1" variant="h5">Register</Typography>
19
- <form onSubmit={handleSubmit}>
20
- {/* Form Fields */}
21
- <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
22
- <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
23
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
- Register
25
- </Button>
26
- <Link href="#" onClick={() => navigate('/login')} variant="body2">
27
- Already have an account? Log in
28
- </Link>
29
- </form>
30
- </Paper>
31
- </Container>
32
- );
33
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button, Link } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicRegisterPage = () => {
6
+ const { register } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+ const handleSubmit = async (event) => {
9
+ event.preventDefault();
10
+ const { email, password } = event.target;
11
+ await register(email.value, password.value);
12
+ navigate('/');
13
+ };
14
+
15
+ return (
16
+ <Container component="main" maxWidth="xs">
17
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
18
+ <Typography component="h1" variant="h5">Register</Typography>
19
+ <form onSubmit={handleSubmit}>
20
+ {/* Form Fields */}
21
+ <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
22
+ <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
23
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
+ Register
25
+ </Button>
26
+ <Link href="#" onClick={() => navigate('/login')} variant="body2">
27
+ Already have an account? Log in
28
+ </Link>
29
+ </form>
30
+ </Paper>
31
+ </Container>
32
+ );
33
+ };
@@ -1,33 +1,33 @@
1
- import React, { useContext } from 'react';
2
- import { Container, Paper, Typography, TextField, Button, Link } from '@mui/material';
3
- import { useNavigate } from 'react-router-dom';
4
-
5
- export const BasicRegisterPage = () => {
6
- const { register } = useContext(AuthContext);
7
- const navigate = useNavigate();
8
- const handleSubmit = async (event) => {
9
- event.preventDefault();
10
- const { email, password } = event.target;
11
- await register(email.value, password.value);
12
- navigate('/');
13
- };
14
-
15
- return (
16
- <Container component="main" maxWidth="xs">
17
- <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
18
- <Typography component="h1" variant="h5">Register</Typography>
19
- <form onSubmit={handleSubmit}>
20
- {/* Form Fields */}
21
- <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
22
- <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
23
- <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
- Register
25
- </Button>
26
- <Link href="#" onClick={() => navigate('/login')} variant="body2">
27
- Already have an account? Log in
28
- </Link>
29
- </form>
30
- </Paper>
31
- </Container>
32
- );
33
- };
1
+ import React, { useContext } from 'react';
2
+ import { Container, Paper, Typography, TextField, Button, Link } from '@mui/material';
3
+ import { useNavigate } from 'react-router-dom';
4
+
5
+ export const BasicRegisterPage = () => {
6
+ const { register } = useContext(AuthContext);
7
+ const navigate = useNavigate();
8
+ const handleSubmit = async (event) => {
9
+ event.preventDefault();
10
+ const { email, password } = event.target;
11
+ await register(email.value, password.value);
12
+ navigate('/');
13
+ };
14
+
15
+ return (
16
+ <Container component="main" maxWidth="xs">
17
+ <Paper elevation={3} style={{ marginTop: '8vh', padding: '20px' }}>
18
+ <Typography component="h1" variant="h5">Register</Typography>
19
+ <form onSubmit={handleSubmit}>
20
+ {/* Form Fields */}
21
+ <TextField id="email" type="email" label="Email*" fullWidth autoFocus margin="normal" />
22
+ <TextField id="password" label="Password*" type="password" fullWidth margin="normal" />
23
+ <Button type="submit" fullWidth variant="contained" color="primary" style={{ margin: '20px 0' }}>
24
+ Register
25
+ </Button>
26
+ <Link href="#" onClick={() => navigate('/login')} variant="body2">
27
+ Already have an account? Log in
28
+ </Link>
29
+ </form>
30
+ </Paper>
31
+ </Container>
32
+ );
33
+ };
@@ -1,71 +1,71 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { useNavigate } from 'react-router-dom';
3
- import { Box, CircularProgress, Typography, Alert } from '@mui/material';
4
- import AuthService from '<%= authServicePath %>';
5
-
6
- /**
7
- * Auth0 Callback Component
8
- *
9
- * This component handles the OAuth callback from Auth0.
10
- * It exchanges the authorization code for tokens and logs the user into Meteor.
11
- */
12
- export const AuthCallback = () => {
13
- const navigate = useNavigate();
14
- const [error, setError] = useState(null);
15
-
16
- useEffect(() => {
17
- const handleCallback = async () => {
18
- try {
19
- // Handle the Auth0 callback and login to Meteor
20
- await AuthService.handleAuth0Callback();
21
-
22
- // Redirect to home page after successful login
23
- navigate('/', { replace: true });
24
- } catch (err) {
25
- console.error('Auth0 callback error:', err);
26
- setError(err instanceof Error ? err.message : 'Authentication failed');
27
-
28
- // Redirect to login page after a delay
29
- setTimeout(() => {
30
- navigate('/login', { replace: true });
31
- }, 3000);
32
- }
33
- };
34
-
35
- handleCallback();
36
- }, [navigate]);
37
-
38
- return (
39
- <Box
40
- sx={{
41
- display: 'flex',
42
- flexDirection: 'column',
43
- alignItems: 'center',
44
- justifyContent: 'center',
45
- minHeight: '100vh',
46
- gap: 2,
47
- }}
48
- >
49
- {error ? (
50
- <>
51
- <Alert severity="error" sx={{ maxWidth: 600 }}>
52
- {error}
53
- </Alert>
54
- <Typography variant="body2" color="text.secondary">
55
- Redirecting to login page...
56
- </Typography>
57
- </>
58
- ) : (
59
- <>
60
- <CircularProgress size={60} />
61
- <Typography variant="h6" sx={{ mt: 2 }}>
62
- Completing authentication...
63
- </Typography>
64
- <Typography variant="body2" color="text.secondary">
65
- Please wait while we log you in.
66
- </Typography>
67
- </>
68
- )}
69
- </Box>
70
- );
71
- };
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useNavigate } from 'react-router-dom';
3
+ import { Box, CircularProgress, Typography, Alert } from '@mui/material';
4
+ import AuthService from '<%= authServicePath %>';
5
+
6
+ /**
7
+ * Auth0 Callback Component
8
+ *
9
+ * This component handles the OAuth callback from Auth0.
10
+ * It exchanges the authorization code for tokens and logs the user into Meteor.
11
+ */
12
+ export const AuthCallback = () => {
13
+ const navigate = useNavigate();
14
+ const [error, setError] = useState(null);
15
+
16
+ useEffect(() => {
17
+ const handleCallback = async () => {
18
+ try {
19
+ // Handle the Auth0 callback and login to Meteor
20
+ await AuthService.handleAuth0Callback();
21
+
22
+ // Redirect to home page after successful login
23
+ navigate('/', { replace: true });
24
+ } catch (err) {
25
+ console.error('Auth0 callback error:', err);
26
+ setError(err instanceof Error ? err.message : 'Authentication failed');
27
+
28
+ // Redirect to login page after a delay
29
+ setTimeout(() => {
30
+ navigate('/login', { replace: true });
31
+ }, 3000);
32
+ }
33
+ };
34
+
35
+ handleCallback();
36
+ }, [navigate]);
37
+
38
+ return (
39
+ <Box
40
+ sx={{
41
+ display: 'flex',
42
+ flexDirection: 'column',
43
+ alignItems: 'center',
44
+ justifyContent: 'center',
45
+ minHeight: '100vh',
46
+ gap: 2,
47
+ }}
48
+ >
49
+ {error ? (
50
+ <>
51
+ <Alert severity="error" sx={{ maxWidth: 600 }}>
52
+ {error}
53
+ </Alert>
54
+ <Typography variant="body2" color="text.secondary">
55
+ Redirecting to login page...
56
+ </Typography>
57
+ </>
58
+ ) : (
59
+ <>
60
+ <CircularProgress size={60} />
61
+ <Typography variant="h6" sx={{ mt: 2 }}>
62
+ Completing authentication...
63
+ </Typography>
64
+ <Typography variant="body2" color="text.secondary">
65
+ Please wait while we log you in.
66
+ </Typography>
67
+ </>
68
+ )}
69
+ </Box>
70
+ );
71
+ };