UNPKG

@gdquest/gd-exercise-react

Version:

React project for GDExercise.

3 lines (2 loc) 6.68 kB
import{r as a,j as m,c as S}from"./client-c781d100.js";const b="modulepreload",y=function(e,s){return new URL(e,s).href},g={},p=function(s,n,i){if(!n||n.length===0)return s();const r=document.getElementsByTagName("link");return Promise.all(n.map(t=>{if(t=y(t,i),t in g)return;g[t]=!0;const o=t.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!i)for(let d=r.length-1;d>=0;d--){const u=r[d];if(u.href===t&&(!o||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":b,o||(c.as="script",c.crossOrigin=""),c.href=t,document.head.appendChild(c),o)return new Promise((d,u)=>{c.addEventListener("load",d),c.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${t}`)))})})).then(()=>s()).catch(t=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=t,window.dispatchEvent(o),!o.defaultPrevented)throw t})};globalThis&&globalThis.__awaiter;const x="(prefers-color-scheme: dark)";function L(e){var s;const n=D(x),[i,r]=R("usehooks-ts-dark-mode",(s=e??n)!==null&&s!==void 0?s:!1);return C(()=>{r(n)},[n]),{isDarkMode:i,toggle:()=>r(t=>!t),enable:()=>r(!0),disable:()=>r(!1)}}function k(e){const s=a.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return E(()=>{s.current=e},[e]),a.useCallback((...n)=>s.current(...n),[s])}function w(e,s,n,i){const r=a.useRef(s);E(()=>{r.current=s},[s]),a.useEffect(()=>{var t;const o=(t=n==null?void 0:n.current)!==null&&t!==void 0?t:window;if(!(o&&o.addEventListener))return;const l=f=>r.current(f);return o.addEventListener(e,l,i),()=>{o.removeEventListener(e,l,i)}},[e,n,i])}globalThis&&globalThis.__awaiter;function _(){const e=a.useRef(!0);return e.current?(e.current=!1,!0):e.current}const E=typeof window<"u"?a.useLayoutEffect:a.useEffect;function R(e,s){const n=a.useCallback(()=>{if(typeof window>"u")return s;try{const l=window.localStorage.getItem(e);return l?N(l):s}catch(l){return console.warn(`Error reading localStorage key “${e}”:`,l),s}},[s,e]),[i,r]=a.useState(n),t=k(l=>{typeof window>"u"&&console.warn(`Tried setting localStorage key “${e}” even though environment is not a client`);try{const f=l instanceof Function?l(i):l;window.localStorage.setItem(e,JSON.stringify(f)),r(f),window.dispatchEvent(new Event("local-storage"))}catch(f){console.warn(`Error setting localStorage key “${e}”:`,f)}});a.useEffect(()=>{r(n())},[]);const o=a.useCallback(l=>{l!=null&&l.key&&l.key!==e||r(n())},[e,n]);return w("storage",o),w("local-storage",o),[i,t]}function N(e){try{return e==="undefined"?void 0:JSON.parse(e??"")}catch{console.log("parsing error on",{value:e});return}}function D(e){const s=t=>typeof window<"u"?window.matchMedia(t).matches:!1,[n,i]=a.useState(s(e));function r(){i(s(e))}return a.useEffect(()=>{const t=window.matchMedia(e);return r(),t.addListener?t.addListener(r):t.addEventListener("change",r),()=>{t.removeListener?t.removeListener(r):t.removeEventListener("change",r)}},[e]),n}function C(e,s){const n=_();a.useEffect(()=>{if(!n)return e()},s)}const j=a.lazy(()=>p(()=>import("./GdExercise-be6e505c.js").then(e=>e.G),["./GdExercise-be6e505c.js","./client-c781d100.js","./GdExercise-6ef49038.css"],import.meta.url));function A(){const[e,s]=a.useState(!0);return a.useEffect(()=>{const n=document.querySelector(".gd-splash-container");n!=null&&(n.hidden=!e)},[e]),{displaySplash:e,setDisplaySplash:s}}async function P(){await p(()=>import("./GdExercise-be6e505c.js").then(e=>e.G),["./GdExercise-be6e505c.js","./client-c781d100.js","./GdExercise-6ef49038.css"],import.meta.url)}function O(){const[e,s]=a.useState({});return(async()=>{const{default:n}=await p(()=>import("./size-95169cc0.js"),[],import.meta.url),i=Object.assign({},...Object.entries(n).map(([r,t])=>({[new URL(r,window.location.href).href]:t})));s(i)})().catch(n=>console.error("Error loading sizes",n)),{fileSizes:e}}function T(){const{isDarkMode:e}=L();a.useEffect(()=>{e?(document.documentElement.classList.add("dark"),document.documentElement.classList.remove("light")):(document.documentElement.classList.remove("dark"),document.documentElement.classList.add("light"))},[e])}function M(){T();const{fileSizes:e}=O(),{setDisplaySplash:s}=A(),[n,i]=a.useState(window.location.search),[r,t]=a.useState({origin:window.location.origin,dataPath:"",project:"./",mainScene:"",files:[],hidden:[],snippet:""});a.useEffect(()=>{const c=new URLSearchParams(n);t({origin:c.get("origin")??window.location.origin,dataPath:c.get("dataPath")??"",project:c.get("project")??"./",mainScene:c.get("mainScene")??"",files:c.getAll("open").map(d=>{const[u,h,v]=d.split(":");return{path:u,focus:(()=>{if(typeof h!="string")return!1;if(h.toLowerCase()==="focus")return!0;if(h.toLowerCase()==="nofocus")return!1;throw new Error(`Unknown focus option: ${h}`)})(),override:v}}),hidden:c.getAll("hide"),snippet:c.get("snippet")??""})},[n]);const[o,l]=a.useState(!1);a.useEffect(()=>{l(r.origin!==""&&r.dataPath!==""&&r.project!==""&&r.mainScene!==""&&Array.isArray(r.files))},[r]),window.addEventListener("hashchange",()=>{i(window.location.search)}),a.useEffect(()=>{P().catch(c=>{console.error("Error while importing GdExercise",c)})},[]);const f=()=>{s(!1)};return m.jsxDEV(m.Fragment,{children:m.jsxDEV(a.Suspense,{fallback:m.jsxDEV("p",{children:"Loading..."},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/App.tsx",lineNumber:152,columnNumber:27},this),children:o&&m.jsxDEV(j,{origin:r.origin,dataPath:r.dataPath,project:r.project,mainScene:r.mainScene,files:r.files,size:e,onReady:f,hideCode:r.hidden.includes("code"),hideConsole:r.hidden.includes("console"),hidePlayer:r.hidden.includes("player"),hideTest:r.hidden.includes("test"),snippet:r.snippet},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/App.tsx",lineNumber:154,columnNumber:11},this)},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/App.tsx",lineNumber:152,columnNumber:7},this)},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/App.tsx",lineNumber:151,columnNumber:5},this)}S.createRoot(document.getElementById("app")).render(m.jsxDEV(m.Fragment,{children:m.jsxDEV(M,{},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/main.tsx",lineNumber:8,columnNumber:5},globalThis)},void 0,!1,{fileName:"/home/adamscott/dev/builds/gd-web/packages/gd-exercise-react/src/main/loader/main.tsx",lineNumber:7,columnNumber:3},globalThis));export{p as _,L as u}; //# sourceMappingURL=loader-9a6dfd57.js.map