diff --git a/bun.lock b/bun.lock index 9f58547..7656254 100644 --- a/bun.lock +++ b/bun.lock @@ -5,6 +5,7 @@ "name": "kuma-archive", "dependencies": { "bootstrap": "^5.3.3", + "lucide-react": "^0.482.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-router": "^7.3.0", @@ -359,6 +360,8 @@ "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + "lucide-react": ["lucide-react@0.482.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-XM8PzHzSrg8ATmmO+fzf+JyYlVVdQnJjuyLDj2p4V2zEtcKeBNAqAoJIGFv1x2HSBa7kT8gpYUxwdQ0g7nypfw=="], + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], diff --git a/package.json b/package.json index 514e02a..b0122c2 100644 --- a/package.json +++ b/package.json @@ -4,17 +4,18 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", - "dev:server": "go run ./app.go daemon -d --api-only", - "dev:all": "bun run build && go run ./app.go daemon -d", - "build": "tsc -b && vite build", + "build:view": "tsc -b && vite build", "build:server": "go build -o kuma-archive", - "build:all": "bun run build && bun run build-server", + "build": "bun run build:view && bun run build:server", + "dev:view": "vite", + "dev:server": "go run ./app.go daemon -d --api-only", + "dev": "bun run build:view && go run ./app.go daemon -d", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "bootstrap": "^5.3.3", + "lucide-react": "^0.482.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-router": "^7.3.0", diff --git a/public/assets/index-EHS3EQtg.css b/public/assets/index-EHS3EQtg.css new file mode 100644 index 0000000..fbb1165 --- /dev/null +++ b/public/assets/index-EHS3EQtg.css @@ -0,0 +1 @@ +:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em rgba(100,108,255,.6666666667))}.logo.react:hover{filter:drop-shadow(0 0 2em rgba(97,218,251,.6666666667))}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888} diff --git a/public/assets/index-T1mLj9f8.js b/public/assets/index-T1mLj9f8.js new file mode 100644 index 0000000..021dd23 --- /dev/null +++ b/public/assets/index-T1mLj9f8.js @@ -0,0 +1,60 @@ +(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))r(h);new MutationObserver(h=>{for(const S of h)if(S.type==="childList")for(const A of S.addedNodes)A.tagName==="LINK"&&A.rel==="modulepreload"&&r(A)}).observe(document,{childList:!0,subtree:!0});function o(h){const S={};return h.integrity&&(S.integrity=h.integrity),h.referrerPolicy&&(S.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?S.credentials="include":h.crossOrigin==="anonymous"?S.credentials="omit":S.credentials="same-origin",S}function r(h){if(h.ep)return;h.ep=!0;const S=o(h);fetch(h.href,S)}})();function p0(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var vc={exports:{}},Uu={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var md;function b0(){if(md)return Uu;md=1;var f=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function o(r,h,S){var A=null;if(S!==void 0&&(A=""+S),h.key!==void 0&&(A=""+h.key),"key"in h){S={};for(var z in h)z!=="key"&&(S[z]=h[z])}else S=h;return h=S.ref,{$$typeof:f,type:r,key:A,ref:h!==void 0?h:null,props:S}}return Uu.Fragment=s,Uu.jsx=o,Uu.jsxs=o,Uu}var vd;function E0(){return vd||(vd=1,vc.exports=b0()),vc.exports}var Wt=E0(),yc={exports:{}},tt={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var yd;function T0(){if(yd)return tt;yd=1;var f=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),A=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),N=Symbol.iterator;function H(v){return v===null||typeof v!="object"?null:(v=N&&v[N]||v["@@iterator"],typeof v=="function"?v:null)}var q={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,V={};function L(v,x,k){this.props=v,this.context=x,this.refs=V,this.updater=k||q}L.prototype.isReactComponent={},L.prototype.setState=function(v,x){if(typeof v!="object"&&typeof v!="function"&&v!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,v,x,"setState")},L.prototype.forceUpdate=function(v){this.updater.enqueueForceUpdate(this,v,"forceUpdate")};function B(){}B.prototype=L.prototype;function K(v,x,k){this.props=v,this.context=x,this.refs=V,this.updater=k||q}var Q=K.prototype=new B;Q.constructor=K,C(Q,L.prototype),Q.isPureReactComponent=!0;var ot=Array.isArray,F={H:null,A:null,T:null,S:null},Ot=Object.prototype.hasOwnProperty;function Lt(v,x,k,J,G,ft){return k=ft.ref,{$$typeof:f,type:v,key:x,ref:k!==void 0?k:null,props:ft}}function Qt(v,x){return Lt(v.type,x,void 0,void 0,void 0,v.props)}function X(v){return typeof v=="object"&&v!==null&&v.$$typeof===f}function et(v){var x={"=":"=0",":":"=2"};return"$"+v.replace(/[=:]/g,function(k){return x[k]})}var Kt=/\/+/g;function Ne(v,x){return typeof v=="object"&&v!==null&&v.key!=null?et(""+v.key):x.toString(36)}function Re(){}function Be(v){switch(v.status){case"fulfilled":return v.value;case"rejected":throw v.reason;default:switch(typeof v.status=="string"?v.then(Re,Re):(v.status="pending",v.then(function(x){v.status==="pending"&&(v.status="fulfilled",v.value=x)},function(x){v.status==="pending"&&(v.status="rejected",v.reason=x)})),v.status){case"fulfilled":return v.value;case"rejected":throw v.reason}}throw v}function Ft(v,x,k,J,G){var ft=typeof v;(ft==="undefined"||ft==="boolean")&&(v=null);var lt=!1;if(v===null)lt=!0;else switch(ft){case"bigint":case"string":case"number":lt=!0;break;case"object":switch(v.$$typeof){case f:case s:lt=!0;break;case M:return lt=v._init,Ft(lt(v._payload),x,k,J,G)}}if(lt)return G=G(v),lt=J===""?"."+Ne(v,0):J,ot(G)?(k="",lt!=null&&(k=lt.replace(Kt,"$&/")+"/"),Ft(G,x,k,"",function(_t){return _t})):G!=null&&(X(G)&&(G=Qt(G,k+(G.key==null||v&&v.key===G.key?"":(""+G.key).replace(Kt,"$&/")+"/")+lt)),x.push(G)),1;lt=0;var Jt=J===""?".":J+":";if(ot(v))for(var dt=0;dt>>1,v=Y[yt];if(0>>1;yth(J,W))Gh(ft,J)?(Y[yt]=ft,Y[G]=W,yt=G):(Y[yt]=J,Y[k]=W,yt=k);else if(Gh(ft,W))Y[yt]=ft,Y[G]=W,yt=G;else break t}}return I}function h(Y,I){var W=Y.sortIndex-I.sortIndex;return W!==0?W:Y.id-I.id}if(f.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var S=performance;f.unstable_now=function(){return S.now()}}else{var A=Date,z=A.now();f.unstable_now=function(){return A.now()-z}}var p=[],m=[],M=1,N=null,H=3,q=!1,C=!1,V=!1,L=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,K=typeof setImmediate<"u"?setImmediate:null;function Q(Y){for(var I=o(m);I!==null;){if(I.callback===null)r(m);else if(I.startTime<=Y)r(m),I.sortIndex=I.expirationTime,s(p,I);else break;I=o(m)}}function ot(Y){if(V=!1,Q(Y),!C)if(o(p)!==null)C=!0,Be();else{var I=o(m);I!==null&&Ft(ot,I.startTime-Y)}}var F=!1,Ot=-1,Lt=5,Qt=-1;function X(){return!(f.unstable_now()-QtY&&X());){var yt=N.callback;if(typeof yt=="function"){N.callback=null,H=N.priorityLevel;var v=yt(N.expirationTime<=Y);if(Y=f.unstable_now(),typeof v=="function"){N.callback=v,Q(Y),I=!0;break e}N===o(p)&&r(p),Q(Y)}else r(p);N=o(p)}if(N!==null)I=!0;else{var x=o(m);x!==null&&Ft(ot,x.startTime-Y),I=!1}}break t}finally{N=null,H=W,q=!1}I=void 0}}finally{I?Kt():F=!1}}}var Kt;if(typeof K=="function")Kt=function(){K(et)};else if(typeof MessageChannel<"u"){var Ne=new MessageChannel,Re=Ne.port2;Ne.port1.onmessage=et,Kt=function(){Re.postMessage(null)}}else Kt=function(){L(et,0)};function Be(){F||(F=!0,Kt())}function Ft(Y,I){Ot=L(function(){Y(f.unstable_now())},I)}f.unstable_IdlePriority=5,f.unstable_ImmediatePriority=1,f.unstable_LowPriority=4,f.unstable_NormalPriority=3,f.unstable_Profiling=null,f.unstable_UserBlockingPriority=2,f.unstable_cancelCallback=function(Y){Y.callback=null},f.unstable_continueExecution=function(){C||q||(C=!0,Be())},f.unstable_forceFrameRate=function(Y){0>Y||125yt?(Y.sortIndex=W,s(m,Y),o(p)===null&&Y===o(m)&&(V?(B(Ot),Ot=-1):V=!0,Ft(ot,W-yt))):(Y.sortIndex=v,s(p,Y),C||q||(C=!0,Be())),Y},f.unstable_shouldYield=X,f.unstable_wrapCallback=function(Y){var I=H;return function(){var W=H;H=I;try{return Y.apply(this,arguments)}finally{H=W}}}}(pc)),pc}var bd;function R0(){return bd||(bd=1,Sc.exports=A0()),Sc.exports}var bc={exports:{}},wt={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ed;function z0(){if(Ed)return wt;Ed=1;var f=zc();function s(p){var m="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(f)}catch(s){console.error(s)}}return f(),bc.exports=z0(),bc.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ad;function D0(){if(Ad)return Hu;Ad=1;var f=R0(),s=zc(),o=O0();function r(t){var e="https://react.dev/errors/"+t;if(1)":-1u||d[a]!==g[u]){var O=` +`+d[a].replace(" at new "," at ");return t.displayName&&O.includes("")&&(O=O.replace("",t.displayName)),O}while(1<=a&&0<=u);break}}}finally{Be=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?Re(l):""}function Y(t){switch(t.tag){case 26:case 27:case 5:return Re(t.type);case 16:return Re("Lazy");case 13:return Re("Suspense");case 19:return Re("SuspenseList");case 0:case 15:return t=Ft(t.type,!1),t;case 11:return t=Ft(t.type.render,!1),t;case 1:return t=Ft(t.type,!0),t;default:return""}}function I(t){try{var e="";do e+=Y(t),t=t.return;while(t);return e}catch(l){return` +Error generating stack: `+l.message+` +`+l.stack}}function W(t){var e=t,l=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(l=e.return),t=e.return;while(t)}return e.tag===3?l:null}function yt(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function v(t){if(W(t)!==t)throw Error(r(188))}function x(t){var e=t.alternate;if(!e){if(e=W(t),e===null)throw Error(r(188));return e!==t?null:t}for(var l=t,a=e;;){var u=l.return;if(u===null)break;var n=u.alternate;if(n===null){if(a=u.return,a!==null){l=a;continue}break}if(u.child===n.child){for(n=u.child;n;){if(n===l)return v(u),t;if(n===a)return v(u),e;n=n.sibling}throw Error(r(188))}if(l.return!==a.return)l=u,a=n;else{for(var i=!1,c=u.child;c;){if(c===l){i=!0,l=u,a=n;break}if(c===a){i=!0,a=u,l=n;break}c=c.sibling}if(!i){for(c=n.child;c;){if(c===l){i=!0,l=n,a=u;break}if(c===a){i=!0,a=n,l=u;break}c=c.sibling}if(!i)throw Error(r(189))}}if(l.alternate!==a)throw Error(r(190))}if(l.tag!==3)throw Error(r(188));return l.stateNode.current===l?t:e}function k(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=k(t),e!==null)return e;t=t.sibling}return null}var J=Array.isArray,G=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ft={pending:!1,data:null,method:null,action:null},lt=[],Jt=-1;function dt(t){return{current:t}}function _t(t){0>Jt||(t.current=lt[Jt],lt[Jt]=null,Jt--)}function pt(t,e){Jt++,lt[Jt]=t.current,t.current=e}var ze=dt(null),xa=dt(null),ll=dt(null),Lu=dt(null);function Gu(t,e){switch(pt(ll,e),pt(xa,t),pt(ze,null),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)&&(e=e.namespaceURI)?Zo(e):0;break;default:if(t=t===8?e.parentNode:e,e=t.tagName,t=t.namespaceURI)t=Zo(t),e=Vo(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}_t(ze),pt(ze,e)}function kl(){_t(ze),_t(xa),_t(ll)}function ni(t){t.memoizedState!==null&&pt(Lu,t);var e=ze.current,l=Vo(e,t.type);e!==l&&(pt(xa,t),pt(ze,l))}function ju(t){xa.current===t&&(_t(ze),_t(xa)),Lu.current===t&&(_t(Lu),zu._currentValue=ft)}var ii=Object.prototype.hasOwnProperty,fi=f.unstable_scheduleCallback,ci=f.unstable_cancelCallback,Fd=f.unstable_shouldYield,Pd=f.unstable_requestPaint,Oe=f.unstable_now,Id=f.unstable_getCurrentPriorityLevel,Hc=f.unstable_ImmediatePriority,Cc=f.unstable_UserBlockingPriority,Xu=f.unstable_NormalPriority,th=f.unstable_LowPriority,xc=f.unstable_IdlePriority,eh=f.log,lh=f.unstable_setDisableYieldValue,Na=null,ee=null;function ah(t){if(ee&&typeof ee.onCommitFiberRoot=="function")try{ee.onCommitFiberRoot(Na,t,void 0,(t.current.flags&128)===128)}catch{}}function al(t){if(typeof eh=="function"&&lh(t),ee&&typeof ee.setStrictMode=="function")try{ee.setStrictMode(Na,t)}catch{}}var le=Math.clz32?Math.clz32:ih,uh=Math.log,nh=Math.LN2;function ih(t){return t>>>=0,t===0?32:31-(uh(t)/nh|0)|0}var Qu=128,Zu=4194304;function Dl(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Vu(t,e){var l=t.pendingLanes;if(l===0)return 0;var a=0,u=t.suspendedLanes,n=t.pingedLanes,i=t.warmLanes;t=t.finishedLanes!==0;var c=l&134217727;return c!==0?(l=c&~u,l!==0?a=Dl(l):(n&=c,n!==0?a=Dl(n):t||(i=c&~i,i!==0&&(a=Dl(i))))):(c=l&~u,c!==0?a=Dl(c):n!==0?a=Dl(n):t||(i=l&~i,i!==0&&(a=Dl(i)))),a===0?0:e!==0&&e!==a&&(e&u)===0&&(u=a&-a,i=e&-e,u>=i||u===32&&(i&4194176)!==0)?e:a}function Ba(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function fh(t,e){switch(t){case 1:case 2:case 4:case 8:return e+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Nc(){var t=Qu;return Qu<<=1,(Qu&4194176)===0&&(Qu=128),t}function Bc(){var t=Zu;return Zu<<=1,(Zu&62914560)===0&&(Zu=4194304),t}function ri(t){for(var e=[],l=0;31>l;l++)e.push(t);return e}function qa(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function ch(t,e,l,a,u,n){var i=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0;var c=t.entanglements,d=t.expirationTimes,g=t.hiddenUpdates;for(l=i&~l;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),dh=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Zc={},Vc={};function hh(t){return ii.call(Vc,t)?!0:ii.call(Zc,t)?!1:dh.test(t)?Vc[t]=!0:(Zc[t]=!0,!1)}function wu(t,e,l){if(hh(e))if(l===null)t.removeAttribute(e);else{switch(typeof l){case"undefined":case"function":case"symbol":t.removeAttribute(e);return;case"boolean":var a=e.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){t.removeAttribute(e);return}}t.setAttribute(e,""+l)}}function Ku(t,e,l){if(l===null)t.removeAttribute(e);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(e);return}t.setAttribute(e,""+l)}}function Ye(t,e,l,a){if(a===null)t.removeAttribute(l);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(l);return}t.setAttributeNS(e,l,""+a)}}function ce(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function wc(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function mh(t){var e=wc(t)?"checked":"value",l=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),a=""+t[e];if(!t.hasOwnProperty(e)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var u=l.get,n=l.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return u.call(this)},set:function(i){a=""+i,n.call(this,i)}}),Object.defineProperty(t,e,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(i){a=""+i},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Ju(t){t._valueTracker||(t._valueTracker=mh(t))}function Kc(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var l=e.getValue(),a="";return t&&(a=wc(t)?t.checked?"true":"false":t.value),t=a,t!==l?(e.setValue(t),!0):!1}function $u(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var vh=/[\n"\\]/g;function re(t){return t.replace(vh,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function di(t,e,l,a,u,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),e!=null?i==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+ce(e)):t.value!==""+ce(e)&&(t.value=""+ce(e)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),e!=null?hi(t,i,ce(e)):l!=null?hi(t,i,ce(l)):a!=null&&t.removeAttribute("value"),u==null&&n!=null&&(t.defaultChecked=!!n),u!=null&&(t.checked=u&&typeof u!="function"&&typeof u!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+ce(c):t.removeAttribute("name")}function Jc(t,e,l,a,u,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),e!=null||l!=null){if(!(n!=="submit"&&n!=="reset"||e!=null))return;l=l!=null?""+ce(l):"",e=e!=null?""+ce(e):l,c||e===t.value||(t.value=e),t.defaultValue=e}a=a??u,a=typeof a!="function"&&typeof a!="symbol"&&!!a,t.checked=c?t.checked:!!a,t.defaultChecked=!!a,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i)}function hi(t,e,l){e==="number"&&$u(t.ownerDocument)===t||t.defaultValue===""+l||(t.defaultValue=""+l)}function ta(t,e,l,a){if(t=t.options,e){e={};for(var u=0;u=Za),ir=" ",fr=!1;function cr(t,e){switch(t){case"keyup":return Zh.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function rr(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ua=!1;function wh(t,e){switch(t){case"compositionend":return rr(e);case"keypress":return e.which!==32?null:(fr=!0,ir);case"textInput":return t=e.data,t===ir&&fr?null:t;default:return null}}function Kh(t,e){if(ua)return t==="compositionend"||!Ri&&cr(t,e)?(t=tr(),Wu=pi=nl=null,ua=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:l,offset:e-t};t=a}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=gr(l)}}function pr(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?pr(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function br(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=$u(t.document);e instanceof t.HTMLIFrameElement;){try{var l=typeof e.contentWindow.location.href=="string"}catch{l=!1}if(l)t=e.contentWindow;else break;e=$u(t.document)}return e}function Di(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function tm(t,e){var l=br(e);e=t.focusedElem;var a=t.selectionRange;if(l!==e&&e&&e.ownerDocument&&pr(e.ownerDocument.documentElement,e)){if(a!==null&&Di(e)){if(t=a.start,l=a.end,l===void 0&&(l=t),"selectionStart"in e)e.selectionStart=t,e.selectionEnd=Math.min(l,e.value.length);else if(l=(t=e.ownerDocument||document)&&t.defaultView||window,l.getSelection){l=l.getSelection();var u=e.textContent.length,n=Math.min(a.start,u);a=a.end===void 0?n:Math.min(a.end,u),!l.extend&&n>a&&(u=a,a=n,n=u),u=Sr(e,n);var i=Sr(e,a);u&&i&&(l.rangeCount!==1||l.anchorNode!==u.node||l.anchorOffset!==u.offset||l.focusNode!==i.node||l.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(u.node,u.offset),l.removeAllRanges(),n>a?(l.addRange(t),l.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),l.addRange(t)))}}for(t=[],l=e;l=l.parentNode;)l.nodeType===1&&t.push({element:l,left:l.scrollLeft,top:l.scrollTop});for(typeof e.focus=="function"&&e.focus(),e=0;e=document.documentMode,na=null,_i=null,Ja=null,Mi=!1;function Er(t,e,l){var a=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Mi||na==null||na!==$u(a)||(a=na,"selectionStart"in a&&Di(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Ja&&Ka(Ja,a)||(Ja=a,a=Ln(_i,"onSelect"),0>=i,u-=i,Le=1<<32-le(e)+u|l<$?(Yt=w,w=null):Yt=w.sibling;var st=T(b,w,E[$],D);if(st===null){w===null&&(w=Yt);break}t&&w&&st.alternate===null&&e(b,w),y=n(st,y,$),ut===null?j=st:ut.sibling=st,ut=st,w=Yt}if($===E.length)return l(b,w),rt&&Nl(b,$),j;if(w===null){for(;$$?(Yt=w,w=null):Yt=w.sibling;var zl=T(b,w,st.value,D);if(zl===null){w===null&&(w=Yt);break}t&&w&&zl.alternate===null&&e(b,w),y=n(zl,y,$),ut===null?j=zl:ut.sibling=zl,ut=zl,w=Yt}if(st.done)return l(b,w),rt&&Nl(b,$),j;if(w===null){for(;!st.done;$++,st=E.next())st=U(b,st.value,D),st!==null&&(y=n(st,y,$),ut===null?j=st:ut.sibling=st,ut=st);return rt&&Nl(b,$),j}for(w=a(w);!st.done;$++,st=E.next())st=R(w,b,$,st.value,D),st!==null&&(t&&st.alternate!==null&&w.delete(st.key===null?$:st.key),y=n(st,y,$),ut===null?j=st:ut.sibling=st,ut=st);return t&&w.forEach(function(S0){return e(b,S0)}),rt&&Nl(b,$),j}function zt(b,y,E,D){if(typeof E=="object"&&E!==null&&E.type===p&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case A:t:{for(var j=E.key;y!==null;){if(y.key===j){if(j=E.type,j===p){if(y.tag===7){l(b,y.sibling),D=u(y,E.props.children),D.return=b,b=D;break t}}else if(y.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===K&&Lr(j)===y.type){l(b,y.sibling),D=u(y,E.props),tu(D,E),D.return=b,b=D;break t}l(b,y);break}else e(b,y);y=y.sibling}E.type===p?(D=wl(E.props.children,b.mode,D,E.key),D.return=b,b=D):(D=_n(E.type,E.key,E.props,null,b.mode,D),tu(D,E),D.return=b,b=D)}return i(b);case z:t:{for(j=E.key;y!==null;){if(y.key===j)if(y.tag===4&&y.stateNode.containerInfo===E.containerInfo&&y.stateNode.implementation===E.implementation){l(b,y.sibling),D=u(y,E.children||[]),D.return=b,b=D;break t}else{l(b,y);break}else e(b,y);y=y.sibling}D=Cf(E,b.mode,D),D.return=b,b=D}return i(b);case K:return j=E._init,E=j(E._payload),zt(b,y,E,D)}if(J(E))return Z(b,y,E,D);if(Ot(E)){if(j=Ot(E),typeof j!="function")throw Error(r(150));return E=j.call(E),P(b,y,E,D)}if(typeof E.then=="function")return zt(b,y,rn(E),D);if(E.$$typeof===q)return zt(b,y,zn(b,E),D);sn(b,E)}return typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint"?(E=""+E,y!==null&&y.tag===6?(l(b,y.sibling),D=u(y,E),D.return=b,b=D):(l(b,y),D=Hf(E,b.mode,D),D.return=b,b=D),i(b)):l(b,y)}return function(b,y,E,D){try{Ia=0;var j=zt(b,y,E,D);return oa=null,j}catch(w){if(w===Fa)throw w;var ut=ge(29,w,null,b.mode);return ut.lanes=D,ut.return=b,ut}finally{}}}var ql=Gr(!0),jr=Gr(!1),da=dt(null),on=dt(0);function Xr(t,e){t=We,pt(on,t),pt(da,e),We=t|e.baseLanes}function Yi(){pt(on,We),pt(da,da.current)}function Li(){We=on.current,_t(da),_t(on)}var me=dt(null),_e=null;function fl(t){var e=t.alternate;pt(Ct,Ct.current&1),pt(me,t),_e===null&&(e===null||da.current!==null||e.memoizedState!==null)&&(_e=t)}function Qr(t){if(t.tag===22){if(pt(Ct,Ct.current),pt(me,t),_e===null){var e=t.alternate;e!==null&&e.memoizedState!==null&&(_e=t)}}else cl()}function cl(){pt(Ct,Ct.current),pt(me,me.current)}function je(t){_t(me),_e===t&&(_e=null),_t(Ct)}var Ct=dt(0);function dn(t){for(var e=t;e!==null;){if(e.tag===13){var l=e.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||l.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var nm=typeof AbortController<"u"?AbortController:function(){var t=[],e=this.signal={aborted:!1,addEventListener:function(l,a){t.push(a)}};this.abort=function(){e.aborted=!0,t.forEach(function(l){return l()})}},im=f.unstable_scheduleCallback,fm=f.unstable_NormalPriority,xt={$$typeof:q,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Gi(){return{controller:new nm,data:new Map,refCount:0}}function eu(t){t.refCount--,t.refCount===0&&im(fm,function(){t.controller.abort()})}var lu=null,ji=0,ha=0,ma=null;function cm(t,e){if(lu===null){var l=lu=[];ji=0,ha=Jf(),ma={status:"pending",value:void 0,then:function(a){l.push(a)}}}return ji++,e.then(Zr,Zr),e}function Zr(){if(--ji===0&&lu!==null){ma!==null&&(ma.status="fulfilled");var t=lu;lu=null,ha=0,ma=null;for(var e=0;en?n:8;var i=X.T,c={};X.T=c,af(t,!1,e,l);try{var d=u(),g=X.S;if(g!==null&&g(c,d),d!==null&&typeof d=="object"&&typeof d.then=="function"){var O=rm(d,a);nu(t,e,O,fe(t))}else nu(t,e,a,fe(t))}catch(U){nu(t,e,{then:function(){},status:"rejected",reason:U},fe())}finally{G.p=n,X.T=i}}function mm(){}function ef(t,e,l,a){if(t.tag!==5)throw Error(r(476));var u=bs(t).queue;ps(t,u,e,ft,l===null?mm:function(){return Es(t),l(a)})}function bs(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:ft,baseState:ft,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xe,lastRenderedState:ft},next:null};var l={};return e.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xe,lastRenderedState:l},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function Es(t){var e=bs(t).next.queue;nu(t,e,{},fe())}function lf(){return Vt(zu)}function Ts(){return Ut().memoizedState}function As(){return Ut().memoizedState}function vm(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var l=fe();t=hl(l);var a=ml(e,t,l);a!==null&&(kt(a,e,l),cu(a,e,l)),e={cache:Gi()},t.payload=e;return}e=e.return}}function ym(t,e,l){var a=fe();l={lane:a,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},En(t)?zs(e,l):(l=Ci(t,e,l,a),l!==null&&(kt(l,t,a),Os(l,e,a)))}function Rs(t,e,l){var a=fe();nu(t,e,l,a)}function nu(t,e,l,a){var u={lane:a,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(En(t))zs(e,u);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=e.lastRenderedReducer,n!==null))try{var i=e.lastRenderedState,c=n(i,l);if(u.hasEagerState=!0,u.eagerState=c,ae(c,i))return an(t,e,u,0),gt===null&&ln(),!1}catch{}finally{}if(l=Ci(t,e,u,a),l!==null)return kt(l,t,a),Os(l,e,a),!0}return!1}function af(t,e,l,a){if(a={lane:2,revertLane:Jf(),action:a,hasEagerState:!1,eagerState:null,next:null},En(t)){if(e)throw Error(r(479))}else e=Ci(t,l,a,2),e!==null&&kt(e,t,2)}function En(t){var e=t.alternate;return t===at||e!==null&&e===at}function zs(t,e){va=mn=!0;var l=t.pending;l===null?e.next=e:(e.next=l.next,l.next=e),t.pending=e}function Os(t,e,l){if((l&4194176)!==0){var a=e.lanes;a&=t.pendingLanes,l|=a,e.lanes=l,Yc(t,l)}}var Me={readContext:Vt,use:gn,useCallback:Dt,useContext:Dt,useEffect:Dt,useImperativeHandle:Dt,useLayoutEffect:Dt,useInsertionEffect:Dt,useMemo:Dt,useReducer:Dt,useRef:Dt,useState:Dt,useDebugValue:Dt,useDeferredValue:Dt,useTransition:Dt,useSyncExternalStore:Dt,useId:Dt};Me.useCacheRefresh=Dt,Me.useMemoCache=Dt,Me.useHostTransitionStatus=Dt,Me.useFormState=Dt,Me.useActionState=Dt,Me.useOptimistic=Dt;var Gl={readContext:Vt,use:gn,useCallback:function(t,e){return te().memoizedState=[t,e===void 0?null:e],t},useContext:Vt,useEffect:os,useImperativeHandle:function(t,e,l){l=l!=null?l.concat([t]):null,pn(4194308,4,ms.bind(null,e,t),l)},useLayoutEffect:function(t,e){return pn(4194308,4,t,e)},useInsertionEffect:function(t,e){pn(4,2,t,e)},useMemo:function(t,e){var l=te();e=e===void 0?null:e;var a=t();if(Ll){al(!0);try{t()}finally{al(!1)}}return l.memoizedState=[a,e],a},useReducer:function(t,e,l){var a=te();if(l!==void 0){var u=l(e);if(Ll){al(!0);try{l(e)}finally{al(!1)}}}else u=e;return a.memoizedState=a.baseState=u,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:u},a.queue=t,t=t.dispatch=ym.bind(null,at,t),[a.memoizedState,t]},useRef:function(t){var e=te();return t={current:t},e.memoizedState=t},useState:function(t){t=Wi(t);var e=t.queue,l=Rs.bind(null,at,e);return e.dispatch=l,[t.memoizedState,l]},useDebugValue:Ii,useDeferredValue:function(t,e){var l=te();return tf(l,t,e)},useTransition:function(){var t=Wi(!1);return t=ps.bind(null,at,t.queue,!0,!1),te().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,l){var a=at,u=te();if(rt){if(l===void 0)throw Error(r(407));l=l()}else{if(l=e(),gt===null)throw Error(r(349));(ct&60)!==0||kr(a,e,l)}u.memoizedState=l;var n={value:l,getSnapshot:e};return u.queue=n,os(Fr.bind(null,a,n,t),[t]),a.flags|=2048,ga(9,Wr.bind(null,a,n,l,e),{destroy:void 0},null),l},useId:function(){var t=te(),e=gt.identifierPrefix;if(rt){var l=Ge,a=Le;l=(a&~(1<<32-le(a)-1)).toString(32)+l,e=":"+e+"R"+l,l=vn++,0 title"))),Xt(n,a,l),n[Zt]=t,Nt(n),a=n;break t;case"link":var i=td("link","href",u).get(a+(l.href||""));if(i){for(var c=0;c<\/script>",t=t.removeChild(t.firstChild);break;case"select":t=typeof a.is=="string"?u.createElement("select",{is:a.is}):u.createElement("select"),a.multiple?t.multiple=!0:a.size&&(t.size=a.size);break;default:t=typeof a.is=="string"?u.createElement(l,{is:a.is}):u.createElement(l)}}t[Zt]=e,t[Pt]=a;t:for(u=e.child;u!==null;){if(u.tag===5||u.tag===6)t.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===e)break t;for(;u.sibling===null;){if(u.return===null||u.return===e)break t;u=u.return}u.sibling.return=u.return,u=u.sibling}e.stateNode=t;t:switch(Xt(t,l,a),l){case"button":case"input":case"select":case"textarea":t=!!a.autoFocus;break t;case"img":t=!0;break t;default:t=!1}t&&$e(e)}}return bt(e),e.flags&=-16777217,null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==a&&$e(e);else{if(typeof a!="string"&&e.stateNode===null)throw Error(r(166));if(t=ll.current,$a(e)){if(t=e.stateNode,l=e.memoizedProps,a=null,u=$t,u!==null)switch(u.tag){case 27:case 5:a=u.memoizedProps}t[Zt]=e,t=!!(t.nodeValue===l||a!==null&&a.suppressHydrationWarning===!0||Qo(t.nodeValue,l)),t||Bl(e)}else t=jn(t).createTextNode(a),t[Zt]=e,e.stateNode=t}return bt(e),null;case 13:if(a=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(u=$a(e),a!==null&&a.dehydrated!==null){if(t===null){if(!u)throw Error(r(318));if(u=e.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(r(317));u[Zt]=e}else ka(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;bt(e),u=!1}else Ee!==null&&(jf(Ee),Ee=null),u=!0;if(!u)return e.flags&256?(je(e),e):(je(e),null)}if(je(e),(e.flags&128)!==0)return e.lanes=l,e;if(l=a!==null,t=t!==null&&t.memoizedState!==null,l){a=e.child,u=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(u=a.alternate.memoizedState.cachePool.pool);var n=null;a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==u&&(a.flags|=2048)}return l!==t&&l&&(e.child.flags|=8192),Mn(e,e.updateQueue),bt(e),null;case 4:return kl(),t===null&&Ff(e.stateNode.containerInfo),bt(e),null;case 10:return Ve(e.type),bt(e),null;case 19:if(_t(Ct),u=e.memoizedState,u===null)return bt(e),null;if(a=(e.flags&128)!==0,n=u.rendering,n===null)if(a)vu(u,!1);else{if(Rt!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(n=dn(t),n!==null){for(e.flags|=128,vu(u,!1),t=n.updateQueue,e.updateQueue=t,Mn(e,t),e.subtreeFlags=0,t=l,l=e.child;l!==null;)yo(l,t),l=l.sibling;return pt(Ct,Ct.current&1|2),e.child}t=t.sibling}u.tail!==null&&Oe()>Un&&(e.flags|=128,a=!0,vu(u,!1),e.lanes=4194304)}else{if(!a)if(t=dn(n),t!==null){if(e.flags|=128,a=!0,t=t.updateQueue,e.updateQueue=t,Mn(e,t),vu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!rt)return bt(e),null}else 2*Oe()-u.renderingStartTime>Un&&l!==536870912&&(e.flags|=128,a=!0,vu(u,!1),e.lanes=4194304);u.isBackwards?(n.sibling=e.child,e.child=n):(t=u.last,t!==null?t.sibling=n:e.child=n,u.last=n)}return u.tail!==null?(e=u.tail,u.rendering=e,u.tail=e.sibling,u.renderingStartTime=Oe(),e.sibling=null,t=Ct.current,pt(Ct,a?t&1|2:t&1),e):(bt(e),null);case 22:case 23:return je(e),Li(),a=e.memoizedState!==null,t!==null?t.memoizedState!==null!==a&&(e.flags|=8192):a&&(e.flags|=8192),a?(l&536870912)!==0&&(e.flags&128)===0&&(bt(e),e.subtreeFlags&6&&(e.flags|=8192)):bt(e),l=e.updateQueue,l!==null&&Mn(e,l.retryQueue),l=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),a=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),a!==l&&(e.flags|=2048),t!==null&&_t(Yl),null;case 24:return l=null,t!==null&&(l=t.memoizedState.cache),e.memoizedState.cache!==l&&(e.flags|=2048),Ve(xt),bt(e),null;case 25:return null}throw Error(r(156,e.tag))}function Am(t,e){switch(Ni(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ve(xt),kl(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return ju(e),null;case 13:if(je(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(r(340));ka()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _t(Ct),null;case 4:return kl(),null;case 10:return Ve(e.type),null;case 22:case 23:return je(e),Li(),t!==null&&_t(Yl),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return Ve(xt),null;case 25:return null;default:return null}}function po(t,e){switch(Ni(e),e.tag){case 3:Ve(xt),kl();break;case 26:case 27:case 5:ju(e);break;case 4:kl();break;case 13:je(e);break;case 19:_t(Ct);break;case 10:Ve(e.type);break;case 22:case 23:je(e),Li(),t!==null&&_t(Yl);break;case 24:Ve(xt)}}var Rm={getCacheForType:function(t){var e=Vt(xt),l=e.data.get(t);return l===void 0&&(l=t(),e.data.set(t,l)),l}},zm=typeof WeakMap=="function"?WeakMap:Map,Et=0,gt=null,nt=null,ct=0,St=0,ie=null,ke=!1,Ea=!1,xf=!1,We=0,Rt=0,pl=0,Kl=0,Nf=0,Se=0,Ta=0,yu=null,Ue=null,Bf=!1,qf=0,Un=1/0,Hn=null,bl=null,Cn=!1,Jl=null,gu=0,Yf=0,Lf=null,Su=0,Gf=null;function fe(){if((Et&2)!==0&&ct!==0)return ct&-ct;if(X.T!==null){var t=ha;return t!==0?t:Jf()}return Gc()}function bo(){Se===0&&(Se=(ct&536870912)===0||rt?Nc():536870912);var t=me.current;return t!==null&&(t.flags|=32),Se}function kt(t,e,l){(t===gt&&St===2||t.cancelPendingCommit!==null)&&(Aa(t,0),Fe(t,ct,Se,!1)),qa(t,l),((Et&2)===0||t!==gt)&&(t===gt&&((Et&2)===0&&(Kl|=l),Rt===4&&Fe(t,ct,Se,!1)),He(t))}function Eo(t,e,l){if((Et&6)!==0)throw Error(r(327));var a=!l&&(e&60)===0&&(e&t.expiredLanes)===0||Ba(t,e),u=a?_m(t,e):Zf(t,e,!0),n=a;do{if(u===0){Ea&&!a&&Fe(t,e,0,!1);break}else if(u===6)Fe(t,e,0,!ke);else{if(l=t.current.alternate,n&&!Om(l)){u=Zf(t,e,!1),n=!1;continue}if(u===2){if(n=e,t.errorRecoveryDisabledLanes&n)var i=0;else i=t.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){e=i;t:{var c=t;u=yu;var d=c.current.memoizedState.isDehydrated;if(d&&(Aa(c,i).flags|=256),i=Zf(c,i,!1),i!==2){if(xf&&!d){c.errorRecoveryDisabledLanes|=n,Kl|=n,u=4;break t}n=Ue,Ue=u,n!==null&&jf(n)}u=i}if(n=!1,u!==2)continue}}if(u===1){Aa(t,0),Fe(t,e,0,!0);break}t:{switch(a=t,u){case 0:case 1:throw Error(r(345));case 4:if((e&4194176)===e){Fe(a,e,Se,!ke);break t}break;case 2:Ue=null;break;case 3:case 5:break;default:throw Error(r(329))}if(a.finishedWork=l,a.finishedLanes=e,(e&62914560)===e&&(n=qf+300-Oe(),10l?32:l,X.T=null,Jl===null)var n=!1;else{l=Lf,Lf=null;var i=Jl,c=gu;if(Jl=null,gu=0,(Et&6)!==0)throw Error(r(331));var d=Et;if(Et|=4,mo(i.current),so(i,i.current,c,l),Et=d,pu(0,!1),ee&&typeof ee.onPostCommitFiberRoot=="function")try{ee.onPostCommitFiberRoot(Na,i)}catch{}n=!0}return n}finally{G.p=u,X.T=a,Uo(t,e)}}return!1}function Ho(t,e,l){e=oe(l,e),e=ff(t.stateNode,e,2),t=ml(t,e,2),t!==null&&(qa(t,2),He(t))}function vt(t,e,l){if(t.tag===3)Ho(t,t,l);else for(;e!==null;){if(e.tag===3){Ho(e,t,l);break}else if(e.tag===1){var a=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(bl===null||!bl.has(a))){t=oe(l,t),l=xs(2),a=ml(e,l,2),a!==null&&(Ns(l,a,e,t),qa(a,2),He(a));break}}e=e.return}}function Vf(t,e,l){var a=t.pingCache;if(a===null){a=t.pingCache=new zm;var u=new Set;a.set(e,u)}else u=a.get(e),u===void 0&&(u=new Set,a.set(e,u));u.has(l)||(xf=!0,u.add(l),t=Hm.bind(null,t,e,l),e.then(t,t))}function Hm(t,e,l){var a=t.pingCache;a!==null&&a.delete(e),t.pingedLanes|=t.suspendedLanes&l,t.warmLanes&=~l,gt===t&&(ct&l)===l&&(Rt===4||Rt===3&&(ct&62914560)===ct&&300>Oe()-qf?(Et&2)===0&&Aa(t,0):Nf|=l,Ta===ct&&(Ta=0)),He(t)}function Co(t,e){e===0&&(e=Bc()),t=il(t,e),t!==null&&(qa(t,e),He(t))}function Cm(t){var e=t.memoizedState,l=0;e!==null&&(l=e.retryLane),Co(t,l)}function xm(t,e){var l=0;switch(t.tag){case 13:var a=t.stateNode,u=t.memoizedState;u!==null&&(l=u.retryLane);break;case 19:a=t.stateNode;break;case 22:a=t.stateNode._retryCache;break;default:throw Error(r(314))}a!==null&&a.delete(e),Co(t,l)}function Nm(t,e){return fi(t,e)}var Bn=null,Oa=null,wf=!1,qn=!1,Kf=!1,$l=0;function He(t){t!==Oa&&t.next===null&&(Oa===null?Bn=Oa=t:Oa=Oa.next=t),qn=!0,wf||(wf=!0,qm(Bm))}function pu(t,e){if(!Kf&&qn){Kf=!0;do for(var l=!1,a=Bn;a!==null;){if(t!==0){var u=a.pendingLanes;if(u===0)var n=0;else{var i=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-le(42|t)+1)-1,n&=u&~(i&~c),n=n&201326677?n&201326677|1:n?n|2:0}n!==0&&(l=!0,Bo(a,n))}else n=ct,n=Vu(a,a===gt?n:0),(n&3)===0||Ba(a,n)||(l=!0,Bo(a,n));a=a.next}while(l);Kf=!1}}function Bm(){qn=wf=!1;var t=0;$l!==0&&(Vm()&&(t=$l),$l=0);for(var e=Oe(),l=null,a=Bn;a!==null;){var u=a.next,n=xo(a,e);n===0?(a.next=null,l===null?Bn=u:l.next=u,u===null&&(Oa=l)):(l=a,(t!==0||(n&3)!==0)&&(qn=!0)),a=u}pu(t)}function xo(t,e){for(var l=t.suspendedLanes,a=t.pingedLanes,u=t.expirationTimes,n=t.pendingLanes&-62914561;0"u"?null:document;function Wo(t,e,l){var a=_a;if(a&&typeof e=="string"&&e){var u=re(e);u='link[rel="'+t+'"][href="'+u+'"]',typeof l=="string"&&(u+='[crossorigin="'+l+'"]'),ko.has(u)||(ko.add(u),t={rel:t,crossOrigin:l,href:e},a.querySelector(u)===null&&(e=a.createElement("link"),Xt(e,"link",t),Nt(e),a.head.appendChild(e)))}}function Pm(t){Pe.D(t),Wo("dns-prefetch",t,null)}function Im(t,e){Pe.C(t,e),Wo("preconnect",t,e)}function t0(t,e,l){Pe.L(t,e,l);var a=_a;if(a&&t&&e){var u='link[rel="preload"][as="'+re(e)+'"]';e==="image"&&l&&l.imageSrcSet?(u+='[imagesrcset="'+re(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(u+='[imagesizes="'+re(l.imageSizes)+'"]')):u+='[href="'+re(t)+'"]';var n=u;switch(e){case"style":n=Ma(t);break;case"script":n=Ua(t)}pe.has(n)||(t=et({rel:"preload",href:e==="image"&&l&&l.imageSrcSet?void 0:t,as:e},l),pe.set(n,t),a.querySelector(u)!==null||e==="style"&&a.querySelector(Tu(n))||e==="script"&&a.querySelector(Au(n))||(e=a.createElement("link"),Xt(e,"link",t),Nt(e),a.head.appendChild(e)))}}function e0(t,e){Pe.m(t,e);var l=_a;if(l&&t){var a=e&&typeof e.as=="string"?e.as:"script",u='link[rel="modulepreload"][as="'+re(a)+'"][href="'+re(t)+'"]',n=u;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Ua(t)}if(!pe.has(n)&&(t=et({rel:"modulepreload",href:t},e),pe.set(n,t),l.querySelector(u)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Au(n)))return}a=l.createElement("link"),Xt(a,"link",t),Nt(a),l.head.appendChild(a)}}}function l0(t,e,l){Pe.S(t,e,l);var a=_a;if(a&&t){var u=Pl(a).hoistableStyles,n=Ma(t);e=e||"default";var i=u.get(n);if(!i){var c={loading:0,preload:null};if(i=a.querySelector(Tu(n)))c.loading=5;else{t=et({rel:"stylesheet",href:t,"data-precedence":e},l),(l=pe.get(n))&&ic(t,l);var d=i=a.createElement("link");Nt(d),Xt(d,"link",t),d._p=new Promise(function(g,O){d.onload=g,d.onerror=O}),d.addEventListener("load",function(){c.loading|=1}),d.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Qn(i,e,a)}i={type:"stylesheet",instance:i,count:1,state:c},u.set(n,i)}}}function a0(t,e){Pe.X(t,e);var l=_a;if(l&&t){var a=Pl(l).hoistableScripts,u=Ua(t),n=a.get(u);n||(n=l.querySelector(Au(u)),n||(t=et({src:t,async:!0},e),(e=pe.get(u))&&fc(t,e),n=l.createElement("script"),Nt(n),Xt(n,"link",t),l.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(u,n))}}function u0(t,e){Pe.M(t,e);var l=_a;if(l&&t){var a=Pl(l).hoistableScripts,u=Ua(t),n=a.get(u);n||(n=l.querySelector(Au(u)),n||(t=et({src:t,async:!0,type:"module"},e),(e=pe.get(u))&&fc(t,e),n=l.createElement("script"),Nt(n),Xt(n,"link",t),l.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(u,n))}}function Fo(t,e,l,a){var u=(u=ll.current)?Xn(u):null;if(!u)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(e=Ma(l.href),l=Pl(u).hoistableStyles,a=l.get(e),a||(a={type:"style",instance:null,count:0,state:null},l.set(e,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){t=Ma(l.href);var n=Pl(u).hoistableStyles,i=n.get(t);if(i||(u=u.ownerDocument||u,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=u.querySelector(Tu(t)))&&!n._p&&(i.instance=n,i.state.loading=5),pe.has(t)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},pe.set(t,l),n||n0(u,t,l,i.state))),e&&a===null)throw Error(r(528,""));return i}if(e&&a!==null)throw Error(r(529,""));return null;case"script":return e=l.async,l=l.src,typeof l=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=Ua(l),l=Pl(u).hoistableScripts,a=l.get(e),a||(a={type:"script",instance:null,count:0,state:null},l.set(e,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Ma(t){return'href="'+re(t)+'"'}function Tu(t){return'link[rel="stylesheet"]['+t+"]"}function Po(t){return et({},t,{"data-precedence":t.precedence,precedence:null})}function n0(t,e,l,a){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?a.loading=1:(e=t.createElement("link"),a.preload=e,e.addEventListener("load",function(){return a.loading|=1}),e.addEventListener("error",function(){return a.loading|=2}),Xt(e,"link",l),Nt(e),t.head.appendChild(e))}function Ua(t){return'[src="'+re(t)+'"]'}function Au(t){return"script[async]"+t}function Io(t,e,l){if(e.count++,e.instance===null)switch(e.type){case"style":var a=t.querySelector('style[data-href~="'+re(l.href)+'"]');if(a)return e.instance=a,Nt(a),a;var u=et({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return a=(t.ownerDocument||t).createElement("style"),Nt(a),Xt(a,"style",u),Qn(a,l.precedence,t),e.instance=a;case"stylesheet":u=Ma(l.href);var n=t.querySelector(Tu(u));if(n)return e.state.loading|=4,e.instance=n,Nt(n),n;a=Po(l),(u=pe.get(u))&&ic(a,u),n=(t.ownerDocument||t).createElement("link"),Nt(n);var i=n;return i._p=new Promise(function(c,d){i.onload=c,i.onerror=d}),Xt(n,"link",a),e.state.loading|=4,Qn(n,l.precedence,t),e.instance=n;case"script":return n=Ua(l.src),(u=t.querySelector(Au(n)))?(e.instance=u,Nt(u),u):(a=l,(u=pe.get(n))&&(a=et({},l),fc(a,u)),t=t.ownerDocument||t,u=t.createElement("script"),Nt(u),Xt(u,"link",a),t.head.appendChild(u),e.instance=u);case"void":return null;default:throw Error(r(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(a=e.instance,e.state.loading|=4,Qn(a,l.precedence,t));return e.instance}function Qn(t,e,l){for(var a=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=a.length?a[a.length-1]:null,n=u,i=0;i title"):null)}function i0(t,e,l){if(l===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function ld(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}var Ru=null;function f0(){}function c0(t,e,l){if(Ru===null)throw Error(r(475));var a=Ru;if(e.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(e.state.loading&4)===0){if(e.instance===null){var u=Ma(l.href),n=t.querySelector(Tu(u));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(a.count++,a=Vn.bind(a),t.then(a,a)),e.state.loading|=4,e.instance=n,Nt(n);return}n=t.ownerDocument||t,l=Po(l),(u=pe.get(u))&&ic(l,u),n=n.createElement("link"),Nt(n);var i=n;i._p=new Promise(function(c,d){i.onload=c,i.onerror=d}),Xt(n,"link",l),e.instance=n}a.stylesheets===null&&(a.stylesheets=new Map),a.stylesheets.set(e,t),(t=e.state.preload)&&(e.state.loading&3)===0&&(a.count++,e=Vn.bind(a),t.addEventListener("load",e),t.addEventListener("error",e))}}function r0(){if(Ru===null)throw Error(r(475));var t=Ru;return t.stylesheets&&t.count===0&&cc(t,t.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(f)}catch(s){console.error(s)}}return f(),gc.exports=D0(),gc.exports}var M0=_0(),Cu={},zd;function U0(){if(zd)return Cu;zd=1,Object.defineProperty(Cu,"__esModule",{value:!0}),Cu.parse=A,Cu.serialize=m;const f=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,s=/^[\u0021-\u003A\u003C-\u007E]*$/,o=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,r=/^[\u0020-\u003A\u003D-\u007E]*$/,h=Object.prototype.toString,S=(()=>{const H=function(){};return H.prototype=Object.create(null),H})();function A(H,q){const C=new S,V=H.length;if(V<2)return C;const L=(q==null?void 0:q.decode)||M;let B=0;do{const K=H.indexOf("=",B);if(K===-1)break;const Q=H.indexOf(";",B),ot=Q===-1?V:Q;if(K>ot){B=H.lastIndexOf(";",K-1)+1;continue}const F=z(H,B,K),Ot=p(H,K,F),Lt=H.slice(F,Ot);if(C[Lt]===void 0){let Qt=z(H,K+1,ot),X=p(H,ot,Qt);const et=L(H.slice(Qt,X));C[Lt]=et}B=ot+1}while(BC;){const V=H.charCodeAt(--q);if(V!==32&&V!==9)return q+1}return C}function m(H,q,C){const V=(C==null?void 0:C.encode)||encodeURIComponent;if(!f.test(H))throw new TypeError(`argument name is invalid: ${H}`);const L=V(q);if(!s.test(L))throw new TypeError(`argument val is invalid: ${q}`);let B=H+"="+L;if(!C)return B;if(C.maxAge!==void 0){if(!Number.isInteger(C.maxAge))throw new TypeError(`option maxAge is invalid: ${C.maxAge}`);B+="; Max-Age="+C.maxAge}if(C.domain){if(!o.test(C.domain))throw new TypeError(`option domain is invalid: ${C.domain}`);B+="; Domain="+C.domain}if(C.path){if(!r.test(C.path))throw new TypeError(`option path is invalid: ${C.path}`);B+="; Path="+C.path}if(C.expires){if(!N(C.expires)||!Number.isFinite(C.expires.valueOf()))throw new TypeError(`option expires is invalid: ${C.expires}`);B+="; Expires="+C.expires.toUTCString()}if(C.httpOnly&&(B+="; HttpOnly"),C.secure&&(B+="; Secure"),C.partitioned&&(B+="; Partitioned"),C.priority)switch(typeof C.priority=="string"?C.priority.toLowerCase():void 0){case"low":B+="; Priority=Low";break;case"medium":B+="; Priority=Medium";break;case"high":B+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${C.priority}`)}if(C.sameSite)switch(typeof C.sameSite=="string"?C.sameSite.toLowerCase():C.sameSite){case!0:case"strict":B+="; SameSite=Strict";break;case"lax":B+="; SameSite=Lax";break;case"none":B+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${C.sameSite}`)}return B}function M(H){if(H.indexOf("%")===-1)return H;try{return decodeURIComponent(H)}catch{return H}}function N(H){return h.call(H)==="[object Date]"}return Cu}U0();/** + * react-router v7.3.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */var Od="popstate";function H0(f={}){function s(r,h){let{pathname:S,search:A,hash:z}=r.location;return Ac("",{pathname:S,search:A,hash:z},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function o(r,h){return typeof h=="string"?h:Nu(h)}return x0(s,o,null,f)}function Tt(f,s){if(f===!1||f===null||typeof f>"u")throw new Error(s)}function Ce(f,s){if(!f){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function C0(){return Math.random().toString(36).substring(2,10)}function Dd(f,s){return{usr:f.state,key:f.key,idx:s}}function Ac(f,s,o=null,r){return{pathname:typeof f=="string"?f:f.pathname,search:"",hash:"",...typeof s=="string"?Ha(s):s,state:o,key:s&&s.key||r||C0()}}function Nu({pathname:f="/",search:s="",hash:o=""}){return s&&s!=="?"&&(f+=s.charAt(0)==="?"?s:"?"+s),o&&o!=="#"&&(f+=o.charAt(0)==="#"?o:"#"+o),f}function Ha(f){let s={};if(f){let o=f.indexOf("#");o>=0&&(s.hash=f.substring(o),f=f.substring(0,o));let r=f.indexOf("?");r>=0&&(s.search=f.substring(r),f=f.substring(0,r)),f&&(s.pathname=f)}return s}function x0(f,s,o,r={}){let{window:h=document.defaultView,v5Compat:S=!1}=r,A=h.history,z="POP",p=null,m=M();m==null&&(m=0,A.replaceState({...A.state,idx:m},""));function M(){return(A.state||{idx:null}).idx}function N(){z="POP";let L=M(),B=L==null?null:L-m;m=L,p&&p({action:z,location:V.location,delta:B})}function H(L,B){z="PUSH";let K=Ac(V.location,L,B);m=M()+1;let Q=Dd(K,m),ot=V.createHref(K);try{A.pushState(Q,"",ot)}catch(F){if(F instanceof DOMException&&F.name==="DataCloneError")throw F;h.location.assign(ot)}S&&p&&p({action:z,location:V.location,delta:1})}function q(L,B){z="REPLACE";let K=Ac(V.location,L,B);m=M();let Q=Dd(K,m),ot=V.createHref(K);A.replaceState(Q,"",ot),S&&p&&p({action:z,location:V.location,delta:0})}function C(L){let B=h.location.origin!=="null"?h.location.origin:h.location.href,K=typeof L=="string"?L:Nu(L);return K=K.replace(/ $/,"%20"),Tt(B,`No window.location.(origin|href) available to create URL for href: ${K}`),new URL(K,B)}let V={get action(){return z},get location(){return f(h,A)},listen(L){if(p)throw new Error("A history only accepts one active listener");return h.addEventListener(Od,N),p=L,()=>{h.removeEventListener(Od,N),p=null}},createHref(L){return s(h,L)},createURL:C,encodeLocation(L){let B=C(L);return{pathname:B.pathname,search:B.search,hash:B.hash}},push:H,replace:q,go(L){return A.go(L)}};return V}function xd(f,s,o="/"){return N0(f,s,o,!1)}function N0(f,s,o,r){let h=typeof s=="string"?Ha(s):s,S=tl(h.pathname||"/",o);if(S==null)return null;let A=Nd(f);B0(A);let z=null;for(let p=0;z==null&&p{let p={relativePath:z===void 0?S.path||"":z,caseSensitive:S.caseSensitive===!0,childrenIndex:A,route:S};p.relativePath.startsWith("/")&&(Tt(p.relativePath.startsWith(r),`Absolute route path "${p.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),p.relativePath=p.relativePath.slice(r.length));let m=Ie([r,p.relativePath]),M=o.concat(p);S.children&&S.children.length>0&&(Tt(S.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${m}".`),Nd(S.children,s,M,m)),!(S.path==null&&!S.index)&&s.push({path:m,score:Q0(m,S.index),routesMeta:M})};return f.forEach((S,A)=>{var z;if(S.path===""||!((z=S.path)!=null&&z.includes("?")))h(S,A);else for(let p of Bd(S.path))h(S,A,p)}),s}function Bd(f){let s=f.split("/");if(s.length===0)return[];let[o,...r]=s,h=o.endsWith("?"),S=o.replace(/\?$/,"");if(r.length===0)return h?[S,""]:[S];let A=Bd(r.join("/")),z=[];return z.push(...A.map(p=>p===""?S:[S,p].join("/"))),h&&z.push(...A),z.map(p=>f.startsWith("/")&&p===""?"/":p)}function B0(f){f.sort((s,o)=>s.score!==o.score?o.score-s.score:Z0(s.routesMeta.map(r=>r.childrenIndex),o.routesMeta.map(r=>r.childrenIndex)))}var q0=/^:[\w-]+$/,Y0=3,L0=2,G0=1,j0=10,X0=-2,_d=f=>f==="*";function Q0(f,s){let o=f.split("/"),r=o.length;return o.some(_d)&&(r+=X0),s&&(r+=L0),o.filter(h=>!_d(h)).reduce((h,S)=>h+(q0.test(S)?Y0:S===""?G0:j0),r)}function Z0(f,s){return f.length===s.length&&f.slice(0,-1).every((r,h)=>r===s[h])?f[f.length-1]-s[s.length-1]:0}function V0(f,s,o=!1){let{routesMeta:r}=f,h={},S="/",A=[];for(let z=0;z{if(M==="*"){let C=z[H]||"";A=S.slice(0,S.length-C.length).replace(/(.)\/+$/,"$1")}const q=z[H];return N&&!q?m[M]=void 0:m[M]=(q||"").replace(/%2F/g,"/"),m},{}),pathname:S,pathnameBase:A,pattern:f}}function w0(f,s=!1,o=!0){Ce(f==="*"||!f.endsWith("*")||f.endsWith("/*"),`Route path "${f}" will be treated as if it were "${f.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${f.replace(/\*$/,"/*")}".`);let r=[],h="^"+f.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(A,z,p)=>(r.push({paramName:z,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)"));return f.endsWith("*")?(r.push({paramName:"*"}),h+=f==="*"||f==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?h+="\\/*$":f!==""&&f!=="/"&&(h+="(?:(?=\\/|$))"),[new RegExp(h,s?void 0:"i"),r]}function K0(f){try{return f.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return Ce(!1,`The URL path "${f}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),f}}function tl(f,s){if(s==="/")return f;if(!f.toLowerCase().startsWith(s.toLowerCase()))return null;let o=s.endsWith("/")?s.length-1:s.length,r=f.charAt(o);return r&&r!=="/"?null:f.slice(o)||"/"}function J0(f,s="/"){let{pathname:o,search:r="",hash:h=""}=typeof f=="string"?Ha(f):f;return{pathname:o?o.startsWith("/")?o:$0(o,s):s,search:F0(r),hash:P0(h)}}function $0(f,s){let o=s.replace(/\/+$/,"").split("/");return f.split("/").forEach(h=>{h===".."?o.length>1&&o.pop():h!=="."&&o.push(h)}),o.length>1?o.join("/"):"/"}function Ec(f,s,o,r){return`Cannot include a '${f}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function k0(f){return f.filter((s,o)=>o===0||s.route.path&&s.route.path.length>0)}function qd(f){let s=k0(f);return s.map((o,r)=>r===s.length-1?o.pathname:o.pathnameBase)}function Yd(f,s,o,r=!1){let h;typeof f=="string"?h=Ha(f):(h={...f},Tt(!h.pathname||!h.pathname.includes("?"),Ec("?","pathname","search",h)),Tt(!h.pathname||!h.pathname.includes("#"),Ec("#","pathname","hash",h)),Tt(!h.search||!h.search.includes("#"),Ec("#","search","hash",h)));let S=f===""||h.pathname==="",A=S?"/":h.pathname,z;if(A==null)z=o;else{let N=s.length-1;if(!r&&A.startsWith("..")){let H=A.split("/");for(;H[0]==="..";)H.shift(),N-=1;h.pathname=H.join("/")}z=N>=0?s[N]:"/"}let p=J0(h,z),m=A&&A!=="/"&&A.endsWith("/"),M=(S||A===".")&&o.endsWith("/");return!p.pathname.endsWith("/")&&(m||M)&&(p.pathname+="/"),p}var Ie=f=>f.join("/").replace(/\/\/+/g,"/"),W0=f=>f.replace(/\/+$/,"").replace(/^\/*/,"/"),F0=f=>!f||f==="?"?"":f.startsWith("?")?f:"?"+f,P0=f=>!f||f==="#"?"":f.startsWith("#")?f:"#"+f;function I0(f){return f!=null&&typeof f.status=="number"&&typeof f.statusText=="string"&&typeof f.internal=="boolean"&&"data"in f}var Ld=["POST","PUT","PATCH","DELETE"];new Set(Ld);var tv=["GET",...Ld];new Set(tv);var Ca=_.createContext(null);Ca.displayName="DataRouter";var ai=_.createContext(null);ai.displayName="DataRouterState";var Gd=_.createContext({isTransitioning:!1});Gd.displayName="ViewTransition";var ev=_.createContext(new Map);ev.displayName="Fetchers";var lv=_.createContext(null);lv.displayName="Await";var xe=_.createContext(null);xe.displayName="Navigation";var Bu=_.createContext(null);Bu.displayName="Location";var el=_.createContext({outlet:null,matches:[],isDataRoute:!1});el.displayName="Route";var Oc=_.createContext(null);Oc.displayName="RouteError";function av(f,{relative:s}={}){Tt(qu(),"useHref() may be used only in the context of a component.");let{basename:o,navigator:r}=_.useContext(xe),{hash:h,pathname:S,search:A}=Yu(f,{relative:s}),z=S;return o!=="/"&&(z=S==="/"?o:Ie([o,S])),r.createHref({pathname:z,search:A,hash:h})}function qu(){return _.useContext(Bu)!=null}function Ol(){return Tt(qu(),"useLocation() may be used only in the context of a component."),_.useContext(Bu).location}var jd="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Xd(f){_.useContext(xe).static||_.useLayoutEffect(f)}function uv(){let{isDataRoute:f}=_.useContext(el);return f?gv():nv()}function nv(){Tt(qu(),"useNavigate() may be used only in the context of a component.");let f=_.useContext(Ca),{basename:s,navigator:o}=_.useContext(xe),{matches:r}=_.useContext(el),{pathname:h}=Ol(),S=JSON.stringify(qd(r)),A=_.useRef(!1);return Xd(()=>{A.current=!0}),_.useCallback((p,m={})=>{if(Ce(A.current,jd),!A.current)return;if(typeof p=="number"){o.go(p);return}let M=Yd(p,JSON.parse(S),h,m.relative==="path");f==null&&s!=="/"&&(M.pathname=M.pathname==="/"?s:Ie([s,M.pathname])),(m.replace?o.replace:o.push)(M,m.state,m)},[s,o,S,h,f])}_.createContext(null);function Yu(f,{relative:s}={}){let{matches:o}=_.useContext(el),{pathname:r}=Ol(),h=JSON.stringify(qd(o));return _.useMemo(()=>Yd(f,JSON.parse(h),r,s==="path"),[f,h,r,s])}function iv(f,s){return Qd(f,s)}function Qd(f,s,o,r){var K;Tt(qu(),"useRoutes() may be used only in the context of a component.");let{navigator:h,static:S}=_.useContext(xe),{matches:A}=_.useContext(el),z=A[A.length-1],p=z?z.params:{},m=z?z.pathname:"/",M=z?z.pathnameBase:"/",N=z&&z.route;{let Q=N&&N.path||"";Zd(m,!N||Q.endsWith("*")||Q.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${m}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let H=Ol(),q;if(s){let Q=typeof s=="string"?Ha(s):s;Tt(M==="/"||((K=Q.pathname)==null?void 0:K.startsWith(M)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${M}" but pathname "${Q.pathname}" was given in the \`location\` prop.`),q=Q}else q=H;let C=q.pathname||"/",V=C;if(M!=="/"){let Q=M.replace(/^\//,"").split("/");V="/"+C.replace(/^\//,"").split("/").slice(Q.length).join("/")}let L=!S&&o&&o.matches&&o.matches.length>0?o.matches:xd(f,{pathname:V});Ce(N||L!=null,`No routes matched location "${q.pathname}${q.search}${q.hash}" `),Ce(L==null||L[L.length-1].route.element!==void 0||L[L.length-1].route.Component!==void 0||L[L.length-1].route.lazy!==void 0,`Matched leaf route at location "${q.pathname}${q.search}${q.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let B=ov(L&&L.map(Q=>Object.assign({},Q,{params:Object.assign({},p,Q.params),pathname:Ie([M,h.encodeLocation?h.encodeLocation(Q.pathname).pathname:Q.pathname]),pathnameBase:Q.pathnameBase==="/"?M:Ie([M,h.encodeLocation?h.encodeLocation(Q.pathnameBase).pathname:Q.pathnameBase])})),A,o,r);return s&&B?_.createElement(Bu.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...q},navigationType:"POP"}},B):B}function fv(){let f=yv(),s=I0(f)?`${f.status} ${f.statusText}`:f instanceof Error?f.message:JSON.stringify(f),o=f instanceof Error?f.stack:null,r="rgba(200,200,200, 0.5)",h={padding:"0.5rem",backgroundColor:r},S={padding:"2px 4px",backgroundColor:r},A=null;return console.error("Error handled by React Router default ErrorBoundary:",f),A=_.createElement(_.Fragment,null,_.createElement("p",null,"💿 Hey developer 👋"),_.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",_.createElement("code",{style:S},"ErrorBoundary")," or"," ",_.createElement("code",{style:S},"errorElement")," prop on your route.")),_.createElement(_.Fragment,null,_.createElement("h2",null,"Unexpected Application Error!"),_.createElement("h3",{style:{fontStyle:"italic"}},s),o?_.createElement("pre",{style:h},o):null,A)}var cv=_.createElement(fv,null),rv=class extends _.Component{constructor(f){super(f),this.state={location:f.location,revalidation:f.revalidation,error:f.error}}static getDerivedStateFromError(f){return{error:f}}static getDerivedStateFromProps(f,s){return s.location!==f.location||s.revalidation!=="idle"&&f.revalidation==="idle"?{error:f.error,location:f.location,revalidation:f.revalidation}:{error:f.error!==void 0?f.error:s.error,location:s.location,revalidation:f.revalidation||s.revalidation}}componentDidCatch(f,s){console.error("React Router caught the following error during render",f,s)}render(){return this.state.error!==void 0?_.createElement(el.Provider,{value:this.props.routeContext},_.createElement(Oc.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function sv({routeContext:f,match:s,children:o}){let r=_.useContext(Ca);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),_.createElement(el.Provider,{value:f},o)}function ov(f,s=[],o=null,r=null){if(f==null){if(!o)return null;if(o.errors)f=o.matches;else if(s.length===0&&!o.initialized&&o.matches.length>0)f=o.matches;else return null}let h=f,S=o==null?void 0:o.errors;if(S!=null){let p=h.findIndex(m=>m.route.id&&(S==null?void 0:S[m.route.id])!==void 0);Tt(p>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(S).join(",")}`),h=h.slice(0,Math.min(h.length,p+1))}let A=!1,z=-1;if(o)for(let p=0;p=0?h=h.slice(0,z+1):h=[h[0]];break}}}return h.reduceRight((p,m,M)=>{let N,H=!1,q=null,C=null;o&&(N=S&&m.route.id?S[m.route.id]:void 0,q=m.route.errorElement||cv,A&&(z<0&&M===0?(Zd("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,C=null):z===M&&(H=!0,C=m.route.hydrateFallbackElement||null)));let V=s.concat(h.slice(0,M+1)),L=()=>{let B;return N?B=q:H?B=C:m.route.Component?B=_.createElement(m.route.Component,null):m.route.element?B=m.route.element:B=p,_.createElement(sv,{match:m,routeContext:{outlet:p,matches:V,isDataRoute:o!=null},children:B})};return o&&(m.route.ErrorBoundary||m.route.errorElement||M===0)?_.createElement(rv,{location:o.location,revalidation:o.revalidation,component:q,error:N,children:L(),routeContext:{outlet:null,matches:V,isDataRoute:!0}}):L()},null)}function Dc(f){return`${f} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function dv(f){let s=_.useContext(Ca);return Tt(s,Dc(f)),s}function hv(f){let s=_.useContext(ai);return Tt(s,Dc(f)),s}function mv(f){let s=_.useContext(el);return Tt(s,Dc(f)),s}function _c(f){let s=mv(f),o=s.matches[s.matches.length-1];return Tt(o.route.id,`${f} can only be used on routes that contain a unique "id"`),o.route.id}function vv(){return _c("useRouteId")}function yv(){var r;let f=_.useContext(Oc),s=hv("useRouteError"),o=_c("useRouteError");return f!==void 0?f:(r=s.errors)==null?void 0:r[o]}function gv(){let{router:f}=dv("useNavigate"),s=_c("useNavigate"),o=_.useRef(!1);return Xd(()=>{o.current=!0}),_.useCallback(async(h,S={})=>{Ce(o.current,jd),o.current&&(typeof h=="number"?f.navigate(h):await f.navigate(h,{fromRouteId:s,...S}))},[f,s])}var Md={};function Zd(f,s,o){!s&&!Md[f]&&(Md[f]=!0,Ce(!1,o))}_.memo(Sv);function Sv({routes:f,future:s,state:o}){return Qd(f,void 0,o,s)}function Vd(f){Tt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function pv({basename:f="/",children:s=null,location:o,navigationType:r="POP",navigator:h,static:S=!1}){Tt(!qu(),"You cannot render a inside another . You should never have more than one in your app.");let A=f.replace(/^\/*/,"/"),z=_.useMemo(()=>({basename:A,navigator:h,static:S,future:{}}),[A,h,S]);typeof o=="string"&&(o=Ha(o));let{pathname:p="/",search:m="",hash:M="",state:N=null,key:H="default"}=o,q=_.useMemo(()=>{let C=tl(p,A);return C==null?null:{location:{pathname:C,search:m,hash:M,state:N,key:H},navigationType:r}},[A,p,m,M,N,H,r]);return Ce(q!=null,` is not able to match the URL "${p}${m}${M}" because it does not start with the basename, so the won't render anything.`),q==null?null:_.createElement(xe.Provider,{value:z},_.createElement(Bu.Provider,{children:s,value:q}))}function bv({children:f,location:s}){return iv(Rc(f),s)}function Rc(f,s=[]){let o=[];return _.Children.forEach(f,(r,h)=>{if(!_.isValidElement(r))return;let S=[...s,h];if(r.type===_.Fragment){o.push.apply(o,Rc(r.props.children,S));return}Tt(r.type===Vd,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Tt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let A={id:r.props.id||S.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(A.children=Rc(r.props.children,S)),o.push(A)}),o}var ti="get",ei="application/x-www-form-urlencoded";function ui(f){return f!=null&&typeof f.tagName=="string"}function Ev(f){return ui(f)&&f.tagName.toLowerCase()==="button"}function Tv(f){return ui(f)&&f.tagName.toLowerCase()==="form"}function Av(f){return ui(f)&&f.tagName.toLowerCase()==="input"}function Rv(f){return!!(f.metaKey||f.altKey||f.ctrlKey||f.shiftKey)}function zv(f,s){return f.button===0&&(!s||s==="_self")&&!Rv(f)}var In=null;function Ov(){if(In===null)try{new FormData(document.createElement("form"),0),In=!1}catch{In=!0}return In}var Dv=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Tc(f){return f!=null&&!Dv.has(f)?(Ce(!1,`"${f}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${ei}"`),null):f}function _v(f,s){let o,r,h,S,A;if(Tv(f)){let z=f.getAttribute("action");r=z?tl(z,s):null,o=f.getAttribute("method")||ti,h=Tc(f.getAttribute("enctype"))||ei,S=new FormData(f)}else if(Ev(f)||Av(f)&&(f.type==="submit"||f.type==="image")){let z=f.form;if(z==null)throw new Error('Cannot submit a + + ); +} + export default App; diff --git a/src/components/dashboard/dashboard.scss b/src/components/dashboard/dashboard.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/dashboard/index.tsx b/src/components/dashboard/index.tsx deleted file mode 100644 index 2ae7cdc..0000000 --- a/src/components/dashboard/index.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { useEffect, useState } from "react"; -import Directory from "../directory"; -import { usePath } from "../../store/path"; -import { useLocation } from "react-router"; - -import "./dashboard.scss"; - -function Dashboard() { - const path = usePath(); - const location = useLocation(); - const [load, setLoad] = useState(false); - - useEffect(() => { - if (!load) { - path.update(location.pathname.substring(1, location.pathname.length)); - setLoad(true); - } - - const id = setInterval(() => { - path.update(location.pathname.substring(1, location.pathname.length)); - }, 5000); - - return () => clearInterval(id); - }, [load, path, location]); - - return ( - - ); -} - -export default Dashboard; diff --git a/src/index.scss b/src/index.scss index 3ecc68d..e2b8396 100644 --- a/src/index.scss +++ b/src/index.scss @@ -1,11 +1,50 @@ +@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css"); + :root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + --background: #242424; + --foreground: rgba(255, 255, 255, 0.87); + --sidebar-color: #2a2a2a; + + --stroke: #3c3c3c; + --nav-color: #191919; + --nav-hover: #101010; + --profile-color: #3a3a3a; + + --hover: rgba(255, 255, 255, 0.7); + --focus: rgba(255, 255, 255, 0.55); + + --form-color: #151515; + + --btn-primary: #0069d9; + --btn-secondary: #859099; + --btn-success: #28a745; + --btn-danger: #dc3545; + + --btn-primary-hover: #0254ac; + --btn-secondary-hover: #596066; + --btn-success-hover: #208a39; + --btn-danger-hover: #b32735; + + --btn-primary-focus: #034fa0; + --btn-secondary-focus: #50565c; + --btn-success-focus: #1d7c33; + --btn-danger-focus: #a72532; + + --font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; +} + +html, body { + margin: 0; + width: 100vw; + height: 100vh; + + font-size: 11pt; line-height: 1.5; font-weight: 400; color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; + color: var(--foreground); + background-color: var(--background); font-synthesis: none; text-rendering: optimizeLegibility; @@ -13,57 +52,119 @@ -moz-osx-font-smoothing: grayscale; } -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; - - &:hover { - color: #535bf2; - } -} - -body { +* { margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; + padding: 0; + box-sizing: border-box; + + font-family: var(--font-family); } h1 { - font-size: 3.2em; - line-height: 1.1; + font-size: 32pt; +} + +h2 { + font-size: 24pt; +} + +h3 { + font-size: 18pt; +} + +h4 { + font-size: 16pt; +} + +h5 { + font-size: 15pt; +} + +h6 { + font-size: 12pt; +} + +a { + cursor: pointer; + user-select: none; + text-decoration: none; + transition-duration: 0.3s; + color: var(--foreground); + + &:hover { + color: var(--hover); + } + + &:focus { + color: var(--focus); + } +} + +input { + background-color: var(--background); } button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; + align-items: center; + justify-content: center; + transition-duration: 0.3s; + background-color: var(--background); + + &.primary { + background-color: var(--btn-primary); + + &:hover { + background-color: var(--btn-primary-hover); + } + + &:focus { + background-color: var(--btn-primary-focus); + } + } + + &.secondary { + background-color: var(--btn-secondary); + + &:hover { + background-color: var(--btn-secondary-hover); + } + + &:focus { + background-color: var(--btn-secondary-focus); + } + } + + &.success { + background-color: var(--btn-success); + + &:hover { + background-color: var(--btn-success-hover); + } + + &:focus { + background-color: var(--btn-success-focus); + } + } + + &.danger { + background-color: var(--btn-danger); + + &:hover { + background-color: var(--btn-danger-hover); + } + + &:focus { + background-color: var(--btn-danger-focus); + } + } } -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } +input, button { + height: 40px; + border: none; + outline: none; + font-size: 12pt; + border-radius: 25px; + padding: 0.25rem 15px; }