@epic-web/workshop-app 5.3.8 → 5.4.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 (116) hide show
  1. package/build/client/assets/{_-CWSCXcBv.js → _-BrkpfnBb.js} +2 -2
  2. package/build/client/assets/{_-CWSCXcBv.js.map → _-BrkpfnBb.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-DvMYZgqk.js → _exerciseNumber-DCSM0NCG.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-DvMYZgqk.js.map → _exerciseNumber-DCSM0NCG.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js → _exerciseNumber_._stepNumber-BIMJh_sg.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-BA2Xhzqs.js.map → _exerciseNumber_._stepNumber-BIMJh_sg.js.map} +1 -1
  7. package/build/client/assets/{_exerciseNumber_.finished-DYN2QHN6.js → _exerciseNumber_.finished-nbpk1ToO.js} +2 -2
  8. package/build/client/assets/{_exerciseNumber_.finished-DYN2QHN6.js.map → _exerciseNumber_.finished-nbpk1ToO.js.map} +1 -1
  9. package/build/client/assets/{_layout-BK7mLImi.js → _layout-Cbz7Qt-S.js} +2 -2
  10. package/build/client/assets/{_layout-BK7mLImi.js.map → _layout-Cbz7Qt-S.js.map} +1 -1
  11. package/build/client/assets/{_layout-BH5PQW0M.js → _layout-DTAM9xh5.js} +2 -2
  12. package/build/client/assets/{_layout-BH5PQW0M.js.map → _layout-DTAM9xh5.js.map} +1 -1
  13. package/build/client/assets/_layout-Dfmv2zcn.js +2 -0
  14. package/build/client/assets/_layout-Dfmv2zcn.js.map +1 -0
  15. package/build/client/assets/{accordion-DC885Li1.js → accordion-D9-D-n9p.js} +2 -2
  16. package/build/client/assets/{accordion-DC885Li1.js.map → accordion-D9-D-n9p.js.map} +1 -1
  17. package/build/client/assets/account-C4Piztoz.js +2 -0
  18. package/build/client/assets/account-C4Piztoz.js.map +1 -0
  19. package/build/client/assets/app-DgTXXO8s.js +2 -0
  20. package/build/client/assets/{app-CM8yuYni.js.map → app-DgTXXO8s.js.map} +1 -1
  21. package/build/client/assets/{button-DQ001ob0.js → button-_qPvcoqR.js} +2 -2
  22. package/build/client/assets/{button-DQ001ob0.js.map → button-_qPvcoqR.js.map} +1 -1
  23. package/build/client/assets/{components-9EGYHTc_.js → components-Be92gVxW.js} +2 -2
  24. package/build/client/assets/{components-9EGYHTc_.js.map → components-Be92gVxW.js.map} +1 -1
  25. package/build/client/assets/{diff-C2Hm_DHX.js → diff-8nlDkmpc.js} +2 -2
  26. package/build/client/assets/{diff-C2Hm_DHX.js.map → diff-8nlDkmpc.js.map} +1 -1
  27. package/build/client/assets/diff-BhRAIPKc.js +2 -0
  28. package/build/client/assets/{diff-CbIF8Oq1.js.map → diff-BhRAIPKc.js.map} +1 -1
  29. package/build/client/assets/discord-BUWZUTEC.js +2 -0
  30. package/build/client/assets/discord-BUWZUTEC.js.map +1 -0
  31. package/build/client/assets/discord-Bdnx7fu-.js +2 -0
  32. package/build/client/assets/discord-Bdnx7fu-.js.map +1 -0
  33. package/build/client/assets/{entry.client-BTYTUpFV.js → entry.client-DqIWuxf8.js} +2 -2
  34. package/build/client/assets/{entry.client-BTYTUpFV.js.map → entry.client-DqIWuxf8.js.map} +1 -1
  35. package/build/client/assets/{epic-video-Bxtz3elt.js → epic-video-Bp4BOD2R.js} +2 -2
  36. package/build/client/assets/{epic-video-Bxtz3elt.js.map → epic-video-Bp4BOD2R.js.map} +1 -1
  37. package/build/client/assets/{error-boundary-1-dmC941.js → error-boundary-BZA-ffa8.js} +2 -2
  38. package/build/client/assets/{error-boundary-1-dmC941.js.map → error-boundary-BZA-ffa8.js.map} +1 -1
  39. package/build/client/assets/{finished--PGQDzya.js → finished-C0cpfAFL.js} +2 -2
  40. package/build/client/assets/{finished--PGQDzya.js.map → finished-C0cpfAFL.js.map} +1 -1
  41. package/build/client/assets/{index-BuoaxPEj.js → index-BCTr8uu6.js} +2 -2
  42. package/build/client/assets/{index-BuoaxPEj.js.map → index-BCTr8uu6.js.map} +1 -1
  43. package/build/client/assets/{index-_J-F_Dnc.js → index-Bdg3v8tC.js} +2 -2
  44. package/build/client/assets/{index-_J-F_Dnc.js.map → index-Bdg3v8tC.js.map} +1 -1
  45. package/build/client/assets/{index-C2MH9l6b.js → index-Bi1TbRTj.js} +2 -2
  46. package/build/client/assets/{index-C2MH9l6b.js.map → index-Bi1TbRTj.js.map} +1 -1
  47. package/build/client/assets/{index-DRH72MzK.js → index-C9Hx0Dey.js} +2 -2
  48. package/build/client/assets/{index-DRH72MzK.js.map → index-C9Hx0Dey.js.map} +1 -1
  49. package/build/client/assets/{index-oZkQrXic.js → index-Ca4vBON4.js} +2 -2
  50. package/build/client/assets/{index-oZkQrXic.js.map → index-Ca4vBON4.js.map} +1 -1
  51. package/build/client/assets/{index-BuA_RWlU.js → index-DZDhtMuq.js} +2 -2
  52. package/build/client/assets/{index-BuA_RWlU.js.map → index-DZDhtMuq.js.map} +1 -1
  53. package/build/client/assets/index-pkiQppkK.js +2 -0
  54. package/build/client/assets/index-pkiQppkK.js.map +1 -0
  55. package/build/client/assets/{loading-Dk0n07O3.js → loading-XhMtj4mp.js} +2 -2
  56. package/build/client/assets/{loading-Dk0n07O3.js.map → loading-XhMtj4mp.js.map} +1 -1
  57. package/build/client/assets/{login-pZYDEC_l.js → login-C1oOgi98.js} +2 -2
  58. package/build/client/assets/{login-pZYDEC_l.js.map → login-C1oOgi98.js.map} +1 -1
  59. package/build/client/assets/manifest-bc809ee6.js +1 -0
  60. package/build/client/assets/{mdx-DIAWAXtT.js → mdx-CEjzXoEx.js} +2 -2
  61. package/build/client/assets/{mdx-DIAWAXtT.js.map → mdx-CEjzXoEx.js.map} +1 -1
  62. package/build/client/assets/{misc-BJtHv_Jh.js → misc-DUy_whwE.js} +2 -2
  63. package/build/client/assets/{misc-BJtHv_Jh.js.map → misc-DUy_whwE.js.map} +1 -1
  64. package/build/client/assets/{nav-chevrons-CgbSMLeb.js → nav-chevrons-DnR25VLp.js} +2 -2
  65. package/build/client/assets/{nav-chevrons-CgbSMLeb.js.map → nav-chevrons-DnR25VLp.js.map} +1 -1
  66. package/build/client/assets/{onboarding-BAVmCIKn.js → onboarding-C2YNq60k.js} +2 -2
  67. package/build/client/assets/{onboarding-BAVmCIKn.js.map → onboarding-C2YNq60k.js.map} +1 -1
  68. package/build/client/assets/{presence-DyppfK2V.js → presence-DJGFvdDh.js} +2 -2
  69. package/build/client/assets/{presence-DyppfK2V.js.map → presence-DJGFvdDh.js.map} +1 -1
  70. package/build/client/assets/{preview-CW_12I0i.js → preview-DaZd0wMb.js} +2 -2
  71. package/build/client/assets/{preview-CW_12I0i.js.map → preview-DaZd0wMb.js.map} +1 -1
  72. package/build/client/assets/{product-C1ynnrN_.js → product-DIAmCwmZ.js} +2 -2
  73. package/build/client/assets/{product-C1ynnrN_.js.map → product-DIAmCwmZ.js.map} +1 -1
  74. package/build/client/assets/{progress-DAB3nDa2.js → progress-DQt_Bn9o.js} +2 -2
  75. package/build/client/assets/{progress-DAB3nDa2.js.map → progress-DQt_Bn9o.js.map} +1 -1
  76. package/build/client/assets/{progress-bar-Cj5R4Zk7.js → progress-bar-BaTU3Yx_.js} +2 -2
  77. package/build/client/assets/{progress-bar-Cj5R4Zk7.js.map → progress-bar-BaTU3Yx_.js.map} +1 -1
  78. package/build/client/assets/{request-info-DCIQLE6H.js → request-info-ByUEfOil.js} +2 -2
  79. package/build/client/assets/{request-info-DCIQLE6H.js.map → request-info-ByUEfOil.js.map} +1 -1
  80. package/build/client/assets/{revalidation-ws-DU-PzW-_.js → revalidation-ws-dUa9CAqr.js} +2 -2
  81. package/build/client/assets/{revalidation-ws-DU-PzW-_.js.map → revalidation-ws-dUa9CAqr.js.map} +1 -1
  82. package/build/client/assets/{root-DCfiv1cO.js → root-a3d3Qwip.js} +2 -2
  83. package/build/client/assets/{root-DCfiv1cO.js.map → root-a3d3Qwip.js.map} +1 -1
  84. package/build/client/assets/{set-playground-S_rIwJAa.js → set-playground-CBHBA46B.js} +2 -2
  85. package/build/client/assets/{set-playground-S_rIwJAa.js.map → set-playground-CBHBA46B.js.map} +1 -1
  86. package/build/client/assets/{support-BNS-kEhc.js → support-CIz02V_r.js} +2 -2
  87. package/build/client/assets/{support-BNS-kEhc.js.map → support-CIz02V_r.js.map} +1 -1
  88. package/build/client/assets/test-DoKJvNug.js +2 -0
  89. package/build/client/assets/{test-3x2HHA0t.js.map → test-DoKJvNug.js.map} +1 -1
  90. package/build/client/assets/{tests-GmyhBOwD.js → tests-DbuyD2cI.js} +2 -2
  91. package/build/client/assets/{tests-GmyhBOwD.js.map → tests-DbuyD2cI.js.map} +1 -1
  92. package/build/client/assets/{tooltip-BgynKV2c.js → tooltip-DO9uwurQ.js} +2 -2
  93. package/build/client/assets/{tooltip-BgynKV2c.js.map → tooltip-DO9uwurQ.js.map} +1 -1
  94. package/build/client/assets/user-Bv6wYhQP.js +2 -0
  95. package/build/client/assets/{user-CFunCRfr.js.map → user-Bv6wYhQP.js.map} +1 -1
  96. package/build/client/assets/version-CaywAlNQ.js +2 -0
  97. package/build/client/assets/version-CaywAlNQ.js.map +1 -0
  98. package/build/client/assets/{workshop-config-DJY2cXU_.js → workshop-config-WVltG_BV.js} +2 -2
  99. package/build/client/assets/{workshop-config-DJY2cXU_.js.map → workshop-config-WVltG_BV.js.map} +1 -1
  100. package/build/server/index.js +368 -218
  101. package/build/server/index.js.map +1 -1
  102. package/package.json +3 -3
  103. package/start.js +6 -0
  104. package/build/client/assets/_layout-gyrNluke.js +0 -2
  105. package/build/client/assets/_layout-gyrNluke.js.map +0 -1
  106. package/build/client/assets/account-B5baO5pg.js +0 -2
  107. package/build/client/assets/account-B5baO5pg.js.map +0 -1
  108. package/build/client/assets/app-CM8yuYni.js +0 -2
  109. package/build/client/assets/diff-CbIF8Oq1.js +0 -2
  110. package/build/client/assets/discord-BnQDHWJj.js +0 -2
  111. package/build/client/assets/discord-BnQDHWJj.js.map +0 -1
  112. package/build/client/assets/discord-DcHxc30v.js +0 -2
  113. package/build/client/assets/discord-DcHxc30v.js.map +0 -1
  114. package/build/client/assets/manifest-7f4f8707.js +0 -1
  115. package/build/client/assets/test-3x2HHA0t.js +0 -2
  116. package/build/client/assets/user-CFunCRfr.js +0 -2
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"user-CFunCRfr.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":"wCAGO,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-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"}
@@ -0,0 +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: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION})]}),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-CaywAlNQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-CaywAlNQ.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<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t</a>\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,oBACDC,EAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAIY,IAAAC,oBAAA,CACN,CAAA,CACD,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{e as r}from"./components-9EGYHTc_.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-DJY2cXU_.js.map
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 +1 @@
1
- {"version":3,"file":"workshop-config-DJY2cXU_.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-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"}