@epic-web/workshop-app 6.74.0 → 6.74.2

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 (54) hide show
  1. package/build/client/assets/_exerciseNumber-6IQJMb5M.js +2 -0
  2. package/build/client/assets/{_exerciseNumber-jokuvO2V.js.map → _exerciseNumber-6IQJMb5M.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber_.finished-D9-WSUZy.js +2 -0
  4. package/build/client/assets/{_exerciseNumber_.finished-BaC--Y5p.js.map → _exerciseNumber_.finished-D9-WSUZy.js.map} +1 -1
  5. package/build/client/assets/_extra-IT1EaIMp.js +2 -0
  6. package/build/client/assets/{_extra-DXypL1sc.js.map → _extra-IT1EaIMp.js.map} +1 -1
  7. package/build/client/assets/{_layout-C9vSX5Ti.js → _layout-BDFC2e7T.js} +2 -2
  8. package/build/client/assets/{_layout-C9vSX5Ti.js.map → _layout-BDFC2e7T.js.map} +1 -1
  9. package/build/client/assets/_layout-CCCrBY2W.js +2 -0
  10. package/build/client/assets/{_layout-_Aw6qzZC.js.map → _layout-CCCrBY2W.js.map} +1 -1
  11. package/build/client/assets/{diff-Dng5ItOr.js → diff-4YyKvzHi.js} +2 -2
  12. package/build/client/assets/{diff-Dng5ItOr.js.map → diff-4YyKvzHi.js.map} +1 -1
  13. package/build/client/assets/diff-8Er9eAl-.js +2 -0
  14. package/build/client/assets/{diff-DfWBhj2O.js.map → diff-8Er9eAl-.js.map} +1 -1
  15. package/build/client/assets/epic-video-BtFzbNqF.js +2 -0
  16. package/build/client/assets/{epic-video-C1_HSISA.js.map → epic-video-BtFzbNqF.js.map} +1 -1
  17. package/build/client/assets/{epic-video-CC0372g5.js → epic-video-DzLohyvt.js} +146 -146
  18. package/build/client/assets/epic-video-DzLohyvt.js.map +1 -0
  19. package/build/client/assets/finished-CzmzTZg6.js +2 -0
  20. package/build/client/assets/{finished-BbEk1NdF.js.map → finished-CzmzTZg6.js.map} +1 -1
  21. package/build/client/assets/index-BN0kldnY.js +2 -0
  22. package/build/client/assets/{index-CFM_ffAh.js.map → index-BN0kldnY.js.map} +1 -1
  23. package/build/client/assets/index-BNsKVnVt.js +2 -0
  24. package/build/client/assets/{index-Pxi8WjFA.js.map → index-BNsKVnVt.js.map} +1 -1
  25. package/build/client/assets/index-Cby_tLUO.js +2 -0
  26. package/build/client/assets/{index-CfU0fdf7.js.map → index-Cby_tLUO.js.map} +1 -1
  27. package/build/client/assets/{index-DroM8fzS.js → index-Dpyv8N6m.js} +2 -2
  28. package/build/client/assets/{index-DroM8fzS.js.map → index-Dpyv8N6m.js.map} +1 -1
  29. package/build/client/assets/{manifest-835c6db1.js → manifest-65ac4702.js} +1 -1
  30. package/build/client/assets/{mdx-vy-1-0a3.js → mdx-8X3W8bVO.js} +2 -2
  31. package/build/client/assets/{mdx-vy-1-0a3.js.map → mdx-8X3W8bVO.js.map} +1 -1
  32. package/build/client/assets/{progress-BcA4i0iU.js → progress-Bby-ybMA.js} +2 -2
  33. package/build/client/assets/progress-Bby-ybMA.js.map +1 -0
  34. package/build/client/assets/root-BwYDIUyI.js.map +1 -1
  35. package/build/client/assets/test-DXylXETz.js +2 -0
  36. package/build/client/assets/{test-Ciw2aKZE.js.map → test-DXylXETz.js.map} +1 -1
  37. package/build/client/assets/{tests-CZ2AhDKA.js → tests-DlPVOsMT.js} +2 -2
  38. package/build/client/assets/{tests-CZ2AhDKA.js.map → tests-DlPVOsMT.js.map} +1 -1
  39. package/build/server/index.js +310 -63
  40. package/build/server/index.js.map +1 -1
  41. package/package.json +3 -3
  42. package/build/client/assets/_exerciseNumber-jokuvO2V.js +0 -2
  43. package/build/client/assets/_exerciseNumber_.finished-BaC--Y5p.js +0 -2
  44. package/build/client/assets/_extra-DXypL1sc.js +0 -2
  45. package/build/client/assets/_layout-_Aw6qzZC.js +0 -2
  46. package/build/client/assets/diff-DfWBhj2O.js +0 -2
  47. package/build/client/assets/epic-video-C1_HSISA.js +0 -2
  48. package/build/client/assets/epic-video-CC0372g5.js.map +0 -1
  49. package/build/client/assets/finished-BbEk1NdF.js +0 -2
  50. package/build/client/assets/index-CFM_ffAh.js +0 -2
  51. package/build/client/assets/index-CfU0fdf7.js +0 -2
  52. package/build/client/assets/index-Pxi8WjFA.js +0 -2
  53. package/build/client/assets/progress-BcA4i0iU.js.map +0 -1
  54. package/build/client/assets/test-Ciw2aKZE.js +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epic-web/workshop-app",
3
- "version": "6.74.0",
3
+ "version": "6.74.2",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -42,8 +42,8 @@
42
42
  "@epic-web/invariant": "^1.0.0",
43
43
  "@epic-web/remember": "^1.1.0",
44
44
  "@epic-web/restore-scroll": "^2.0.0",
45
- "@epic-web/workshop-presence": "6.74.0",
46
- "@epic-web/workshop-utils": "6.74.0",
45
+ "@epic-web/workshop-presence": "6.74.2",
46
+ "@epic-web/workshop-utils": "6.74.2",
47
47
  "@mdx-js/mdx": "^3.1.1",
48
48
  "@mux/mux-player-react": "^3.10.2",
49
49
  "@nasa-gcn/remix-seo": "^2.0.1",
@@ -1,2 +0,0 @@
1
- import{w as s,a as n,L as m}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as r}from"./jsx-runtime-C5WNSv3b.js";import{E as c}from"./index-CEVyDj51.js";import{E as l}from"./epic-video-CC0372g5.js";import{G as p}from"./error-boundary-DxHqAEHX.js";import{u as a}from"./revalidation-ws-BJWJviUX.js";import{E as x}from"./launch-editor-D2exGfVu.js";import{P as u}from"./progress-BcA4i0iU.js";import{M as f}from"./mdx-vy-1-0a3.js";import{g as d}from"./root-loader-BOzEMapJ.js";import{g as b}from"./seo-t5J-DRxw.js";import{E as h}from"./error-boundary-BDqWjIFP.js";import"./index-CqIc3cxq.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./index-DzdDahau.js";import"./index-vDCSPjrM.js";import"./index-CdzVFL-Z.js";import"./misc-W4055b-0.js";import"./tooltip-Tlsyx2YO.js";import"./pe-CIZUOJMr.js";import"./schemas-Uj5SZtvt.js";import"./online-DiNLkgTC.js";import"./loading-CDNzW5oO.js";import"./format-CZ5n8p10.js";import"./user-BsPobzjB.js";import"./workshop-config-Zfc8zU0x.js";import"./preload-helper-BXl3LOEh.js";import"./progress-bar-DpWhcyhC.js";import"./chunk-FNSCYPCZ-BHgC5cdx.js";import"./coerce-CkHW0SMv.js";const X=({loaderData:t,matches:e})=>{const o=t?.exercise.exerciseNumber.toString().padStart(2,"0"),i=d(e);return!t||!i?[{title:"🦉 | Error"}]:b({title:`📝 | ${o}. ${t.exercise.title} | ${i?.workshopTitle}`,description:`Introduction for ${o}. ${t.exercise.title}`,ogTitle:t.exercise.title,ogDescription:`Introduction for exercise ${Number(o)}`,instructor:i.instructor,requestInfo:i.requestInfo})},g={h1:()=>null},Y=s(function({loaderData:e}){a({watchPaths:[e.exerciseReadme.file]});const o=String(e.firstStep?.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 scrollbar-thin scrollbar-thumb-scrollbar flex w-full flex-1 flex-col gap-12 overflow-y-scroll px-3 py-4 pt-6 md:px-10 md:py-12 md:pt-16",children:[r.jsx("div",{children:r.jsx("h1",{className:"text-[clamp(3rem,6vw,7.5rem)] leading-none font-extrabold",children:e.exercise.title})}),r.jsx("div",{children:e.exercise.instructionsCode?r.jsx(l,{epicVideoInfosPromise:e.epicVideoInfosPromise,children:r.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:r.jsx(f,{code:e.exercise.instructionsCode,components:g})})}):"No instructions yet..."})]},e.articleId),r.jsx(c,{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:"@container flex h-16 justify-between border-t border-b-4 lg:border-b-0",children:[r.jsx("div",{}),r.jsx(x,{file:e.exerciseReadme.file,relativePath:e.exerciseReadme.relativePath}),r.jsx(m,{to:`${o}/${e.firstType}`,prefetch:"intent",className:"bg-foreground text-background flex h-full items-center justify-center px-7","data-keyboard-action":"g+n",children:"Start Learning"})]})]})}),Z=n(function(){return r.jsx(p,{className:"container flex items-center justify-center",statusHandlers:{404:h}})});export{Z as ErrorBoundary,Y as default,X as meta};
2
- //# sourceMappingURL=_exerciseNumber-jokuvO2V.js.map
@@ -1,2 +0,0 @@
1
- import{w as n,L as l}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as e}from"./jsx-runtime-C5WNSv3b.js";import{E as c}from"./index-CEVyDj51.js";import{r as m}from"./index-CqIc3cxq.js";import{E as a}from"./epic-video-CC0372g5.js";import{I as x,c as d}from"./misc-W4055b-0.js";import{L as f}from"./loading-CDNzW5oO.js";import{N as p}from"./nav-chevrons-Dk4GtZwQ.js";import{u as h}from"./revalidation-ws-BJWJviUX.js";import{R as u}from"./retrieval-practice-BOku32wW.js";import{E as b}from"./launch-editor-D2exGfVu.js";import{P as j}from"./progress-BcA4i0iU.js";import{u as g}from"./index-CdzVFL-Z.js";import{M as N}from"./mdx-vy-1-0a3.js";import{u as v}from"./online-DiNLkgTC.js";import{g as w}from"./root-loader-BOzEMapJ.js";import{g as E}from"./seo-t5J-DRxw.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./index-DzdDahau.js";import"./index-vDCSPjrM.js";import"./schemas-Uj5SZtvt.js";import"./tooltip-Tlsyx2YO.js";import"./format-CZ5n8p10.js";import"./user-BsPobzjB.js";import"./workshop-config-Zfc8zU0x.js";import"./progress-bar-DpWhcyhC.js";import"./pe-CIZUOJMr.js";import"./preload-helper-BXl3LOEh.js";const se=({loaderData:s,matches:r})=>{const i=s?.exercise.exerciseNumber.toString().padStart(2,"0"),o=w(r);return!s||!o?[{title:"🦉 | Error"}]:E({title:`🦉 | ${i}. ${s.exercise.title} | ${o?.workshopTitle}`,description:`Elaboration for ${i}. ${s.exercise.title}`,ogTitle:`Finished: ${s.exercise.title}`,ogDescription:`Elaboration for exercise ${Number(i)}`,instructor:o.instructor,requestInfo:o.requestInfo})},y={h1:()=>null},ie=n(function({loaderData:r}){const i=r.exercise.exerciseNumber.toString().padStart(2,"0");return h({watchPaths:[`./exercises/${i}/FINISHED.mdx`]}),e.jsx("div",{className:"flex max-w-full grow flex-col",children:e.jsxs("main",{className:"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 pr-5 pl-10 text-sm leading-tight font-medium",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(l,{to:`/${i}`,className:"hover:underline",children:`${i}. ${r.exercise.title}`}),e.jsx("span",{children:"/"}),e.jsx("span",{children:"Elaboration"})]})})}),e.jsxs("article",{className:"shadow-on-scrollbox scrollbar-thin scrollbar-thumb-scrollbar h-full w-full max-w-none flex-1 scroll-pt-6 space-y-6 overflow-y-auto p-2 sm:p-10 sm:pt-8",id:r.articleId,children:[r.exercise.finishedCode?e.jsx(a,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(N,{code:r.exercise.finishedCode,components:y})})}):"No finished instructions yet...",e.jsx(u,{exerciseNumber:r.exercise.exerciseNumber})]}),e.jsx(c,{elementQuery:`#${r.articleId}`}),e.jsx(j,{type:"finished",exerciseNumber:r.exercise.exerciseNumber,className:"h-14 border-t px-6"}),e.jsxs("div",{className:"@container flex h-16 justify-between border-t border-b-4 lg:border-b-0",children:[e.jsx("div",{}),e.jsx(b,{file:r.exerciseFinished.file,relativePath:r.exerciseFinished.relativePath}),e.jsx(p,{prev:r.prevStepLink,next:r.nextStepLink})]})]}),e.jsx($,{exerciseFormEmbedUrl:r.exerciseFormEmbedUrl,exerciseTitle:r.exercise.title})]})})});function $({exerciseFormEmbedUrl:s,exerciseTitle:r}){const i=g(),[o,t]=m.useState(!1);return v()?e.jsxs("div",{className:"relative min-h-full sm:min-h-[unset] sm:shrink-0",children:[o?null:e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:e.jsx(f,{children:e.jsxs("span",{children:["Loading ",r," Elaboration form"]})})}),e.jsx("iframe",{onLoad:()=>t(!0),onError:()=>t(!0),title:"Elaboration",src:s,className:d("absolute inset-0 flex h-full w-full transition-opacity duration-300",o?"opacity-100":"opacity-0"),style:{colorScheme:i}})]}):e.jsx("div",{className:"relative shrink-0",children:e.jsx("div",{className:"text-body-md text-foreground-destructive absolute inset-0 z-10 flex items-center justify-center",children:e.jsx(x,{name:"WifiNoConnection",size:"xl",children:e.jsxs("span",{children:["Unable to load the ",e.jsx("a",{href:s,className:"underline",children:`${r} feedback form`})," when offline"]})})})})}export{ie as default,se as meta};
2
- //# sourceMappingURL=_exerciseNumber_.finished-BaC--Y5p.js.map
@@ -1,2 +0,0 @@
1
- import{w as R,a as S,b as T,d as k,L as l}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as e}from"./jsx-runtime-C5WNSv3b.js";import{E as $}from"./index-CEVyDj51.js";import{g as A,R as L,P as M,C as n,a as B,D as H}from"./playground-DmEAkxG1.js";import{r as i}from"./index-CqIc3cxq.js";import{U as O}from"./diff-Dng5ItOr.js";import{E as U}from"./epic-video-CC0372g5.js";import{G as V}from"./error-boundary-DxHqAEHX.js";import{N as z}from"./nav-chevrons-Dk4GtZwQ.js";import{u as X}from"./revalidation-ws-BJWJviUX.js";import{u as F}from"./workshop-config-Zfc8zU0x.js";import{P as G}from"./preview-fhmjENlm.js";import{E as W}from"./launch-editor-D2exGfVu.js";import{S as q}from"./set-playground-BSGwH9dH.js";import{c as Y,M as _}from"./mdx-vy-1-0a3.js";import{g as Q,u as J}from"./root-loader-BOzEMapJ.js";import{g as K}from"./seo-t5J-DRxw.js";import{s as w,a as Z}from"./split-layout-DnRER1bP.js";import"./misc-W4055b-0.js";import"./loading-CDNzW5oO.js";import"./index-CdzVFL-Z.js";import"./tooltip-Tlsyx2YO.js";import"./index-vDCSPjrM.js";import"./pe-CIZUOJMr.js";import"./schemas-Uj5SZtvt.js";import"./discord-BJkw0IrB.js";import"./user-BsPobzjB.js";import"./online-DiNLkgTC.js";import"./index-CJDOQ1bl.js";import"./index-ynYvVAOK.js";import"./status-indicator-C6DiLYL5.js";import"./index-DzdDahau.js";import"./playground-window-x2mQ5o1O.js";import"./accordion-CQ7oujC6.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./format-CZ5n8p10.js";import"./preload-helper-BXl3LOEh.js";import"./button-Cd-ekki5.js";import"./progress-bar-DpWhcyhC.js";import"./onboarding-indicator-B-XR90_G.js";import"./dialog-CzO65Z5w.js";const ze=o=>{const r=o.data,s=Q(o.matches);return!r||!s?[{title:"🦉 | Error"}]:K({title:`📚 | ${r.extra.title} | ${s.workshopTitle}`,description:`Extra: ${r.extra.title}`,ogTitle:r.extra.title,ogDescription:`Extra: ${r.extra.title}`,instructor:s.instructor,requestInfo:s.requestInfo})},Xe=R(function(){const r=T(),s=J(),h=i.useRef(null),c=i.useRef(null),g=i.useRef(null),[P,d]=i.useState(r.splitPercent),[j]=k(),b=F(),y=i.useMemo(()=>Promise.resolve(s.userHasAccess??!1),[s.userHasAccess]),v=r.playground?.appName!==r.extra.name,N=v||r.playground?.isUpToDate===!1,m=["playground","extra","diff","chat"],p=j.get("preview"),x=r.previousExtra?{to:`/extra/${r.previousExtra.dirName}`,"aria-label":"Previous Extra"}:{to:"/extra","aria-label":"Extras"},u=r.nextExtra?{to:`/extra/${r.nextExtra.dirName}`,"aria-label":"Next Extra"}:{to:"/finished","aria-label":"Workshop finished"};function E(t){return!!(t&&m.includes(t))}function f(t){if(t==="playground")return ENV.EPICSHOP_DEPLOYED;if(t==="extra"&&ENV.EPICSHOP_DEPLOYED){const a=r.extra.dev.type;return a!=="browser"&&a!=="export"&&!r.extra.stackBlitzUrl}return t==="chat"?!b.product.discordChannelId:!1}const D=E(p)&&!f(p)?p:m.find(t=>!f(t))??"playground",C=m.map(t=>{const a=f(t);return{id:t,label:t,hidden:a,to:`?${A(j,t,"playground")}`}}),I=i.useMemo(()=>{const t=Y(()=>({name:r.extra.name,fullPath:r.extra.fullPath}));return{h1:()=>null,InlineFile:t}},[r.extra.name,r.extra.fullPath]);return X({watchPaths:[r.extraReadme.file]}),e.jsx("div",{className:"flex max-w-full grow flex-col",children:e.jsxs("main",{ref:c,className:"flex grow flex-col sm:h-full sm:min-h-[800px] md:min-h-[unset] lg:flex-row",children:[e.jsxs("div",{className:"relative flex min-w-0 flex-none basis-full flex-col sm:col-span-1 sm:row-span-1 sm:h-full lg:basis-(--split-pct)",style:{"--split-pct":`${P}%`},ref:g,children:[e.jsx("h1",{className:"@container h-14 border-b pr-5 pl-10 text-sm leading-tight font-medium",children:e.jsxs("div",{className:"flex h-14 items-center justify-between gap-x-2 py-2 whitespace-nowrap",children:[e.jsxs("div",{className:"flex items-center justify-start gap-x-2 uppercase",children:[e.jsx(l,{to:"/extra",className:"hover:underline",children:e.jsx("span",{children:"Extras"})}),e.jsx("span",{children:"/"}),e.jsx(l,{to:".",className:"hover:underline",children:e.jsx("span",{children:r.extra.title})})]}),N?e.jsx(q,{appName:r.extra.name,isOutdated:r.playground?.isUpToDate===!1,hideTextOnNarrow:!0,showOnboardingIndicator:v}):null]})}),e.jsxs("article",{id:r.articleId,className:"shadow-on-scrollbox scrollbar-thin scrollbar-thumb-scrollbar 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 sm:p-10 sm:pt-8",children:[r.extra.instructionsCode?e.jsx(U,{epicVideoInfosPromise:r.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(_,{code:r.extra.instructionsCode,components:I})})}):e.jsx("div",{className:"flex h-full items-center justify-center text-lg",children:e.jsx("p",{children:"No instructions yet..."})}),e.jsxs("div",{className:"mt-auto flex justify-between",children:[e.jsxs(l,{to:x.to,"aria-label":x["aria-label"],prefetch:"intent",children:[e.jsx("span",{"aria-hidden":!0,children:"←"}),e.jsx("span",{className:"hidden xl:inline",children:" Previous"})]}),e.jsxs(l,{to:u.to,"aria-label":u["aria-label"],prefetch:"intent",children:[e.jsx("span",{className:"hidden xl:inline",children:"Next "}),e.jsx("span",{"aria-hidden":!0,children:"→"})]})]})]},r.articleId),e.jsx($,{elementQuery:`#${r.articleId}`},`scroll-${r.articleId}`),e.jsxs("div",{className:"@container flex h-16 justify-between border-t border-b-4 lg:border-b-0",children:[e.jsx("div",{}),e.jsx(W,{appName:r.extra.name,relativePath:r.extraReadme.relativePath}),e.jsx(z,{prev:x,next:u})]})]}),e.jsx("div",{role:"separator","aria-orientation":"vertical",title:"Drag to resize",className:"bg-border hover:bg-muted hidden w-1 cursor-col-resize lg:block",onMouseDown:t=>w({container:c.current,initialClientX:t.clientX,setSplitPercent:d}),onDoubleClick:()=>{d(Z(50))},onTouchStart:t=>{const a=t.touches?.[0];a&&w({container:c.current,initialClientX:a.clientX,setSplitPercent:d})}}),e.jsxs(L,{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",value:D,children:[e.jsx(M,{tabs:C}),e.jsxs("div",{className:"relative z-10 flex min-h-0 flex-1 flex-col overflow-hidden",children:[e.jsx(n,{value:"playground",className:"radix-state-inactive:hidden flex min-h-0 w-full grow basis-0 items-stretch justify-center self-start",forceMount:!0,children:e.jsx(B,{appInfo:r.playground,problemAppName:r.extra.name,allApps:r.allApps??[],isUpToDate:r.playground?.isUpToDate??!1,inBrowserBrowserRef:h})}),e.jsx(n,{value:"extra",className:"radix-state-inactive:hidden flex min-h-0 w-full grow basis-0 items-stretch justify-center self-start",forceMount:!0,children:e.jsx(G,{appInfo:r.extra,inBrowserBrowserRef:h})}),e.jsx(n,{value:"diff",className:"radix-state-inactive:hidden flex h-full min-h-0 w-full grow basis-0 items-stretch justify-center self-start",children:e.jsx(O,{diff:r.diff,allApps:r.allApps,userHasAccessPromise:y})}),e.jsx(n,{value:"chat",className:"radix-state-inactive:hidden flex h-full min-h-0 w-full grow basis-0 items-stretch justify-center self-start",children:e.jsx(H,{discordPostsPromise:r.discordPostsPromise})})]})]})]})})}),Fe=S(function(){return e.jsx(V,{})});export{Fe as ErrorBoundary,Xe as default,ze as meta};
2
- //# sourceMappingURL=_extra-DXypL1sc.js.map
@@ -1,2 +0,0 @@
1
- import{b as f,d as C,L as h,A as k,w as D,a as L,O}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as e}from"./jsx-runtime-C5WNSv3b.js";import{E as I}from"./index-CEVyDj51.js";import{r as x}from"./index-CqIc3cxq.js";import{G as R}from"./error-boundary-DxHqAEHX.js";import{N as $}from"./nav-chevrons-Dk4GtZwQ.js";import{u as A}from"./revalidation-ws-BJWJviUX.js";import{L as j,E as T}from"./launch-editor-D2exGfVu.js";import{P as B}from"./progress-BcA4i0iU.js";import{S}from"./set-playground-BSGwH9dH.js";import{l as U,c as v,I as g,m as H,n as V}from"./misc-W4055b-0.js";import{a as _,g as F}from"./root-loader-BOzEMapJ.js";import{g as Y}from"./seo-t5J-DRxw.js";import{s as y,a as M}from"./split-layout-DnRER1bP.js";import{E as q}from"./error-boundary-BDqWjIFP.js";import{E as G}from"./epic-video-CC0372g5.js";import{S as N}from"./tooltip-Tlsyx2YO.js";import{M as X}from"./mdx-vy-1-0a3.js";import{R as z,T as K,P as Q,C as W}from"./index-CmflCPTU.js";import{u as J,O as Z}from"./onboarding-indicator-B-XR90_G.js";import"./preload-helper-BXl3LOEh.js";import"./schemas-Uj5SZtvt.js";import"./progress-bar-DpWhcyhC.js";import"./pe-CIZUOJMr.js";import"./index-CJDOQ1bl.js";import"./index-vDCSPjrM.js";import"./index-ynYvVAOK.js";import"./button-Cd-ekki5.js";import"./dialog-CzO65Z5w.js";import"./chunk-FNSCYPCZ-BHgC5cdx.js";import"./coerce-CkHW0SMv.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./index-DzdDahau.js";import"./index-CdzVFL-Z.js";import"./online-DiNLkgTC.js";import"./loading-CDNzW5oO.js";import"./format-CZ5n8p10.js";import"./user-BsPobzjB.js";import"./workshop-config-Zfc8zU0x.js";const P=x.createContext(null);function ee(){const r=x.useContext(P);if(!r)throw new Error("useStepContext must be used within a StepContextProvider");return r}function ne({children:r,inBrowserBrowserRef:n}){return e.jsx(P,{value:{inBrowserBrowserRef:n},children:r})}const re={DiffLink:b,PrevDiffLink:ie,NextDiffLink:se,InlineFile:oe,LinkToApp:ae};function te({inBrowserBrowserRef:r}){const n=f();return n.exerciseStepApp.instructionsCode?e.jsx(ne,{inBrowserBrowserRef:r,children:e.jsx(G,{epicVideoInfosPromise:n.epicVideoInfosPromise,children:e.jsx("div",{className:"prose dark:prose-invert sm:prose-lg",children:e.jsx(X,{code:n.exerciseStepApp.instructionsCode,components:re})})})}):null}function w(r,n,t){const s=new URLSearchParams(r);return t===null?s.delete(n):s.set(n,t),s}function se({app:r=0,fullPage:n=!1,children:t}){return e.jsx(b,{app1:r,app2:r+1,fullPage:n,children:t})}function ie({app:r=-1,fullPage:n=!1,children:t}){return e.jsx(b,{app1:r,app2:r+1,fullPage:n,children:t})}function b({app1:r=0,app2:n=1,children:t,fullPage:s=!1,to:l}){const i=f();if(!l&&!r&&!n)return e.jsx("callout-danger",{className:"notification",children:e.jsx("div",{className:"title",children:"DiffLink Error: invalid input"})});function c(o){if(typeof o=="number"){const u=i.exerciseIndex+o;return i.allApps[u]?.name}if(!o)return null;for(const{name:u,stepName:d}of i.allApps)if(o===u||o===d)return u;return null}if(l){const o=new URLSearchParams(l);r=o.get("app1"),n=o.get("app2")}const a=c(r),p=c(n);if(!a||!p)return e.jsxs("callout-danger",{className:"notification",children:[e.jsx("div",{className:"title",children:"DiffLink Error: invalid input"}),!a&&e.jsxs("div",{children:['app1: "',r,'" is not a valid app name']}),!p&&e.jsxs("div",{children:['app2: "',n,'" is not a valid app name']})]});l||(l=`app1=${a}&app2=${p}`);const m=s?`/diff?${l}`:`?${decodeURIComponent(w(new URLSearchParams,"preview",`diff&${l}`).toString())}`;return t||(t=e.jsxs("span",{children:["Go to Diff ",s?"":"Preview"," from: ",e.jsx("code",{children:a})," to:"," ",e.jsx("code",{children:p})]})),e.jsx(h,{to:m,children:t})}function oe({file:r,type:n="playground",children:t=e.jsx("code",{children:r}),...s}){const l=f(),i=l[n]||l[l.type],c=e.jsxs("div",{className:"launch-editor-button-wrapper flex underline underline-offset-4",children:[t," ",e.jsx("svg",{height:24,width:24,children:e.jsx("use",{href:`${H}#Keyboard`})})]});return ENV.EPICSHOP_DEPLOYED&&i?e.jsx("div",{className:"inline-block grow",children:e.jsx(j,{appFile:r,appName:i.name,...s,children:c})}):i?e.jsx("div",{className:"inline-block grow",children:e.jsx(j,{appFile:r,appName:i.name,...s,children:c})}):n==="playground"?e.jsx(N,{content:"You must 'Set to Playground' before opening a file",children:e.jsx("div",{className:"inline-block grow cursor-not-allowed",children:c})}):e.jsx(e.Fragment,{children:"children"})}function le(r){return r==="problem"?"problem":r==="solution"?"solution":"playground"}function ae({to:r,children:n=e.jsx("code",{children:r.toString()}),...t}){const[s]=C(),l=`?${w(s,"pathname",r.toString()).toString()}`,i=f(),c=le(s.get("preview")),a=_(),p=i[c],m=p?.dev.type==="script"?U({domain:a.domain,port:p.dev.portNumber}):i.playground?.dev.type==="browser"||i.playground?.dev.type==="export"?i.playground.dev.pathname:null,{inBrowserBrowserRef:o}=ee(),u=m?m.slice(0,-1)+r.toString():null;return e.jsxs("div",{className:"inline-flex items-center justify-between gap-1",children:[e.jsx(h,{to:l,...t,className:v(t.className,{"cursor-not-allowed":ENV.EPICSHOP_DEPLOYED}),title:ENV.EPICSHOP_DEPLOYED?"Cannot link to app in deployed version":void 0,onClick:d=>{ENV.EPICSHOP_DEPLOYED&&d.preventDefault(),t.onClick?.(d),o.current?.handleExtrnalNavigation(r.toString())},children:n}),u?e.jsx(N,{content:"Open in new tab",children:e.jsx("a",{href:u,target:"_blank",rel:"noreferrer",className:v("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:d=>{ENV.EPICSHOP_DEPLOYED&&d.preventDefault()},children:e.jsx(g,{name:"ExternalLink"})})}):null]})}function ce({diffFilesPromise:r}){const n=f(),[t,s]=J("files-popover"),[l,i]=x.useState(!1),c=x.useRef(null);function a(o){i(o),o&&s()}function p(){i(!1)}const m=n.playground?.appName;return e.jsx(e.Fragment,{children:e.jsxs(z,{open:l,onOpenChange:a,children:[e.jsx(K,{asChild:!0,children:e.jsxs("button",{className:"relative flex h-full items-center gap-1 border-r px-6 py-3 font-mono text-sm uppercase","aria-label":"Relevant Files",children:[e.jsx(g,{name:"Files"}),e.jsx("span",{className:"hidden @min-[640px]:inline",children:"Files"}),t?e.jsx(Z,{tooltip:"Click to see which files to edit!"}):null]})}),e.jsx(Q,{children:e.jsx(W,{ref:c,className:"slideRightContent lg:slideUpContent invert-theme bg-background text-foreground z-10 rounded px-9 py-8 select-none",align:"start",sideOffset:5,children:e.jsxs("div",{className:"launch-editor-wrapper",children:[e.jsx("strong",{className:"inline-block px-2 pb-2 font-semibold uppercase",children:"Relevant Files"}),e.jsxs("p",{className:"text-muted-foreground mb-4 max-w-2xs px-2 text-sm",children:["These are the files you'll need to modify for this exercise. Click any file to open it directly in your editor at the right location."," ",e.jsx(h,{to:"/guide#file-links",className:"text-highlight underline",onClick:()=>i(!1),children:"Learn more →"})]}),n.problem&&n.playground?.appName!==n.problem.name?e.jsx("div",{className:"mb-2 rounded p-1 font-mono font-medium",children:e.jsx(S,{appName:n.problem.name})}):null,e.jsx("div",{id:"files",children:e.jsx(x.Suspense,{fallback:e.jsx(N,{content:"Loading diff",children:e.jsx("div",{className:"flex justify-center",children:e.jsx(g,{name:"Refresh",className:"h-8 w-8 animate-spin"})})}),children:e.jsx(k,{resolve:r,errorElement:e.jsx("div",{className:"text-foreground-destructive",children:"Something went wrong."}),children:o=>{if(!o)return e.jsx("p",{className:"text-foreground-destructive",children:"Unable to determine diff"});if(typeof o=="string")return e.jsx("p",{className:"text-foreground-destructive",children:o});if(!o.length)return e.jsx("p",{children:"No files changed"});const u=m||ENV.EPICSHOP_GITHUB_ROOT?{}:{title:"You must 'Set to Playground' before opening a file",className:"not-allowed"};return e.jsxs("ul",{...u,children:[o.length>1&&!ENV.EPICSHOP_DEPLOYED?e.jsx("div",{className:"border-opacity-50 mb-2 border-b border-b-gray-50 pb-2 font-sans",children:e.jsx(j,{appFile:o.map(d=>`${d.path},${d.line},1`),appName:"playground",onUpdate:p,children:e.jsx("p",{children:"Open All Files"})})}):null,o.map(d=>e.jsx("li",{"data-state":d.status,children:e.jsx(j,{appFile:`${d.path},${d.line},1`,appName:ENV.EPICSHOP_DEPLOYED?n.problem?.name??"playground":"playground",onUpdate:p,children:e.jsx("code",{children:d.path})})},d.path))]})}})})})]})})})]})})}function E(r,n){const t=r?.exerciseStepApp.exerciseNumber.toString().padStart(2,"0")??"00",s=r?.exerciseStepApp.stepNumber.toString().padStart(2,"0")??"00",l={problem:"💪",solution:"🏁"}[r?.type??"problem"],i=r?.[r.type]?.title??"N/A";return{emoji:l,stepNumber:s,title:i,exerciseNumber:t,exerciseTitle:r?.exerciseTitle??"Unknown exercise",workshopTitle:n,type:r?.type??"problem"}}const Qe=({loaderData:r,matches:n,params:t})=>{const s=F(n);if(!r||!s)return[{title:"🦉 | Error"}];const{emoji:l,stepNumber:i,title:c,exerciseNumber:a,exerciseTitle:p}=E(r);return Y({title:`${l} | ${i}. ${c} | ${a}. ${p} | ${s.workshopTitle}`,description:`${t.type} step for exercise ${a}. ${p}`,ogTitle:c,ogDescription:`${p} step ${Number(i)} ${t.type}`,instructor:s.instructor,requestInfo:s.requestInfo})},We=D(function({loaderData:n}){const t=x.useRef(null),s=x.useRef(null),l=x.useRef(null),[i,c]=x.useState(n.splitPercent),a=E(n);A({watchPaths:[`${n.exerciseStepApp.relativePath}/README.mdx`]});const p=n.problem?n.playground?.appName!==n.problem.name:!1;return e.jsx("div",{className:"flex max-w-full grow flex-col",children:e.jsxs("main",{ref:s,className:"flex grow flex-col overflow-y-auto sm:h-full sm:min-h-[800px] md:min-h-[unset] lg:flex-row lg:overflow-y-hidden",children:[e.jsxs("div",{className:"relative flex min-w-0 flex-none basis-auto flex-col sm:col-span-1 sm:row-span-1 lg:h-full lg:basis-(--split-pct)",style:{"--split-pct":`${i}%`},ref:l,children:[e.jsx("h1",{className:"@container h-14 border-b pr-5 pl-10 text-sm leading-tight font-medium",children:e.jsxs("div",{className:"flex h-14 items-center justify-between gap-x-2 py-2 whitespace-nowrap",children:[e.jsxs("div",{className:"flex items-center justify-start gap-x-2 uppercase",children:[e.jsxs(h,{to:V(n.exerciseStepApp.exerciseNumber),className:"hover:underline",children:[e.jsxs("span",{children:[a.exerciseNumber,"."]}),e.jsxs("span",{className:"hidden @min-[500px]:inline",children:[" ",a.exerciseTitle]})]}),e.jsx("span",{children:"/"}),e.jsxs(h,{to:".",className:"hover:underline",children:[e.jsxs("span",{children:[a.stepNumber,"."]}),e.jsxs("span",{className:"hidden @min-[300px]:inline",children:[" ",a.title]}),e.jsxs("span",{children:[" (",a.emoji]}),e.jsxs("span",{className:"hidden @min-[400px]:inline",children:[" ",a.type]}),e.jsx("span",{children:")"})]})]}),n.problem&&(n.playground?.appName!==n.problem.name||!n.playground?.isUpToDate)?e.jsx(S,{appName:n.problem.name,isOutdated:n.playground?.isUpToDate===!1,hideTextOnNarrow:!0,showOnboardingIndicator:p}):null]})}),e.jsxs("article",{id:n.articleId,className:"shadow-on-scrollbox scrollbar-thin scrollbar-thumb-scrollbar flex w-full max-w-none scroll-pt-6 flex-col justify-between space-y-6 p-2 sm:p-10 sm:pt-8 lg:h-full lg:flex-1 lg:overflow-y-auto",children:[n.exerciseStepApp.instructionsCode?e.jsx(te,{inBrowserBrowserRef:t}):e.jsx("div",{className:"flex h-full items-center justify-center text-lg",children:e.jsx("p",{children:"No instructions yet..."})}),e.jsxs("div",{className:"mt-auto flex justify-between",children:[n.prevStepLink?e.jsxs(h,{to:n.prevStepLink.to,"aria-label":"Previous Step","data-keyboard-action":"g+p",prefetch:"intent",children:[e.jsx("span",{"aria-hidden":!0,children:"←"}),e.jsx("span",{className:"hidden xl:inline",children:" Previous"})]}):e.jsx("span",{}),n.nextStepLink?e.jsxs(h,{to:n.nextStepLink.to,"aria-label":"Next Step","data-keyboard-action":"g+n",prefetch:"intent",children:[e.jsx("span",{className:"hidden xl:inline",children:"Next "}),e.jsx("span",{"aria-hidden":!0,children:"→"})]}):e.jsx("span",{})]})]},n.articleId),e.jsx(I,{elementQuery:`#${n.articleId}`},`scroll-${n.articleId}`),n.type==="solution"?e.jsx(B,{type:"step",exerciseNumber:n.exerciseStepApp.exerciseNumber,stepNumber:n.exerciseStepApp.stepNumber,className:"h-14 border-t px-6"}):null,e.jsxs("div",{className:"@container flex h-16 justify-between border-t border-b-4 lg:border-b-0",children:[e.jsx("div",{children:e.jsx("div",{className:"h-full",children:e.jsx(ce,{diffFilesPromise:n.diffFiles})})}),e.jsx(T,{appName:n.exerciseStepApp.name,relativePath:`${n.exerciseStepApp.relativePath}/README.mdx`}),e.jsx($,{prev:n.prevStepLink?{to:n.prevStepLink.to,"aria-label":"Previous Step"}:null,next:n.nextStepLink?{to:n.nextStepLink.to,"aria-label":"Next Step"}:null})]})]}),e.jsx("div",{role:"separator","aria-orientation":"vertical",title:"Drag to resize",className:"bg-border hover:bg-accent hidden w-1 cursor-col-resize lg:block",onMouseDown:m=>y({container:s.current,initialClientX:m.clientX,setSplitPercent:c}),onDoubleClick:()=>{c(M(50))},onTouchStart:m=>{const o=m.touches?.[0];o&&y({container:s.current,initialClientX:o.clientX,setSplitPercent:c})}}),e.jsx("div",{className:"flex min-h-[50vh] min-w-0 flex-none lg:min-h-0 lg:flex-1",children:e.jsx(O,{context:{inBrowserBrowserRef:t}})})]})})}),Je=L(function(){return e.jsx(R,{className:"container flex items-center justify-center",statusHandlers:{404:q}})});export{Je as ErrorBoundary,We as default,Qe as meta};
2
- //# sourceMappingURL=_layout-_Aw6qzZC.js.map
@@ -1,2 +0,0 @@
1
- import{w as o,b as a,d as m,k as p}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as r}from"./jsx-runtime-C5WNSv3b.js";import{d as n,c}from"./misc-W4055b-0.js";import{U as f}from"./diff-Dng5ItOr.js";import{N as d}from"./nav-chevrons-Dk4GtZwQ.js";import"./index-CqIc3cxq.js";import"./accordion-CQ7oujC6.js";import"./tooltip-Tlsyx2YO.js";import"./index-vDCSPjrM.js";import"./index-CJDOQ1bl.js";import"./index-ynYvVAOK.js";import"./mdx-vy-1-0a3.js";import"./index-DzdDahau.js";import"./epic-video-CC0372g5.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./index-CdzVFL-Z.js";import"./root-loader-BOzEMapJ.js";import"./pe-CIZUOJMr.js";import"./schemas-Uj5SZtvt.js";import"./online-DiNLkgTC.js";import"./loading-CDNzW5oO.js";import"./format-CZ5n8p10.js";import"./user-BsPobzjB.js";import"./workshop-config-Zfc8zU0x.js";import"./preload-helper-BXl3LOEh.js";import"./launch-editor-D2exGfVu.js";import"./progress-bar-DpWhcyhC.js";import"./revalidation-ws-BJWJviUX.js";const K=o(function(){const s=a(),[i]=m();new URLSearchParams(i).set("forceFresh","diff");const t=p(),e=n.useSpinDelay(t.state!=="idle",{delay:200,minDuration:200});return r.jsxs("div",{className:c("h-screen-safe relative",{"cursor-wait opacity-30":e}),children:[r.jsx("div",{className:"h-full pb-16",children:r.jsx(f,{diff:s.diff,allApps:s.allApps,userHasAccessPromise:s.userHasAccessPromise})}),r.jsx("div",{className:"bg-background fixed inset-x-0 bottom-0 z-10 flex h-16 items-center justify-end border-t",children:r.jsx("div",{className:"flex h-full items-center justify-end",children:r.jsx(d,{prev:s.prevLink,next:s.nextLink})})})]})});export{K as default};
2
- //# sourceMappingURL=diff-DfWBhj2O.js.map
@@ -1,2 +0,0 @@
1
- import{w}from"./chunk-EPOLDU6W-BCLmut3y.js";import{j as m}from"./jsx-runtime-C5WNSv3b.js";import{r as u}from"./index-CqIc3cxq.js";import{E as g,D as h}from"./epic-video-CC0372g5.js";import"@epic-web/workshop-utils/offline-video-utils";import"./use-event-source-BuD4_2SF.js";import"./index-DzdDahau.js";import"./index-vDCSPjrM.js";import"./index-CdzVFL-Z.js";import"./misc-W4055b-0.js";import"./tooltip-Tlsyx2YO.js";import"./root-loader-BOzEMapJ.js";import"./pe-CIZUOJMr.js";import"./schemas-Uj5SZtvt.js";import"./online-DiNLkgTC.js";import"./loading-CDNzW5oO.js";import"./format-CZ5n8p10.js";import"./user-BsPobzjB.js";import"./workshop-config-Zfc8zU0x.js";function l(p,r,i={}){const{schema:s}=i,e=crypto.randomUUID();return new Promise((t,o)=>{if(!window.parent||window.parent===window){console.log("[MCP] No parent frame available. Would have sent message:",{type:p,messageId:e,payload:r}),o(new Error("No parent frame available"));return}window.parent.postMessage({type:p,messageId:e,payload:r},"*");function n(a){if(a.data.type!=="ui-message-response"||a.data.messageId!==e)return;window.removeEventListener("message",n);const{response:d,error:f}=a.data.payload;if(f)return o(f);if(!s)return t(d);const c=s.safeParse(d);return c.success?t(c.data):o(c.error)}window.addEventListener("message",n)})}const T=w(function({loaderData:r}){const i=u.useRef(null);u.useEffect(()=>{r.videoInfos?.finally(()=>{if(window.parent.postMessage({type:"ui-lifecycle-iframe-ready"},"*"),!i.current)return;const e=i.current.clientHeight,t=i.current.clientWidth;window.parent.postMessage({type:"ui-size-change",payload:{height:e,width:t}},"*")})},[r.videoInfos]);async function s(e){const t=e.target;if(!(t instanceof HTMLAnchorElement))return;const o=t.href;if(!o)return;e.preventDefault(),e.stopPropagation();const n=o.startsWith("http")?new URL(o):new URL(o,window.location.origin);n.host===window.location.host&&n.pathname==="/login"&&await l("tool",{toolName:"login",params:{workshopDirectory:ENV.EPICSHOP_CONTEXT_CWD}}),await l("link",{url:n.toString()})}return m.jsx("div",{ref:i,onClickCapture:s,children:m.jsx(g,{epicVideoInfosPromise:r.videoInfos,children:m.jsx(h,{url:r.videoUrl})})})});export{T as default};
2
- //# sourceMappingURL=epic-video-C1_HSISA.js.map