@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.
- package/build/client/assets/{_-BrkpfnBb.js → _-hAKYb2AG.js} +2 -2
- package/build/client/assets/{_-BrkpfnBb.js.map → _-hAKYb2AG.js.map} +1 -1
- package/build/client/assets/_exerciseNumber-PTdG9GGB.js +2 -0
- package/build/client/assets/{_exerciseNumber-DCSM0NCG.js.map → _exerciseNumber-PTdG9GGB.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js → _exerciseNumber_._stepNumber-03erOIGo.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-BIMJh_sg.js.map → _exerciseNumber_._stepNumber-03erOIGo.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_.finished-DQg4F1NL.js +2 -0
- package/build/client/assets/{_exerciseNumber_.finished-nbpk1ToO.js.map → _exerciseNumber_.finished-DQg4F1NL.js.map} +1 -1
- package/build/client/assets/{_layout-88n0To1b.js → _layout-B4JGpA3A.js} +2 -2
- package/build/client/assets/{_layout-88n0To1b.js.map → _layout-B4JGpA3A.js.map} +1 -1
- package/build/client/assets/{_layout-Dfmv2zcn.js → _layout-BJbMl6SJ.js} +2 -2
- package/build/client/assets/{_layout-Dfmv2zcn.js.map → _layout-BJbMl6SJ.js.map} +1 -1
- package/build/client/assets/{_layout-B8j0pWoF.js → _layout-Bu0lel3p.js} +2 -2
- package/build/client/assets/{_layout-B8j0pWoF.js.map → _layout-Bu0lel3p.js.map} +1 -1
- package/build/client/assets/_layout-DHoH74NH.js +2 -0
- package/build/client/assets/{_layout-DTAM9xh5.js.map → _layout-DHoH74NH.js.map} +1 -1
- package/build/client/assets/{accordion-D9-D-n9p.js → accordion-DLg7gJkp.js} +2 -2
- package/build/client/assets/{accordion-D9-D-n9p.js.map → accordion-DLg7gJkp.js.map} +1 -1
- package/build/client/assets/account-DLDPrc9J.js +2 -0
- package/build/client/assets/account-DLDPrc9J.js.map +1 -0
- package/build/client/assets/app-DJDjmdlu.js +2 -0
- package/build/client/assets/{app-DgTXXO8s.js.map → app-DJDjmdlu.js.map} +1 -1
- package/build/client/assets/{button-_qPvcoqR.js → button-39zQyNX6.js} +2 -2
- package/build/client/assets/{button-_qPvcoqR.js.map → button-39zQyNX6.js.map} +1 -1
- package/build/client/assets/{components-Be92gVxW.js → components-DUNtf72c.js} +2 -2
- package/build/client/assets/{components-Be92gVxW.js.map → components-DUNtf72c.js.map} +1 -1
- package/build/client/assets/diff-B3oaU_KB.js +2 -0
- package/build/client/assets/{diff-BhRAIPKc.js.map → diff-B3oaU_KB.js.map} +1 -1
- package/build/client/assets/{diff-8nlDkmpc.js → diff-BNCREJvf.js} +2 -2
- package/build/client/assets/{diff-8nlDkmpc.js.map → diff-BNCREJvf.js.map} +1 -1
- package/build/client/assets/{discord-BUWZUTEC.js → discord-CEOqKs_c.js} +2 -2
- package/build/client/assets/{discord-BUWZUTEC.js.map → discord-CEOqKs_c.js.map} +1 -1
- package/build/client/assets/discord-CpIgvYus.js +2 -0
- package/build/client/assets/discord-CpIgvYus.js.map +1 -0
- package/build/client/assets/{entry.client-DqIWuxf8.js → entry.client-CrlHhRMR.js} +2 -2
- package/build/client/assets/{entry.client-DqIWuxf8.js.map → entry.client-CrlHhRMR.js.map} +1 -1
- package/build/client/assets/epic-video-D8ex9vao.js +2 -0
- package/build/client/assets/epic-video-D8ex9vao.js.map +1 -0
- package/build/client/assets/error-boundary-3zItlMUO.js +2 -0
- package/build/client/assets/{error-boundary-BZA-ffa8.js.map → error-boundary-3zItlMUO.js.map} +1 -1
- package/build/client/assets/finished-rUzUjnEm.js +2 -0
- package/build/client/assets/{finished-C0cpfAFL.js.map → finished-rUzUjnEm.js.map} +1 -1
- package/build/client/assets/index-BajUQsFT.js +3053 -0
- package/build/client/assets/index-BajUQsFT.js.map +1 -0
- package/build/client/assets/{index-BCxBKsqT.js → index-CLNXC84j.js} +2 -2
- package/build/client/assets/{index-BCxBKsqT.js.map → index-CLNXC84j.js.map} +1 -1
- package/build/client/assets/{index-BCTr8uu6.js → index-CV3nxGFp.js} +2 -2
- package/build/client/assets/{index-BCTr8uu6.js.map → index-CV3nxGFp.js.map} +1 -1
- package/build/client/assets/{index-BFGhCX_U.js → index-C_B1-9rF.js} +2 -2
- package/build/client/assets/{index-BFGhCX_U.js.map → index-C_B1-9rF.js.map} +1 -1
- package/build/client/assets/{index-pkiQppkK.js → index-DDqzbGM2.js} +2 -2
- package/build/client/assets/{index-pkiQppkK.js.map → index-DDqzbGM2.js.map} +1 -1
- package/build/client/assets/index-DE-jwnOP.js +2 -0
- package/build/client/assets/{index-Bi1TbRTj.js.map → index-DE-jwnOP.js.map} +1 -1
- package/build/client/assets/{index-DZDhtMuq.js → index-DFqQCjCw.js} +2 -2
- package/build/client/assets/{index-DZDhtMuq.js.map → index-DFqQCjCw.js.map} +1 -1
- package/build/client/assets/{index-Bdg3v8tC.js → index-DH1w3QmP.js} +2 -2
- package/build/client/assets/{index-Bdg3v8tC.js.map → index-DH1w3QmP.js.map} +1 -1
- package/build/client/assets/{index-C9Hx0Dey.js → index-LjRZeU7x.js} +2 -2
- package/build/client/assets/{index-C9Hx0Dey.js.map → index-LjRZeU7x.js.map} +1 -1
- package/build/client/assets/index-mivnjq36.js +2 -0
- package/build/client/assets/{index-Ca4vBON4.js.map → index-mivnjq36.js.map} +1 -1
- package/build/client/assets/{loading-XhMtj4mp.js → loading-DW_I206H.js} +2 -2
- package/build/client/assets/{loading-XhMtj4mp.js.map → loading-DW_I206H.js.map} +1 -1
- package/build/client/assets/{login-C1oOgi98.js → login-CdNej0Z7.js} +2 -2
- package/build/client/assets/{login-C1oOgi98.js.map → login-CdNej0Z7.js.map} +1 -1
- package/build/client/assets/manifest-62ea49c4.js +1 -0
- package/build/client/assets/{mdx-CEjzXoEx.js → mdx-C9dqA6IZ.js} +2 -2
- package/build/client/assets/{mdx-CEjzXoEx.js.map → mdx-C9dqA6IZ.js.map} +1 -1
- package/build/client/assets/{misc-DUy_whwE.js → misc-DIdEn_jt.js} +2 -2
- package/build/client/assets/{misc-DUy_whwE.js.map → misc-DIdEn_jt.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-DnR25VLp.js → nav-chevrons-B3SvZV8B.js} +2 -2
- package/build/client/assets/{nav-chevrons-DnR25VLp.js.map → nav-chevrons-B3SvZV8B.js.map} +1 -1
- package/build/client/assets/onboarding-CC9zz4rl.js +2 -0
- package/build/client/assets/{onboarding-C2YNq60k.js.map → onboarding-CC9zz4rl.js.map} +1 -1
- package/build/client/assets/{pe-ChIwTk8v.js → pe-D5h19vSo.js} +2 -2
- package/build/client/assets/{pe-ChIwTk8v.js.map → pe-D5h19vSo.js.map} +1 -1
- package/build/client/assets/{presence-8FPJKg_8.js → presence-D1DPz__2.js} +2 -2
- package/build/client/assets/{presence-8FPJKg_8.js.map → presence-D1DPz__2.js.map} +1 -1
- package/build/client/assets/{preview-DaZd0wMb.js → preview-BEtmdi0E.js} +2 -2
- package/build/client/assets/{preview-DaZd0wMb.js.map → preview-BEtmdi0E.js.map} +1 -1
- package/build/client/assets/{product-DIAmCwmZ.js → product-CYOFfeJM.js} +2 -2
- package/build/client/assets/{product-DIAmCwmZ.js.map → product-CYOFfeJM.js.map} +1 -1
- package/build/client/assets/{progress-DQt_Bn9o.js → progress-D6SP0Gec.js} +2 -2
- package/build/client/assets/{progress-DQt_Bn9o.js.map → progress-D6SP0Gec.js.map} +1 -1
- package/build/client/assets/{progress-bar-BaTU3Yx_.js → progress-bar-CBDBzRQ2.js} +2 -2
- package/build/client/assets/{progress-bar-BaTU3Yx_.js.map → progress-bar-CBDBzRQ2.js.map} +1 -1
- package/build/client/assets/{request-info-ByUEfOil.js → request-info-vBkaf3Rk.js} +2 -2
- package/build/client/assets/{request-info-ByUEfOil.js.map → request-info-vBkaf3Rk.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-dUa9CAqr.js → revalidation-ws-DK5QOPlL.js} +2 -2
- package/build/client/assets/{revalidation-ws-dUa9CAqr.js.map → revalidation-ws-DK5QOPlL.js.map} +1 -1
- package/build/client/assets/{root-D12XnE1S.js → root-Bg-hxaOK.js} +2 -2
- package/build/client/assets/{root-D12XnE1S.js.map → root-Bg-hxaOK.js.map} +1 -1
- package/build/client/assets/{set-playground-CBHBA46B.js → set-playground-CMoUFgkO.js} +2 -2
- package/build/client/assets/{set-playground-CBHBA46B.js.map → set-playground-CMoUFgkO.js.map} +1 -1
- package/build/client/assets/{support-CIz02V_r.js → support-CPzYlWkd.js} +2 -2
- package/build/client/assets/{support-CIz02V_r.js.map → support-CPzYlWkd.js.map} +1 -1
- package/build/client/assets/test-C8wkLh9a.js +2 -0
- package/build/client/assets/{test-DoKJvNug.js.map → test-C8wkLh9a.js.map} +1 -1
- package/build/client/assets/{tests-DbuyD2cI.js → tests-CiM4RPOf.js} +2 -2
- package/build/client/assets/{tests-DbuyD2cI.js.map → tests-CiM4RPOf.js.map} +1 -1
- package/build/client/assets/{tooltip-DO9uwurQ.js → tooltip-BoVikCa-.js} +2 -2
- package/build/client/assets/{tooltip-DO9uwurQ.js.map → tooltip-BoVikCa-.js.map} +1 -1
- package/build/client/assets/{use-event-source-x59d4R2Z.js → use-event-source-M87p8Tme.js} +2 -2
- package/build/client/assets/{use-event-source-x59d4R2Z.js.map → use-event-source-M87p8Tme.js.map} +1 -1
- package/build/client/assets/{user-Bv6wYhQP.js → user-CbbIYEs8.js} +2 -2
- package/build/client/assets/{user-Bv6wYhQP.js.map → user-CbbIYEs8.js.map} +1 -1
- package/build/client/assets/{version-lxUUxt3s.js → version-CIF3cX3N.js} +2 -2
- package/build/client/assets/{version-lxUUxt3s.js.map → version-CIF3cX3N.js.map} +1 -1
- package/build/client/assets/{workshop-config-WVltG_BV.js → workshop-config-C5sYl312.js} +2 -2
- package/build/client/assets/{workshop-config-WVltG_BV.js.map → workshop-config-C5sYl312.js.map} +1 -1
- package/build/server/index.js +299 -211
- package/build/server/index.js.map +1 -1
- package/package.json +8 -8
- package/build/client/assets/_exerciseNumber-DCSM0NCG.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-nbpk1ToO.js +0 -2
- package/build/client/assets/_layout-DTAM9xh5.js +0 -2
- package/build/client/assets/account-DPP4rKOb.js +0 -2
- package/build/client/assets/account-DPP4rKOb.js.map +0 -1
- package/build/client/assets/app-DgTXXO8s.js +0 -2
- package/build/client/assets/diff-BhRAIPKc.js +0 -2
- package/build/client/assets/discord-Bdnx7fu-.js +0 -2
- package/build/client/assets/discord-Bdnx7fu-.js.map +0 -1
- package/build/client/assets/epic-video-Bp4BOD2R.js +0 -3053
- package/build/client/assets/epic-video-Bp4BOD2R.js.map +0 -1
- package/build/client/assets/error-boundary-BZA-ffa8.js +0 -2
- package/build/client/assets/finished-C0cpfAFL.js +0 -2
- package/build/client/assets/index-Bi1TbRTj.js +0 -2
- package/build/client/assets/index-Ca4vBON4.js +0 -2
- package/build/client/assets/manifest-a8336fab.js +0 -1
- package/build/client/assets/onboarding-C2YNq60k.js +0 -2
- package/build/client/assets/test-DoKJvNug.js +0 -2
- /package/build/client/assets/{epic-video-DUnRvy1A.css → index-DUnRvy1A.css} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o}from"./index-
|
|
2
|
-
//# sourceMappingURL=use-event-source-
|
|
1
|
+
import{r as o}from"./index-C_B1-9rF.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-M87p8Tme.js.map
|
package/build/client/assets/{use-event-source-x59d4R2Z.js.map → use-event-source-M87p8Tme.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-event-source-
|
|
1
|
+
{"version":3,"file":"use-event-source-M87p8Tme.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-
|
|
2
|
-
//# sourceMappingURL=user-
|
|
1
|
+
import{c as e}from"./components-DUNtf72c.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,o as b,t as c,i as u};
|
|
2
|
+
//# sourceMappingURL=user-CbbIYEs8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-
|
|
1
|
+
{"version":3,"file":"user-CbbIYEs8.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-
|
|
2
|
-
//# sourceMappingURL=version-
|
|
1
|
+
import{j as s}from"./index-C_B1-9rF.js";import{u as t}from"./workshop-config-C5sYl312.js";import{u as r}from"./components-DUNtf72c.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-CIF3cX3N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-CIF3cX3N.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-
|
|
2
|
-
//# sourceMappingURL=workshop-config-
|
|
1
|
+
import{c as r}from"./components-DUNtf72c.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-C5sYl312.js.map
|
package/build/client/assets/{workshop-config-WVltG_BV.js.map → workshop-config-C5sYl312.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workshop-config-
|
|
1
|
+
{"version":3,"file":"workshop-config-C5sYl312.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"}
|