@epic-web/workshop-app 5.5.0 → 5.7.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 (137) hide show
  1. package/build/client/assets/{_-BrkpfnBb.js → _-CjjFMNGC.js} +2 -2
  2. package/build/client/assets/{_-BrkpfnBb.js.map → _-CjjFMNGC.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber-CqkGzsgV.js +2 -0
  4. package/build/client/assets/{_exerciseNumber-DCSM0NCG.js.map → _exerciseNumber-CqkGzsgV.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js → _exerciseNumber_._stepNumber-BNWGPi9m.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js.map → _exerciseNumber_._stepNumber-BNWGPi9m.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber_.finished-CdNhLhKg.js +2 -0
  8. package/build/client/assets/{_exerciseNumber_.finished-nbpk1ToO.js.map → _exerciseNumber_.finished-CdNhLhKg.js.map} +1 -1
  9. package/build/client/assets/_layout-BMa5nZcJ.js +2 -0
  10. package/build/client/assets/{_layout-DTAM9xh5.js.map → _layout-BMa5nZcJ.js.map} +1 -1
  11. package/build/client/assets/{_layout-88n0To1b.js → _layout-CwTidn3v.js} +2 -2
  12. package/build/client/assets/{_layout-88n0To1b.js.map → _layout-CwTidn3v.js.map} +1 -1
  13. package/build/client/assets/{_layout-Dfmv2zcn.js → _layout-DV29dlKr.js} +2 -2
  14. package/build/client/assets/{_layout-Dfmv2zcn.js.map → _layout-DV29dlKr.js.map} +1 -1
  15. package/build/client/assets/{_layout-B8j0pWoF.js → _layout-Muw3ERYT.js} +3 -3
  16. package/build/client/assets/{_layout-B8j0pWoF.js.map → _layout-Muw3ERYT.js.map} +1 -1
  17. package/build/client/assets/{accordion-D9-D-n9p.js → accordion-C-sW--in.js} +2 -2
  18. package/build/client/assets/{accordion-D9-D-n9p.js.map → accordion-C-sW--in.js.map} +1 -1
  19. package/build/client/assets/account-Cc968svU.js +2 -0
  20. package/build/client/assets/account-Cc968svU.js.map +1 -0
  21. package/build/client/assets/app-BOqXK9hi.js +2 -0
  22. package/build/client/assets/{app-DgTXXO8s.js.map → app-BOqXK9hi.js.map} +1 -1
  23. package/build/client/assets/{button-_qPvcoqR.js → button-BS845Tjo.js} +2 -2
  24. package/build/client/assets/{button-_qPvcoqR.js.map → button-BS845Tjo.js.map} +1 -1
  25. package/build/client/assets/{components-Be92gVxW.js → components-DrvY4pal.js} +4 -4
  26. package/build/client/assets/{components-Be92gVxW.js.map → components-DrvY4pal.js.map} +1 -1
  27. package/build/client/assets/diff-D0e_PrB7.js +2 -0
  28. package/build/client/assets/{diff-BhRAIPKc.js.map → diff-D0e_PrB7.js.map} +1 -1
  29. package/build/client/assets/{diff-8nlDkmpc.js → diff-DtvfyjPI.js} +2 -2
  30. package/build/client/assets/{diff-8nlDkmpc.js.map → diff-DtvfyjPI.js.map} +1 -1
  31. package/build/client/assets/{discord-BUWZUTEC.js → discord-BfP_Rny5.js} +2 -2
  32. package/build/client/assets/{discord-BUWZUTEC.js.map → discord-BfP_Rny5.js.map} +1 -1
  33. package/build/client/assets/discord-DILzAZN8.js +2 -0
  34. package/build/client/assets/discord-DILzAZN8.js.map +1 -0
  35. package/build/client/assets/{entry.client-DqIWuxf8.js → entry.client-CQusg5Iz.js} +2 -2
  36. package/build/client/assets/{entry.client-DqIWuxf8.js.map → entry.client-CQusg5Iz.js.map} +1 -1
  37. package/build/client/assets/{epic-video-Bp4BOD2R.js → epic-video-qHKPWPt1.js} +130 -130
  38. package/build/client/assets/{epic-video-Bp4BOD2R.js.map → epic-video-qHKPWPt1.js.map} +1 -1
  39. package/build/client/assets/{error-boundary-BZA-ffa8.js → error-boundary-Beul7lrT.js} +2 -2
  40. package/build/client/assets/{error-boundary-BZA-ffa8.js.map → error-boundary-Beul7lrT.js.map} +1 -1
  41. package/build/client/assets/finished-DUKfL220.js +2 -0
  42. package/build/client/assets/{finished-C0cpfAFL.js.map → finished-DUKfL220.js.map} +1 -1
  43. package/build/client/assets/{index-BCTr8uu6.js → index-BHwOR8R1.js} +2 -2
  44. package/build/client/assets/{index-BCTr8uu6.js.map → index-BHwOR8R1.js.map} +1 -1
  45. package/build/client/assets/index-BOQWfIQC.js +36 -0
  46. package/build/client/assets/index-BOQWfIQC.js.map +1 -0
  47. package/build/client/assets/{index-DZDhtMuq.js → index-BPegC-d3.js} +2 -2
  48. package/build/client/assets/{index-DZDhtMuq.js.map → index-BPegC-d3.js.map} +1 -1
  49. package/build/client/assets/{index-C9Hx0Dey.js → index-CB8bjE90.js} +2 -2
  50. package/build/client/assets/{index-C9Hx0Dey.js.map → index-CB8bjE90.js.map} +1 -1
  51. package/build/client/assets/{index-BFGhCX_U.js → index-CGzylDPY.js} +2 -2
  52. package/build/client/assets/{index-BFGhCX_U.js.map → index-CGzylDPY.js.map} +1 -1
  53. package/build/client/assets/index-DbCT6N5p.js +2 -0
  54. package/build/client/assets/{index-Bi1TbRTj.js.map → index-DbCT6N5p.js.map} +1 -1
  55. package/build/client/assets/{index-pkiQppkK.js → index-cZQeGrqL.js} +2 -2
  56. package/build/client/assets/{index-pkiQppkK.js.map → index-cZQeGrqL.js.map} +1 -1
  57. package/build/client/assets/{index-BCxBKsqT.js → index-egcHQOpF.js} +2 -2
  58. package/build/client/assets/{index-BCxBKsqT.js.map → index-egcHQOpF.js.map} +1 -1
  59. package/build/client/assets/index-oED4uZLa.js +2 -0
  60. package/build/client/assets/{index-Ca4vBON4.js.map → index-oED4uZLa.js.map} +1 -1
  61. package/build/client/assets/{loading-XhMtj4mp.js → loading-C2wPVvQw.js} +2 -2
  62. package/build/client/assets/{loading-XhMtj4mp.js.map → loading-C2wPVvQw.js.map} +1 -1
  63. package/build/client/assets/login-DoU7gifi.js +2 -0
  64. package/build/client/assets/{login-C1oOgi98.js.map → login-DoU7gifi.js.map} +1 -1
  65. package/build/client/assets/manifest-93f34003.js +1 -0
  66. package/build/client/assets/mdx-CsS30JUo.js +2 -0
  67. package/build/client/assets/{mdx-CEjzXoEx.js.map → mdx-CsS30JUo.js.map} +1 -1
  68. package/build/client/assets/{misc-DUy_whwE.js → misc-BtjCSy-T.js} +2 -2
  69. package/build/client/assets/{misc-DUy_whwE.js.map → misc-BtjCSy-T.js.map} +1 -1
  70. package/build/client/assets/{nav-chevrons-DnR25VLp.js → nav-chevrons-2hLTwAZb.js} +2 -2
  71. package/build/client/assets/{nav-chevrons-DnR25VLp.js.map → nav-chevrons-2hLTwAZb.js.map} +1 -1
  72. package/build/client/assets/onboarding-Cu6eD7KS.js +2 -0
  73. package/build/client/assets/{onboarding-C2YNq60k.js.map → onboarding-Cu6eD7KS.js.map} +1 -1
  74. package/build/client/assets/{pe-ChIwTk8v.js → pe-DXT2FOp1.js} +2 -2
  75. package/build/client/assets/{pe-ChIwTk8v.js.map → pe-DXT2FOp1.js.map} +1 -1
  76. package/build/client/assets/preferences-br0VSK51.js +2 -0
  77. package/build/client/assets/preferences-br0VSK51.js.map +1 -0
  78. package/build/client/assets/{presence-8FPJKg_8.js → presence-CrYBA3ta.js} +3 -3
  79. package/build/client/assets/{presence-8FPJKg_8.js.map → presence-CrYBA3ta.js.map} +1 -1
  80. package/build/client/assets/preview-C2y4Z0qO.js +2 -0
  81. package/build/client/assets/{preview-DaZd0wMb.js.map → preview-C2y4Z0qO.js.map} +1 -1
  82. package/build/client/assets/{product-DIAmCwmZ.js → product-gqq_YQBW.js} +2 -2
  83. package/build/client/assets/{product-DIAmCwmZ.js.map → product-gqq_YQBW.js.map} +1 -1
  84. package/build/client/assets/{progress-DQt_Bn9o.js → progress-D-HsH4j3.js} +2 -2
  85. package/build/client/assets/{progress-DQt_Bn9o.js.map → progress-D-HsH4j3.js.map} +1 -1
  86. package/build/client/assets/{progress-bar-BaTU3Yx_.js → progress-bar-CTPCfvDi.js} +2 -2
  87. package/build/client/assets/{progress-bar-BaTU3Yx_.js.map → progress-bar-CTPCfvDi.js.map} +1 -1
  88. package/build/client/assets/revalidation-ws-DYaJNyw1.js +2 -0
  89. package/build/client/assets/{revalidation-ws-dUa9CAqr.js.map → revalidation-ws-DYaJNyw1.js.map} +1 -1
  90. package/build/client/assets/{root-D12XnE1S.js → root-DGY0y7_0.js} +3 -3
  91. package/build/client/assets/{root-D12XnE1S.js.map → root-DGY0y7_0.js.map} +1 -1
  92. package/build/client/assets/{set-playground-CBHBA46B.js → set-playground-DQzAhC0t.js} +2 -2
  93. package/build/client/assets/{set-playground-CBHBA46B.js.map → set-playground-DQzAhC0t.js.map} +1 -1
  94. package/build/client/assets/{support-CIz02V_r.js → support-lgEG2piy.js} +2 -2
  95. package/build/client/assets/{support-CIz02V_r.js.map → support-lgEG2piy.js.map} +1 -1
  96. package/build/client/assets/tailwind-CRGTilRc.css +1 -0
  97. package/build/client/assets/test-CDWRwwO-.js +2 -0
  98. package/build/client/assets/{test-DoKJvNug.js.map → test-CDWRwwO-.js.map} +1 -1
  99. package/build/client/assets/{tests-DbuyD2cI.js → tests-LWW8wCYZ.js} +3 -3
  100. package/build/client/assets/{tests-DbuyD2cI.js.map → tests-LWW8wCYZ.js.map} +1 -1
  101. package/build/client/assets/{tooltip-DO9uwurQ.js → tooltip-Bp9KHnLy.js} +2 -2
  102. package/build/client/assets/{tooltip-DO9uwurQ.js.map → tooltip-Bp9KHnLy.js.map} +1 -1
  103. package/build/client/assets/{use-event-source-x59d4R2Z.js → use-event-source-AZJtQsFX.js} +2 -2
  104. package/build/client/assets/{use-event-source-x59d4R2Z.js.map → use-event-source-AZJtQsFX.js.map} +1 -1
  105. package/build/client/assets/{user-Bv6wYhQP.js → user-C0j04V55.js} +2 -2
  106. package/build/client/assets/{user-Bv6wYhQP.js.map → user-C0j04V55.js.map} +1 -1
  107. package/build/client/assets/{version-lxUUxt3s.js → version-D61Qvt0X.js} +2 -2
  108. package/build/client/assets/{version-lxUUxt3s.js.map → version-D61Qvt0X.js.map} +1 -1
  109. package/build/client/assets/{workshop-config-WVltG_BV.js → workshop-config-oL_FWDKq.js} +2 -2
  110. package/build/client/assets/{workshop-config-WVltG_BV.js.map → workshop-config-oL_FWDKq.js.map} +1 -1
  111. package/build/server/index.js +308 -148
  112. package/build/server/index.js.map +1 -1
  113. package/package.json +8 -8
  114. package/build/client/assets/_exerciseNumber-DCSM0NCG.js +0 -2
  115. package/build/client/assets/_exerciseNumber_.finished-nbpk1ToO.js +0 -2
  116. package/build/client/assets/_layout-DTAM9xh5.js +0 -2
  117. package/build/client/assets/account-DPP4rKOb.js +0 -2
  118. package/build/client/assets/account-DPP4rKOb.js.map +0 -1
  119. package/build/client/assets/app-DgTXXO8s.js +0 -2
  120. package/build/client/assets/diff-BhRAIPKc.js +0 -2
  121. package/build/client/assets/discord-Bdnx7fu-.js +0 -2
  122. package/build/client/assets/discord-Bdnx7fu-.js.map +0 -1
  123. package/build/client/assets/finished-C0cpfAFL.js +0 -2
  124. package/build/client/assets/index-Bdg3v8tC.js +0 -36
  125. package/build/client/assets/index-Bdg3v8tC.js.map +0 -1
  126. package/build/client/assets/index-Bi1TbRTj.js +0 -2
  127. package/build/client/assets/index-Ca4vBON4.js +0 -2
  128. package/build/client/assets/login-C1oOgi98.js +0 -2
  129. package/build/client/assets/manifest-a8336fab.js +0 -1
  130. package/build/client/assets/mdx-CEjzXoEx.js +0 -2
  131. package/build/client/assets/onboarding-C2YNq60k.js +0 -2
  132. package/build/client/assets/preview-DaZd0wMb.js +0 -2
  133. package/build/client/assets/request-info-ByUEfOil.js +0 -2
  134. package/build/client/assets/request-info-ByUEfOil.js.map +0 -1
  135. package/build/client/assets/revalidation-ws-dUa9CAqr.js +0 -2
  136. package/build/client/assets/tailwind-B5AAMtGC.css +0 -1
  137. package/build/client/assets/test-DoKJvNug.js +0 -2
@@ -1,2 +1,2 @@
1
- import{r as o}from"./index-BFGhCX_U.js";const d=o.createContext(new Map);d.Provider;function p(u,{event:n="message",init:t,enabled:c=!0}={}){let r=o.useContext(d),[f,a]=o.useState(null);return o.useEffect(()=>{if(!c)return;let s=[u.toString(),t==null?void 0:t.withCredentials].join("::"),e=r.get(s)??{count:0,source:new EventSource(u,t)};++e.count,r.set(s,e),e.source.addEventListener(n,l),a(null);function l(E){a(E.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(n,l),--e.count,e.count<=0&&(e.source.close(),r.delete(s))}},[u,n,t,r,c]),f}export{p as u};
2
- //# sourceMappingURL=use-event-source-x59d4R2Z.js.map
1
+ import{r as o}from"./index-CGzylDPY.js";const d=o.createContext(new Map);d.Provider;function p(u,{event:n="message",init:t,enabled:c=!0}={}){let r=o.useContext(d),[f,a]=o.useState(null);return o.useEffect(()=>{if(!c)return;let s=[u.toString(),t==null?void 0:t.withCredentials].join("::"),e=r.get(s)??{count:0,source:new EventSource(u,t)};++e.count,r.set(s,e),e.source.addEventListener(n,l),a(null);function l(E){a(E.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(n,l),--e.count,e.count<=0&&(e.source.close(),r.delete(s))}},[u,n,t,r,c]),f}export{p as u};
2
+ //# sourceMappingURL=use-event-source-AZJtQsFX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-source-x59d4R2Z.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { createContext, useContext, useEffect, useState } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init, enabled = true } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map, enabled]);\n return data;\n}\n"],"names":["context","createContext","useEventSource","url","event","init","enabled","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"wCACA,MAAMA,EAAUC,EAAa,cAAC,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,EAAM,QAAAC,EAAU,EAAM,EAAG,GAAI,CAClF,IAAIC,EAAMC,aAAWR,CAAO,EACxB,CAACS,EAAMC,CAAO,EAAIC,EAAQ,SAAC,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EACD,OAEJ,IAAIO,EAAM,CAACV,EAAI,SAAU,EAAEE,GAAA,YAAAA,EAAM,eAAe,EAAE,KAAK,IAAI,EACvDS,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYV,EAAKE,CAAI,CAC7C,EACQ,EAAES,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBV,EAAOW,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQX,EAAO,CACpBM,EAAQN,EAAM,MAAQ,oBAAoB,CAC7C,CACD,MAAO,IAAM,CACTU,EAAM,OAAO,oBAAoBV,EAAOW,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,QACbP,EAAI,OAAOM,CAAG,EAE9B,CACA,EAAO,CAACV,EAAKC,EAAOC,EAAME,EAAKD,CAAO,CAAC,EAC5BG,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"use-event-source-AZJtQsFX.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { createContext, useContext, useEffect, useState } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init, enabled = true } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map, enabled]);\n return data;\n}\n"],"names":["context","createContext","useEventSource","url","event","init","enabled","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"wCACA,MAAMA,EAAUC,EAAa,cAAC,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,EAAM,QAAAC,EAAU,EAAM,EAAG,GAAI,CAClF,IAAIC,EAAMC,aAAWR,CAAO,EACxB,CAACS,EAAMC,CAAO,EAAIC,EAAQ,SAAC,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EACD,OAEJ,IAAIO,EAAM,CAACV,EAAI,SAAU,EAAEE,GAAA,YAAAA,EAAM,eAAe,EAAE,KAAK,IAAI,EACvDS,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYV,EAAKE,CAAI,CAC7C,EACQ,EAAES,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBV,EAAOW,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQX,EAAO,CACpBM,EAAQN,EAAM,MAAQ,oBAAoB,CAC7C,CACD,MAAO,IAAM,CACTU,EAAM,OAAO,oBAAoBV,EAAOW,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,QACbP,EAAI,OAAOM,CAAG,EAE9B,CACA,EAAO,CAACV,EAAKC,EAAOC,EAAME,EAAKD,CAAO,CAAC,EAC5BG,CACX","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./components-Be92gVxW.js";function o(){const r=e("root");return r==null?void 0:r.user}function i(){const r=o();if(!r)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return r}function n(){var s;const r=e("root");return(s=r==null?void 0:r.user)!=null&&s.discordProfile?{id:r.user.discordProfile.user.id,displayName:r.user.discordProfile.nick??r.user.discordProfile.user.global_name,avatarUrl:r.user.imageUrlLarge}:null}function t(){const r=e("root");return(r==null?void 0:r.userHasAccess)??!1}export{n as a,t as b,o as c,i as u};
2
- //# sourceMappingURL=user-Bv6wYhQP.js.map
1
+ import{b as e}from"./components-DrvY4pal.js";function o(){const r=e("root");return r==null?void 0:r.user}function i(){const r=o();if(!r)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return r}function n(){var s;const r=e("root");return(s=r==null?void 0:r.user)!=null&&s.discordProfile?{id:r.user.discordProfile.user.id,displayName:r.user.discordProfile.nick??r.user.discordProfile.user.global_name,avatarUrl:r.user.imageUrlLarge}:null}function t(){const r=e("root");return(r==null?void 0:r.userHasAccess)??!1}export{n as a,t as b,o as c,i as u};
2
+ //# sourceMappingURL=user-C0j04V55.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-Bv6wYhQP.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user?.discordProfile\n\t\t? {\n\t\t\t\tid: data.user.discordProfile.user.id,\n\t\t\t\tdisplayName:\n\t\t\t\t\tdata.user.discordProfile.nick ??\n\t\t\t\t\tdata.user.discordProfile.user.global_name,\n\t\t\t\tavatarUrl: data.user.imageUrlLarge,\n\t\t\t}\n\t\t: null\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n\nexport function useUserHasAccess() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.userHasAccess ?? false\n}\n"],"names":["useOptionalUser","data","useRouteLoaderData","useUser","user","useOptionalDiscordMember","_a","useUserHasAccess"],"mappings":"6CAGO,SAASA,GAAkB,CAC3B,MAAAC,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,IACd,CAEO,SAASE,GAAU,CACzB,MAAMC,EAAOJ,IACb,GAAI,CAACI,EACJ,MAAM,IAAI,MACT,gFAAA,EAGK,OAAAA,CACR,CAEO,SAASC,GAA2B,OACpC,MAAAJ,EAAOC,EAAsC,MAAM,EAClD,OAAAI,EAAAL,GAAA,YAAAA,EAAM,OAAN,MAAAK,EAAY,eAChB,CACA,GAAIL,EAAK,KAAK,eAAe,KAAK,GAClC,YACCA,EAAK,KAAK,eAAe,MACzBA,EAAK,KAAK,eAAe,KAAK,YAC/B,UAAWA,EAAK,KAAK,aAErB,EAAA,IACJ,CAYO,SAASM,GAAmB,CAC5B,MAAAN,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,gBAAiB,EAC/B"}
1
+ {"version":3,"file":"user-C0j04V55.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user?.discordProfile\n\t\t? {\n\t\t\t\tid: data.user.discordProfile.user.id,\n\t\t\t\tdisplayName:\n\t\t\t\t\tdata.user.discordProfile.nick ??\n\t\t\t\t\tdata.user.discordProfile.user.global_name,\n\t\t\t\tavatarUrl: data.user.imageUrlLarge,\n\t\t\t}\n\t\t: null\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n\nexport function useUserHasAccess() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.userHasAccess ?? false\n}\n"],"names":["useOptionalUser","data","useRouteLoaderData","useUser","user","useOptionalDiscordMember","_a","useUserHasAccess"],"mappings":"6CAGO,SAASA,GAAkB,CAC3B,MAAAC,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,IACd,CAEO,SAASE,GAAU,CACzB,MAAMC,EAAOJ,IACb,GAAI,CAACI,EACJ,MAAM,IAAI,MACT,gFAAA,EAGK,OAAAA,CACR,CAEO,SAASC,GAA2B,OACpC,MAAAJ,EAAOC,EAAsC,MAAM,EAClD,OAAAI,EAAAL,GAAA,YAAAA,EAAM,OAAN,MAAAK,EAAY,eAChB,CACA,GAAIL,EAAK,KAAK,eAAe,KAAK,GAClC,YACCA,EAAK,KAAK,eAAe,MACzBA,EAAK,KAAK,eAAe,KAAK,YAC/B,UAAWA,EAAK,KAAK,aAErB,EAAA,IACJ,CAYO,SAASM,GAAmB,CAC5B,MAAAN,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,gBAAiB,EAC/B"}
@@ -1,2 +1,2 @@
1
- import{j as s}from"./index-BFGhCX_U.js";import{u as t}from"./workshop-config-WVltG_BV.js";import{u as r}from"./components-Be92gVxW.js";const h={getSitemapEntries:()=>null};function m(){const e=r(),o=t();return s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-bold",children:"Workshop Version Information"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop Commit"}),e.workshopCommit?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:["Hash:"," ",s.jsx("a",{href:`${o.githubRepo}/commit/${e.workshopCommit.hash}`,className:"underline",children:e.workshopCommit.hash})]}),s.jsxs("p",{children:["Message: ",e.workshopCommit.message]}),s.jsxs("p",{children:["Date: ",e.workshopCommit.dateFormatted," (",e.workshopCommit.dateFromNow,")"]})]}):s.jsx("p",{children:"No commit information available"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop App"}),s.jsxs("p",{children:["Current Version: ",ENV.EPICSHOP_APP_VERSION?s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION}):"Unknown"]}),s.jsxs("p",{children:["Latest Version: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${e.latestWorkshopAppVersion}`,className:"underline",children:e.latestWorkshopAppVersion})]}),s.jsx("h3",{className:"text-md font-bold",children:"App Start Time"}),s.jsxs("p",{children:[e.startTimeFormatted," (",e.startTimeFromNow,")"]})]})}export{m as default,h as handle};
2
- //# sourceMappingURL=version-lxUUxt3s.js.map
1
+ import{j as s}from"./index-CGzylDPY.js";import{u as t}from"./workshop-config-oL_FWDKq.js";import{u as r}from"./components-DrvY4pal.js";const h={getSitemapEntries:()=>null};function m(){const e=r(),o=t();return s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-bold",children:"Workshop Version Information"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop Commit"}),e.workshopCommit?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:["Hash:"," ",s.jsx("a",{href:`${o.githubRepo}/commit/${e.workshopCommit.hash}`,className:"underline",children:e.workshopCommit.hash})]}),s.jsxs("p",{children:["Message: ",e.workshopCommit.message]}),s.jsxs("p",{children:["Date: ",e.workshopCommit.dateFormatted," (",e.workshopCommit.dateFromNow,")"]})]}):s.jsx("p",{children:"No commit information available"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop App"}),s.jsxs("p",{children:["Current Version: ",ENV.EPICSHOP_APP_VERSION?s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION}):"Unknown"]}),s.jsxs("p",{children:["Latest Version: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${e.latestWorkshopAppVersion}`,className:"underline",children:e.latestWorkshopAppVersion})]}),s.jsx("h3",{className:"text-md font-bold",children:"App Start Time"}),s.jsxs("p",{children:[e.startTimeFormatted," (",e.startTimeFromNow,")"]})]})}export{m as default,h as handle};
2
+ //# sourceMappingURL=version-D61Qvt0X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-lxUUxt3s.js","sources":["../../../app/routes/admin+/version.tsx"],"sourcesContent":["import {\n\tgetCommitInfo,\n\tgetLatestWorkshopAppVersion,\n} from '@epic-web/workshop-utils/git.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { type HeadersFunction } from '@remix-run/node'\nimport { useLoaderData, unstable_data as data } from '@remix-run/react'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { getDayjs } from '#app/utils/dayjs.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tconst timings = makeTimings('versionLoader')\n\tconst [commitInfo, latestVersion] = await Promise.all([\n\t\ttime(() => getCommitInfo(), { timings, type: 'getCommitInfo' }),\n\t\ttime(() => getLatestWorkshopAppVersion(), {\n\t\t\ttimings,\n\t\t\ttype: 'getLatestWorkshopAppVersion',\n\t\t}),\n\t])\n\n\tconst dayjs = getDayjs()\n\tconst uptime = process.uptime() * 1000\n\tconst startDate = new Date(Date.now() - uptime)\n\n\treturn data(\n\t\t{\n\t\t\tworkshopCommit: commitInfo\n\t\t\t\t? {\n\t\t\t\t\t\t...commitInfo,\n\t\t\t\t\t\tdateFormatted: dayjs(commitInfo.date).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\t\t\t\tdateFromNow: dayjs(commitInfo.date).fromNow(),\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tlatestWorkshopAppVersion: latestVersion,\n\t\t\tstartTime: startDate.toISOString(),\n\t\t\tstartTimeFormatted: dayjs(startDate).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tstartTimeFromNow: dayjs(startDate).fromNow(),\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ parentHeaders, loaderHeaders }) => {\n\treturn {\n\t\t'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders),\n\t}\n}\n\nexport default function Version() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst workshopConfig = useWorkshopConfig()\n\n\treturn (\n\t\t<div>\n\t\t\t<h2 className=\"text-lg font-bold\">Workshop Version Information</h2>\n\t\t\t<h3 className=\"text-md font-bold\">Workshop Commit</h3>\n\t\t\t{data.workshopCommit ? (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tHash:{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`${workshopConfig.githubRepo}/commit/${data.workshopCommit.hash}`}\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.workshopCommit.hash}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>Message: {data.workshopCommit.message}</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tDate: {data.workshopCommit.dateFormatted} (\n\t\t\t\t\t\t{data.workshopCommit.dateFromNow})\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<p>No commit information available</p>\n\t\t\t)}\n\t\t\t<h3 className=\"text-md font-bold\">Workshop App</h3>\n\t\t\t<p>\n\t\t\t\t{'Current Version: '}\n\t\t\t\t{ENV.EPICSHOP_APP_VERSION ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t'Unknown'\n\t\t\t\t)}\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{'Latest Version: '}\n\t\t\t\t<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${data.latestWorkshopAppVersion}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{data.latestWorkshopAppVersion}\n\t\t\t\t</a>\n\t\t\t</p>\n\t\t\t<h3 className=\"text-md font-bold\">App Start Time</h3>\n\t\t\t<p>\n\t\t\t\t{data.startTimeFormatted} ({data.startTimeFromNow})\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","Version","data","useLoaderData","workshopConfig","useWorkshopConfig","children","jsx","className","workshopCommit","jsxs","Fragment","href","githubRepo","hash","message","dateFormatted","dateFromNow","ENV","EPICSHOP_APP_VERSION","latestWorkshopAppVersion","startTimeFormatted","startTimeFromNow"],"mappings":"uIAeO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EA4CA,SAAwBC,GAAU,CACjC,MAAMC,EAAOC,IACPC,EAAiBC,IAEvB,cACE,MACA,CAAAC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAA4B,8BAAA,CAAA,EAC7DC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAe,iBAAA,CAAA,EAChDJ,EAAKO,eAEJC,EAAAA,KAAAC,EAAAA,SAAA,CAAAL,SAAA,CAAAI,EAAA,KAAC,IAAE,CAAAJ,SAAA,CAAA,QACI,IACNC,EAAAA,IAAC,IAAA,CACAK,KAAM,GAAGR,EAAeS,UAAU,WAAWX,EAAKO,eAAeK,IAAI,GACrEN,UAAU,YAETF,SAAAJ,EAAKO,eAAeK,IAAA,CACtB,CAAA,CACD,CAAA,SACC,IAAE,CAAAR,SAAA,CAAA,YAAUJ,EAAKO,eAAeM,OAAA,CAAQ,CAAA,SACxC,IAAE,CAAAT,SAAA,CAAA,SACKJ,EAAKO,eAAeO,cAAc,KACxCd,EAAKO,eAAeQ,YAAY,GAAA,CAClC,CAAA,CAAA,CACD,CAAA,EAECV,EAAA,IAAA,IAAA,CAAED,SAA+B,iCAAA,CAAA,EAElCC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAY,cAAA,CAAA,SAC7C,IACC,CAAAA,SAAA,CAAA,oBACAY,IAAIC,qBACJZ,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAIY,IAAAC,oBACN,CAAA,EAEA,SAAA,CAEF,CAAA,SACC,IACC,CAAAb,SAAA,CAAA,mBACDC,EAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDV,EAAKkB,wBAAwB,GAC5FZ,UAAU,YAETF,SAAAJ,EAAKkB,wBAAA,CACP,CAAA,CACD,CAAA,EACCb,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAc,gBAAA,CAAA,SAC/C,IACC,CAAAA,SAAA,CAAAJ,EAAKmB,mBAAmB,KAAGnB,EAAKoB,iBAAiB,GAAA,CACnD,CAAA,CAAA,CACD,CAAA,CAEF"}
1
+ {"version":3,"file":"version-D61Qvt0X.js","sources":["../../../app/routes/admin+/version.tsx"],"sourcesContent":["import {\n\tgetCommitInfo,\n\tgetLatestWorkshopAppVersion,\n} from '@epic-web/workshop-utils/git.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { type HeadersFunction } from '@remix-run/node'\nimport { useLoaderData, unstable_data as data } from '@remix-run/react'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { getDayjs } from '#app/utils/dayjs.ts'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tconst timings = makeTimings('versionLoader')\n\tconst [commitInfo, latestVersion] = await Promise.all([\n\t\ttime(() => getCommitInfo(), { timings, type: 'getCommitInfo' }),\n\t\ttime(() => getLatestWorkshopAppVersion(), {\n\t\t\ttimings,\n\t\t\ttype: 'getLatestWorkshopAppVersion',\n\t\t}),\n\t])\n\n\tconst dayjs = getDayjs()\n\tconst uptime = process.uptime() * 1000\n\tconst startDate = new Date(Date.now() - uptime)\n\n\treturn data(\n\t\t{\n\t\t\tworkshopCommit: commitInfo\n\t\t\t\t? {\n\t\t\t\t\t\t...commitInfo,\n\t\t\t\t\t\tdateFormatted: dayjs(commitInfo.date).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\t\t\t\tdateFromNow: dayjs(commitInfo.date).fromNow(),\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tlatestWorkshopAppVersion: latestVersion,\n\t\t\tstartTime: startDate.toISOString(),\n\t\t\tstartTimeFormatted: dayjs(startDate).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tstartTimeFromNow: dayjs(startDate).fromNow(),\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ parentHeaders, loaderHeaders }) => {\n\treturn {\n\t\t'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders),\n\t}\n}\n\nexport default function Version() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst workshopConfig = useWorkshopConfig()\n\n\treturn (\n\t\t<div>\n\t\t\t<h2 className=\"text-lg font-bold\">Workshop Version Information</h2>\n\t\t\t<h3 className=\"text-md font-bold\">Workshop Commit</h3>\n\t\t\t{data.workshopCommit ? (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tHash:{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`${workshopConfig.githubRepo}/commit/${data.workshopCommit.hash}`}\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.workshopCommit.hash}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>Message: {data.workshopCommit.message}</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tDate: {data.workshopCommit.dateFormatted} (\n\t\t\t\t\t\t{data.workshopCommit.dateFromNow})\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<p>No commit information available</p>\n\t\t\t)}\n\t\t\t<h3 className=\"text-md font-bold\">Workshop App</h3>\n\t\t\t<p>\n\t\t\t\t{'Current Version: '}\n\t\t\t\t{ENV.EPICSHOP_APP_VERSION ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t'Unknown'\n\t\t\t\t)}\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{'Latest Version: '}\n\t\t\t\t<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${data.latestWorkshopAppVersion}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{data.latestWorkshopAppVersion}\n\t\t\t\t</a>\n\t\t\t</p>\n\t\t\t<h3 className=\"text-md font-bold\">App Start Time</h3>\n\t\t\t<p>\n\t\t\t\t{data.startTimeFormatted} ({data.startTimeFromNow})\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","Version","data","useLoaderData","workshopConfig","useWorkshopConfig","children","jsx","className","workshopCommit","jsxs","Fragment","href","githubRepo","hash","message","dateFormatted","dateFromNow","ENV","EPICSHOP_APP_VERSION","latestWorkshopAppVersion","startTimeFormatted","startTimeFromNow"],"mappings":"uIAeO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EA4CA,SAAwBC,GAAU,CACjC,MAAMC,EAAOC,IACPC,EAAiBC,IAEvB,cACE,MACA,CAAAC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAA4B,8BAAA,CAAA,EAC7DC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAe,iBAAA,CAAA,EAChDJ,EAAKO,eAEJC,EAAAA,KAAAC,EAAAA,SAAA,CAAAL,SAAA,CAAAI,EAAA,KAAC,IAAE,CAAAJ,SAAA,CAAA,QACI,IACNC,EAAAA,IAAC,IAAA,CACAK,KAAM,GAAGR,EAAeS,UAAU,WAAWX,EAAKO,eAAeK,IAAI,GACrEN,UAAU,YAETF,SAAAJ,EAAKO,eAAeK,IAAA,CACtB,CAAA,CACD,CAAA,SACC,IAAE,CAAAR,SAAA,CAAA,YAAUJ,EAAKO,eAAeM,OAAA,CAAQ,CAAA,SACxC,IAAE,CAAAT,SAAA,CAAA,SACKJ,EAAKO,eAAeO,cAAc,KACxCd,EAAKO,eAAeQ,YAAY,GAAA,CAClC,CAAA,CAAA,CACD,CAAA,EAECV,EAAA,IAAA,IAAA,CAAED,SAA+B,iCAAA,CAAA,EAElCC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAY,cAAA,CAAA,SAC7C,IACC,CAAAA,SAAA,CAAA,oBACAY,IAAIC,qBACJZ,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAIY,IAAAC,oBACN,CAAA,EAEA,SAAA,CAEF,CAAA,SACC,IACC,CAAAb,SAAA,CAAA,mBACDC,EAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDV,EAAKkB,wBAAwB,GAC5FZ,UAAU,YAETF,SAAAJ,EAAKkB,wBAAA,CACP,CAAA,CACD,CAAA,EACCb,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAc,gBAAA,CAAA,SAC/C,IACC,CAAAA,SAAA,CAAAJ,EAAKmB,mBAAmB,KAAGnB,EAAKoB,iBAAiB,GAAA,CACnD,CAAA,CAAA,CACD,CAAA,CAEF"}
@@ -1,2 +1,2 @@
1
- import{c as r}from"./components-Be92gVxW.js";function e(){const o=r("root");if(!(o!=null&&o.workshopConfig))throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
2
- //# sourceMappingURL=workshop-config-WVltG_BV.js.map
1
+ import{b as r}from"./components-DrvY4pal.js";function e(){const o=r("root");if(!(o!=null&&o.workshopConfig))throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
2
+ //# sourceMappingURL=workshop-config-oL_FWDKq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workshop-config-WVltG_BV.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"6CAGO,SAASA,GAAoB,CAC7B,MAAAC,EAAOC,EAAsC,MAAM,EACrD,GAAA,EAACD,GAAA,MAAAA,EAAM,gBACJ,MAAA,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
1
+ {"version":3,"file":"workshop-config-oL_FWDKq.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"6CAGO,SAASA,GAAoB,CAC7B,MAAAC,EAAOC,EAAsC,MAAM,EACrD,GAAA,EAACD,GAAA,MAAAA,EAAM,gBACJ,MAAA,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}