From 54a971d683eb09e82d650823b2481c7a95c1285f Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Sun, 27 Oct 2024 03:35:43 -0700 Subject: [PATCH] Add gallery page --- docs/404.html | 2 +- docs/404/index.html | 2 +- ...y-fdcee2f9a64de949.js => gallery-6d56caca48c43555.js} | 4 ++-- .../static/chunks/pages/gallery-6d56caca48c43555.js.map | 1 + .../static/chunks/pages/gallery-fdcee2f9a64de949.js.map | 1 - ...k-f4b71fc3997b17ba.js => webpack-debd64b1e776a454.js} | 4 ++-- ...c3997b17ba.js.map => webpack-debd64b1e776a454.js.map} | 2 +- docs/_next/static/css/1d6ffc1605392f63.css | 2 ++ docs/_next/static/css/1d6ffc1605392f63.css.map | 1 + docs/_next/static/css/ef1c21cd61d26e16.css | 2 -- docs/_next/static/css/ef1c21cd61d26e16.css.map | 1 - .../_buildManifest.js | 2 +- .../_ssgManifest.js | 0 docs/gallery/index.html | 2 +- docs/index.html | 2 +- src/pages/gallery.module.css | 9 +++++---- src/pages/gallery.tsx | 4 ++-- 17 files changed, 21 insertions(+), 20 deletions(-) rename docs/_next/static/chunks/pages/{gallery-fdcee2f9a64de949.js => gallery-6d56caca48c43555.js} (79%) create mode 100644 docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js.map delete mode 100644 docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js.map rename docs/_next/static/chunks/{webpack-f4b71fc3997b17ba.js => webpack-debd64b1e776a454.js} (97%) rename docs/_next/static/chunks/{webpack-f4b71fc3997b17ba.js.map => webpack-debd64b1e776a454.js.map} (98%) create mode 100644 docs/_next/static/css/1d6ffc1605392f63.css create mode 100644 docs/_next/static/css/1d6ffc1605392f63.css.map delete mode 100644 docs/_next/static/css/ef1c21cd61d26e16.css delete mode 100644 docs/_next/static/css/ef1c21cd61d26e16.css.map rename docs/_next/static/{AK6DaIfgru64Qw1XA1DNi => iTIExd47iQzJbgmM1cgsw}/_buildManifest.js (82%) rename docs/_next/static/{AK6DaIfgru64Qw1XA1DNi => iTIExd47iQzJbgmM1cgsw}/_ssgManifest.js (100%) diff --git a/docs/404.html b/docs/404.html index 3d0170d..e216b69 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 3d0170d..e216b69 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-fdcee2f9a64de949.js b/docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js similarity index 79% rename from docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js rename to docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js index 1905dd7..01abf51 100644 --- a/docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js +++ b/docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js @@ -1,2 +1,2 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[214],{4080:function(e,l,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/gallery",function(){return a(1560)}])},1560:function(e,l,a){"use strict";a.r(l),a.d(l,{default:function(){return GalleryPage}});var n=a(5893),i=a(7294);let t={customSkins:{},newSkins:{}};var r=a(9746),o=a.n(r),s=a(9008),c=a.n(s);let u=[];function GalleryPage(){var e,l;let[a,r]=function(){let[e,l]=(0,i.useState)(t);(0,i.useEffect)(()=>{let e=new AbortController,a=e.signal,n=!1,loadCustomSkins=async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:a}),!n){let a=await e.json();n||l(a)}}catch(e){console.error(e)}};return loadCustomSkins(),()=>{n=!0,e.abort()}},[]);let a=e!==t;return[e,a]}(),[s,d]=(0,i.useState)("lmale"),m="hfemale"===s?"hmale":s,h=null!==(l=null===(e=a.customSkins)||void 0===e?void 0:e[m])&&void 0!==l?l:u;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c(),{children:(0,n.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,n.jsxs)("main",{className:o().GalleryPage,children:[(0,n.jsx)("div",{className:o().Tools,children:(0,n.jsxs)("select",{id:"ModelSelect","aria-label":"Player model",onChange:e=>{d(e.target.value)},value:s,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"})]})}),(0,n.jsx)("div",{className:o().Gallery,children:h.map(e=>(0,n.jsxs)("div",{className:o().Skin,children:[(0,n.jsx)("img",{className:o().Preview,loading:"lazy",src:"".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(e),".").concat(m,".webp"),width:800,height:1600}),(0,n.jsx)("div",{className:o().Label,children:e})]},e))})]})]})}},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"}},9008:function(e,l,a){e.exports=a(9201)}},function(e){e.O(0,[774,888,179],function(){return e(e.s=4080)}),_N_E=e.O()}]); -//# sourceMappingURL=gallery-fdcee2f9a64de949.js.map \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[214],{4080:function(e,l,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/gallery",function(){return a(1560)}])},1560:function(e,l,a){"use strict";a.r(l),a.d(l,{default:function(){return GalleryPage}});var n=a(5893),i=a(7294);let t={customSkins:{},newSkins:{}};var r=a(9746),o=a.n(r),s=a(9008),c=a.n(s);let u=[];function GalleryPage(){var e,l;let[a,r]=function(){let[e,l]=(0,i.useState)(t);(0,i.useEffect)(()=>{let e=new AbortController,a=e.signal,n=!1,loadCustomSkins=async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:a}),!n){let a=await e.json();n||l(a)}}catch(e){console.error(e)}};return loadCustomSkins(),()=>{n=!0,e.abort()}},[]);let a=e!==t;return[e,a]}(),[s,d]=(0,i.useState)("lmale"),m="hfemale"===s?"hmale":s,h=null!==(l=null===(e=a.customSkins)||void 0===e?void 0:e[m])&&void 0!==l?l:u;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c(),{children:(0,n.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,n.jsxs)("main",{className:o().GalleryPage,children:[(0,n.jsx)("div",{className:o().Tools,children:(0,n.jsxs)("select",{id:"ModelSelect","aria-label":"Player model",onChange:e=>{d(e.target.value)},value:s,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"})]})}),(0,n.jsx)("div",{className:o().Gallery,children:h.map(e=>(0,n.jsxs)("div",{className:o().Skin,children:[(0,n.jsx)("img",{className:o().Preview,loading:"lazy",src:"".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(e),".").concat(m,".webp"),width:680,height:800}),(0,n.jsx)("div",{className:o().Label,children:e})]},e))})]})]})}},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"}},9008:function(e,l,a){e.exports=a(9201)}},function(e){e.O(0,[774,888,179],function(){return e(e.s=4080)}),_N_E=e.O()}]); +//# sourceMappingURL=gallery-6d56caca48c43555.js.map \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js.map b/docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js.map new file mode 100644 index 0000000..6d2dcc2 --- /dev/null +++ b/docs/_next/static/chunks/pages/gallery-6d56caca48c43555.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/pages/gallery-6d56caca48c43555.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/"],"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 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
\n {customSkins.map((name) => {\n return (\n
\n \n
{name}
\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\"};","module.exports = require('./dist/shared/lib/head')\n"],"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","id","aria-label","onChange","event","target","value","option","map","img","loading","src","encodeURIComponent","name","width","height","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js.map b/docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js.map deleted file mode 100644 index 948401f..0000000 --- a/docs/_next/static/chunks/pages/gallery-fdcee2f9a64de949.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/chunks/pages/gallery-fdcee2f9a64de949.js","mappings":"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","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/"],"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 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
\n {customSkins.map((name) => {\n return (\n
\n \n
{name}
\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\"};","module.exports = require('./dist/shared/lib/head')\n"],"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","id","aria-label","onChange","event","target","value","option","map","img","loading","src","encodeURIComponent","name","width","height","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/chunks/webpack-f4b71fc3997b17ba.js b/docs/_next/static/chunks/webpack-debd64b1e776a454.js similarity index 97% rename from docs/_next/static/chunks/webpack-f4b71fc3997b17ba.js rename to docs/_next/static/chunks/webpack-debd64b1e776a454.js index 98ad6dd..848f4a1 100644 --- a/docs/_next/static/chunks/webpack-f4b71fc3997b17ba.js +++ b/docs/_next/static/chunks/webpack-debd64b1e776a454.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,r,_,t,n,i,u,c={},o={};function __webpack_require__(e){var r=o[e];if(void 0!==r)return r.exports;var _=o[e]={exports:{}},t=!0;try{c[e].call(_.exports,_,_.exports,__webpack_require__),t=!1}finally{t&&delete o[e]}return _.exports}__webpack_require__.m=c,e=[],__webpack_require__.O=function(r,_,t,n){if(_){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[_,t,n];return}for(var u=1/0,i=0;i=n&&Object.keys(__webpack_require__.O).every(function(e){return __webpack_require__.O[e](_[o])})?_.splice(o--,1):(c=!1,n0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[_,t,n];return}for(var u=1/0,i=0;i=n&&Object.keys(__webpack_require__.O).every(function(e){return __webpack_require__.O[e](_[o])})?_.splice(o--,1):(c=!1,n"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/chunks/\" + (chunkId === 737 ? \"fb7d5399\" : chunkId) + \".\" + {\"250\":\"10c119307e239c98\",\"737\":\"bc4a70b34221e8c8\",\"767\":\"0dd6b240996f3455\",\"848\":\"fc0fe21cdc2e6431\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"214\":\"ef1c21cd61d26e16\",\"888\":\"481d64a53a5033ec\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"_N_E:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = __webpack_require__.tu(url);\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var policy;\n__webpack_require__.tt = function() {\n\t// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.\n\tif (policy === undefined) {\n\t\tpolicy = {\n\t\t\tcreateScriptURL: function(url) { return url; }\n\t\t};\n\t\tif (typeof trustedTypes !== \"undefined\" && trustedTypes.createPolicy) {\n\t\t\tpolicy = trustedTypes.createPolicy(\"nextjs#bundler\", policy);\n\t\t}\n\t}\n\treturn policy;\n};","__webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); };","__webpack_require__.p = \"/t2-model-skinner/_next/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t272: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(272 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","dataWebpackPrefix","policy","installedChunks","webpackJsonpCallback","chunkLoadingGlobal","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","threw","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","i","length","notFulfilled","Infinity","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","tu","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","tt","createScriptURL","trustedTypes","createPolicy","p","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","name","request","parentChunkLoadingFunction","data","moreModules","runtime","some","id","self"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/chunks/webpack-debd64b1e776a454.js","mappings":"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","sources":["webpack://_N_E/webpack/bootstrap","webpack://_N_E/webpack/runtime/chunk loaded","webpack://_N_E/webpack/runtime/compat get default export","webpack://_N_E/webpack/runtime/define property getters","webpack://_N_E/webpack/runtime/ensure chunk","webpack://_N_E/webpack/runtime/get javascript chunk filename","webpack://_N_E/webpack/runtime/get mini-css chunk filename","webpack://_N_E/webpack/runtime/global","webpack://_N_E/webpack/runtime/hasOwnProperty shorthand","webpack://_N_E/webpack/runtime/load script","webpack://_N_E/webpack/runtime/make namespace object","webpack://_N_E/webpack/runtime/trusted types policy","webpack://_N_E/webpack/runtime/trusted types script url","webpack://_N_E/webpack/runtime/publicPath","webpack://_N_E/webpack/runtime/jsonp chunk loading","webpack://_N_E/webpack/before-startup","webpack://_N_E/webpack/startup","webpack://_N_E/webpack/after-startup","webpack://_N_E/"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/chunks/\" + (chunkId === 737 ? \"fb7d5399\" : chunkId) + \".\" + {\"250\":\"10c119307e239c98\",\"737\":\"bc4a70b34221e8c8\",\"767\":\"0dd6b240996f3455\",\"848\":\"fc0fe21cdc2e6431\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"214\":\"1d6ffc1605392f63\",\"888\":\"481d64a53a5033ec\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"_N_E:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = __webpack_require__.tu(url);\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var policy;\n__webpack_require__.tt = function() {\n\t// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.\n\tif (policy === undefined) {\n\t\tpolicy = {\n\t\t\tcreateScriptURL: function(url) { return url; }\n\t\t};\n\t\tif (typeof trustedTypes !== \"undefined\" && trustedTypes.createPolicy) {\n\t\t\tpolicy = trustedTypes.createPolicy(\"nextjs#bundler\", policy);\n\t\t}\n\t}\n\treturn policy;\n};","__webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); };","__webpack_require__.p = \"/t2-model-skinner/_next/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t272: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(272 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","dataWebpackPrefix","policy","installedChunks","webpackJsonpCallback","chunkLoadingGlobal","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","threw","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","i","length","notFulfilled","Infinity","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","tu","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","tt","createScriptURL","trustedTypes","createPolicy","p","installedChunkData","promise","resolve","reject","error","errorType","realSrc","message","name","request","parentChunkLoadingFunction","data","moreModules","runtime","some","id","self"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/css/1d6ffc1605392f63.css b/docs/_next/static/css/1d6ffc1605392f63.css new file mode 100644 index 0000000..52342df --- /dev/null +++ b/docs/_next/static/css/1d6ffc1605392f63.css @@ -0,0 +1,2 @@ +.gallery_GalleryPage__QyCLn{flex-direction:column}.gallery_Tools__COicv{position:-webkit-sticky;position:sticky;top:0;flex:0 0 auto;padding:10px;text-align:center;background:rgba(0,0,0,.7);z-index:2}.gallery_Gallery__ZMJE_{flex:0 0 auto;display:grid;width:100%;background:#0c1f28;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.gallery_Skin__Ep_rb{position:relative;font-size:12px;text-align:center;overflow:hidden;padding-bottom:32px}.gallery_Preview__JGf2f{display:block;width:100%;height:auto}.gallery_Label__kJfDw{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:inline-block;white-space:nowrap;color:#fff;background:rgba(0,0,0,.5);padding:3px 10px;border-radius:9999px;opacity:.5}.gallery_Skin__Ep_rb:hover .gallery_Label__kJfDw{opacity:1} +/*# sourceMappingURL=1d6ffc1605392f63.css.map*/ \ No newline at end of file diff --git a/docs/_next/static/css/1d6ffc1605392f63.css.map b/docs/_next/static/css/1d6ffc1605392f63.css.map new file mode 100644 index 0000000..740ff30 --- /dev/null +++ b/docs/_next/static/css/1d6ffc1605392f63.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://_N_E/src/pages/gallery.module.css"],"names":[],"mappings":"AAAA,4BACE,qBACF,CAEA,sBACE,uBAAgB,CAAhB,eAAgB,CAChB,KAAM,CACN,aAAc,CACd,YAAa,CACb,iBAAkB,CAClB,yBAA8B,CAC9B,SACF,CAEA,wBACE,aAAc,CACd,YAAa,CACb,UAAW,CACX,kBAA2B,CAC3B,wDACF,CAEA,qBACE,iBAAkB,CAClB,cAAe,CACf,iBAAkB,CAClB,eAAgB,CAChB,mBACF,CAEA,wBACE,aAAc,CACd,UAAW,CACX,WACF,CAEA,sBACE,iBAAkB,CAClB,WAAY,CACZ,QAAS,CACT,yBAA6B,CAC7B,oBAAqB,CACrB,kBAAmB,CACnB,UAAW,CACX,yBAA8B,CAC9B,gBAAiB,CACjB,oBAAqB,CACrB,UACF,CAEA,iDACE,SACF","file":"static/css/1d6ffc1605392f63.css","sourcesContent":[".GalleryPage {\n flex-direction: column;\n}\n\n.Tools {\n position: sticky;\n top: 0;\n flex: 0 0 auto;\n padding: 10px;\n text-align: center;\n background: rgba(0, 0, 0, 0.7);\n z-index: 2;\n}\n\n.Gallery {\n flex: 0 0 auto;\n display: grid;\n width: 100%;\n background: rgb(12, 31, 40);\n grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n}\n\n.Skin {\n position: relative;\n font-size: 12px;\n text-align: center;\n overflow: hidden;\n padding-bottom: 32px;\n}\n\n.Preview {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.Label {\n position: absolute;\n bottom: 16px;\n left: 50%;\n transform: translate(-50%, 0);\n display: inline-block;\n white-space: nowrap;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n padding: 3px 10px;\n border-radius: 9999px;\n opacity: 0.5;\n}\n\n.Skin:hover .Label {\n opacity: 1;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/css/ef1c21cd61d26e16.css b/docs/_next/static/css/ef1c21cd61d26e16.css deleted file mode 100644 index 8c477d7..0000000 --- a/docs/_next/static/css/ef1c21cd61d26e16.css +++ /dev/null @@ -1,2 +0,0 @@ -.gallery_GalleryPage__QyCLn{flex-direction:column}.gallery_Tools__COicv{position:-webkit-sticky;position:sticky;top:0;flex:0 0 auto;padding:10px;text-align:center;background:rgba(0,0,0,.8);z-index:2}.gallery_Gallery__ZMJE_{--column-count:1;flex:0 0 auto;display:grid;width:100%;grid-template-columns:repeat(var(--column-count),1fr)}.gallery_Skin__Ep_rb{position:relative;font-size:12px;text-align:center;overflow:hidden}.gallery_Preview__JGf2f{display:block;width:100%;height:auto}.gallery_Label__kJfDw{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:inline-block;white-space:nowrap;color:#fff;background:rgba(0,0,0,.5);padding:3px 10px;border-radius:9999px;opacity:.5}.gallery_Skin__Ep_rb:hover .gallery_Label__kJfDw{opacity:1} -/*# sourceMappingURL=ef1c21cd61d26e16.css.map*/ \ No newline at end of file diff --git a/docs/_next/static/css/ef1c21cd61d26e16.css.map b/docs/_next/static/css/ef1c21cd61d26e16.css.map deleted file mode 100644 index 50ef963..0000000 --- a/docs/_next/static/css/ef1c21cd61d26e16.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://_N_E/src/pages/gallery.module.css"],"names":[],"mappings":"AAAA,4BACE,qBACF,CAEA,sBACE,uBAAgB,CAAhB,eAAgB,CAChB,KAAM,CACN,aAAc,CACd,YAAa,CACb,iBAAkB,CAClB,yBAA8B,CAC9B,SACF,CAEA,wBACE,gBAAiB,CACjB,aAAc,CACd,YAAa,CACb,UAAW,CACX,qDACF,CAEA,qBACE,iBAAkB,CAClB,cAAe,CACf,iBAAkB,CAClB,eACF,CAEA,wBACE,aAAc,CACd,UAAW,CACX,WACF,CAEA,sBACE,iBAAkB,CAClB,WAAY,CACZ,QAAS,CACT,yBAA6B,CAC7B,oBAAqB,CACrB,kBAAmB,CACnB,UAAW,CACX,yBAA8B,CAC9B,gBAAiB,CACjB,oBAAqB,CACrB,UACF,CAEA,iDACE,SACF","file":"static/css/ef1c21cd61d26e16.css","sourcesContent":[".GalleryPage {\n flex-direction: column;\n}\n\n.Tools {\n position: sticky;\n top: 0;\n flex: 0 0 auto;\n padding: 10px;\n text-align: center;\n background: rgba(0, 0, 0, 0.8);\n z-index: 2;\n}\n\n.Gallery {\n --column-count: 1;\n flex: 0 0 auto;\n display: grid;\n width: 100%;\n grid-template-columns: repeat(var(--column-count), 1fr);\n}\n\n.Skin {\n position: relative;\n font-size: 12px;\n text-align: center;\n overflow: hidden;\n}\n\n.Preview {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.Label {\n position: absolute;\n bottom: 12px;\n left: 50%;\n transform: translate(-50%, 0);\n display: inline-block;\n white-space: nowrap;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n padding: 3px 10px;\n border-radius: 9999px;\n opacity: 0.5;\n}\n\n.Skin:hover .Label {\n opacity: 1;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/AK6DaIfgru64Qw1XA1DNi/_buildManifest.js b/docs/_next/static/iTIExd47iQzJbgmM1cgsw/_buildManifest.js similarity index 82% rename from docs/_next/static/AK6DaIfgru64Qw1XA1DNi/_buildManifest.js rename to docs/_next/static/iTIExd47iQzJbgmM1cgsw/_buildManifest.js index ce866bc..46f6807 100644 --- a/docs/_next/static/AK6DaIfgru64Qw1XA1DNi/_buildManifest.js +++ b/docs/_next/static/iTIExd47iQzJbgmM1cgsw/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/78e521c3-3739cc27b3254d35.js","static/chunks/95b64a6e-a0ff77d56afeed48.js","static/chunks/31664189-69d752d1129a4958.js","static/chunks/545f34e4-3e66c340444ca8b2.js","static/chunks/1bfc9850-b4ceccea4b74407c.js","static/chunks/d7eeaac4-d223ea230e13423c.js","static/chunks/f580fadb-2911e2fbf64aae5a.js","static/chunks/470-094a8f589946fc6b.js","static/chunks/pages/index-f57aecfcfef566e7.js"],"/_error":["static/chunks/pages/_error-54b9fcf45cb5bc62.js"],"/gallery":["static/css/ef1c21cd61d26e16.css","static/chunks/pages/gallery-fdcee2f9a64de949.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/78e521c3-3739cc27b3254d35.js","static/chunks/95b64a6e-a0ff77d56afeed48.js","static/chunks/31664189-69d752d1129a4958.js","static/chunks/545f34e4-3e66c340444ca8b2.js","static/chunks/1bfc9850-b4ceccea4b74407c.js","static/chunks/d7eeaac4-d223ea230e13423c.js","static/chunks/f580fadb-2911e2fbf64aae5a.js","static/chunks/470-094a8f589946fc6b.js","static/chunks/pages/index-f57aecfcfef566e7.js"],"/_error":["static/chunks/pages/_error-54b9fcf45cb5bc62.js"],"/gallery":["static/css/1d6ffc1605392f63.css","static/chunks/pages/gallery-6d56caca48c43555.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/AK6DaIfgru64Qw1XA1DNi/_ssgManifest.js b/docs/_next/static/iTIExd47iQzJbgmM1cgsw/_ssgManifest.js similarity index 100% rename from docs/_next/static/AK6DaIfgru64Qw1XA1DNi/_ssgManifest.js rename to docs/_next/static/iTIExd47iQzJbgmM1cgsw/_ssgManifest.js diff --git a/docs/gallery/index.html b/docs/gallery/index.html index ae53942..6003bc4 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 d45463a..9961aca 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.module.css b/src/pages/gallery.module.css index e1a63c6..52a7df2 100644 --- a/src/pages/gallery.module.css +++ b/src/pages/gallery.module.css @@ -8,16 +8,16 @@ flex: 0 0 auto; padding: 10px; text-align: center; - background: rgba(0, 0, 0, 0.8); + background: rgba(0, 0, 0, 0.7); z-index: 2; } .Gallery { - --column-count: 1; flex: 0 0 auto; display: grid; width: 100%; - grid-template-columns: repeat(var(--column-count), 1fr); + background: rgb(12, 31, 40); + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } .Skin { @@ -25,6 +25,7 @@ font-size: 12px; text-align: center; overflow: hidden; + padding-bottom: 32px; } .Preview { @@ -35,7 +36,7 @@ .Label { position: absolute; - bottom: 12px; + bottom: 16px; left: 50%; transform: translate(-50%, 0); display: inline-block; diff --git a/src/pages/gallery.tsx b/src/pages/gallery.tsx index 3ce5600..5273eeb 100644 --- a/src/pages/gallery.tsx +++ b/src/pages/gallery.tsx @@ -48,8 +48,8 @@ export default function GalleryPage() { src={`${baseManifestPath}/gallery/${encodeURIComponent( name )}.${actualModel}.webp`} - width={800} - height={1600} + width={680} + height={800} />
{name}