@epic-web/workshop-app 5.5.0 → 5.6.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 (133) hide show
  1. package/build/client/assets/{_-BrkpfnBb.js → _-hAKYb2AG.js} +2 -2
  2. package/build/client/assets/{_-BrkpfnBb.js.map → _-hAKYb2AG.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber-PTdG9GGB.js +2 -0
  4. package/build/client/assets/{_exerciseNumber-DCSM0NCG.js.map → _exerciseNumber-PTdG9GGB.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js → _exerciseNumber_._stepNumber-03erOIGo.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js.map → _exerciseNumber_._stepNumber-03erOIGo.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-DQg4F1NL.js +2 -0
  8. package/build/client/assets/{_exerciseNumber_.finished-nbpk1ToO.js.map → _exerciseNumber_.finished-DQg4F1NL.js.map} +1 -1
  9. package/build/client/assets/{_layout-88n0To1b.js → _layout-B4JGpA3A.js} +2 -2
  10. package/build/client/assets/{_layout-88n0To1b.js.map → _layout-B4JGpA3A.js.map} +1 -1
  11. package/build/client/assets/{_layout-Dfmv2zcn.js → _layout-BJbMl6SJ.js} +2 -2
  12. package/build/client/assets/{_layout-Dfmv2zcn.js.map → _layout-BJbMl6SJ.js.map} +1 -1
  13. package/build/client/assets/{_layout-B8j0pWoF.js → _layout-Bu0lel3p.js} +2 -2
  14. package/build/client/assets/{_layout-B8j0pWoF.js.map → _layout-Bu0lel3p.js.map} +1 -1
  15. package/build/client/assets/_layout-DHoH74NH.js +2 -0
  16. package/build/client/assets/{_layout-DTAM9xh5.js.map → _layout-DHoH74NH.js.map} +1 -1
  17. package/build/client/assets/{accordion-D9-D-n9p.js → accordion-DLg7gJkp.js} +2 -2
  18. package/build/client/assets/{accordion-D9-D-n9p.js.map → accordion-DLg7gJkp.js.map} +1 -1
  19. package/build/client/assets/account-DLDPrc9J.js +2 -0
  20. package/build/client/assets/account-DLDPrc9J.js.map +1 -0
  21. package/build/client/assets/app-DJDjmdlu.js +2 -0
  22. package/build/client/assets/{app-DgTXXO8s.js.map → app-DJDjmdlu.js.map} +1 -1
  23. package/build/client/assets/{button-_qPvcoqR.js → button-39zQyNX6.js} +2 -2
  24. package/build/client/assets/{button-_qPvcoqR.js.map → button-39zQyNX6.js.map} +1 -1
  25. package/build/client/assets/{components-Be92gVxW.js → components-DUNtf72c.js} +2 -2
  26. package/build/client/assets/{components-Be92gVxW.js.map → components-DUNtf72c.js.map} +1 -1
  27. package/build/client/assets/diff-B3oaU_KB.js +2 -0
  28. package/build/client/assets/{diff-BhRAIPKc.js.map → diff-B3oaU_KB.js.map} +1 -1
  29. package/build/client/assets/{diff-8nlDkmpc.js → diff-BNCREJvf.js} +2 -2
  30. package/build/client/assets/{diff-8nlDkmpc.js.map → diff-BNCREJvf.js.map} +1 -1
  31. package/build/client/assets/{discord-BUWZUTEC.js → discord-CEOqKs_c.js} +2 -2
  32. package/build/client/assets/{discord-BUWZUTEC.js.map → discord-CEOqKs_c.js.map} +1 -1
  33. package/build/client/assets/discord-CpIgvYus.js +2 -0
  34. package/build/client/assets/discord-CpIgvYus.js.map +1 -0
  35. package/build/client/assets/{entry.client-DqIWuxf8.js → entry.client-CrlHhRMR.js} +2 -2
  36. package/build/client/assets/{entry.client-DqIWuxf8.js.map → entry.client-CrlHhRMR.js.map} +1 -1
  37. package/build/client/assets/epic-video-D8ex9vao.js +2 -0
  38. package/build/client/assets/epic-video-D8ex9vao.js.map +1 -0
  39. package/build/client/assets/error-boundary-3zItlMUO.js +2 -0
  40. package/build/client/assets/{error-boundary-BZA-ffa8.js.map → error-boundary-3zItlMUO.js.map} +1 -1
  41. package/build/client/assets/finished-rUzUjnEm.js +2 -0
  42. package/build/client/assets/{finished-C0cpfAFL.js.map → finished-rUzUjnEm.js.map} +1 -1
  43. package/build/client/assets/index-BajUQsFT.js +3053 -0
  44. package/build/client/assets/index-BajUQsFT.js.map +1 -0
  45. package/build/client/assets/{index-BCxBKsqT.js → index-CLNXC84j.js} +2 -2
  46. package/build/client/assets/{index-BCxBKsqT.js.map → index-CLNXC84j.js.map} +1 -1
  47. package/build/client/assets/{index-BCTr8uu6.js → index-CV3nxGFp.js} +2 -2
  48. package/build/client/assets/{index-BCTr8uu6.js.map → index-CV3nxGFp.js.map} +1 -1
  49. package/build/client/assets/{index-BFGhCX_U.js → index-C_B1-9rF.js} +2 -2
  50. package/build/client/assets/{index-BFGhCX_U.js.map → index-C_B1-9rF.js.map} +1 -1
  51. package/build/client/assets/{index-pkiQppkK.js → index-DDqzbGM2.js} +2 -2
  52. package/build/client/assets/{index-pkiQppkK.js.map → index-DDqzbGM2.js.map} +1 -1
  53. package/build/client/assets/index-DE-jwnOP.js +2 -0
  54. package/build/client/assets/{index-Bi1TbRTj.js.map → index-DE-jwnOP.js.map} +1 -1
  55. package/build/client/assets/{index-DZDhtMuq.js → index-DFqQCjCw.js} +2 -2
  56. package/build/client/assets/{index-DZDhtMuq.js.map → index-DFqQCjCw.js.map} +1 -1
  57. package/build/client/assets/{index-Bdg3v8tC.js → index-DH1w3QmP.js} +2 -2
  58. package/build/client/assets/{index-Bdg3v8tC.js.map → index-DH1w3QmP.js.map} +1 -1
  59. package/build/client/assets/{index-C9Hx0Dey.js → index-LjRZeU7x.js} +2 -2
  60. package/build/client/assets/{index-C9Hx0Dey.js.map → index-LjRZeU7x.js.map} +1 -1
  61. package/build/client/assets/index-mivnjq36.js +2 -0
  62. package/build/client/assets/{index-Ca4vBON4.js.map → index-mivnjq36.js.map} +1 -1
  63. package/build/client/assets/{loading-XhMtj4mp.js → loading-DW_I206H.js} +2 -2
  64. package/build/client/assets/{loading-XhMtj4mp.js.map → loading-DW_I206H.js.map} +1 -1
  65. package/build/client/assets/{login-C1oOgi98.js → login-CdNej0Z7.js} +2 -2
  66. package/build/client/assets/{login-C1oOgi98.js.map → login-CdNej0Z7.js.map} +1 -1
  67. package/build/client/assets/manifest-62ea49c4.js +1 -0
  68. package/build/client/assets/{mdx-CEjzXoEx.js → mdx-C9dqA6IZ.js} +2 -2
  69. package/build/client/assets/{mdx-CEjzXoEx.js.map → mdx-C9dqA6IZ.js.map} +1 -1
  70. package/build/client/assets/{misc-DUy_whwE.js → misc-DIdEn_jt.js} +2 -2
  71. package/build/client/assets/{misc-DUy_whwE.js.map → misc-DIdEn_jt.js.map} +1 -1
  72. package/build/client/assets/{nav-chevrons-DnR25VLp.js → nav-chevrons-B3SvZV8B.js} +2 -2
  73. package/build/client/assets/{nav-chevrons-DnR25VLp.js.map → nav-chevrons-B3SvZV8B.js.map} +1 -1
  74. package/build/client/assets/onboarding-CC9zz4rl.js +2 -0
  75. package/build/client/assets/{onboarding-C2YNq60k.js.map → onboarding-CC9zz4rl.js.map} +1 -1
  76. package/build/client/assets/{pe-ChIwTk8v.js → pe-D5h19vSo.js} +2 -2
  77. package/build/client/assets/{pe-ChIwTk8v.js.map → pe-D5h19vSo.js.map} +1 -1
  78. package/build/client/assets/{presence-8FPJKg_8.js → presence-D1DPz__2.js} +2 -2
  79. package/build/client/assets/{presence-8FPJKg_8.js.map → presence-D1DPz__2.js.map} +1 -1
  80. package/build/client/assets/{preview-DaZd0wMb.js → preview-BEtmdi0E.js} +2 -2
  81. package/build/client/assets/{preview-DaZd0wMb.js.map → preview-BEtmdi0E.js.map} +1 -1
  82. package/build/client/assets/{product-DIAmCwmZ.js → product-CYOFfeJM.js} +2 -2
  83. package/build/client/assets/{product-DIAmCwmZ.js.map → product-CYOFfeJM.js.map} +1 -1
  84. package/build/client/assets/{progress-DQt_Bn9o.js → progress-D6SP0Gec.js} +2 -2
  85. package/build/client/assets/{progress-DQt_Bn9o.js.map → progress-D6SP0Gec.js.map} +1 -1
  86. package/build/client/assets/{progress-bar-BaTU3Yx_.js → progress-bar-CBDBzRQ2.js} +2 -2
  87. package/build/client/assets/{progress-bar-BaTU3Yx_.js.map → progress-bar-CBDBzRQ2.js.map} +1 -1
  88. package/build/client/assets/{request-info-ByUEfOil.js → request-info-vBkaf3Rk.js} +2 -2
  89. package/build/client/assets/{request-info-ByUEfOil.js.map → request-info-vBkaf3Rk.js.map} +1 -1
  90. package/build/client/assets/{revalidation-ws-dUa9CAqr.js → revalidation-ws-DK5QOPlL.js} +2 -2
  91. package/build/client/assets/{revalidation-ws-dUa9CAqr.js.map → revalidation-ws-DK5QOPlL.js.map} +1 -1
  92. package/build/client/assets/{root-D12XnE1S.js → root-Bg-hxaOK.js} +2 -2
  93. package/build/client/assets/{root-D12XnE1S.js.map → root-Bg-hxaOK.js.map} +1 -1
  94. package/build/client/assets/{set-playground-CBHBA46B.js → set-playground-CMoUFgkO.js} +2 -2
  95. package/build/client/assets/{set-playground-CBHBA46B.js.map → set-playground-CMoUFgkO.js.map} +1 -1
  96. package/build/client/assets/{support-CIz02V_r.js → support-CPzYlWkd.js} +2 -2
  97. package/build/client/assets/{support-CIz02V_r.js.map → support-CPzYlWkd.js.map} +1 -1
  98. package/build/client/assets/test-C8wkLh9a.js +2 -0
  99. package/build/client/assets/{test-DoKJvNug.js.map → test-C8wkLh9a.js.map} +1 -1
  100. package/build/client/assets/{tests-DbuyD2cI.js → tests-CiM4RPOf.js} +2 -2
  101. package/build/client/assets/{tests-DbuyD2cI.js.map → tests-CiM4RPOf.js.map} +1 -1
  102. package/build/client/assets/{tooltip-DO9uwurQ.js → tooltip-BoVikCa-.js} +2 -2
  103. package/build/client/assets/{tooltip-DO9uwurQ.js.map → tooltip-BoVikCa-.js.map} +1 -1
  104. package/build/client/assets/{use-event-source-x59d4R2Z.js → use-event-source-M87p8Tme.js} +2 -2
  105. package/build/client/assets/{use-event-source-x59d4R2Z.js.map → use-event-source-M87p8Tme.js.map} +1 -1
  106. package/build/client/assets/{user-Bv6wYhQP.js → user-CbbIYEs8.js} +2 -2
  107. package/build/client/assets/{user-Bv6wYhQP.js.map → user-CbbIYEs8.js.map} +1 -1
  108. package/build/client/assets/{version-lxUUxt3s.js → version-CIF3cX3N.js} +2 -2
  109. package/build/client/assets/{version-lxUUxt3s.js.map → version-CIF3cX3N.js.map} +1 -1
  110. package/build/client/assets/{workshop-config-WVltG_BV.js → workshop-config-C5sYl312.js} +2 -2
  111. package/build/client/assets/{workshop-config-WVltG_BV.js.map → workshop-config-C5sYl312.js.map} +1 -1
  112. package/build/server/index.js +299 -211
  113. package/build/server/index.js.map +1 -1
  114. package/package.json +8 -8
  115. package/build/client/assets/_exerciseNumber-DCSM0NCG.js +0 -2
  116. package/build/client/assets/_exerciseNumber_.finished-nbpk1ToO.js +0 -2
  117. package/build/client/assets/_layout-DTAM9xh5.js +0 -2
  118. package/build/client/assets/account-DPP4rKOb.js +0 -2
  119. package/build/client/assets/account-DPP4rKOb.js.map +0 -1
  120. package/build/client/assets/app-DgTXXO8s.js +0 -2
  121. package/build/client/assets/diff-BhRAIPKc.js +0 -2
  122. package/build/client/assets/discord-Bdnx7fu-.js +0 -2
  123. package/build/client/assets/discord-Bdnx7fu-.js.map +0 -1
  124. package/build/client/assets/epic-video-Bp4BOD2R.js +0 -3053
  125. package/build/client/assets/epic-video-Bp4BOD2R.js.map +0 -1
  126. package/build/client/assets/error-boundary-BZA-ffa8.js +0 -2
  127. package/build/client/assets/finished-C0cpfAFL.js +0 -2
  128. package/build/client/assets/index-Bi1TbRTj.js +0 -2
  129. package/build/client/assets/index-Ca4vBON4.js +0 -2
  130. package/build/client/assets/manifest-a8336fab.js +0 -1
  131. package/build/client/assets/onboarding-C2YNq60k.js +0 -2
  132. package/build/client/assets/test-DoKJvNug.js +0 -2
  133. /package/build/client/assets/{epic-video-DUnRvy1A.css → index-DUnRvy1A.css} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epic-web/workshop-app",
3
- "version": "5.5.0",
3
+ "version": "5.6.0",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -44,8 +44,8 @@
44
44
  "@epic-web/invariant": "^1.0.0",
45
45
  "@epic-web/remember": "^1.1.0",
46
46
  "@epic-web/restore-scroll": "^1.1.1",
47
- "@epic-web/workshop-presence": "5.5.0",
48
- "@epic-web/workshop-utils": "5.5.0",
47
+ "@epic-web/workshop-presence": "5.6.0",
48
+ "@epic-web/workshop-utils": "5.6.0",
49
49
  "@mdx-js/mdx": "^3.0.1",
50
50
  "@mux/mux-player-react": "^3.0.0",
51
51
  "@nasa-gcn/remix-seo": "^2.0.1",
@@ -57,10 +57,10 @@
57
57
  "@radix-ui/react-tabs": "^1.1.1",
58
58
  "@radix-ui/react-toast": "^1.2.2",
59
59
  "@radix-ui/react-tooltip": "^1.1.3",
60
- "@remix-run/css-bundle": "^2.12.1",
61
- "@remix-run/express": "^2.12.1",
62
- "@remix-run/node": "^2.12.1",
63
- "@remix-run/react": "^2.12.1",
60
+ "@remix-run/css-bundle": "2.12.1",
61
+ "@remix-run/express": "2.12.1",
62
+ "@remix-run/node": "2.12.1",
63
+ "@remix-run/react": "2.12.1",
64
64
  "@resvg/resvg-js": "^2.6.2",
65
65
  "@sindresorhus/slugify": "^2.2.1",
66
66
  "address": "^2.0.3",
@@ -121,7 +121,7 @@
121
121
  },
122
122
  "devDependencies": {
123
123
  "@playwright/test": "^1.47.2",
124
- "@remix-run/dev": "^2.12.1",
124
+ "@remix-run/dev": "2.12.1",
125
125
  "@tailwindcss/typography": "^0.5.15",
126
126
  "@testing-library/dom": "^10.4.0",
127
127
  "@total-typescript/ts-reset": "^0.6.1",
@@ -1,2 +0,0 @@
1
- import{j as r,a as l,i as c}from"./index-BFGhCX_U.js";import{E as a}from"./index-BCxBKsqT.js";import{E as m}from"./epic-video-Bp4BOD2R.js";import{u as d}from"./revalidation-ws-dUa9CAqr.js";import{M as x,E as p}from"./mdx-CEjzXoEx.js";import{P as u}from"./progress-DQt_Bn9o.js";import{g as f}from"./misc-DUy_whwE.js";import{g as h}from"./seo-pBpFCWsy.js";import{u as b,L as j}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";const B=({data:e,matches:o})=>{var i;const t=e==null?void 0:e.exercise.exerciseNumber.toString().padStart(2,"0"),s=(i=o.find(n=>n.id==="root"))==null?void 0:i.data;return!e||!s?[{title:"🦉 | Error"}]:h({title:`📝 | ${t}. ${e.exercise.title} | ${s==null?void 0:s.workshopTitle}`,description:`Introduction for ${t}. ${e.exercise.title}`,ogTitle:e.exercise.title,ogDescription:`Introduction for exercise ${Number(t)}`,instructor:s.instructor,requestInfo:s.requestInfo})},g={h1:()=>null};function D(){var t;const e=b();d({watchPaths:[e.exerciseReadme.file]});const o=String(((t=e.firstStep)==null?void 0:t.stepNumber)??"01").padStart(2,"0");return r.jsxs("main",{className:"relative flex h-full w-full max-w-5xl flex-col justify-between border-r md:w-3/4 xl:w-2/3",children:[r.jsxs("article",{id:e.articleId,className:"shadow-on-scrollbox flex w-full flex-1 flex-col gap-12 overflow-y-scroll px-3 py-4 pt-6 scrollbar-thin scrollbar-thumb-scrollbar md:px-10 md:py-12 md:pt-16",children:[r.jsx("div",{children:r.jsx("h1",{className:"text-[clamp(3rem,6vw,7.5rem)] font-extrabold leading-none",children:e.exercise.title})}),r.jsx("div",{children:e.exercise.instructionsCode?r.jsx(m,{epicVideoInfosPromise:e.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(x,{code:e.exercise.instructionsCode,components:g})})}):"No instructions yet..."})]},e.articleId),r.jsx(a,{elementQuery:`#${e.articleId}`},`scroll-${e.articleId}`),r.jsx(u,{type:"instructions",exerciseNumber:e.exerciseNumber,className:"h-14 border-t px-6"}),r.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[r.jsx("div",{}),r.jsx(p,{file:e.exerciseReadme.file,relativePath:e.exerciseReadme.relativePath}),r.jsx(j,{to:`${o}/${e.firstType}`,prefetch:"intent",className:"flex h-full items-center justify-center bg-foreground px-7 text-background",children:"Start Learning"})]})]})}function F(){const e=l();return typeof document<"u"&&console.error(e),c(e)?e.status===404?r.jsx("p",{children:"Sorry, we couldn't find that step."}):r.jsxs("p",{children:[e.status," ",e.data]}):r.jsx("p",{children:f(e)})}export{F as ErrorBoundary,D as default,B as meta};
2
- //# sourceMappingURL=_exerciseNumber-DCSM0NCG.js.map
@@ -1,2 +0,0 @@
1
- import{j as e,r as n}from"./index-BFGhCX_U.js";import{E as a}from"./index-BCxBKsqT.js";import{E as c}from"./epic-video-Bp4BOD2R.js";import{L as m}from"./loading-XhMtj4mp.js";import{N as x}from"./nav-chevrons-DnR25VLp.js";import{u as d}from"./revalidation-ws-dUa9CAqr.js";import{M as f,E as p}from"./mdx-CEjzXoEx.js";import{P as u}from"./progress-DQt_Bn9o.js";import{a as h}from"./misc-DUy_whwE.js";import{g as b}from"./seo-pBpFCWsy.js";import{u as j,L as g}from"./components-Be92gVxW.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";const U=({data:r,matches:i})=>{var o;const t=r==null?void 0:r.exercise.exerciseNumber.toString().padStart(2,"0"),s=(o=i.find(l=>l.id==="root"))==null?void 0:o.data;return!r||!s?[{title:"🦉 | Error"}]:b({title:`🦉 | ${t}. ${r.exercise.title} | ${s==null?void 0:s.workshopTitle}`,description:`Elaboration for ${t}. ${r.exercise.title}`,ogTitle:`Finished: ${r.exercise.title}`,ogDescription:`Elaboration for exercise ${Number(t)}`,instructor:s.instructor,requestInfo:s.requestInfo})},N={h1:()=>null};function z(){const r=j(),i=r.exercise.exerciseNumber.toString().padStart(2,"0");return d({watchPaths:[`./exercises/${i}/FINISHED.mdx`]}),e.jsx("div",{className:"flex max-w-full flex-grow flex-col",children:e.jsxs("main",{className:"flex flex-grow flex-col sm:grid sm:h-full sm:min-h-[800px] sm:grid-cols-1 sm:grid-rows-2 md:min-h-[unset] lg:grid-cols-2 lg:grid-rows-1",children:[e.jsxs("div",{className:"relative flex flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:border-r",children:[e.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium leading-tight",children:e.jsx("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:e.jsxs("div",{className:"flex items-center justify-start gap-x-2",children:[e.jsx(g,{to:`/${i}`,className:"hover:underline",children:`${i}. ${r.exercise.title}`}),e.jsx("span",{children:"/"}),e.jsx("span",{children:"Elaboration"})]})})}),e.jsx("article",{className:"shadow-on-scrollbox h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8",id:r.articleId,children:r.exercise.finishedCode?e.jsx(c,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(f,{code:r.exercise.finishedCode,components:N})})}):"No finished instructions yet..."}),e.jsx(a,{elementQuery:`#${r.articleId}`}),e.jsx(u,{type:"finished",exerciseNumber:r.exercise.exerciseNumber,className:"h-14 border-t px-6"}),e.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[e.jsx("div",{}),e.jsx(p,{file:r.exerciseFinished.file,relativePath:r.exerciseFinished.relativePath}),e.jsx(x,{prev:r.prevStepLink,next:r.nextStepLink})]})]}),e.jsx(v,{exerciseFormEmbedUrl:r.exerciseFormEmbedUrl,exerciseTitle:r.exercise.title})]})})}function v({exerciseFormEmbedUrl:r,exerciseTitle:i}){const[t,s]=n.useState(!1);return e.jsxs("div",{className:"relative min-h-full sm:min-h-[unset] sm:flex-shrink-0",children:[t?null:e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:e.jsx(m,{children:e.jsxs("span",{children:["Loading ",i," Elaboration form"]})})}),e.jsx("iframe",{onLoad:()=>s(!0),onError:()=>s(!0),title:"Elaboration",src:r,className:h("absolute inset-0 flex h-full w-full transition-opacity duration-300",t?"opacity-100":"opacity-0")})]})}export{z as default,U as meta};
2
- //# sourceMappingURL=_exerciseNumber_.finished-nbpk1ToO.js.map
@@ -1,2 +0,0 @@
1
- import{r as p,j as r,O as Q}from"./index-BFGhCX_U.js";import{E as Z}from"./index-BCxBKsqT.js";import{G as J}from"./error-boundary-BZA-ffa8.js";import{N as X}from"./nav-chevrons-DnR25VLp.js";import{u as ee}from"./revalidation-ws-dUa9CAqr.js";import{M as re,L as b,E as te}from"./mdx-CEjzXoEx.js";import{P as oe}from"./progress-DQt_Bn9o.js";import{S as D}from"./set-playground-CBHBA46B.js";import{g as ne}from"./seo-pBpFCWsy.js";import{b as se,a as A,I as C,i as ie}from"./misc-DUy_whwE.js";import{E as ae}from"./epic-video-Bp4BOD2R.js";import{S,d as le,j as k,A as _,h as I,P as L,f as j,g as F,k as ce,D as pe,C as ue,l as de,u as fe,R as me,e as xe}from"./tooltip-DO9uwurQ.js";import{u as he}from"./request-info-ByUEfOil.js";import{u as P,L as v,e as ve,A as ge}from"./components-Be92gVxW.js";import{h as Pe,R as je,u as Ne,F as be,P as Ce}from"./index-BCTr8uu6.js";import"./progress-bar-BaTU3Yx_.js";import"./pe-ChIwTk8v.js";import"./index-DZDhtMuq.js";import"./index-Bdg3v8tC.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";const $=p.createContext(null);function Se(){const e=p.useContext($);if(!e)throw new Error("useStepContext must be used within a StepContext.Provider");return e}function Ee({children:e,inBrowserBrowserRef:o}){return r.jsx($.Provider,{value:{inBrowserBrowserRef:o},children:e})}const we={DiffLink:E,PrevDiffLink:Re,NextDiffLink:Oe,InlineFile:Ae,LinkToApp:ke};function ye({inBrowserBrowserRef:e}){const o=P();return o.exerciseStepApp.instructionsCode?r.jsx(Ee,{inBrowserBrowserRef:e,children:r.jsx(ae,{epicVideoInfosPromise:o.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(re,{code:o.exerciseStepApp.instructionsCode,components:we})})})}):null}function T(e,o,t){const n=new URLSearchParams(e);return t===null?n.delete(o):n.set(o,t),n}function Oe({app:e=0,fullPage:o=!1,children:t}){return r.jsx(E,{app1:e,app2:e+1,fullPage:o,children:t})}function Re({app:e=-1,fullPage:o=!1,children:t}){return r.jsx(E,{app1:e,app2:e+1,fullPage:o,children:t})}function E({app1:e=0,app2:o=1,children:t,fullPage:n=!1,to:i}){const s=P();if(!i&&!e&&!o)return r.jsx("callout-danger",{className:"notification",children:r.jsx("div",{className:"title",children:"DiffLink Error: invalid input"})});function a(d){var f;if(typeof d=="number"){const m=s.exerciseIndex+d;return(f=s.allApps[m])==null?void 0:f.name}if(!d)return null;for(const{name:m,stepName:x}of s.allApps)if(d===m||d===x)return m;return null}if(i){const d=new URLSearchParams(i);e=d.get("app1"),o=d.get("app2")}const l=a(e),c=a(o);if(!l||!c)return r.jsxs("callout-danger",{className:"notification",children:[r.jsx("div",{className:"title",children:"DiffLink Error: invalid input"}),!l&&r.jsxs("div",{children:['app1: "',e,'" is not a valid app name']}),!c&&r.jsxs("div",{children:['app2: "',o,'" is not a valid app name']})]});i||(i=`app1=${l}&app2=${c}`);const u=n?`/diff?${i}`:`?${decodeURIComponent(T(new URLSearchParams,"preview",`diff&${i}`).toString())}`;return t||(t=r.jsxs("span",{children:["Go to Diff ",n?"":"Preview"," from: ",r.jsx("code",{children:l})," to:"," ",r.jsx("code",{children:c})]})),r.jsx(v,{to:u,children:t})}function Ae({file:e,type:o="playground",children:t=r.jsx("code",{children:e}),...n}){const i=P(),s=i[o]||i[i.type],a=r.jsxs("div",{className:"launch-editor-button-wrapper flex underline underline-offset-4",children:[t," ",r.jsx("svg",{height:24,width:24,children:r.jsx("use",{href:`${ie}#Keyboard`})})]});return ENV.EPICSHOP_DEPLOYED&&s?r.jsx("div",{className:"inline-block grow",children:r.jsx(b,{appFile:e,appName:s.name,...n,children:a})}):s?r.jsx("div",{className:"inline-block grow",children:r.jsx(b,{appFile:e,appName:s.name,...n,children:a})}):o==="playground"?r.jsx(S,{content:"You must 'Set to Playground' before opening a file",children:r.jsx("div",{className:"inline-block grow cursor-not-allowed",children:a})}):r.jsx(r.Fragment,{children:"children"})}function De(e){return e==="problem"?"problem":e==="solution"?"solution":"playground"}function ke({to:e,children:o=r.jsx("code",{children:e.toString()}),...t}){var m;const[n]=ve(),i=`?${T(n,"pathname",e.toString()).toString()}`,s=P(),a=De(n.get("preview")),l=he(),c=s[a],u=(c==null?void 0:c.dev.type)==="script"?se({domain:l.domain,port:c.dev.portNumber}):((m=s.playground)==null?void 0:m.dev.type)==="browser"?s.playground.dev.pathname:null,{inBrowserBrowserRef:d}=Se(),f=u?u.slice(0,-1)+e.toString():null;return r.jsxs("div",{className:"inline-flex items-center justify-between gap-1",children:[r.jsx(v,{to:i,...t,className:A(t.className,{"cursor-not-allowed":ENV.EPICSHOP_DEPLOYED}),title:ENV.EPICSHOP_DEPLOYED?"Cannot link to app in deployed version":void 0,onClick:x=>{var O,R;ENV.EPICSHOP_DEPLOYED&&x.preventDefault(),(O=t.onClick)==null||O.call(t,x),(R=d.current)==null||R.handleExtrnalNavigation(e.toString())},children:o}),f?r.jsx(S,{content:"Open in new tab",children:r.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:A("flex aspect-square items-center justify-center",{"cursor-not-allowed":ENV.EPICSHOP_DEPLOYED}),title:ENV.EPICSHOP_DEPLOYED?"Cannot link to app in deployed version":"Open in new tab",onClick:x=>{ENV.EPICSHOP_DEPLOYED&&x.preventDefault()},children:r.jsx(C,{name:"ExternalLink"})})}):null]})}var w="Popover",[M,xr]=le(w,[k]),N=k(),[_e,h]=M(w),H=e=>{const{__scopePopover:o,children:t,open:n,defaultOpen:i,onOpenChange:s,modal:a=!1}=e,l=N(o),c=p.useRef(null),[u,d]=p.useState(!1),[f=!1,m]=fe({prop:n,defaultProp:i,onChange:s});return r.jsx(me,{...l,children:r.jsx(_e,{scope:o,contentId:xe(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:p.useCallback(()=>m(x=>!x),[m]),hasCustomAnchor:u,onCustomAnchorAdd:p.useCallback(()=>d(!0),[]),onCustomAnchorRemove:p.useCallback(()=>d(!1),[]),modal:a,children:t})})};H.displayName=w;var U="PopoverAnchor",Ie=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(U,t),s=N(t),{onCustomAnchorAdd:a,onCustomAnchorRemove:l}=i;return p.useEffect(()=>(a(),()=>l()),[a,l]),r.jsx(_,{...s,...n,ref:o})});Ie.displayName=U;var V="PopoverTrigger",Y=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(V,t),s=N(t),a=I(o,i.triggerRef),l=r.jsx(L.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":W(i.open),...n,ref:a,onClick:j(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?l:r.jsx(_,{asChild:!0,...s,children:l})});Y.displayName=V;var y="PopoverPortal",[Le,Fe]=M(y,{forceMount:void 0}),B=e=>{const{__scopePopover:o,forceMount:t,children:n,container:i}=e,s=h(y,o);return r.jsx(Le,{scope:o,forceMount:t,children:r.jsx(F,{present:t||s.open,children:r.jsx(Ce,{asChild:!0,container:i,children:n})})})};B.displayName=y;var g="PopoverContent",G=p.forwardRef((e,o)=>{const t=Fe(g,e.__scopePopover),{forceMount:n=t.forceMount,...i}=e,s=h(g,e.__scopePopover);return r.jsx(F,{present:n||s.open,children:s.modal?r.jsx($e,{...i,ref:o}):r.jsx(Te,{...i,ref:o})})});G.displayName=g;var $e=p.forwardRef((e,o)=>{const t=h(g,e.__scopePopover),n=p.useRef(null),i=I(o,n),s=p.useRef(!1);return p.useEffect(()=>{const a=n.current;if(a)return Pe(a)},[]),r.jsx(je,{as:ce,allowPinchZoom:!0,children:r.jsx(q,{...e,ref:i,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:j(e.onCloseAutoFocus,a=>{var l;a.preventDefault(),s.current||(l=t.triggerRef.current)==null||l.focus()}),onPointerDownOutside:j(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,u=l.button===2||c;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:j(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Te=p.forwardRef((e,o)=>{const t=h(g,e.__scopePopover),n=p.useRef(!1),i=p.useRef(!1);return r.jsx(q,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,l;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(l=t.triggerRef.current)==null||l.focus(),s.preventDefault()),n.current=!1,i.current=!1},onInteractOutside:s=>{var c,u;(c=e.onInteractOutside)==null||c.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=s.target;((u=t.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),q=p.forwardRef((e,o)=>{const{__scopePopover:t,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:d,...f}=e,m=h(g,t),x=N(t);return Ne(),r.jsx(be,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:s,children:r.jsx(pe,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),children:r.jsx(ue,{"data-state":W(m.open),role:"dialog",id:m.contentId,...x,...f,ref:o,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),K="PopoverClose",Me=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=h(K,t);return r.jsx(L.button,{type:"button",...n,ref:o,onClick:j(e.onClick,()=>i.onOpenChange(!1))})});Me.displayName=K;var He="PopoverArrow",Ue=p.forwardRef((e,o)=>{const{__scopePopover:t,...n}=e,i=N(t);return r.jsx(de,{...i,...n,ref:o})});Ue.displayName=He;function W(e){return e?"open":"closed"}var Ve=H,Ye=Y,Be=B,Ge=G;function qe({diffFilesPromise:e}){var l,c;const o=P(),[t,n]=p.useState(!1),i=p.useRef(null);function s(){n(!1)}const a=(l=o.playground)==null?void 0:l.appName;return r.jsx(r.Fragment,{children:r.jsxs(Ve,{open:t,onOpenChange:n,children:[r.jsx(Ye,{asChild:!0,children:r.jsxs("button",{className:"flex h-full items-center gap-1 border-r px-6 py-3 font-mono text-sm uppercase","aria-label":"Relevant Files",children:[r.jsx(C,{name:"Files"}),"Files"]})}),r.jsx(Be,{children:r.jsx(Ge,{ref:i,className:"slideRightContent lg:slideUpContent invert-theme z-10 select-none rounded bg-background px-9 py-8 text-foreground",align:"start",sideOffset:5,children:r.jsxs("div",{className:"launch-editor-wrapper",children:[r.jsx("strong",{className:"inline-block px-2 pb-4 font-semibold uppercase",children:"Relevant Files"}),o.problem&&((c=o.playground)==null?void 0:c.appName)!==o.problem.name?r.jsx("div",{className:"mb-2 rounded p-1 font-mono font-medium",children:r.jsx(D,{appName:o.problem.name})}):null,r.jsx("div",{id:"files",children:r.jsx(p.Suspense,{fallback:r.jsx(S,{content:"Loading diff",children:r.jsx("div",{className:"flex justify-center",children:r.jsx(C,{name:"Refresh",className:"h-8 w-8 animate-spin"})})}),children:r.jsx(ge,{resolve:e,errorElement:r.jsx("div",{className:"text-foreground-danger",children:"Something went wrong."}),children:u=>{if(!u)return r.jsx("p",{className:"text-foreground-danger",children:"Unable to determine diff"});if(typeof u=="string")return r.jsx("p",{className:"text-foreground-danger",children:u});if(!u.length)return r.jsx("p",{children:"No files changed"});const d=a||ENV.EPICSHOP_GITHUB_ROOT?{}:{title:"You must 'Set to Playground' before opening a file",className:"not-allowed"};return r.jsxs("ul",{...d,children:[u.length>1&&!ENV.EPICSHOP_DEPLOYED?r.jsx("div",{className:"mb-2 border-b border-b-gray-50 border-opacity-50 pb-2 font-sans",children:r.jsx(b,{appFile:u.map(f=>`${f.path},${f.line},1`),appName:"playground",onUpdate:s,children:r.jsx("p",{children:"Open All Files"})})}):null,u.map(f=>{var m;return r.jsx("li",{"data-state":f.status,children:r.jsx(b,{appFile:`${f.path},${f.line},1`,appName:ENV.EPICSHOP_DEPLOYED?((m=o.problem)==null?void 0:m.name)??"playground":"playground",onUpdate:s,children:r.jsx("code",{children:f.path})})},f.path)})]})}})})})]})})})]})})}function z(e,o){var a;const t=(e==null?void 0:e.exerciseStepApp.exerciseNumber.toString().padStart(2,"0"))??"00",n=(e==null?void 0:e.exerciseStepApp.stepNumber.toString().padStart(2,"0"))??"00",i={problem:"💪",solution:"🏁"}[(e==null?void 0:e.type)??"problem"],s=((a=e==null?void 0:e[e.type])==null?void 0:a.title)??"N/A";return{emoji:i,stepNumber:n,title:s,exerciseNumber:t,exerciseTitle:(e==null?void 0:e.exerciseTitle)??"Unknown exercise",workshopTitle:o,type:(e==null?void 0:e.type)??"problem"}}const hr=({data:e,matches:o,params:t})=>{var u;const n=(u=o.find(d=>d.id==="root"))==null?void 0:u.data;if(!e||!n)return[{title:"🦉 | Error"}];const{emoji:i,stepNumber:s,title:a,exerciseNumber:l,exerciseTitle:c}=z(e);return ne({title:`${i} | ${s}. ${a} | ${l}. ${c} | ${n.workshopTitle}`,description:`${t.type} step for exercise ${l}. ${c}`,ogTitle:a,ogDescription:`${c} step ${Number(s)} ${t.type}`,instructor:n.instructor,requestInfo:n.requestInfo})};function vr(){var n;const e=P(),o=p.useRef(null),t=z(e);return ee({watchPaths:[`${e.exerciseStepApp.relativePath}/README.mdx`]}),r.jsx("div",{className:"flex max-w-full flex-grow flex-col",children:r.jsxs("main",{className:"flex flex-grow flex-col sm:grid sm:h-full sm:min-h-[800px] sm:grid-cols-1 sm:grid-rows-2 md:min-h-[unset] lg:grid-cols-2 lg:grid-rows-1",children:[r.jsxs("div",{className:"relative flex flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:border-r",children:[r.jsx("h1",{className:"h-14 border-b pl-10 pr-5 text-sm font-medium leading-tight",children:r.jsxs("div",{className:"flex h-14 flex-wrap items-center justify-between gap-x-2 py-2",children:[r.jsxs("div",{className:"flex items-center justify-start gap-x-2 uppercase",children:[r.jsxs(v,{to:`/${t.exerciseNumber}`,className:"hover:underline",children:[t.exerciseNumber,". ",t.exerciseTitle]}),"/",r.jsxs(v,{to:".",className:"hover:underline",children:[t.stepNumber,". ",t.title," (",t.emoji," ",t.type,")"]})]}),e.problem&&((n=e.playground)==null?void 0:n.appName)!==e.problem.name?r.jsx("div",{className:"hidden md:block",children:r.jsx(D,{appName:e.problem.name})}):null]})}),r.jsxs("article",{id:e.articleId,className:"shadow-on-scrollbox flex h-full w-full max-w-none flex-1 scroll-pt-6 flex-col justify-between space-y-6 overflow-y-auto p-2 scrollbar-thin scrollbar-thumb-scrollbar sm:p-10 sm:pt-8",children:[e.exerciseStepApp.instructionsCode?r.jsx(ye,{inBrowserBrowserRef:o}):r.jsx("div",{className:"flex h-full items-center justify-center text-lg",children:r.jsx("p",{children:"No instructions yet..."})}),r.jsxs("div",{className:"mt-auto flex justify-between",children:[e.prevStepLink?r.jsx(v,{to:e.prevStepLink.to,"aria-label":"Previous Step",prefetch:"intent",children:"← Previous"}):r.jsx("span",{}),e.nextStepLink?r.jsx(v,{to:e.nextStepLink.to,"aria-label":"Next Step",prefetch:"intent",children:"Next →"}):r.jsx("span",{})]})]},e.articleId),r.jsx(Z,{elementQuery:`#${e.articleId}`},`scroll-${e.articleId}`),e.type==="solution"?r.jsx(oe,{type:"step",exerciseNumber:e.exerciseStepApp.exerciseNumber,stepNumber:e.exerciseStepApp.stepNumber,className:"h-14 border-t px-6"}):null,r.jsxs("div",{className:"flex h-16 justify-between border-b-4 border-t lg:border-b-0",children:[r.jsx("div",{children:r.jsx("div",{className:"h-full",children:r.jsx(qe,{diffFilesPromise:e.diffFiles})})}),r.jsx(te,{appName:e.exerciseStepApp.name,relativePath:e.exerciseStepApp.relativePath}),r.jsx(X,{prev:e.prevStepLink?{to:e.prevStepLink.to,"aria-label":"Previous Step"}:null,next:e.nextStepLink?{to:e.nextStepLink.to,"aria-label":"Next Step"}:null})]})]}),r.jsx(Q,{})]})})}function gr(){return r.jsx(J,{statusHandlers:{404:()=>r.jsx("p",{children:"Sorry, we couldn't find an app here."})}})}export{gr as ErrorBoundary,vr as default,hr as meta};
2
- //# sourceMappingURL=_layout-DTAM9xh5.js.map
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-BFGhCX_U.js";import{B as r}from"./button-_qPvcoqR.js";import{I as i}from"./misc-DUy_whwE.js";import{S as o}from"./tooltip-DO9uwurQ.js";import{u as d,a as m}from"./user-Bv6wYhQP.js";import{u}from"./workshop-config-WVltG_BV.js";import{u as x}from"./presence-8FPJKg_8.js";import{L as a,F as l}from"./components-Be92gVxW.js";import"./request-info-ByUEfOil.js";const k={getSitemapEntries:()=>null};function h(){const{product:{host:s}}=u();return`https://${s}/discord`}function L(){const s=d(),t=m(),n=x(),c=h();return e.jsxs("main",{className:"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4",children:[s.imageUrlLarge?e.jsx("img",{className:"h-36 w-36 rounded-full",alt:(t==null?void 0:t.displayName)??s.name??s.email,src:s.imageUrlLarge}):e.jsx(i,{name:"User",className:"flex-shrink-0",size:"lg"}),e.jsx("h1",{className:"mb-1 text-2xl",children:"Your Account"}),e.jsx("p",{className:"text-center text-gray-700 dark:text-gray-300",children:s.name?`Hi ${(t==null?void 0:t.displayName)??s.name}, your device is logged in with ${s.email}.`:`Your device is logged in with ${s.email}.`}),t?e.jsx(e.Fragment,{children:e.jsxs("p",{className:"text-center text-gray-700 dark:text-gray-300",children:["And you are connected to discord as"," ",e.jsx("a",{href:`https://discord.com/users/${t.id}`,target:"_blank",rel:"noopener noreferrer",className:"underline",children:t.displayName}),"."]})}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(a,{to:c,className:"inline-flex items-center gap-2 underline",children:[e.jsx(i,{name:"Discord",size:"lg"}),"Connect Discord"]}),e.jsx(o,{content:"This will give you access to the exclusive Discord channels for Epic Web",children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(l,{method:"POST",children:[e.jsx("input",{name:"optOut",type:"hidden",value:n!=null&&n.optOut?"false":"true"}),e.jsxs(r,{varient:"mono",name:"intent",value:"presence-opt-out",children:[n!=null&&n.optOut?"Opt in to":"Opt out of"," presence"]})]}),e.jsx(o,{content:"This controls whether your name and avatar are displayed in the pile of faces in navigation",children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(l,{method:"post",children:e.jsx(r,{varient:"mono",name:"intent",value:"logout",children:"Log device out"})}),e.jsx(o,{content:e.jsxs("div",{children:["Note: it is your ",e.jsx("i",{className:"italic",children:"device"})," that's logged in, not your browser.",e.jsx("br",{}),"So all browsers on this device will be logged in with the same account on this device."]}),children:e.jsx(i,{name:"Question",tabIndex:0})})]}),e.jsxs("p",{children:["Check"," ",e.jsx(a,{to:"/onboarding",className:"underline",children:"/onboarding"})," ","if you'd like to review onboarding again."]}),e.jsxs("p",{children:["Check"," ",e.jsx(a,{to:"/support",className:"underline",children:"/support"})," ","if you need support."]})]})}export{L as default,k as handle};
2
- //# sourceMappingURL=account-DPP4rKOb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account-DPP4rKOb.js","sources":["../../../app/routes/_app+/account.tsx"],"sourcesContent":["import { deleteCache } from '@epic-web/workshop-utils/cache.server'\nimport {\n\tdeleteDb,\n\trequireAuthInfo,\n\tsetPresencePreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect, type LoaderFunctionArgs } from '@remix-run/node'\nimport { Form, Link } from '@remix-run/react'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.js'\nimport { useOptionalDiscordMember, useUser } from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { usePresencePreferences } from '#app/utils/presence.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tawait requireAuthInfo({ request })\n\treturn {}\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tif (intent === 'logout') {\n\t\tawait deleteDb()\n\t\tawait deleteCache()\n\t\treturn redirectWithToast('/login', {\n\t\t\ttype: 'success',\n\t\t\ttitle: 'Logged out',\n\t\t\tdescription: 'Goodbye! Come back soon!',\n\t\t})\n\t} else if (intent === 'presence-opt-out') {\n\t\tconst optOut = formData.get('optOut') === 'true'\n\t\tawait setPresencePreferences({ optOut })\n\t\treturn redirectWithToast('/account', {\n\t\t\ttitle: optOut ? 'Opted out' : 'Opted in',\n\t\t\tdescription: `You are now ${optOut ? 'invisible' : 'visible'}.`,\n\t\t\ttype: 'success',\n\t\t})\n\t}\n\n\treturn redirect('/account')\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport default function Account() {\n\tconst user = useUser()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst presencePreferences = usePresencePreferences()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\treturn (\n\t\t<main className=\"container flex h-full w-full max-w-3xl flex-grow flex-col items-center justify-center gap-4\">\n\t\t\t{user.imageUrlLarge ? (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"h-36 w-36 rounded-full\"\n\t\t\t\t\talt={discordMember?.displayName ?? user.name ?? user.email}\n\t\t\t\t\tsrc={user.imageUrlLarge}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon name=\"User\" className=\"flex-shrink-0\" size=\"lg\" />\n\t\t\t)}\n\t\t\t<h1 className=\"mb-1 text-2xl\">Your Account</h1>\n\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t{user.name\n\t\t\t\t\t? `Hi ${\n\t\t\t\t\t\t\tdiscordMember?.displayName ?? user.name\n\t\t\t\t\t\t}, your device is logged in with ${user.email}.`\n\t\t\t\t\t: `Your device is logged in with ${user.email}.`}\n\t\t\t</p>\n\t\t\t{discordMember ? (\n\t\t\t\t<>\n\t\t\t\t\t<p className=\"text-center text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\tAnd you are connected to discord as{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`https://discord.com/users/${discordMember.id}`}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{discordMember.displayName}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t.\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\t\tclassName=\"inline-flex items-center gap-2 underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon name=\"Discord\" size=\"lg\" />\n\t\t\t\t\t\tConnect Discord\n\t\t\t\t\t</Link>\n\t\t\t\t\t<SimpleTooltip content=\"This will give you access to the exclusive Discord channels for Epic Web\">\n\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"optOut\"\n\t\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\t\tvalue={presencePreferences?.optOut ? 'false' : 'true'}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"presence-opt-out\">\n\t\t\t\t\t\t{presencePreferences?.optOut ? 'Opt in to' : 'Opt out of'} presence\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip content=\"This controls whether your name and avatar are displayed in the pile of faces in navigation\">\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Form method=\"post\">\n\t\t\t\t\t<Button varient=\"mono\" name=\"intent\" value=\"logout\">\n\t\t\t\t\t\tLog device out\n\t\t\t\t\t</Button>\n\t\t\t\t</Form>\n\t\t\t\t<SimpleTooltip\n\t\t\t\t\tcontent={\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\tNote: it is your <i className=\"italic\">device</i> that's logged\n\t\t\t\t\t\t\tin, not your browser.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tSo all browsers on this device will be logged in with the same\n\t\t\t\t\t\t\taccount on this device.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t</SimpleTooltip>\n\t\t\t</div>\n\t\t\t<p>\n\t\t\t\tCheck{' '}\n\t\t\t\t<Link to=\"/onboarding\" className=\"underline\">\n\t\t\t\t\t/onboarding\n\t\t\t\t</Link>{' '}\n\t\t\t\tif you'd like to review onboarding again.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tCheck{' '}\n\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t/support\n\t\t\t\t</Link>{' '}\n\t\t\t\tif you need support.\n\t\t\t</p>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","Account","user","useUser","discordMember","useOptionalDiscordMember","presencePreferences","usePresencePreferences","connectDiscordURL","jsxs","className","children","imageUrlLarge","jsx","alt","displayName","name","email","src","Icon","size","Fragment","href","id","target","rel","Link","to","SimpleTooltip","content","tabIndex","Form","method","type","value","optOut","Button","varient"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,j as s}from"./index-BFGhCX_U.js";import{P as e}from"./preview-DaZd0wMb.js";import{u as i}from"./components-Be92gVxW.js";import"./misc-DUy_whwE.js";import"./request-info-ByUEfOil.js";import"./button-_qPvcoqR.js";import"./loading-XhMtj4mp.js";import"./index-Bdg3v8tC.js";import"./tooltip-DO9uwurQ.js";import"./pe-ChIwTk8v.js";import"./progress-bar-BaTU3Yx_.js";function R(){const{appInfo:r}=i(),o=t.useRef(null);return s.jsx(e,{appInfo:r,inBrowserBrowserRef:o})}export{R as default};
2
- //# sourceMappingURL=app-DgTXXO8s.js.map
@@ -1,2 +0,0 @@
1
- import{c as o,j as r}from"./index-BFGhCX_U.js";import{d as e,a as m}from"./misc-DUy_whwE.js";import{D as p}from"./diff-8nlDkmpc.js";import{N as n}from"./nav-chevrons-DnR25VLp.js";import{u as f,e as c}from"./components-Be92gVxW.js";import"./accordion-D9-D-n9p.js";import"./tooltip-DO9uwurQ.js";import"./index-DZDhtMuq.js";import"./index-BCTr8uu6.js";import"./mdx-CEjzXoEx.js";import"./epic-video-Bp4BOD2R.js";import"./index-Bdg3v8tC.js";import"./request-info-ByUEfOil.js";import"./pe-ChIwTk8v.js";import"./loading-XhMtj4mp.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";import"./progress-bar-BaTU3Yx_.js";import"./revalidation-ws-dUa9CAqr.js";function W(){const i=f(),[t]=c();new URLSearchParams(t).set("forceFresh","diff");const s=o(),a=e.useSpinDelay(s.state!=="idle",{delay:200,minDuration:200});return r.jsxs("div",{className:m("grid h-full grid-rows-[1fr,auto]",{"cursor-wait opacity-30":a}),children:[r.jsx("div",{className:"overflow-y-auto",children:r.jsx(p,{diff:i.diff,allApps:i.allApps})}),r.jsx("div",{className:"flex h-16 items-center justify-end border-t",children:r.jsx(n,{prev:i.prevLink,next:i.nextLink})})]})}export{W as default};
2
- //# sourceMappingURL=diff-BhRAIPKc.js.map
@@ -1,2 +0,0 @@
1
- import{a as e,h as d}from"./discord-BUWZUTEC.js";import"./index-BFGhCX_U.js";import"./misc-DUy_whwE.js";import"./components-Be92gVxW.js";import"./user-Bv6wYhQP.js";import"./workshop-config-WVltG_BV.js";export{e as default,d as handle};
2
- //# sourceMappingURL=discord-Bdnx7fu-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord-Bdnx7fu-.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}