diff --git a/README.md b/README.md index 286b375..df26c87 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,6 @@ Build the production version of the app with `npm run build`: npm run build ``` -You will also need to clone the [t2-skins](https://github.com/exogen/t2-skins) -repository, which is the source for all the custom skins that will be listed in -the dropdown menu. Adding a new skin to that repository will make it -automatically appear in the menu during build time. - -If [t2-skins](https://github.com/exogen/t2-skins) is not a sibling folder to -`t2-model-skinner`, set the `T2_SKINS_PATH` environment variable to its path. +To get new skins to appear in the Custom Skins dropdown menu or the gallery +page, they must be deployed with the [t2-skins](https://github.com/exogen/t2-skins) +repository. diff --git a/docs/404.html b/docs/404.html index 0907e3e..462e362 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/docs/404/index.html b/docs/404/index.html index 0907e3e..462e362 100644 --- a/docs/404/index.html +++ b/docs/404/index.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js b/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js deleted file mode 100644 index 9bcb6b0..0000000 --- a/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[214],{4080:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/gallery",function(){return r(1560)}])},1560:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return GalleryPage}});var n=r(5893),l=r(7294),a=r(3181);let o={customSkins:{},newSkins:{}};var i=r(9746),s=r.n(i),c=r(9008),u=r.n(c);let m=[];function GalleryPage(){var e,t;let[r,i]=function(){let[e,t]=(0,l.useState)(o);(0,l.useEffect)(()=>{let e=new AbortController,r=e.signal,n=!1,loadCustomSkins=async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:r}),!n){let r=await e.json();n||t(r)}}catch(e){console.error(e)}};return loadCustomSkins(),()=>{n=!0,e.abort()}},[]);let r=e!==o;return[e,r]}(),[c,d]=(0,l.useState)("lmale"),f="hfemale"===c?"hmale":c,p=null!==(t=null===(e=r.customSkins)||void 0===e?void 0:e[f])&&void 0!==t?t:m;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u(),{children:(0,n.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,n.jsxs)("main",{className:s().GalleryPage,children:[(0,n.jsx)("div",{className:s().Tools,children:(0,n.jsxs)("select",{tabIndex:0,id:"ModelSelect","aria-label":"Player model",onChange:e=>{d(e.target.value)},value:c,children:[(0,n.jsx)("option",{value:"lmale",children:"Human Male \xb7 Light"}),(0,n.jsx)("option",{value:"mmale",children:"Human Male \xb7 Medium"}),(0,n.jsx)("option",{value:"hmale",children:"Human Male \xb7 Heavy"}),(0,n.jsx)("option",{value:"lfemale",children:"Human Female \xb7 Light"}),(0,n.jsx)("option",{value:"mfemale",children:"Human Female \xb7 Medium"}),(0,n.jsx)("option",{value:"hfemale",children:"Human Female \xb7 Heavy"}),(0,n.jsx)("option",{value:"lbioderm",children:"Bioderm \xb7 Light"}),(0,n.jsx)("option",{value:"mbioderm",children:"Bioderm \xb7 Medium"}),(0,n.jsx)("option",{value:"hbioderm",children:"Bioderm \xb7 Heavy"})]})}),i?(0,n.jsx)("div",{className:s().Gallery,children:p.map(e=>(0,n.jsxs)("div",{className:s().Skin,children:[(0,n.jsx)("img",{className:s().Preview,loading:"lazy",src:"".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(e),".").concat(f,".webp"),width:680,height:800}),(0,n.jsx)("div",{className:s().Label,children:e})]},e))}):(0,n.jsx)(a.xHo,{className:s().Spinner})]})]})}},9746:function(e){e.exports={GalleryPage:"gallery_GalleryPage__QyCLn",Tools:"gallery_Tools__COicv",Gallery:"gallery_Gallery__ZMJE_",Skin:"gallery_Skin__Ep_rb",Preview:"gallery_Preview__JGf2f",Label:"gallery_Label__kJfDw",Spinner:"gallery_Spinner__9jTLL",spin:"gallery_spin__EVmH5"}},9008:function(e,t,r){e.exports=r(9201)},5054:function(e,t,r){"use strict";r.d(t,{w_:function(){return GenIcon}});var n=r(7294),l={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},a=n.createContext&&n.createContext(l),o=["attr","size","title"];function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.createElement(IconBase,_extends({attr:_objectSpread({},e.attr)},t),function Tree2Element(e){return e&&e.map((e,t)=>n.createElement(e.tag,_objectSpread({key:t},e.attr),Tree2Element(e.child)))}(e.child))}function IconBase(e){var elem=t=>{var r,{attr:l,size:a,title:i}=e,s=function(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}(e,o),c=a||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",_extends({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,l,s,{className:r,style:_objectSpread(_objectSpread({color:e.color||t.color},t.style),e.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),i&&n.createElement("title",null,i),e.children)};return void 0!==a?n.createElement(a.Consumer,null,e=>elem(e)):elem(l)}}},function(e){e.O(0,[774,648,888,179],function(){return e(e.s=4080)}),_N_E=e.O()}]); -//# sourceMappingURL=gallery-04ec5e2839ab965e.js.map \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js.map b/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js.map deleted file mode 100644 index 81e4623..0000000 --- a/docs/_next/static/chunks/pages/gallery-04ec5e2839ab965e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/chunks/pages/gallery-04ec5e2839ab965e.js","mappings":"oFACA,CAAAA,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAC,IAAA,EACA,WACA,WACA,OAAeC,EAAQ,KACvB,EACA,8HCEO,IAAMC,EAA4B,CACvCC,YAAa,CAAC,EACdC,SAAU,CAAC,CACb,4CCJA,IAAMC,EAAuB,EAAE,CAEhB,SAASC,kBAIFC,EAAAA,EAHpB,GAAM,CAACA,EAAUC,EAAS,CAAGC,WDI7B,GAAM,CAACF,EAAUG,EAAY,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAmBT,GAEnDU,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMC,EAAa,IAAIC,gBACjBC,EAASF,EAAWE,MAAM,CAC5BC,EAAS,GAEPC,gBAAkB,UACtB,IAAIC,EACJ,GAAI,CAEF,GADAA,EAAM,MAAMC,MAAM,GAAoBC,MAAA,CAjBpB,oCAiBoB,eAAc,CAAEL,OAAAA,CAAO,GACzD,CAACC,EAAQ,CACX,IAAMK,EAAO,MAAMH,EAAIG,IAAI,GACtBL,GACHN,EAAYW,EAEhB,CACF,CAAE,MAAOC,EAAK,CACZC,QAAQC,KAAK,CAACF,EAChB,CACF,EAIA,OAFAL,kBAEO,KACLD,EAAS,GACTH,EAAWY,KAAK,EAClB,CACF,EAAG,EAAE,EAEL,IAAMjB,EAAWD,IAAaL,EAC9B,MAAO,CAACK,EAAUC,EAAS,IClCrB,CAACkB,EAAeC,EAAiB,CAAGhB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,SAC7CiB,EAAcF,YAAAA,EAA8B,QAAUA,EACtDvB,EAAcI,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAASJ,WAAW,GAApBI,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAsB,CAACqB,EAAY,GAAnCrB,KAAAA,IAAAA,EAAAA,EAAuCF,EAE3D,MACE,GAAAwB,EAAAC,IAAA,EAAAD,EAAAE,QAAA,YACE,GAAAF,EAAAG,GAAA,EAACC,IAAIA,UACH,GAAAJ,EAAAG,GAAA,EAACE,QAAAA,UAAM,4BAET,GAAAL,EAAAC,IAAA,EAACK,OAAAA,CAAKC,UAAWC,IAAAA,WAAkB,WACjC,GAAAR,EAAAG,GAAA,EAACM,MAAAA,CAAIF,UAAWC,IAAAA,KAAY,UAC1B,GAAAR,EAAAC,IAAA,EAACS,SAAAA,CACCC,SAAU,EACVC,GAAG,cACHC,aAAW,eACXC,SAAU,IACRhB,EAAiBiB,EAAMC,MAAM,CAACC,KAAK,CACrC,EACAA,MAAOpB,YAEP,GAAAG,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,iBAAQ,0BACtB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,iBAAQ,2BACtB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,iBAAQ,0BACtB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,mBAAU,4BACxB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,mBAAU,6BACxB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,mBAAU,4BACxB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,oBAAW,uBACzB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,oBAAW,wBACzB,GAAAjB,EAAAG,GAAA,EAACe,SAAAA,CAAOD,MAAM,oBAAW,4BAG5BtC,EACC,GAAAqB,EAAAG,GAAA,EAACM,MAAAA,CAAIF,UAAWC,IAAAA,OAAc,UAC3BlC,EAAY6C,GAAG,CAAC,GAEb,GAAAnB,EAAAC,IAAA,EAACQ,MAAAA,CAAeF,UAAWC,IAAAA,IAAW,WACpC,GAAAR,EAAAG,GAAA,EAACiB,MAAAA,CACCb,UAAWC,IAAAA,OAAc,CACzBa,QAAQ,OACRC,IAAK,GAA+BC,MAAAA,CA5C9B,oCA4CmB,aAEpBxB,MAAAA,CAF+BwB,mBAClCC,GACA,KAAejC,MAAA,CAAZQ,EAAY,SACjB0B,MAAO,IACPC,OAAQ,MAEV,GAAA1B,EAAAG,GAAA,EAACM,MAAAA,CAAIF,UAAWC,IAAAA,KAAY,UAAGgB,MAVvBA,MAgBhB,GAAAxB,EAAAG,GAAA,EAACwB,EAAAA,GAAYA,CAAAA,CAACpB,UAAWC,IAAAA,OAAc,QAKjD,oBClEAoB,EAAAC,OAAA,EAAkB,mRCDlBD,EAAAC,OAAA,CAAAzD,EAAA,8FECO0D,EAAA,CACPC,MAAAC,KAAAA,EACAC,KAAAD,KAAAA,EACAzB,UAAAyB,KAAAA,EACAE,MAAAF,KAAAA,EACAG,KAAAH,KAAAA,CACA,EACOI,EAAkBC,EAAAC,aAAmB,EAAiBD,EAAAC,aAAmB,CAAAR,GCRhFS,EAAA,wBAGA,SAAAC,WAA0S,MAAAA,CAApRA,SAAAC,OAAAC,MAAA,CAAAD,OAAAC,MAAA,CAAAC,IAAA,YAAA3B,CAAA,EAAsE,QAAA4B,EAAA,EAAgBA,EAAAC,UAAAC,MAAA,CAAsBF,IAAA,CAAO,IAAAG,EAAAF,SAAA,CAAAD,EAAA,CAA2B,QAAAI,KAAAD,EAA0BN,OAAAQ,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,EAAAC,IAAyDhC,CAAAA,CAAA,CAAAgC,EAAA,CAAAD,CAAA,CAAAC,EAAA,EAAiC,OAAAhC,CAAA,GAAkBoC,KAAA,MAAAP,UAAA,CAC1S,SAAAQ,QAAAC,CAAA,CAAAC,CAAA,EAAyB,IAAAC,EAAAf,OAAAgB,IAAA,CAAAH,GAAwB,GAAAb,OAAAiB,qBAAA,EAAoC,IAAAC,EAAAlB,OAAAiB,qBAAA,CAAAJ,EAAyCC,CAAAA,GAAAI,CAAAA,EAAAA,EAAAC,MAAA,UAAAL,CAAA,EAAkC,OAAAd,OAAAoB,wBAAA,CAAAP,EAAAC,GAAAO,UAAA,EAA0D,EAAAN,EAAArF,IAAA,CAAAiF,KAAA,CAAAI,EAAAG,EAAA,CAA0B,OAAAH,CAAA,CACpP,SAAAO,cAAAT,CAAA,EAA4B,QAAAC,EAAA,EAAgBA,EAAAV,UAAAC,MAAA,CAAsBS,IAAA,CAAO,IAAAC,EAAA,MAAAX,SAAA,CAAAU,EAAA,CAAAV,SAAA,CAAAU,EAAA,GAAkDA,CAAAA,EAAA,EAAAF,QAAAZ,OAAAe,GAAA,IAAAQ,OAAA,UAAAT,CAAA,MAC3HP,EAAA/B,EAAA+B,EADiLO,EACjLtC,EADiLuC,CAAA,CAAAD,EAAA,CAC1GP,CAA3BA,EAAAiB,SAC5CT,CAAA,EAA6B,IAAAZ,EAAAsB,SAC7BV,CAAA,CAAAD,CAAA,EAA8B,oBAAAC,GAAA,CAAAA,EAAA,OAAAA,EAA0C,IAAAF,EAAAE,CAAA,CAAAW,OAAAC,WAAA,EAA+B,YAAAd,EAAA,CAAoB,IAAAV,EAAAU,EAAAH,IAAA,CAAAK,EAAAD,GAAA,WAAmC,oBAAAX,EAAA,OAAAA,CAAoC,iEAAuE,kBAAAW,EAAAc,OAAAC,MAAA,EAAAd,EAAA,EAD5OA,EAAA,UAAmC,uBAAAZ,EAAAA,EAAAA,EAAA,IADpBI,EAAA,IADqIM,EACxFb,OAAA8B,cAAA,CADwFjB,EACxFN,EAAA,CAAkC/B,MAAAA,EAAA6C,WAAA,GAAAU,aAAA,GAAAC,SAAA,KAAgFC,CAAA,CAAA1B,EAAA,CAAA/B,CAD1B,GAA8BwB,OAAAkC,yBAAA,CAAAlC,OAAAmC,gBAAA,CAAAtB,EAAAb,OAAAkC,yBAAA,CAAAnB,IAAAH,QAAAZ,OAAAe,IAAAQ,OAAA,UAAAT,CAAA,EAAmJd,OAAA8B,cAAA,CAAAjB,EAAAC,EAAAd,OAAAoB,wBAAA,CAAAL,EAAAD,GAAA,EAAqE,CAAK,OAAAD,CAAA,CAWra,SAAAuB,QAAAC,CAAA,EACP,OAAAC,GAA+B1C,EAAA2C,aAAmB,CAAAC,SAAAzC,SAAA,CAClDL,KAAA4B,cAAA,GAA0Be,EAAA3C,IAAA,CAC1B,EAAG4C,GAAAG,SARHA,aAAAC,CAAA,EACA,OAAAA,GAAAA,EAAAhE,GAAA,EAAAiE,EAAAxC,IAAoDP,EAAA2C,aAAmB,CAAAI,EAAAC,GAAA,CAAAtB,cAAA,CACvEf,IAAAJ,CACA,EAAGwC,EAAAjD,IAAA,EAAA+C,aAAAE,EAAAE,KAAA,GACH,EAIGR,EAAAQ,KAAA,EACH,CACO,SAAAL,SAAAF,CAAA,EACP,IAAAQ,KAAAC,IACA,IAOAjF,EAPA,CACA4B,KAAAA,CAAA,CACAF,KAAAA,CAAA,CACA5B,MAAAA,CAAA,CACA,CAAQ0E,EACRU,EAAAC,SA3BA3C,CAAA,CAAA4C,CAAA,EAAsD,GAAA5C,MAAAA,EAAA,SAA+B,IAA8DC,EAAAJ,EAA9D5B,EAAA4E,SACrF7C,CAAA,CAAA4C,CAAA,EAA2D,GAAA5C,MAAAA,EAAA,SAA+B,IAAA/B,EAAA,GAAiB,QAAAgC,KAAAD,EAA0B,GAAAN,OAAAQ,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,EAAAC,GAAA,CAAyD,GAAA2C,EAAAE,OAAA,CAAA7C,IAAA,UAA0ChC,CAAAA,CAAA,CAAAgC,EAAA,CAAAD,CAAA,CAAAC,EAAA,CAA+B,OAAAhC,CAAA,EADlL+B,EAAA4C,GAA0E,GAAAlD,OAAAiB,qBAAA,EAAoC,IAAAoC,EAAArD,OAAAiB,qBAAA,CAAAX,GAA6D,IAAAH,EAAA,EAAYA,EAAAkD,EAAAhD,MAAA,CAA6BF,IAAOI,EAAA8C,CAAA,CAAAlD,EAAA,EAA2B+C,CAAAA,EAAAE,OAAA,CAAA7C,IAAA,IAA0CP,OAAAQ,SAAA,CAAA8C,oBAAA,CAAA5C,IAAA,CAAAJ,EAAAC,IAAwEhC,CAAAA,CAAA,CAAAgC,EAAA,CAAAD,CAAA,CAAAC,EAAA,EAA+B,OAAAhC,CAAA,EA2B5d+D,EAAAxC,GACAyD,EAAA/D,GAAAuD,EAAAvD,IAAA,QAIA,OAFAuD,EAAAjF,SAAA,EAAAA,CAAAA,EAAAiF,EAAAjF,SAAA,EACAwE,EAAAxE,SAAA,EAAAA,CAAAA,EAAA,CAAAA,EAAAA,EAAA,QAAAwE,EAAAxE,SAAA,EACwB8B,EAAA2C,aAAmB,OAAAxC,SAAA,CAC3CyD,OAAA,eACAC,KAAA,eACAC,YAAA,GACA,EAAKX,EAAArD,IAAA,CAAAA,EAAAsD,EAAA,CACLlF,UAAAA,EACA2B,MAAA6B,cAAAA,cAAA,CACAhC,MAAAgD,EAAAhD,KAAA,EAAAyD,EAAAzD,KAAA,EACOyD,EAAAtD,KAAA,EAAA6C,EAAA7C,KAAA,EACPR,OAAAsE,EACAvE,MAAAuE,EACAI,MAAA,4BACA,GAAK/F,GAAyBgC,EAAA2C,aAAmB,cAAA3E,GAAA0E,EAAAsB,QAAA,CACjD,EACA,OAASjE,KAAWJ,IAAXI,EAAyCC,EAAA2C,aAAmB,CAAC5C,EAAWkE,QAAA,MAAAd,GAAAD,KAAAC,IAAAD,KAA4CzD,EAC7H","sources":["webpack://_N_E/?e81b","webpack://_N_E/./src/useManifest.ts","webpack://_N_E/./src/pages/gallery.tsx","webpack://_N_E/./src/pages/gallery.module.css","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/react-icons/lib/iconsManifest.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconContext.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconBase.mjs","webpack://_N_E/./node_modules/react-icons/lib/index.mjs","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/gallery\",\n function () {\n return require(\"private-next-pages/gallery.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/gallery\"])\n });\n }\n ","import { useState, useEffect } from \"react\";\n\nexport type Manifest = {\n customSkins: Record;\n newSkins: Record;\n};\n\nconst baseManifestPath = `https://exogen.github.io/t2-skins`;\nexport const defaultManifest: Manifest = {\n customSkins: {},\n newSkins: {},\n};\n\nexport default function useManifest(): [Manifest, boolean] {\n const [manifest, setManifest] = useState(defaultManifest);\n\n useEffect(() => {\n const controller = new AbortController();\n const signal = controller.signal;\n let ignore = false;\n\n const loadCustomSkins = async () => {\n let res;\n try {\n res = await fetch(`${baseManifestPath}/skins.json`, { signal });\n if (!ignore) {\n const json = await res.json();\n if (!ignore) {\n setManifest(json as Manifest);\n }\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n loadCustomSkins();\n\n return () => {\n ignore = true;\n controller.abort();\n };\n }, []);\n\n const isLoaded = manifest !== defaultManifest;\n return [manifest, isLoaded];\n}\n","import { useState } from \"react\";\nimport { CgSpinnerTwo } from \"react-icons/cg\";\nimport useManifest from \"../useManifest\";\nimport styles from \"./gallery.module.css\";\nimport Head from \"next/head\";\n\nconst baseManifestPath = `https://exogen.github.io/t2-skins`;\nconst emptySkins: string[] = [];\n\nexport default function GalleryPage() {\n const [manifest, isLoaded] = useManifest();\n const [selectedModel, setSelectedModel] = useState(\"lmale\");\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const customSkins = manifest.customSkins?.[actualModel] ?? emptySkins;\n\n return (\n <>\n \n Tribes 2 Skin Gallery\n \n
\n
\n {\n setSelectedModel(event.target.value);\n }}\n value={selectedModel}\n >\n \n \n \n \n \n \n \n \n \n \n
\n {isLoaded ? (\n
\n {customSkins.map((name) => {\n return (\n
\n \n
{name}
\n
\n );\n })}\n
\n ) : (\n \n )}\n
\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"GalleryPage\":\"gallery_GalleryPage__QyCLn\",\"Tools\":\"gallery_Tools__COicv\",\"Gallery\":\"gallery_Gallery__ZMJE_\",\"Skin\":\"gallery_Skin__Ep_rb\",\"Preview\":\"gallery_Preview__JGf2f\",\"Label\":\"gallery_Label__kJfDw\",\"Spinner\":\"gallery_Spinner__9jTLL\",\"spin\":\"gallery_spin__EVmH5\"};","module.exports = require('./dist/shared/lib/head')\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"fa6\",\n \"name\": \"Font Awesome 6\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"pi\",\n \"name\": \"Phosphor Icons\",\n \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n },\n {\n \"id\": \"lia\",\n \"name\": \"Icons8 Line Awesome\",\n \"projectUrl\": \"https://icons8.com/line-awesome\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","export * from \"./iconsManifest.mjs\";\nexport * from \"./iconBase.mjs\";\nexport * from \"./iconContext.mjs\";"],"names":["window","__NEXT_P","push","__webpack_require__","defaultManifest","customSkins","newSkins","emptySkins","GalleryPage","manifest","isLoaded","useManifest","setManifest","useState","useEffect","controller","AbortController","signal","ignore","loadCustomSkins","res","fetch","concat","json","err","console","error","abort","selectedModel","setSelectedModel","actualModel","jsx_runtime","jsxs","Fragment","jsx","Head","title","main","className","styles","div","select","tabIndex","id","aria-label","onChange","event","target","value","option","map","img","loading","src","encodeURIComponent","name","width","height","CgSpinnerTwo","module","exports","DefaultContext","color","undefined","size","style","attr","IconContext","react","createContext","_excluded","_extends","Object","assign","bind","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_toPropertyKey","_toPrimitive","Symbol","toPrimitive","String","Number","defineProperty","configurable","writable","obj","getOwnPropertyDescriptors","defineProperties","GenIcon","data","props","createElement","IconBase","Tree2Element","tree","node","tag","child","elem","conf","svgProps","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","indexOf","sourceSymbolKeys","propertyIsEnumerable","computedSize","stroke","fill","strokeWidth","xmlns","children","Consumer"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js b/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js new file mode 100644 index 0000000..0d20e08 --- /dev/null +++ b/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js @@ -0,0 +1,2 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[214],{4080:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/gallery",function(){return r(1560)}])},1560:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return GalleryPage}});var n=r(5893),l=r(7294),a=r(3181);let o={customSkins:{},newSkins:{}};var i=r(9746),s=r.n(i),c=r(9008),u=r.n(c);let m=[];function GalleryPage(){var e,t;let[r,i]=function(){let[e,t]=(0,l.useState)(o);(0,l.useEffect)(()=>{let e=new AbortController,r=e.signal,n=!1,loadCustomSkins=async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:r}),!n){let r=await e.json();n||t(r)}}catch(e){console.error(e)}};return loadCustomSkins(),()=>{n=!0,e.abort()}},[]);let r=e!==o;return[e,r]}(),[c,d]=(0,l.useState)("lmale"),f="hfemale"===c?"hmale":c,p=null!==(t=null===(e=r.customSkins)||void 0===e?void 0:e[f])&&void 0!==t?t:m;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u(),{children:(0,n.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,n.jsxs)("main",{className:s().GalleryPage,children:[(0,n.jsx)("div",{className:s().Tools,children:(0,n.jsxs)("select",{tabIndex:0,id:"ModelSelect","aria-label":"Player model",onChange:e=>{d(e.target.value)},value:c,children:[(0,n.jsx)("option",{value:"lmale",children:"Human Male \xb7 Light"}),(0,n.jsx)("option",{value:"mmale",children:"Human Male \xb7 Medium"}),(0,n.jsx)("option",{value:"hmale",children:"Human Male \xb7 Heavy"}),(0,n.jsx)("option",{value:"lfemale",children:"Human Female \xb7 Light"}),(0,n.jsx)("option",{value:"mfemale",children:"Human Female \xb7 Medium"}),(0,n.jsx)("option",{value:"hfemale",children:"Human Female \xb7 Heavy"}),(0,n.jsx)("option",{value:"lbioderm",children:"Bioderm \xb7 Light"}),(0,n.jsx)("option",{value:"mbioderm",children:"Bioderm \xb7 Medium"}),(0,n.jsx)("option",{value:"hbioderm",children:"Bioderm \xb7 Heavy"})]})}),i?(0,n.jsx)("div",{className:s().Gallery,children:p.map(e=>(0,n.jsxs)("div",{className:s().Skin,children:[(0,n.jsx)("img",{className:s().Preview,loading:"lazy",src:"".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(e),".").concat(f,".webp"),width:680,height:800,alt:e}),(0,n.jsx)("div",{className:s().Label,children:e})]},e))}):(0,n.jsx)(a.xHo,{className:s().Spinner})]})]})}},9746:function(e){e.exports={GalleryPage:"gallery_GalleryPage__QyCLn",Tools:"gallery_Tools__COicv",Gallery:"gallery_Gallery__ZMJE_",Skin:"gallery_Skin__Ep_rb",Preview:"gallery_Preview__JGf2f",Label:"gallery_Label__kJfDw",Spinner:"gallery_Spinner__9jTLL",spin:"gallery_spin__EVmH5"}},9008:function(e,t,r){e.exports=r(9201)},5054:function(e,t,r){"use strict";r.d(t,{w_:function(){return GenIcon}});var n=r(7294),l={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},a=n.createContext&&n.createContext(l),o=["attr","size","title"];function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.createElement(IconBase,_extends({attr:_objectSpread({},e.attr)},t),function Tree2Element(e){return e&&e.map((e,t)=>n.createElement(e.tag,_objectSpread({key:t},e.attr),Tree2Element(e.child)))}(e.child))}function IconBase(e){var elem=t=>{var r,{attr:l,size:a,title:i}=e,s=function(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}(e,o),c=a||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",_extends({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,l,s,{className:r,style:_objectSpread(_objectSpread({color:e.color||t.color},t.style),e.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),i&&n.createElement("title",null,i),e.children)};return void 0!==a?n.createElement(a.Consumer,null,e=>elem(e)):elem(l)}}},function(e){e.O(0,[774,648,888,179],function(){return e(e.s=4080)}),_N_E=e.O()}]); +//# sourceMappingURL=gallery-6fd10c3c09064b0b.js.map \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js.map b/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js.map new file mode 100644 index 0000000..da032aa --- /dev/null +++ b/docs/_next/static/chunks/pages/gallery-6fd10c3c09064b0b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/pages/gallery-6fd10c3c09064b0b.js","mappings":"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","sources":["webpack://_N_E/","webpack://_N_E/./src/useManifest.ts","webpack://_N_E/./src/pages/gallery.tsx","webpack://_N_E/./src/pages/gallery.module.css","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/react-icons/lib/iconsManifest.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconContext.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconBase.mjs","webpack://_N_E/./node_modules/react-icons/lib/index.mjs","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/gallery\",\n function () {\n return require(\"private-next-pages/gallery.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/gallery\"])\n });\n }\n ","import { useState, useEffect } from \"react\";\n\nexport type Manifest = {\n customSkins: Record;\n newSkins: Record;\n};\n\nconst baseManifestPath = `https://exogen.github.io/t2-skins`;\nexport const defaultManifest: Manifest = {\n customSkins: {},\n newSkins: {},\n};\n\nexport default function useManifest(): [Manifest, boolean] {\n const [manifest, setManifest] = useState(defaultManifest);\n\n useEffect(() => {\n const controller = new AbortController();\n const signal = controller.signal;\n let ignore = false;\n\n const loadCustomSkins = async () => {\n let res;\n try {\n res = await fetch(`${baseManifestPath}/skins.json`, { signal });\n if (!ignore) {\n const json = await res.json();\n if (!ignore) {\n setManifest(json as Manifest);\n }\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n loadCustomSkins();\n\n return () => {\n ignore = true;\n controller.abort();\n };\n }, []);\n\n const isLoaded = manifest !== defaultManifest;\n return [manifest, isLoaded];\n}\n","import { useState } from \"react\";\nimport { CgSpinnerTwo } from \"react-icons/cg\";\nimport useManifest from \"../useManifest\";\nimport styles from \"./gallery.module.css\";\nimport Head from \"next/head\";\n\nconst baseManifestPath = `https://exogen.github.io/t2-skins`;\nconst emptySkins: string[] = [];\n\nexport default function GalleryPage() {\n const [manifest, isLoaded] = useManifest();\n const [selectedModel, setSelectedModel] = useState(\"lmale\");\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const customSkins = manifest.customSkins?.[actualModel] ?? emptySkins;\n\n return (\n <>\n \n Tribes 2 Skin Gallery\n \n
\n
\n {\n setSelectedModel(event.target.value);\n }}\n value={selectedModel}\n >\n \n \n \n \n \n \n \n \n \n \n
\n {isLoaded ? (\n
\n {customSkins.map((name) => {\n return (\n
\n \n
{name}
\n
\n );\n })}\n
\n ) : (\n \n )}\n
\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"GalleryPage\":\"gallery_GalleryPage__QyCLn\",\"Tools\":\"gallery_Tools__COicv\",\"Gallery\":\"gallery_Gallery__ZMJE_\",\"Skin\":\"gallery_Skin__Ep_rb\",\"Preview\":\"gallery_Preview__JGf2f\",\"Label\":\"gallery_Label__kJfDw\",\"Spinner\":\"gallery_Spinner__9jTLL\",\"spin\":\"gallery_spin__EVmH5\"};","module.exports = require('./dist/shared/lib/head')\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"fa6\",\n \"name\": \"Font Awesome 6\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"pi\",\n \"name\": \"Phosphor Icons\",\n \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n },\n {\n \"id\": \"lia\",\n \"name\": \"Icons8 Line Awesome\",\n \"projectUrl\": \"https://icons8.com/line-awesome\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","export * from \"./iconsManifest.mjs\";\nexport * from \"./iconBase.mjs\";\nexport * from \"./iconContext.mjs\";"],"names":["window","__NEXT_P","push","__webpack_require__","defaultManifest","customSkins","newSkins","emptySkins","GalleryPage","manifest","isLoaded","useManifest","setManifest","useState","useEffect","controller","AbortController","signal","ignore","loadCustomSkins","res","fetch","concat","json","err","console","error","abort","selectedModel","setSelectedModel","actualModel","jsx_runtime","jsxs","Fragment","jsx","Head","title","main","className","styles","div","select","tabIndex","id","aria-label","onChange","event","target","value","option","map","img","loading","src","encodeURIComponent","name","width","height","alt","CgSpinnerTwo","module","exports","DefaultContext","color","undefined","size","style","attr","IconContext","react","createContext","_excluded","_extends","Object","assign","bind","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_toPropertyKey","_toPrimitive","Symbol","toPrimitive","String","Number","defineProperty","configurable","writable","obj","getOwnPropertyDescriptors","defineProperties","GenIcon","data","props","createElement","IconBase","Tree2Element","tree","node","tag","child","elem","conf","svgProps","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","indexOf","sourceSymbolKeys","propertyIsEnumerable","computedSize","stroke","fill","strokeWidth","xmlns","children","Consumer"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/-B3mOW2BbO6UjIKig7LCd/_buildManifest.js b/docs/_next/static/mAHYqMrvF-WTvlWQ-1o3D/_buildManifest.js similarity index 91% rename from docs/_next/static/-B3mOW2BbO6UjIKig7LCd/_buildManifest.js rename to docs/_next/static/mAHYqMrvF-WTvlWQ-1o3D/_buildManifest.js index 58303e7..d1d0cf8 100644 --- a/docs/_next/static/-B3mOW2BbO6UjIKig7LCd/_buildManifest.js +++ b/docs/_next/static/mAHYqMrvF-WTvlWQ-1o3D/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/e21e5bbe-b28e0079b469d4e8.js","static/chunks/ebc70433-4eccd1cb3af29a3e.js","static/chunks/6eb5140f-31a2b2da7903b885.js","static/chunks/85d7bc83-1ca530d7d3f44153.js","static/chunks/cb355538-da37657816b3e149.js","static/chunks/2e3a845b-deb32d540780320d.js","static/chunks/f580fadb-2911e2fbf64aae5a.js","static/chunks/515-13ff0773d41722ae.js","static/chunks/pages/index-510f17fe7e538382.js"],"/_error":["static/chunks/pages/_error-54b9fcf45cb5bc62.js"],"/gallery":["static/chunks/737a5600-aea383aaa2061cc6.js","static/css/4697ac00fc8a3aa4.css","static/chunks/pages/gallery-04ec5e2839ab965e.js"],sortedPages:["/","/_app","/_error","/gallery"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/e21e5bbe-b28e0079b469d4e8.js","static/chunks/ebc70433-4eccd1cb3af29a3e.js","static/chunks/6eb5140f-31a2b2da7903b885.js","static/chunks/85d7bc83-1ca530d7d3f44153.js","static/chunks/cb355538-da37657816b3e149.js","static/chunks/2e3a845b-deb32d540780320d.js","static/chunks/f580fadb-2911e2fbf64aae5a.js","static/chunks/515-13ff0773d41722ae.js","static/chunks/pages/index-510f17fe7e538382.js"],"/_error":["static/chunks/pages/_error-54b9fcf45cb5bc62.js"],"/gallery":["static/chunks/737a5600-aea383aaa2061cc6.js","static/css/4697ac00fc8a3aa4.css","static/chunks/pages/gallery-6fd10c3c09064b0b.js"],sortedPages:["/","/_app","/_error","/gallery"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/docs/_next/static/-B3mOW2BbO6UjIKig7LCd/_ssgManifest.js b/docs/_next/static/mAHYqMrvF-WTvlWQ-1o3D/_ssgManifest.js similarity index 100% rename from docs/_next/static/-B3mOW2BbO6UjIKig7LCd/_ssgManifest.js rename to docs/_next/static/mAHYqMrvF-WTvlWQ-1o3D/_ssgManifest.js diff --git a/docs/gallery/index.html b/docs/gallery/index.html index 7134cfa..78642cb 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -1 +1 @@ -Tribes 2 Skin Gallery
\ No newline at end of file +Tribes 2 Skin Gallery
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 58f1dfa..b72ec7b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner
\ No newline at end of file +T2 Model Viewer & Skinner
\ No newline at end of file diff --git a/src/pages/gallery.tsx b/src/pages/gallery.tsx index 3a6cd66..bf5fd24 100644 --- a/src/pages/gallery.tsx +++ b/src/pages/gallery.tsx @@ -53,6 +53,7 @@ export default function GalleryPage() { )}.${actualModel}.webp`} width={680} height={800} + alt={name} />
{name}