This commit is contained in:
Kilian committed 2024-07-29 03:21:29 +02:00
1 parent 2008888a16
commit 9deff439d7
32 files changed
+448 -236

No files matched your search

+13
View File
@@ -6,6 +6,9 @@
## Tabelle `egb_benutzer`
- Neue Spalten `token` (Auth token): VarChar(36), Nullable, UNIQUE Constraint
- Neue Spalten `tokenExpiry` (Auth token verfall): DateTime, Nullable
- Neue Spalten `refreshToken` (Auth refresh token): VarChar(36), Nullable, UNIQUE Constraint
- Neue Spalten `refreshExpiry` (Auth refresh token verfall): VarChar(36), DateTime
- Abänderung der Spalte `zeitstempel`: Entfernen des `ON UPDATE` (da sonst die Mitgliedszeit beim Ändern der Daten sich ändert)
- Abänderung der Spalte `benutzername`: Non-Nullable gemacht, UNIQUE Constraint
- Abänderung der Spalte `email`: Non-Nullable gemacht, UNIQUE Constraint
@@ -19,6 +22,15 @@
# Notwendige Anpassung für die Verzeichnisstruktur eines anderen Hosters
## HTACCESS
### `.htaccess`
- RewriteBase anpassen
### `react/public/.htaccess`
- RewriteBase anpassen
- **WICHTIG:** React Projekt neu bauen damit die Datei an den korrekten Platz kopiert wird
## PHP
### `classes/Models/User.php`
@@ -28,6 +40,7 @@
- Alle Pfade
## JS
**WICHTIG:** Nach allen Änderungen muss das React Projekt neu gebaut werden
### `react/vite.config.ts`
- `base` Pfad
-2
View File
@@ -1,2 +0,0 @@
var ft=Object.defineProperty;var ct=(r,e,t)=>e in r?ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Oe=(r,e,t)=>ct(r,typeof e!="symbol"?e+"":e,t);import{d as Xe,r as j,e as Z}from"./react-C_FdcE2X.js";function dt(r,e){for(var t=0;t<e.length;t++){const n=e[t];if(typeof n!="string"&&!Array.isArray(n)){for(const s in n)if(s!=="default"&&!(s in r)){const i=Object.getOwnPropertyDescriptor(n,s);i&&Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var ht={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};const pt=Xe(ht);var gt=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function Pe(r){var e={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=r.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(e.name=t[1],(pt[t[1]]||r.charAt(r.length-2)==="/")&&(e.voidElement=!0),e.name.startsWith("!--"))){var n=r.indexOf("-->");return{type:"comment",comment:n!==-1?r.slice(4,n):""}}for(var s=new RegExp(gt),i=null;(i=s.exec(r))!==null;)if(i[0].trim())if(i[1]){var o=i[1].trim(),a=[o,""];o.indexOf("=")>-1&&(a=o.split("=")),e.attrs[a[0]]=a[1],s.lastIndex--}else i[2]&&(e.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return e}var mt=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,yt=/^\s*$/,bt=Object.create(null);function We(r,e){switch(e.type){case"text":return r+e.content;case"tag":return r+="<"+e.name+(e.attrs?function(t){var n=[];for(var s in t)n.push(s+'="'+t[s]+'"');return n.length?" "+n.join(" "):""}(e.attrs):"")+(e.voidElement?"/>":">"),e.voidElement?r:r+e.children.reduce(We,"")+"</"+e.name+">";case"comment":return r+"<!--"+e.comment+"-->"}}var vt={parse:function(r,e){e||(e={}),e.components||(e.components=bt);var t,n=[],s=[],i=-1,o=!1;if(r.indexOf("<")!==0){var a=r.indexOf("<");n.push({type:"text",content:a===-1?r:r.substring(0,a)})}return r.replace(mt,function(u,l){if(o){if(u!=="</"+t.name+">")return;o=!1}var d,h=u.charAt(1)!=="/",c=u.startsWith("<!--"),m=l+u.length,g=r.charAt(m);if(c){var y=Pe(u);return i<0?(n.push(y),n):((d=s[i]).children.push(y),n)}if(h&&(i++,(t=Pe(u)).type==="tag"&&e.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!g||g==="<"||t.children.push({type:"text",content:r.slice(m,r.indexOf("<",m))}),i===0&&n.push(t),(d=s[i-1])&&d.children.push(t),s[i]=t),(!h||t.voidElement)&&(i>-1&&(t.voidElement||t.name===u.slice(2,-1))&&(i--,t=i===-1?n:s[i]),!o&&g!=="<"&&g)){d=i===-1?n:s[i].children;var b=r.indexOf("<",m),O=r.slice(m,b===-1?void 0:b);yt.test(O)&&(O=" "),(b>-1&&i+d.length>=0||O!==" ")&&d.push({type:"text",content:O})}}),n},stringify:function(r){return r.reduce(function(e,t){return e+We("",t)},"")}};const oe=(...r)=>{console!=null&&console.warn&&(B(r[0])&&(r[0]=`react-i18next:: ${r[0]}`),console.warn(...r))},Le={},ae=(...r)=>{B(r[0])&&Le[r[0]]||(B(r[0])&&(Le[r[0]]=new Date),oe(...r))},Ge=(r,e)=>()=>{if(r.isInitialized)e();else{const t=()=>{setTimeout(()=>{r.off("initialized",t)},0),e()};r.on("initialized",t)}},Ee=(r,e,t)=>{r.loadNamespaces(e,Ge(r,t))},Ce=(r,e,t,n)=>{B(t)&&(t=[t]),t.forEach(s=>{r.options.ns.indexOf(s)<0&&r.options.ns.push(s)}),r.loadLanguages(e,Ge(r,n))},wt=(r,e,t={})=>!e.languages||!e.languages.length?(ae("i18n.languages were undefined or empty",e.languages),!0):e.hasLoadedNamespace(r,{lng:t.lng,precheck:(n,s)=>{var i;if(((i=t.bindI18n)==null?void 0:i.indexOf("languageChanging"))>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!s(n.isLanguageChangingTo,r))return!1}}),B=r=>typeof r=="string",J=r=>typeof r=="object"&&r!==null,xt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,St={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Ot=r=>St[r],Pt=r=>r.replace(xt,Ot);let be={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Pt};const Lt=(r={})=>{be={...be,...r}},Qe=()=>be;let Ye;const Et=r=>{Ye=r},Ze=()=>Ye,pe=(r,e)=>{var n;if(!r)return!1;const t=((n=r.props)==null?void 0:n.children)??r.children;return e?t.length>0:!!t},ge=r=>{var t,n;if(!r)return[];const e=((t=r.props)==null?void 0:t.children)??r.children;return(n=r.props)!=null&&n.i18nIsDynamicList?X(e):e},Ct=r=>Array.isArray(r)&&r.every(j.isValidElement),X=r=>Array.isArray(r)?r:[r],Nt=(r,e)=>{const t={...e};return t.props=Object.assign(r.props,e.props),t},et=(r,e)=>{if(!r)return"";let t="";const n=X(r),s=e!=null&&e.transSupportBasicHtmlNodes?e.transKeepBasicHtmlNodesFor??[]:[];return n.forEach((i,o)=>{if(B(i))t+=`${i}`;else if(j.isValidElement(i)){const{props:a,type:u}=i,l=Object.keys(a).length,d=s.indexOf(u)>-1,h=a.children;if(!Line truncated
`)===0?P.substr(1,P.length):P}).forEach(function(P){var A=P.split(":"),E=A.shift().trim();if(E){var K=A.join(":").trim();p.append(E,K)}}),p}w.call(T.prototype);function C(f,p){if(!(this instanceof C))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p||(p={}),this.type="default",this.status=p.status===void 0?200:p.status,this.ok=this.status>=200&&this.status<300,this.statusText=p.statusText===void 0?"":""+p.statusText,this.headers=new y(p.headers),this.url=p.url||"",this._initBody(f)}w.call(C.prototype),C.prototype.clone=function(){return new C(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},C.error=function(){var f=new C(null,{status:0,statusText:""});return f.type="error",f};var M=[301,302,303,307,308];C.redirect=function(f,p){if(M.indexOf(p)===-1)throw new RangeError("Invalid status code");return new C(null,{status:p,headers:{location:f}})},o.DOMException=a.DOMException;try{new o.DOMException}catch{o.DOMException=function(p,v){this.message=p,this.name=v;var P=Error(p);this.stack=P.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function I(f,p){return new Promise(function(v,P){var A=new T(f,p);if(A.signal&&A.signal.aborted)return P(new o.DOMException("Aborted","AbortError"));var E=new XMLHttpRequest;function K(){E.abort()}E.onload=function(){var U={status:E.status,statusText:E.statusText,headers:R(E.getAllResponseHeaders()||"")};U.url="responseURL"in E?E.responseURL:U.headers.get("X-Request-URL");var re="response"in E?E.response:E.responseText;setTimeout(function(){v(new C(re,U))},0)},E.onerror=function(){setTimeout(function(){P(new TypeError("Network request failed"))},0)},E.ontimeout=function(){setTimeout(function(){P(new TypeError("Network request failed"))},0)},E.onabort=function(){setTimeout(function(){P(new o.DOMException("Aborted","AbortError"))},0)};function lt(U){try{return U===""&&a.location.href?a.location.href:U}catch{return U}}E.open(A.method,lt(A.url),!0),A.credentials==="include"?E.withCredentials=!0:A.credentials==="omit"&&(E.withCredentials=!1),"responseType"in E&&(u.blob?E.responseType="blob":u.arrayBuffer&&A.headers.get("Content-Type")&&A.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(E.responseType="arraybuffer")),p&&typeof p.headers=="object"&&!(p.headers instanceof y)?Object.getOwnPropertyNames(p.headers).forEach(function(U){E.setRequestHeader(U,m(p.headers[U]))}):A.headers.forEach(function(U,re){E.setRequestHeader(re,U)}),A.signal&&(A.signal.addEventListener("abort",K),E.onreadystatechange=function(){E.readyState===4&&A.signal.removeEventListener("abort",K)}),E.send(typeof A._bodyInit>"u"?null:A._bodyInit)})}return I.polyfill=!0,a.fetch||(a.fetch=I,a.Headers=y,a.Request=T,a.Response=C),o.Headers=y,o.Request=T,o.Response=C,o.fetch=I,o})({})})(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var s=t.fetch?t:n;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,r.exports=e}(ie,ie.exports)),ie.exports}(function(r,e){var t;if(typeof fetch=="function"&&(typeof Z<"u"&&Z.fetch?t=Z.fetch:typeof window<"u"&&window.fetch?t=window.fetch:t=fetch),typeof wn<"u"&&typeof window>"u"){var n=t||xn();n.default&&(n=n.default),e.default=n,r.exports=e.default}})(xe,xe.exports);var it=xe.exports;const ot=Xe(it),Ve=dt({__proto__:null,default:ot},[it]);function Ke(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,n)}return t}function qe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ke(Object(t),!0).forEach(function(n){Sn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ke(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Sn(r,e,t){return e=On(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function On(r){var e=Pn(r,"string");return q(e)=="symbol"?e:e+""}function Pn(r,e){if(q(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(q(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function q(r){"@babel/helpers - typeof";return q=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(r)}var V;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?V=global.fetch:typeof window<"u"&&window.fetch?V=window.fetch:V=fetch);var ne;st()&&(typeof global<"u"&&global.XMLHttpRequest?ne=global.XMLHttpRequest:typeof window<"u"&&window.XMLHt Line truncated
+2
View File
@@ -0,0 +1,2 @@
var ft=Object.defineProperty;var ct=(r,e,t)=>e in r?ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Oe=(r,e,t)=>ct(r,typeof e!="symbol"?e+"":e,t);import{d as Xe,r as j,e as Z}from"./react-C_FdcE2X.js";function dt(r,e){for(var t=0;t<e.length;t++){const n=e[t];if(typeof n!="string"&&!Array.isArray(n)){for(const s in n)if(s!=="default"&&!(s in r)){const i=Object.getOwnPropertyDescriptor(n,s);i&&Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}const ht={type:"logger",log(r){this.output("log",r)},warn(r){this.output("warn",r)},error(r){this.output("error",r)},output(r,e){console&&console[r]&&console[r].apply(console,e)}};class ae{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||ht,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,s){return s&&!this.debug?null:(typeof e[0]=="string"&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ae(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ae(this.logger,e)}}var H=new ae;class he{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const s=this.observers[n].get(t)||0;this.observers[n].set(t,s+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[a,u]=o;for(let l=0;l<u;l++)a(...n)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[a,u]=o;for(let l=0;l<u;l++)a.apply(a,[e,...n])})}}function G(){let r,e;const t=new Promise((n,s)=>{r=n,e=s});return t.resolve=r,t.reject=e,t}function Pe(r){return r==null?"":""+r}function pt(r,e,t){r.forEach(n=>{e[n]&&(t[n]=e[n])})}const gt=/###/g;function ee(r,e,t){function n(a){return a&&a.indexOf("###")>-1?a.replace(gt,"."):a}function s(){return!r||typeof r=="string"}const i=typeof e!="string"?e:e.split(".");let o=0;for(;o<i.length-1;){if(s())return{};const a=n(i[o]);!r[a]&&t&&(r[a]=new t),Object.prototype.hasOwnProperty.call(r,a)?r=r[a]:r={},++o}return s()?{}:{obj:r,k:n(i[o])}}function Le(r,e,t){const{obj:n,k:s}=ee(r,e,Object);if(n!==void 0||e.length===1){n[s]=t;return}let i=e[e.length-1],o=e.slice(0,e.length-1),a=ee(r,o,Object);for(;a.obj===void 0&&o.length;)i=`${o[o.length-1]}.${i}`,o=o.slice(0,o.length-1),a=ee(r,o,Object),a&&a.obj&&typeof a.obj[`${a.k}.${i}`]<"u"&&(a.obj=void 0);a.obj[`${a.k}.${i}`]=t}function mt(r,e,t,n){const{obj:s,k:i}=ee(r,e,Object);s[i]=s[i]||[],s[i].push(t)}function ue(r,e){const{obj:t,k:n}=ee(r,e);if(t)return t[n]}function yt(r,e,t){const n=ue(r,t);return n!==void 0?n:ue(e,t)}function We(r,e,t){for(const n in e)n!=="__proto__"&&n!=="constructor"&&(n in r?typeof r[n]=="string"||r[n]instanceof String||typeof e[n]=="string"||e[n]instanceof String?t&&(r[n]=e[n]):We(r[n],e[n],t):r[n]=e[n]);return r}function _(r){return r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var bt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function vt(r){return typeof r=="string"?r.replace(/[&<>"'\/]/g,e=>bt[e]):r}class wt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}const xt=[" ",",","?","!",";"],St=new wt(20);function Ot(r,e,t){e=e||"",t=t||"";const n=xt.filter(o=>e.indexOf(o)<0&&t.indexOf(o)<0);if(n.length===0)return!0;const s=St.getRegExp(`(${n.map(o=>o==="?"?"\\?":o).join("|")})`);let i=!s.test(r);if(!i){const o=r.indexOf(t);o>0&&!s.test(r.substring(0,o))&&(i=!0)}return i}function be(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!r)return;if(r[e])return r[e];const n=e.split(t);let s=r;for(let i=0;i<n.length;){if(!s||typeof s!="object")return;let o,a="";for(let u=i;u<n.length;++u)if(u!==i&&(a+=t),a+=n[u],o=s[a],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&u<n.length-1)continue;i+=u-i+1;break}s=o}return s}function le(r){retuLine truncated
`)===0?P.substr(1,P.length):P}).forEach(function(P){var A=P.split(":"),E=A.shift().trim();if(E){var K=A.join(":").trim();p.append(E,K)}}),p}w.call(T.prototype);function C(f,p){if(!(this instanceof C))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p||(p={}),this.type="default",this.status=p.status===void 0?200:p.status,this.ok=this.status>=200&&this.status<300,this.statusText=p.statusText===void 0?"":""+p.statusText,this.headers=new y(p.headers),this.url=p.url||"",this._initBody(f)}w.call(C.prototype),C.prototype.clone=function(){return new C(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},C.error=function(){var f=new C(null,{status:0,statusText:""});return f.type="error",f};var M=[301,302,303,307,308];C.redirect=function(f,p){if(M.indexOf(p)===-1)throw new RangeError("Invalid status code");return new C(null,{status:p,headers:{location:f}})},o.DOMException=a.DOMException;try{new o.DOMException}catch{o.DOMException=function(p,v){this.message=p,this.name=v;var P=Error(p);this.stack=P.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function I(f,p){return new Promise(function(v,P){var A=new T(f,p);if(A.signal&&A.signal.aborted)return P(new o.DOMException("Aborted","AbortError"));var E=new XMLHttpRequest;function K(){E.abort()}E.onload=function(){var U={status:E.status,statusText:E.statusText,headers:R(E.getAllResponseHeaders()||"")};U.url="responseURL"in E?E.responseURL:U.headers.get("X-Request-URL");var re="response"in E?E.response:E.responseText;setTimeout(function(){v(new C(re,U))},0)},E.onerror=function(){setTimeout(function(){P(new TypeError("Network request failed"))},0)},E.ontimeout=function(){setTimeout(function(){P(new TypeError("Network request failed"))},0)},E.onabort=function(){setTimeout(function(){P(new o.DOMException("Aborted","AbortError"))},0)};function lt(U){try{return U===""&&a.location.href?a.location.href:U}catch{return U}}E.open(A.method,lt(A.url),!0),A.credentials==="include"?E.withCredentials=!0:A.credentials==="omit"&&(E.withCredentials=!1),"responseType"in E&&(u.blob?E.responseType="blob":u.arrayBuffer&&A.headers.get("Content-Type")&&A.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(E.responseType="arraybuffer")),p&&typeof p.headers=="object"&&!(p.headers instanceof y)?Object.getOwnPropertyNames(p.headers).forEach(function(U){E.setRequestHeader(U,m(p.headers[U]))}):A.headers.forEach(function(U,re){E.setRequestHeader(re,U)}),A.signal&&(A.signal.addEventListener("abort",K),E.onreadystatechange=function(){E.readyState===4&&A.signal.removeEventListener("abort",K)}),E.send(typeof A._bodyInit>"u"?null:A._bodyInit)})}return I.polyfill=!0,a.fetch||(a.fetch=I,a.Headers=y,a.Request=T,a.Response=C),o.Headers=y,o.Request=T,o.Response=C,o.fetch=I,o})({})})(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var s=t.fetch?t:n;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,r.exports=e}(ie,ie.exports)),ie.exports}(function(r,e){var t;if(typeof fetch=="function"&&(typeof Z<"u"&&Z.fetch?t=Z.fetch:typeof window<"u"&&window.fetch?t=window.fetch:t=fetch),typeof wn<"u"&&typeof window>"u"){var n=t||xn();n.default&&(n=n.default),e.default=n,r.exports=e.default}})(xe,xe.exports);var it=xe.exports;const ot=Xe(it),Ve=dt({__proto__:null,default:ot},[it]);function Ke(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,n)}return t}function qe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ke(Object(t),!0).forEach(function(n){Sn(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ke(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Sn(r,e,t){return e=On(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function On(r){var e=Pn(r,"string");return q(e)=="symbol"?e:e+""}function Pn(r,e){if(q(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(q(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function q(r){"@babel/helpers - typeof";return q=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(r)}var V;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?V=global.fetch:typeof window<"u"&&window.fetch?V=window.fetch:V=fetch);var ne;st()&&(typeof global<"u"&&global.XMLHttpRequest?ne=global.XMLHttpRequest:typeof window<"u"&&window.XMLHt Line truncated
-1
View File
@@ -1 +0,0 @@
import{j as e,M as Pe,a as z,T as w,u as Y,b as ee,D as N,c as U,G as v,d as We,e as te,B as P,f as ne,g as A,C as Q,h as E,L as M,A as Qe,i as we,I as Z,k as He,l as B,P as _,m as Ke,n as Ge,o as Fe,S as W,p as Ee,q as Ae,r as Ve,s as Te,t as De,v as Je,w as ge,x as Ze,y as Xe,z as Ye,E as et,F as tt,H as nt,J as rt}from"./mui-53GMXZgr.js";import{u as H,a as K,b as je,c as ae,d as st,e as at,L as R,f as ot,O as it,g as ct,h as G,q as oe,i as fe,j as X,r as me,k as lt,R as ut,Q as dt,l as ht}from"./tanstack-ZGp-Rrdw.js";import{c as mt,r as j}from"./react-C_FdcE2X.js";import{i as J,B as xt,a as pt,b as gt,u as $,t as C,T as jt}from"./i18n-DyW0LrNj.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))c(r);new MutationObserver(r=>{for(const d of r)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&c(h)}).observe(document,{childList:!0,subtree:!0});function i(r){const d={};return r.integrity&&(d.integrity=r.integrity),r.referrerPolicy&&(d.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?d.credentials="include":r.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function c(r){if(r.ep)return;r.ep=!0;const d=i(r);fetch(r.href,d)}})();var xe={},be=mt;xe.createRoot=be.createRoot,xe.hydrateRoot=be.hydrateRoot;const O=new Map;function ft(t,n){const i=n==null?void 0:n.serializer,[c]=j.useState(n==null?void 0:n.defaultValue);return yt(t,c,n==null?void 0:n.storageSync,i==null?void 0:i.parse,i==null?void 0:i.stringify)}function yt(t,n,i=!0,c=vt,r=JSON.stringify){const d=j.useRef({string:null,parsed:void 0}),h=j.useSyncExternalStore(j.useCallback(o=>{const p=u=>{t===u&&o()};return pe.add(p),()=>{pe.delete(p)}},[t]),()=>{var o;const p=(o=se(()=>localStorage.getItem(t)))!==null&&o!==void 0?o:null;if(O.has(t))d.current.parsed=O.get(t);else if(p!==d.current.string){let u;try{u=p===null?n:c(p)}catch{u=n}d.current.parsed=u}return d.current.string=p,p===null&&n!==void 0&&se(()=>{const u=r(n);localStorage.setItem(t,u),d.current={string:u,parsed:n}}),d.current.parsed},()=>n),s=j.useCallback(o=>{const p=o instanceof Function?o(d.current.parsed):o;try{localStorage.setItem(t,r(p)),O.delete(t)}catch{O.set(t,p)}de(t)},[t,r]);return j.useEffect(()=>{if(!i)return;const o=p=>{p.storageArea===se(()=>localStorage)&&p.key===t&&de(t)};return window.addEventListener("storage",o),()=>window.removeEventListener("storage",o)},[t,i]),j.useMemo(()=>[h,s,{isPersistent:h===n||!O.has(t),removeItem(){se(()=>localStorage.removeItem(t)),O.delete(t),de(t)}}],[t,s,h,n])}const pe=new Set;function de(t){for(const n of[...pe])n(t)}function vt(t){return t==="undefined"?void 0:JSON.parse(t)}function se(t){try{return t()}catch{}}const he=15,Ct=3,q="https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/",Ue=j.createContext({hasAuth:!1,currentSession:[void 0,void 0]}),F=()=>{const{hasAuth:t,authenticatedUser:n,currentSession:i,logIn:c,logOut:r,posts:d,newPost:h,updatePost:s,deletePost:o,user:p,createUser:u,updateUser:a,updateUserImage:l,userPosts:m}=j.useContext(Ue);if(c&&r&&d&&h&&s&&o&&p&&u&&a&&l&&m)return{hasAuth:t,authenticatedUser:n,currentSession:i,logIn:c,logOut:r,posts:d,newPost:h,updatePost:s,deletePost:o,user:p,createUser:u,updateUser:a,updateUserImage:l,userPosts:m};throw new Error("Couldn't find context. Is your component inside an ApiProvider?")},wt=({children:t})=>{const[n,i]=j.useState(!1),[c,r]=j.useState(),[d,h]=ft("egb_session",{defaultValue:[void 0,void 0]}),s=j.useRef();j.useEffect(()=>{d[0]&&!s.current&&(s.current=d[0],Ce())},[d]);const o=async(g,f)=>{const{user:y,token:S,refreshToken:Ne}=await(await ye("login",{email:g,password:f})).json();r(y),h([S,Ne]),i(!0),s.current=S},p=async()=>{try{return s.current?await(await T(()=>le("logout"))).json():!0}catch{return!1}finally{r(void 0),h([void 0,void 0]),i(!1),s.current=void 0}},u=async g=>{const f=`posts?p=${g??0}&l=${he}`;return n?await(await T(()=>ue(f))).json():await(await _e(f)).json()},a=async g=>await(await T(()=>le(`posts?l=${he}`,g))).json(),l=async(g,f)=>await(await T(()=>ve(`posts/${f}`,g))).json(),m=async g=>await(await T(()=>ze(`posts/${g}?l=${he}`))).json(),x=async g=>await(await T(()=>ue(`users/${g??(c==null?void 0:c.id)}`))).json(),b=async g=>await(await ye("register",g)).json(),L=async(g,f)=>{const y=await(await T(()=>ve(`users/${f??"self"}`,g))).json();return r(y),y},re=async(g,f)=>{const y=new FormData;g.image&&y.append("image",g.image),!g.image&&g.predefined&&y.append("predefined",g.predefined);const S=await(await T(()=>Be(`users/${f??"self"}/image`,y))).json();return r(S),S},V=async g=>await(await T(()=>ue(`users/${g}/posts?l=${Ct}&s=desc`))).json(),ye=async(g,f,y)=>{const S=await fetch(`${q}${g}`,{mode:"cors",method:"post",headers:y,body:JSON.stringify(f)});if(S.ok)return S;throw await S.json()},le=async(g,f,y)=>{const S=await fetch(`${q}${g}`,{mode:"corLine truncated
+5
View File
@@ -0,0 +1,5 @@
import{j as e,B as A,G as C,D as ie,T,M as ve,a as _,b as Fe,L as De,S as Ae,u as ne,c as J,d as Q,e as M,f as Ge,g as re,h as D,i as se,k,C as G,l as N,A as Xe,m as Pe,I as z,n as Ve,o as H,P as W,p as Ze,q as Ye,r as Ie,s as K,t as ke,v as Ue,w as et,x as Oe,y as _e,z as tt,E as nt,F as rt,H as st,J as ot,K as at,N as it,O as ct,Q as lt,R as ut,U as dt}from"./mui-aBip8mmu.js";import{u as X,a as V,b as Ce,c as ce,d as ht,e as mt,L as B,f as xt,O as pt,g as gt,h as Z,q as le,i as Se,j as ee,r as je,k as jt,R as ft,Q as yt,l as vt}from"./tanstack-DojtBDN6.js";import{c as Ct,r as P}from"./react-C_FdcE2X.js";import{c as St}from"./zustand-DAXCIHlT.js";import{i as Y,B as wt,a as bt,b as Pt,u as $,t as b,T as Tt}from"./i18n-W-kxdzA-.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const c of a.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&i(c)}).observe(document,{childList:!0,subtree:!0});function s(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=s(r);fetch(r.href,a)}})();var fe={},Te=Ct;fe.createRoot=Te.createRoot,fe.hydrateRoot=Te.hydrateRoot;const pe=15,Et=3;var ae={BASE_URL:"/phpCourse/exam/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const ye=new Map,oe=t=>{const n=ye.get(t);return n?Object.fromEntries(Object.entries(n.stores).map(([s,i])=>[s,i.getState()])):{}},Ft=(t,n,s)=>{if(t===void 0)return{type:"untracked",connection:n.connect(s)};const i=ye.get(s.name);if(i)return{type:"tracked",store:t,...i};const r={connection:n.connect(s),stores:{}};return ye.set(s.name,r),{type:"tracked",store:t,...r}},Dt=(t,n={})=>(s,i,r)=>{const{enabled:a,anonymousActionType:c,store:d,...p}=n;let g;try{g=(a??(ae?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!g)return(ae?"production":void 0)!=="production"&&a&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(s,i,r);const{connection:l,...o}=Ft(d,g,p);let u=!0;r.setState=(m,f,y)=>{const j=s(m,f);if(!u)return j;const E=y===void 0?{type:c||"anonymous"}:typeof y=="string"?{type:y}:y;return d===void 0?(l==null||l.send(E,i()),j):(l==null||l.send({...E,type:`${d}/${E.type}`},{...oe(p.name),[d]:r.getState()}),j)};const h=(...m)=>{const f=u;u=!1,s(...m),u=f},x=t(r.setState,i,r);if(o.type==="untracked"?l==null||l.init(x):(o.stores[o.store]=r,l==null||l.init(Object.fromEntries(Object.entries(o.stores).map(([m,f])=>[m,m===o.store?x:f.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let m=!1;const f=r.dispatch;r.dispatch=(...y)=>{(ae?"production":void 0)!=="production"&&y[0].type==="__setState"&&!m&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),m=!0),f(...y)}}return l.subscribe(m=>{var f;switch(m.type){case"ACTION":if(typeof m.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return ge(m.payload,y=>{if(y.type==="__setState"){if(d===void 0){h(y.state);return}Object.keys(y.state).length!==1&&console.error(`
[zustand devtools middleware] Unsupported __setState action format.
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
`);const j=y.state[d];if(j==null)return;JSON.stringify(r.getState())!==JSON.stringify(j)&&h(j);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(y)});case"DISPATCH":switch(m.payload.type){case"RESET":return h(x),d===void 0?l==null?void 0:l.init(r.getState()):l==null?void 0:l.init(oe(p.name));case"COMMIT":if(d===void 0){l==null||l.init(r.getState());return}return l==null?void 0:l.init(oe(p.name));case"ROLLBACK":return ge(m.state,y=>{if(d===void 0){h(y),l==null||l.init(r.getState());return}h(y[d]),l==null||l.init(oe(p.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return ge(m.state,y=>{if(d===void 0){h(y);return}JSON.stringify(r.getState())!==JSON.stringify(y[d])&&h(y[d])});case"IMPORT_STATE":{const{nextLiftedState:y}=m.payload,j=(f=y.computedStates.slice(-1)[0])==null?void 0:f.state;if(!j)return;h(d===void 0?j:j[d]),l==null||l.send(null,y);return}case"PAUSE_RECORDING":return u=!u}return}}),x},At=Dt,ge=(t,n)=>{let s;try{s=JSON.parse(t)}catch(i){console.error("[zustand devtools middleware] Could not parse the received json",i)}s!==void 0&&n(s)};function It(t,n){let s;try{s=t()}catch{return}return{getItem:r=>{var a;const c=p=>p===null?null:JSON.parse(p,void 0),d=(a=s.getItem(r))!=null?a:null;return d instanceof Promise?d.then(c):c(d)},setItem:(r,a)=>s.setItem(r,JSON.stringify(a,void 0)),removeItem:r=>s.removeItem(r)}}const te=t=>n=>{try{const s=t(n);return s instanceof Promise?s:{then(i){return te(i)(s)},catch(i){return this}}}catch(s){return{then(i){return this},catch(i){return te(i)(s)}}}},kt=(t,n)=>(s,i,r)=>{let a={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:f=>f,version:0,merge:(f,y)=>({...y,...f}),...n},c=!1;const d=new Set,p=new Set;let g;try{g=a.getStorage()}catch{}if(!g)return t((...f)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),s(...f)},i,r);const l=te(a.serialize),o=()=>{const f=a.partialize({...i()});let y;const j=l({state:f,version:a.version}).then(E=>g.setItem(a.name,E)).catch(E=>{y=E});if(y)throw y;return j},u=r.setState;r.setState=(f,y)=>{u(f,y),o()};const h=t((...f)=>{s(...f),o()},i,r);let x;const m=()=>{var f;if(!g)return;c=!1,d.forEach(j=>j(i()));const y=((f=a.onRehydrateStorage)==null?void 0:f.call(a,i()))||void 0;return te(g.getItem.bind(g))(a.name).then(j=>{if(j)return a.deserialize(j)}).then(j=>{if(j)if(typeof j.version=="number"&&j.version!==a.version){if(a.migrate)return a.migrate(j.state,j.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return j.state}).then(j=>{var E;return x=a.merge(j,(E=i())!=null?E:h),s(x,!0),o()}).then(()=>{y==null||y(x,void 0),c=!0,p.forEach(j=>j(x))}).catch(j=>{y==null||y(void 0,j)})};return r.persist={setOptions:f=>{a={...a,...f},f.getStorage&&(g=f.getStorage())},clearStorage:()=>{g==null||g.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>m(),hasHydrated:()=>c,onHydrate:f=>(d.add(f),()=>{d.delete(f)}),onFinishHydration:f=>(p.add(f),()=>{p.delete(f)})},m(),x||h},Ut=(t,n)=>(s,i,r)=>{let a={storage:It(()=>localStorage),partialize:m=>m,version:0,merge:(m,f)=>({...f,...m}),...n},c=!1;const d=new Set,p=new Set;let g=a.storage;if(!g)return t((...m)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),s(...m)},i,r);const l=()=>{const m=a.partialize({...i()});return g.setItem(a.name,{state:m,version:a.version})},o=r.setState;r.setState=(m,f)=>{o(m,f),l()};const u=t((...m)=>{s(...m),l()},i,r);r.getInitialState=()=>u;let h;const x=()=>{var m,f;if(!g)return;c=!1,d.forEach(j=>{var E;return j((E=i())!=null?E:u)});const y=((f=a.onRehydrateStorage)==null?void 0:f.call(a,(m=i())!=null?m:u))||void 0;return te(g.getItem.bind(g))(a.name).then(j=>{if(j)if(typeof j.version=="number"&&j.version!==a.version){if(a.migrate)return a.migrate(j.state,j.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return j.state}).then(j=>{var E;return h=a.merge(j,(E=i())!=null?E:u),s(h,!0),l()}).then(()=>{y==null||y(h,void 0),h=i(),c=!0,p.forEach(j=>j(h))}).catch(j=>{y==null||y(void 0,j)})};return r.persist={setOptions:m=>{a={...a,...m},m.storage&&(g=m.storage)},clearStorage:()=>{g==null||g.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>x(),hasHydrated:()=>c,onHydrate:m=>(d.add(m),()=>{d.delete(m)}),onFinishHydration:m=>(p.add(m),()=>{p.delete(m)})},a.skipHydration||x(),h||u},Ot=(t,n)=>"getStorage"in n||"serialize"in n||"deserialize"in n?((ae?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),kt(t,n)):Ut(t,n),_t=Ot,ue=St()(At(_t(t=>({theme:void 0,currentSession:[void 0,void 0],setTheme:n=>t(()=>({theme:n})),setCurrentSession:n=>t(()=>({currentSession:n}))}),{name:"guestbook-storage"}))),L="https://khofmann.user Line truncated
-178
View File
@@ -1,178 +0,0 @@
import{r as p,R as jo,g as gt,a as st,b as yn,c as ga}from"./react-C_FdcE2X.js";var es={exports:{}},jn={};/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var ha=p,ba=Symbol.for("react.element"),va=Symbol.for("react.fragment"),ya=Object.prototype.hasOwnProperty,xa=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ca={key:!0,ref:!0,__self:!0,__source:!0};function ts(e,t,n){var o,r={},i=null,s=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(s=t.ref);for(o in t)ya.call(t,o)&&!Ca.hasOwnProperty(o)&&(r[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)r[o]===void 0&&(r[o]=t[o]);return{$$typeof:ba,type:e,key:i,ref:s,props:r,_owner:xa.current}}jn.Fragment=va;jn.jsx=ts;jn.jsxs=ts;es.exports=jn;var C=es.exports;const sn={black:"#000",white:"#fff"},Et={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Mt={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},wt={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Tt={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},It={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},qt={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},$a={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"};function Ct(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n<arguments.length;n+=1)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified MUI error #"+e+"; visit "+t+" for the full message."}const Ra=Object.freeze(Object.defineProperty({__proto__:null,default:Ct},Symbol.toStringTag,{value:"Module"})),Dn="$$material";function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},u.apply(null,arguments)}function O(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}function ns(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var Sa=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|fLine truncated
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Re=typeof Symbol=="function"&&Symbol.for,sr=Re?Symbol.for("react.element"):60103,ar=Re?Symbol.for("react.portal"):60106,Vn=Re?Symbol.for("react.fragment"):60107,Kn=Re?Symbol.for("react.strict_mode"):60108,Gn=Re?Symbol.for("react.profiler"):60114,qn=Re?Symbol.for("react.provider"):60109,Xn=Re?Symbol.for("react.context"):60110,lr=Re?Symbol.for("react.async_mode"):60111,Yn=Re?Symbol.for("react.concurrent_mode"):60111,Zn=Re?Symbol.for("react.forward_ref"):60112,Qn=Re?Symbol.for("react.suspense"):60113,tl=Re?Symbol.for("react.suspense_list"):60120,Jn=Re?Symbol.for("react.memo"):60115,eo=Re?Symbol.for("react.lazy"):60116,nl=Re?Symbol.for("react.block"):60121,ol=Re?Symbol.for("react.fundamental"):60117,rl=Re?Symbol.for("react.responder"):60118,il=Re?Symbol.for("react.scope"):60119;function ze(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case sr:switch(e=e.type,e){case lr:case Yn:case Vn:case Gn:case Kn:case Qn:return e;default:switch(e=e&&e.$$typeof,e){case Xn:case Zn:case eo:case Jn:case qn:return e;default:return t}}case ar:return t}}}function ps(e){return ze(e)===Yn}ee.AsyncMode=lr;ee.ConcurrentMode=Yn;ee.ContextConsumer=Xn;ee.ContextProvider=qn;ee.Element=sr;ee.ForwardRef=Zn;ee.Fragment=Vn;ee.Lazy=eo;ee.Memo=Jn;ee.Portal=ar;ee.Profiler=Gn;ee.StrictMode=Kn;ee.Suspense=Qn;ee.isAsyncMode=function(e){return ps(e)||ze(e)===lr};ee.isConcurrentMode=ps;ee.isContextConsumer=function(e){return ze(e)===Xn};ee.isContextProvider=function(e){return ze(e)===qn};ee.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===sr};ee.isForwardRef=function(e){return ze(e)===Zn};ee.isFragment=function(e){return ze(e)===Vn};ee.isLazy=function(e){return ze(e)===eo};ee.isMemo=function(e){return ze(e)===Jn};ee.isPortal=function(e){return ze(e)===ar};ee.isProfiler=function(e){return ze(e)===Gn};ee.isStrictMode=function(e){return ze(e)===Kn};ee.isSuspense=function(e){return ze(e)===Qn};ee.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Vn||e===Yn||e===Gn||e===Kn||e===Qn||e===tl||typeof e=="object"&&e!==null&&(e.$$typeof===eo||e.$$typeof===Jn||e.$$typeof===qn||e.$$typeof===Xn||e.$$typeof===Zn||e.$$typeof===ol||e.$$typeof===rl||e.$$typeof===il||e.$$typeof===nl)};ee.typeOf=ze;ds.exports=ee;var sl=ds.exports,fs=sl,al={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ll={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},ms={};ms[fs.ForwardRef]=al;ms[fs.Memo]=ll;var cl=!0;function ul(e,t,n){var o="";return n.split(" ").forEach(function(r){e[r]!==void 0?t.push(e[r]+";"):o+=r+" "}),o}var gs=function(t,n,o){var r=t.key+"-"+n.name;(o===!1||cl===!1)&&t.registered[r]===void 0&&(t.registered[r]=n.styles)},hs=function(t,n,o){gs(t,n,o);var r=t.key+"-"+n.name;if(t.inserted[n.name]===void 0){var i=n;do t.insert(n===i?"."+r:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}};function dl(e){for(var t=0,n,o=0,r=e.length;r>=4;++o,r-=4)n=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(r){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var pl={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},fl=!1,ml=/[A-Z]|^ms/g,gl=/_EMO_([^_]+?)_([^]*?)_EMO_/g,bs=function(t){return t.charCodeAt(1)===45},jr=function(t){return t!=null&&typeof t!="boolean"},wo=ns(function(e){return bs(e)?e:e.replace(ml,"-$&").toLowerCase()}),Dr=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(gl,function(o,r,i){return et={name:r,styles:i,next:et},r})}return pl[t]!==1&&!bs(t)&&typeof n=="number"&&n!==0?n+"px":n},hl="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function cn(e,t,n){if(n==null)return"";var o=n;if(o.__emotion_styles!==void 0)return o;switch(typeof n){case"boolean":return"";case"object":{var r=n;if(r.anim===1)return et={name:r.name,styles:r.styles,next:et},r.name;var i=n;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)et={namLine truncated
* @license React
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var hr=Symbol.for("react.element"),br=Symbol.for("react.portal"),co=Symbol.for("react.fragment"),uo=Symbol.for("react.strict_mode"),po=Symbol.for("react.profiler"),fo=Symbol.for("react.provider"),mo=Symbol.for("react.context"),Lc=Symbol.for("react.server_context"),go=Symbol.for("react.forward_ref"),ho=Symbol.for("react.suspense"),bo=Symbol.for("react.suspense_list"),vo=Symbol.for("react.memo"),yo=Symbol.for("react.lazy"),zc=Symbol.for("react.offscreen"),As;As=Symbol.for("react.module.reference");function Ye(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case hr:switch(e=e.type,e){case co:case po:case uo:case ho:case bo:return e;default:switch(e=e&&e.$$typeof,e){case Lc:case mo:case go:case yo:case vo:case fo:return e;default:return t}}case br:return t}}}te.ContextConsumer=mo;te.ContextProvider=fo;te.Element=hr;te.ForwardRef=go;te.Fragment=co;te.Lazy=yo;te.Memo=vo;te.Portal=br;te.Profiler=po;te.StrictMode=uo;te.Suspense=ho;te.SuspenseList=bo;te.isAsyncMode=function(){return!1};te.isConcurrentMode=function(){return!1};te.isContextConsumer=function(e){return Ye(e)===mo};te.isContextProvider=function(e){return Ye(e)===fo};te.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===hr};te.isForwardRef=function(e){return Ye(e)===go};te.isFragment=function(e){return Ye(e)===co};te.isLazy=function(e){return Ye(e)===yo};te.isMemo=function(e){return Ye(e)===vo};te.isPortal=function(e){return Ye(e)===br};te.isProfiler=function(e){return Ye(e)===po};te.isStrictMode=function(e){return Ye(e)===uo};te.isSuspense=function(e){return Ye(e)===ho};te.isSuspenseList=function(e){return Ye(e)===bo};te.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===co||e===po||e===uo||e===ho||e===bo||e===zc||typeof e=="object"&&e!==null&&(e.$$typeof===yo||e.$$typeof===vo||e.$$typeof===fo||e.$$typeof===mo||e.$$typeof===go||e.$$typeof===As||e.getModuleId!==void 0)};te.typeOf=Ye;Os.exports=te;var Xr=Os.exports;const Fc=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function Ns(e){const t=`${e}`.match(Fc);return t&&t[1]||""}function _s(e,t=""){return e.displayName||e.name||Ns(e)||t}function Yr(e,t,n){const o=_s(t);return e.displayName||(o!==""?`${n}(${o})`:n)}function jc(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return _s(e,"Component");if(typeof e=="object")switch(e.$$typeof){case Xr.ForwardRef:return Yr(e,e.render,"ForwardRef");case Xr.Memo:return Yr(e,e.type,"memo");default:return}}}const Dc=Object.freeze(Object.defineProperty({__proto__:null,default:jc,getFunctionName:Ns},Symbol.toStringTag,{value:"Module"}));function un(e,t){const n=u({},t);return Object.keys(e).forEach(o=>{if(o.toString().match(/^(components|slots)$/))n[o]=u({},e[o],n[o]);else if(o.toString().match(/^(componentsProps|slotProps)$/)){const r=e[o]||{},i=t[o];n[o]={},!i||!Object.keys(i)?n[o]=r:!r||!Object.keys(r)?n[o]=i:(n[o]=u({},i),Object.keys(r).forEach(s=>{n[o][s]=un(r[s],i[s])}))}else n[o]===void 0&&(n[o]=e[o])}),n}function Wc(e){const{theme:t,name:n,props:o}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?o:un(t.components[n].defaultProps,o)}const lt=typeof window<"u"?p.useLayoutEffect:p.useEffect;function Uc(e,t,n,o,r){const[i,s]=p.useState(()=>r&&n?n(e).matches:o?o(e).matches:t);return lt(()=>{let a=!0;if(!n)return;const l=n(e),c=()=>{a&&s(l.matches)};return c(),l.addListener(c),()=>{a=!1,l.removeListener(c)}},[e,n]),i}const Bs=p.useSyncExternalStore;function Hc(e,t,n,o,r){const i=p.useCallback(()=>t,[t]),s=p.useMemo(()=>{if(r&&n)return()=>n(e).matches;if(o!==null){const{matches:d}=o(e);return()=>d}return i},[i,e,o,r,n]),[a,l]=p.useMemo(()=>{if(n===null)return[i,()=>()=>{}];const d=n(e);return[()=>d.matches,f=>(d.addListener(f),()=>{d.removeListener(f)})]},[i,n,e]);return Bs(l,a,s)}function Tb(e,t={}){const n=ws(),o=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:r=!1,matchMedia:i=o?window.matchMedia:null,ssrMatchMedia:s=null,noSsr:a=!1}=Wc({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(Bs!==void 0?Hc:Uc)(l,r,i,s,a)}function Vc(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const Kc=Object.freeze(Object.defineProperty({__proto__:null,default:Vc},Symbol.toStringTag,{value:"Module"}));function Zr(...e){return e.reduce((t,n)=>n==null?t:function(...r){t.apply(this,r),n.apply(this,r)},()=>{})}function Ls(e,t=166){let n;function o(...r){const i=()=>{e.apply(this,r)};clearTimeout(n),n=setTimeout(i,t)}return o.clear=()=>{clearTimeout(n)},o}function To(e,t){var n,o;return p.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(o=e.type)==null||(o=o._payload)==null||(o=o.value)==null?void 0:o.muiName)!==-1}function Me(e){return e&&e.ownerDocument||document}function $t(e){return Me(e).defaultView||window}function Vo(e,t){typeof e=="function"?e(t):e&&(e.current=t)}let Qr=0;function Gc(e){const[t,n]=p.useState(e),o=e||t;return p.usLine truncated
0% {
transform: scale(0);
opacity: 0.1;
}
100% {
transform: scale(1);
opacity: 0.3;
}
`)),Bd=ct(mi||(mi=$o`
0% {
opacity: 1;
}
100% {
opacity: 0;
}
`)),Ld=ct(gi||(gi=$o`
0% {
transform: scale(1);
}
50% {
transform: scale(0.92);
}
100% {
transform: scale(1);
}
`)),zd=M("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),Fd=M(Od,{name:"MuiTouchRipple",slot:"Ripple"})(hi||(hi=$o`
opacity: 0;
position: absolute;
&.${0} {
opacity: 0.3;
transform: scale(1);
animation-name: ${0};
animation-duration: ${0}ms;
animation-timing-function: ${0};
}
&.${0} {
animation-duration: ${0}ms;
}
& .${0} {
opacity: 1;
display: block;
width: 100%;
height: 100%;
border-radius: 50%;
background-color: currentColor;
}
& .${0} {
opacity: 0;
animation-name: ${0};
animation-duration: ${0}ms;
animation-timing-function: ${0};
}
& .${0} {
position: absolute;
/* @noflip */
left: 0px;
top: 0;
animation-name: ${0};
animation-duration: 2500ms;
animation-timing-function: ${0};
animation-iteration-count: infinite;
animation-delay: 200ms;
}
`),Ve.rippleVisible,_d,Jo,({theme:e})=>e.transitions.easing.easeInOut,Ve.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,Ve.child,Ve.childLeaving,Bd,Jo,({theme:e})=>e.transitions.easing.easeInOut,Ve.childPulsate,Ld,({theme:e})=>e.transitions.easing.easeInOut),jd=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiTouchRipple"}),{center:r=!1,classes:i={},className:s}=o,a=O(o,Ad),[l,c]=p.useState([]),d=p.useRef(0),f=p.useRef(null);p.useEffect(()=>{f.current&&(f.current(),f.current=null)},[l]);const h=p.useRef(!1),b=yr(),m=p.useRef(null),g=p.useRef(null),$=p.useCallback(x=>{const{pulsate:S,rippleX:P,rippleY:k,rippleSize:w,cb:E}=x;c(T=>[...T,C.jsx(Fd,{classes:{ripple:F(i.ripple,Ve.ripple),rippleVisible:F(i.rippleVisible,Ve.rippleVisible),ripplePulsate:F(i.ripplePulsate,Ve.ripplePulsate),child:F(i.child,Ve.child),childLeaving:F(i.childLeaving,Ve.childLeaving),childPulsate:F(i.childPulsate,Ve.childPulsate)},timeout:Jo,pulsate:S,rippleX:P,rippleY:k,rippleSize:w},d.current)]),d.current+=1,f.current=E},[i]),v=p.useCallback((x={},S={},P=()=>{})=>{const{pulsate:k=!1,center:w=r||S.pulsate,fakeElement:E=!1}=S;if((x==null?void 0:x.type)==="mousedown"&&h.current){h.current=!1;return}(x==null?void 0:x.type)==="touchstart"&&(h.current=!0);const T=E?null:g.current,D=T?T.getBoundingClientRect():{width:0,height:0,left:0,top:0};let z,L,_;if(w||x===void 0||x.clientX===0&&x.clientY===0||!x.clientX&&!x.touches)z=Math.round(D.width/2),L=Math.round(D.height/2);else{const{clientX:B,clientY:N}=x.touches&&x.touches.length>0?x.touches[0]:x;z=Math.round(B-D.left),L=Math.round(N-D.top)}if(w)_=Math.sqrt((2*D.width**2+D.height**2)/3),_%2===0&&(_+=1);else{const B=Math.max(Math.abs((T?T.clientWidth:0)-z),z)*2+2,N=Math.max(Math.abs((T?T.clientHeight:0)-L),L)*2+2;_=Math.sqrt(B**2+N**2)}x!=null&&x.touches?m.current===null&&(m.current=()=>{$({pulsate:k,rippleX:z,rippleY:L,rippleSize:_,cb:P})},b.start(Nd,()=>{m.current&&(m.current(),m.current=null)})):$({pulsate:k,rippleX:z,rippleY:L,rippleSize:_,cb:P})},[r,$,b]),R=p.useCallback(()=>{v({},{pulsate:!0})},[v]),y=p.useCallback((x,S)=>{if(b.clear(),(x==null?void 0:x.type)==="touchend"&&m.current){m.current(),m.current=null,b.start(0,()=>{y(x,S)});return}m.current=null,c(P=>P.length>0?P.slice(1):P),f.current=S},[b]);return p.useImperativeHandle(n,()=>({pulsate:R,start:v,stop:y}),[R,v,y]),C.jsx(zd,u({className:F(Ve.root,i.root,s),ref:g},a,{children:C.jsx(Pr,{component:null,exit:!0,children:l})}))});function Dd(e){return V("MuiButtonBase",e)}const Wd=U("MuiButtonBase",["root","disabled","focusVisible"]),Ud=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],Hd=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:o,classes:r}=e,s=K({root:["root",t&&"disabled",n&&"focusVisible"]},Dd,r);return n&&o&&(s.root+=` ${o}`),s},Vd=M("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Wd.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Ro=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiButtonBase"}),{action:r,centerRipple:i=!1,children:s,className:a,component:l="button",disabled:c=!1,disableRipple:d=!1,disableTouchRipple:f=!1,focusRipple:h=!1,LinkComponent:b="a",onBlur:m,onClick:g,onContextMenu:$,onDragLeave:v,onFocus:R,onFocusVisible:y,onKeyDown:x,onKeyUp:S,onMouseDown:P,onMouseLeave:k,onMouseUp:w,onTouchEnd:E,onTouchMove:T,onTouchStart:D,tabIndex:z=0,TouchRippleProps:L,touchRippleRef:_,type:B}=o,N=O(o,Ud),j=p.useRef(null),A=p.useRef(null),Y=$e(A,_),{isFocusVisibleRef:ie,onFocus:Te,onBlur:he,ref:fe}=zs(),[X,se]=p.useState(!1);c&&X&&se(!1),p.useImperativeHandle(r,()=>({focusVisible:()=>{se(!0),j.current.focus()}}),[]);const[ae,Ie]=p.useState(!1);p.useEffect(()=>{Ie(!0)},[]);const we=ae&&!d&&!c;p.useEffect(()=>{X&&h&&!d&&ae&&A.current.pulsate()},[d,h,X,ae]);function be(H,it,Kt=f){return at(Gt=>(it&&it(Gt),!Kt&&A.current&&A.current[H](Gt),!0))}const Oe=be("start",P),J=be("stop",$),de=be("stop",v),q=be("stop",w),ne=be("stop",H=>{X&&H.preventDefault(),k&&k(H)}),le=be("start",D),ut=be("stop",E),je=be("stop",T),De=be("stop",H=>{he(H),ie.current===!1&&se(!1),m&&m(H)},!1),Ze=at(H=>{j.current||(j.current=H.currentTarget),Te(H),ie.current===!0&&(se(!0),y&&y(H)),R&&R(H)}),We=()=>{con Line truncated
`&&(x.value+=" ");const S=y.boxSizing,P=Rn(y.paddingBottom)+Rn(y.paddingTop),k=Rn(y.borderBottomWidth)+Rn(y.borderTopWidth),w=x.scrollHeight;x.value="x";const E=x.scrollHeight;let T=w;i&&(T=Math.max(Number(i)*E,T)),r&&(T=Math.min(Number(r)*E,T)),T=Math.max(T,E);const D=T+(S==="border-box"?P+k:0),z=Math.abs(T-w)<=1;return{outerHeightStyle:D,overflowing:z}},[r,i,t.placeholder]),g=p.useCallback(()=>{const v=m();if(Rp(v))return;const R=v.outerHeightStyle,y=d.current;h.current!==R&&(h.current=R,y.style.height=`${R}px`),y.style.overflow=v.overflowing?"hidden":""},[m]);lt(()=>{const v=()=>{g()};let R;const y=Ls(v),x=d.current,S=$t(x);S.addEventListener("resize",y);let P;return typeof ResizeObserver<"u"&&(P=new ResizeObserver(v),P.observe(x)),()=>{y.clear(),cancelAnimationFrame(R),S.removeEventListener("resize",y),P&&P.disconnect()}},[m,g]),lt(()=>{g()});const $=v=>{c||g(),o&&o(v)};return C.jsxs(p.Fragment,{children:[C.jsx("textarea",u({value:a,onChange:$,ref:f,rows:i,style:s},l)),C.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:b,tabIndex:-1,style:u({},$p.shadow,s,{paddingTop:0,paddingBottom:0})})]})});function Ut({props:e,states:t,muiFormControl:n}){return t.reduce((o,r)=>(o[r]=e[r],n&&typeof e[r]>"u"&&(o[r]=n[r]),o),{})}const Er=p.createContext(void 0);function Ht(){return p.useContext(Er)}function kp(e){return C.jsx(wc,u({},e,{defaultTheme:Sr,themeId:Dn}))}function Ci(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function Fn(e,t=!1){return e&&(Ci(e.value)&&e.value!==""||t&&Ci(e.defaultValue)&&e.defaultValue!=="")}function Pp(e){return e.startAdornment}function Ep(e){return V("MuiInputBase",e)}const Ft=U("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Mp=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],So=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${I(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},ko=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},wp=e=>{const{classes:t,color:n,disabled:o,error:r,endAdornment:i,focused:s,formControl:a,fullWidth:l,hiddenLabel:c,multiline:d,readOnly:f,size:h,startAdornment:b,type:m}=e,g={root:["root",`color${I(n)}`,o&&"disabled",r&&"error",l&&"fullWidth",s&&"focused",a&&"formControl",h&&h!=="medium"&&`size${I(h)}`,d&&"multiline",b&&"adornedStart",i&&"adornedEnd",c&&"hiddenLabel",f&&"readOnly"],input:["input",o&&"disabled",m==="search"&&"inputTypeSearch",d&&"inputMultiline",h==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",b&&"inputAdornedStart",i&&"inputAdornedEnd",f&&"readOnly"]};return K(g,Ep,t)},Po=M("div",{name:"MuiInputBase",slot:"Root",overridesResolver:So})(({theme:e,ownerState:t})=>u({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Ft.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&u({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),Eo=M("input",{name:"MuiInputBase",slot:"Input",overridesResolver:ko})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",o=u({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),r={opacity:"0 !important"},i=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return u({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Ft.formLine truncated
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
`)),wf=ct(Si||(Si=Mo`
0% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -125px;
}
`)),Tf=e=>{const{classes:t,variant:n,color:o,disableShrink:r}=e,i={root:["root",n,`color${I(o)}`],svg:["svg"],circle:["circle",`circle${I(n)}`,r&&"circleDisableShrink"]};return K(i,Pf,t)},If=M("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${I(n.color)}`]]}})(({ownerState:e,theme:t})=>u({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&St(ki||(ki=Mo`
animation: ${0} 1.4s linear infinite;
`),Mf)),Of=M("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),Af=M("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${I(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>u({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&St(Pi||(Pi=Mo`
animation: ${0} 1.4s ease-in-out infinite;
`),wf)),jb=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiCircularProgress"}),{className:r,color:i="primary",disableShrink:s=!1,size:a=40,style:l,thickness:c=3.6,value:d=0,variant:f="indeterminate"}=o,h=O(o,Ef),b=u({},o,{color:i,disableShrink:s,size:a,thickness:c,value:d,variant:f}),m=Tf(b),g={},$={},v={};if(f==="determinate"){const R=2*Math.PI*((ft-c)/2);g.strokeDasharray=R.toFixed(3),v["aria-valuenow"]=Math.round(d),g.strokeDashoffset=`${((100-d)/100*R).toFixed(3)}px`,$.transform="rotate(-90deg)"}return C.jsx(If,u({className:F(m.root,r),style:u({width:a,height:a},$,l),ownerState:b,ref:n,role:"progressbar"},v,h,{children:C.jsx(Of,{className:m.svg,ownerState:b,viewBox:`${ft/2} ${ft/2} ${ft} ${ft}`,children:C.jsx(Af,{className:m.circle,style:g,ownerState:b,cx:ft,cy:ft,r:(ft-c)/2,fill:"none",strokeWidth:c})})}))});function Ei(e){return e.substring(2).toLowerCase()}function Nf(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}function _f(e){const{children:t,disableReactTree:n=!1,mouseEvent:o="onClick",onClickAway:r,touchEvent:i="onTouchEnd"}=e,s=p.useRef(!1),a=p.useRef(null),l=p.useRef(!1),c=p.useRef(!1);p.useEffect(()=>(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const d=$e(t.ref,a),f=at(m=>{const g=c.current;c.current=!1;const $=Me(a.current);if(!l.current||!a.current||"clientX"in m&&Nf(m,$))return;if(s.current){s.current=!1;return}let v;m.composedPath?v=m.composedPath().indexOf(a.current)>-1:v=!$.documentElement.contains(m.target)||a.current.contains(m.target),!v&&(n||!g)&&r(m)}),h=m=>g=>{c.current=!0;const $=t.props[m];$&&$(g)},b={ref:d};return i!==!1&&(b[i]=h(i)),p.useEffect(()=>{if(i!==!1){const m=Ei(i),g=Me(a.current),$=()=>{s.current=!0};return g.addEventListener(m,f),g.addEventListener("touchmove",$),()=>{g.removeEventListener(m,f),g.removeEventListener("touchmove",$)}}},[f,i]),o!==!1&&(b[o]=h(o)),p.useEffect(()=>{if(o!==!1){const m=Ei(o),g=Me(a.current);return g.addEventListener(m,f),()=>{g.removeEventListener(m,f)}}},[f,o]),C.jsx(p.Fragment,{children:p.cloneElement(t,b)})}function Bf(e){const t=Me(e);return t.body===e?$t(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function on(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Mi(e){return parseInt($t(e).getComputedStyle(e).paddingRight,10)||0}function Lf(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,o=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||o}function wi(e,t,n,o,r){const i=[t,n,...o];[].forEach.call(e.children,s=>{const a=i.indexOf(s)===-1,l=!Lf(s);a&&l&&on(s,r)})}function _o(e,t){let n=-1;return e.some((o,r)=>t(o)?(n=r,!0):!1),n}function zf(e,t){const n=[],o=e.container;if(!t.disableScrollLock){if(Bf(o)){const s=Fs(Me(o));n.push({value:o.style.paddingRight,property:"padding-right",el:o}),o.style.paddingRight=`${Mi(o)+s}px`;const a=Me(o).querySelectorAll(".mui-fixed");[].forEach.call(a,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${Mi(l)+s}px`})}let i;if(o.parentNode instanceof DocumentFragment)i=Me(o).body;else{const s=o.parentElement,a=$t(o);i=(s==null?void 0:s.nodeName)==="HTML"&&a.getComputedStyle(s).overflowY==="scroll"?s:o}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:s,property:a})=>{i?s.style.setProperty(a,i):s.style.removeProperty(a)})}}function Ff(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class jf{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let o=this.modals.indexOf(t);if(o!==-1)return o;o=this.modals.length,this.modals.push(t),t.modalRef&&on(t.modalRef,!1);const r=Ff(n);wi(n,t.mount,t.modalRef,r,!0);const i=_o(this.containers,s=>s.container===n);return i!==-1?(this.containers[i].modals.push(t),o):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:r}),o)}mount(t,n){const o=_o(this.containers,i=>i.modals.indexOf(t)!==-1),r=this.containers[o];r.restore||(r.restore=zf(r,n))}remove(t,n=!0){const o=this.modals.indexOf(t);if(o===-1)return o;const r=_o(this.containers,s=>s.modals.indexOf(t)!==-1),i=this.containers[r];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(o,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&on(t.modalRef,n),wi(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(r,1);else{const s=i.modals[i.modals.length-1];s.modalRef&&on(s.modalRef,!1)}return o}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}const Df=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([co Line truncated
0% {
left: -35%;
right: 100%;
}
60% {
left: 100%;
right: -90%;
}
100% {
left: 100%;
right: -90%;
}
`)),Pg=ct(_i||(_i=Vt`
0% {
left: -200%;
right: 100%;
}
60% {
left: 107%;
right: -8%;
}
100% {
left: 107%;
right: -8%;
}
`)),Eg=ct(Bi||(Bi=Vt`
0% {
opacity: 1;
background-position: 0 -23px;
}
60% {
opacity: 0;
background-position: 0 -23px;
}
100% {
opacity: 1;
background-position: -200px -23px;
}
`)),Mg=e=>{const{classes:t,variant:n,color:o}=e,r={root:["root",`color${I(o)}`,n],dashed:["dashed",`dashedColor${I(o)}`],bar1:["bar",`barColor${I(o)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${I(o)}`,n==="buffer"&&`color${I(o)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return K(r,Rg,t)},Or=(e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?_n(e.palette[t].main,.62):Nn(e.palette[t].main,.5),wg=M("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${I(n.color)}`],t[n.variant]]}})(({ownerState:e,theme:t})=>u({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:Or(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),Tg=M("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${I(n.color)}`]]}})(({ownerState:e,theme:t})=>{const n=Or(t,e.color);return u({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},St(Li||(Li=Vt`
animation: ${0} 3s infinite linear;
`),Eg)),Ig=M("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${I(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(({ownerState:e,theme:t})=>u({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${tr}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${tr}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&St(zi||(zi=Vt`
width: auto;
animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
`),kg)),Og=M("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${I(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(({ownerState:e,theme:t})=>u({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:Or(t,e.color),transition:`transform .${tr}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&St(Fi||(Fi=Vt`
width: auto;
animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
`),Pg)),Gb=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiLinearProgress"}),{className:r,color:i="primary",value:s,valueBuffer:a,variant:l="indeterminate"}=o,c=O(o,Sg),d=u({},o,{color:i,variant:l}),f=Mg(d),h=xr(),b={},m={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&s!==void 0){b["aria-valuenow"]=Math.round(s),b["aria-valuemin"]=0,b["aria-valuemax"]=100;let g=s-100;h&&(g=-g),m.bar1.transform=`translateX(${g}%)`}if(l==="buffer"&&a!==void 0){let g=(a||0)-100;h&&(g=-g),m.bar2.transform=`translateX(${g}%)`}return C.jsxs(wg,u({className:F(f.root,r),ownerState:d,role:"progressbar"},b,{ref:n},c,{children:[l==="buffer"?C.jsx(Tg,{className:f.dashed,ownerState:d}):null,C.jsx(Ig,{className:f.bar1,ownerState:d,style:m.bar1}),l==="determinate"?null:C.jsx(Og,{className:f.bar2,ownerState:d,style:m.bar2})]}))});function Ag(e){return V("MuiLink",e)}const Ng=U("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),la={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},_g=e=>la[e]||e,Bg=({theme:e,ownerState:t})=>{const n=_g(t.color),o=zt(e,`palette.${n}`,!1)||t.color,r=zt(e,`palette.${n}Channel`);return"vars"in e&&r?`rgba(${r} / 0.4)`:Ce(o,.4)},Lg=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],zg=e=>{const{classes:t,component:n,focusVisible:o,underline:r}=e,i={root:["root",`underline${I(r)}`,n==="button"&&"button",o&&"focusVisible"]};return K(i,Ag,t)},Fg=M(xt,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`underline${I(n.underline)}`],n.component==="button"&&t.button]}})(({theme:e,ownerState:t})=>u({},t.underline==="none"&&{textDecoration:"none"},t.underline==="hover"&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},t.underline==="always"&&u({textDecoration:"underline"},t.color!=="inherit"&&{textDecorationColor:Bg({theme:e,ownerState:t})},{"&:hover":{textDecorationColor:"inherit"}}),t.component==="button"&&{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Ng.focusVisible}`]:{outline:"auto"}})),qb=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiLink"}),{className:r,color:i="primary",component:s="a",onBlur:a,onFocus:l,TypographyClasses:c,underline:d="always",variant:f="inherit",sx:h}=o,b=O(o,Lg),{isFocusVisibleRef:m,onBlur:g,onFocus:$,ref:v}=zs(),[R,y]=p.useState(!1),x=$e(n,v),S=E=>{g(E),m.current===!1&&y(!1),a&&a(E)},P=E=>{$(E),m.current===!0&&y(!0),l&&l(E)},k=u({},o,{color:i,component:s,focusVisible:R,underline:d,variant:f}),w=zg(k);return C.jsx(Fg,u({color:i,className:F(w.root,r),classes:c,component:s,onBlur:S,onFocus:P,ref:x,ownerState:k,variant:f,sx:[...Object.keys(la).includes(i)?[]:[{color:i}],...Array.isArray(h)?h:[h]]},b))}),nr=p.createContext({});function jg(e){return V("MuiList",e)}U("MuiList",["root","padding","dense","subheader"]);const Dg=["children","className","component","dense","disablePadding","subheader"],Wg=e=>{const{classes:t,disablePadding:n,dense:o,subheader:r}=e;return K({root:["root",!n&&"padding",o&&"dense",r&&"subheader"]},jg,t)},Ug=M("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>u({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),Hg=p.forwardRef(function(t,n){const o=G({props:t,name:"MuiList"}),{children:r,className:i,component:s="ul",dense:a=!1,disablePadding:l=!1,subheader:c}=o,d=O(o,Dg),f=p.useMemo(()=>({dense:a}),[a]),h=u({},o,{component:s,dense:a,disablePadding:l}),b=Wg(h);return C.jsx(nr.Provider,{value:f,children:C.jsxs(Ug,u({as:s,className:F(b.root,i),ref:n,ownerState:h},d,{children:[c,r]}))})}),ji=U("MuiListItemIcon",["root","alignItemsFlexStart"]),Di=U("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),Vg=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function zo(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function Wi(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function ca(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Qt(e,t,n,o,r,i){let s=!1,a=r(e,t,t?n:!1);for(;a;){if(a===e.firstChild){if(s)return!1;s=!0}const l=o?!1:a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tab Line truncated
+178
View File
@@ -0,0 +1,178 @@
import{r as p,R as jo,g as gt,a as st,b as Cn,c as $a}from"./react-C_FdcE2X.js";var os={exports:{}},Wn={};/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ra=p,Sa=Symbol.for("react.element"),ka=Symbol.for("react.fragment"),Pa=Object.prototype.hasOwnProperty,Ma=Ra.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ea={key:!0,ref:!0,__self:!0,__source:!0};function rs(e,t,n){var o,r={},i=null,s=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(s=t.ref);for(o in t)Pa.call(t,o)&&!Ea.hasOwnProperty(o)&&(r[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)r[o]===void 0&&(r[o]=t[o]);return{$$typeof:Sa,type:e,key:i,ref:s,props:r,_owner:Ma.current}}Wn.Fragment=ka;Wn.jsx=rs;Wn.jsxs=rs;os.exports=Wn;var x=os.exports;const an={black:"#000",white:"#fff"},Mt={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Et={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},wt={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Tt={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},It={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Xt={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},wa={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"};function Ct(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n<arguments.length;n+=1)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified MUI error #"+e+"; visit "+t+" for the full message."}const Ta=Object.freeze(Object.defineProperty({__proto__:null,default:Ct},Symbol.toStringTag,{value:"Module"})),Lt="$$material";function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},u.apply(null,arguments)}function O(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}function is(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var Ia=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|fLine truncated
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Se=typeof Symbol=="function"&&Symbol.for,sr=Se?Symbol.for("react.element"):60103,ar=Se?Symbol.for("react.portal"):60106,Kn=Se?Symbol.for("react.fragment"):60107,Gn=Se?Symbol.for("react.strict_mode"):60108,qn=Se?Symbol.for("react.profiler"):60114,Xn=Se?Symbol.for("react.provider"):60109,Yn=Se?Symbol.for("react.context"):60110,lr=Se?Symbol.for("react.async_mode"):60111,Zn=Se?Symbol.for("react.concurrent_mode"):60111,Qn=Se?Symbol.for("react.forward_ref"):60112,Jn=Se?Symbol.for("react.suspense"):60113,ll=Se?Symbol.for("react.suspense_list"):60120,eo=Se?Symbol.for("react.memo"):60115,to=Se?Symbol.for("react.lazy"):60116,cl=Se?Symbol.for("react.block"):60121,ul=Se?Symbol.for("react.fundamental"):60117,dl=Se?Symbol.for("react.responder"):60118,pl=Se?Symbol.for("react.scope"):60119;function ze(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case sr:switch(e=e.type,e){case lr:case Zn:case Kn:case qn:case Gn:case Jn:return e;default:switch(e=e&&e.$$typeof,e){case Yn:case Qn:case to:case eo:case Xn:return e;default:return t}}case ar:return t}}}function gs(e){return ze(e)===Zn}ee.AsyncMode=lr;ee.ConcurrentMode=Zn;ee.ContextConsumer=Yn;ee.ContextProvider=Xn;ee.Element=sr;ee.ForwardRef=Qn;ee.Fragment=Kn;ee.Lazy=to;ee.Memo=eo;ee.Portal=ar;ee.Profiler=qn;ee.StrictMode=Gn;ee.Suspense=Jn;ee.isAsyncMode=function(e){return gs(e)||ze(e)===lr};ee.isConcurrentMode=gs;ee.isContextConsumer=function(e){return ze(e)===Yn};ee.isContextProvider=function(e){return ze(e)===Xn};ee.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===sr};ee.isForwardRef=function(e){return ze(e)===Qn};ee.isFragment=function(e){return ze(e)===Kn};ee.isLazy=function(e){return ze(e)===to};ee.isMemo=function(e){return ze(e)===eo};ee.isPortal=function(e){return ze(e)===ar};ee.isProfiler=function(e){return ze(e)===qn};ee.isStrictMode=function(e){return ze(e)===Gn};ee.isSuspense=function(e){return ze(e)===Jn};ee.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Kn||e===Zn||e===qn||e===Gn||e===Jn||e===ll||typeof e=="object"&&e!==null&&(e.$$typeof===to||e.$$typeof===eo||e.$$typeof===Xn||e.$$typeof===Yn||e.$$typeof===Qn||e.$$typeof===ul||e.$$typeof===dl||e.$$typeof===pl||e.$$typeof===cl)};ee.typeOf=ze;ms.exports=ee;var fl=ms.exports,hs=fl,ml={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gl={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},bs={};bs[hs.ForwardRef]=ml;bs[hs.Memo]=gl;var hl=!0;function bl(e,t,n){var o="";return n.split(" ").forEach(function(r){e[r]!==void 0?t.push(e[r]+";"):o+=r+" "}),o}var vs=function(t,n,o){var r=t.key+"-"+n.name;(o===!1||hl===!1)&&t.registered[r]===void 0&&(t.registered[r]=n.styles)},ys=function(t,n,o){vs(t,n,o);var r=t.key+"-"+n.name;if(t.inserted[n.name]===void 0){var i=n;do t.insert(n===i?"."+r:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}};function vl(e){for(var t=0,n,o=0,r=e.length;r>=4;++o,r-=4)n=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(r){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var yl={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},xl=!1,Cl=/[A-Z]|^ms/g,$l=/_EMO_([^_]+?)_([^]*?)_EMO_/g,xs=function(t){return t.charCodeAt(1)===45},Dr=function(t){return t!=null&&typeof t!="boolean"},wo=is(function(e){return xs(e)?e:e.replace(Cl,"-$&").toLowerCase()}),Wr=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace($l,function(o,r,i){return et={name:r,styles:i,next:et},r})}return yl[t]!==1&&!xs(t)&&typeof n=="number"&&n!==0?n+"px":n},Rl="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function un(e,t,n){if(n==null)return"";var o=n;if(o.__emotion_styles!==void 0)return o;switch(typeof n){case"boolean":return"";case"object":{var r=n;if(r.anim===1)return et={name:r.name,styles:r.styles,next:et},r.name;var i=n;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)et={namLine truncated
* @license React
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var br=Symbol.for("react.element"),vr=Symbol.for("react.portal"),co=Symbol.for("react.fragment"),uo=Symbol.for("react.strict_mode"),po=Symbol.for("react.profiler"),fo=Symbol.for("react.provider"),mo=Symbol.for("react.context"),Hc=Symbol.for("react.server_context"),go=Symbol.for("react.forward_ref"),ho=Symbol.for("react.suspense"),bo=Symbol.for("react.suspense_list"),vo=Symbol.for("react.memo"),yo=Symbol.for("react.lazy"),Vc=Symbol.for("react.offscreen"),_s;_s=Symbol.for("react.module.reference");function Ye(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case br:switch(e=e.type,e){case co:case po:case uo:case ho:case bo:return e;default:switch(e=e&&e.$$typeof,e){case Hc:case mo:case go:case yo:case vo:case fo:return e;default:return t}}case vr:return t}}}te.ContextConsumer=mo;te.ContextProvider=fo;te.Element=br;te.ForwardRef=go;te.Fragment=co;te.Lazy=yo;te.Memo=vo;te.Portal=vr;te.Profiler=po;te.StrictMode=uo;te.Suspense=ho;te.SuspenseList=bo;te.isAsyncMode=function(){return!1};te.isConcurrentMode=function(){return!1};te.isContextConsumer=function(e){return Ye(e)===mo};te.isContextProvider=function(e){return Ye(e)===fo};te.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===br};te.isForwardRef=function(e){return Ye(e)===go};te.isFragment=function(e){return Ye(e)===co};te.isLazy=function(e){return Ye(e)===yo};te.isMemo=function(e){return Ye(e)===vo};te.isPortal=function(e){return Ye(e)===vr};te.isProfiler=function(e){return Ye(e)===po};te.isStrictMode=function(e){return Ye(e)===uo};te.isSuspense=function(e){return Ye(e)===ho};te.isSuspenseList=function(e){return Ye(e)===bo};te.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===co||e===po||e===uo||e===ho||e===bo||e===Vc||typeof e=="object"&&e!==null&&(e.$$typeof===yo||e.$$typeof===vo||e.$$typeof===fo||e.$$typeof===mo||e.$$typeof===go||e.$$typeof===_s||e.getModuleId!==void 0)};te.typeOf=Ye;Ns.exports=te;var Yr=Ns.exports;const Kc=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function Bs(e){const t=`${e}`.match(Kc);return t&&t[1]||""}function Ls(e,t=""){return e.displayName||e.name||Bs(e)||t}function Zr(e,t,n){const o=Ls(t);return e.displayName||(o!==""?`${n}(${o})`:n)}function Gc(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return Ls(e,"Component");if(typeof e=="object")switch(e.$$typeof){case Yr.ForwardRef:return Zr(e,e.render,"ForwardRef");case Yr.Memo:return Zr(e,e.type,"memo");default:return}}}const qc=Object.freeze(Object.defineProperty({__proto__:null,default:Gc,getFunctionName:Bs},Symbol.toStringTag,{value:"Module"}));function dn(e,t){const n=u({},t);return Object.keys(e).forEach(o=>{if(o.toString().match(/^(components|slots)$/))n[o]=u({},e[o],n[o]);else if(o.toString().match(/^(componentsProps|slotProps)$/)){const r=e[o]||{},i=t[o];n[o]={},!i||!Object.keys(i)?n[o]=r:!r||!Object.keys(r)?n[o]=i:(n[o]=u({},i),Object.keys(r).forEach(s=>{n[o][s]=dn(r[s],i[s])}))}else n[o]===void 0&&(n[o]=e[o])}),n}function Xc(e){const{theme:t,name:n,props:o}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?o:dn(t.components[n].defaultProps,o)}const lt=typeof window<"u"?p.useLayoutEffect:p.useEffect;function Yc(e,t,n,o,r){const[i,s]=p.useState(()=>r&&n?n(e).matches:o?o(e).matches:t);return lt(()=>{let a=!0;if(!n)return;const l=n(e),c=()=>{a&&s(l.matches)};return c(),l.addListener(c),()=>{a=!1,l.removeListener(c)}},[e,n]),i}const zs=p.useSyncExternalStore;function Zc(e,t,n,o,r){const i=p.useCallback(()=>t,[t]),s=p.useMemo(()=>{if(r&&n)return()=>n(e).matches;if(o!==null){const{matches:d}=o(e);return()=>d}return i},[i,e,o,r,n]),[a,l]=p.useMemo(()=>{if(n===null)return[i,()=>()=>{}];const d=n(e);return[()=>d.matches,f=>(d.addListener(f),()=>{d.removeListener(f)})]},[i,n,e]);return zs(l,a,s)}function K0(e,t={}){const n=gr(),o=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:r=!1,matchMedia:i=o?window.matchMedia:null,ssrMatchMedia:s=null,noSsr:a=!1}=Xc({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(zs!==void 0?Zc:Yc)(l,r,i,s,a)}function Qc(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const Jc=Object.freeze(Object.defineProperty({__proto__:null,default:Qc},Symbol.toStringTag,{value:"Module"}));function Qr(...e){return e.reduce((t,n)=>n==null?t:function(...r){t.apply(this,r),n.apply(this,r)},()=>{})}function Fs(e,t=166){let n;function o(...r){const i=()=>{e.apply(this,r)};clearTimeout(n),n=setTimeout(i,t)}return o.clear=()=>{clearTimeout(n)},o}function To(e,t){var n,o;return p.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(o=e.type)==null||(o=o._payload)==null||(o=o.value)==null?void 0:o.muiName)!==-1}function Ee(e){return e&&e.ownerDocument||document}function $t(e){return Ee(e).defaultView||window}function Vo(e,t){typeof e=="function"?e(t):e&&(e.current=t)}let Jr=0;function eu(e){const[t,n]=p.useState(e),o=e||t;return p.usLine truncated
0% {
transform: scale(0);
opacity: 0.1;
}
100% {
transform: scale(1);
opacity: 0.3;
}
`)),Yd=ct(bi||(bi=$o`
0% {
opacity: 1;
}
100% {
opacity: 0;
}
`)),Zd=ct(vi||(vi=$o`
0% {
transform: scale(1);
}
50% {
transform: scale(0.92);
}
100% {
transform: scale(1);
}
`)),Qd=E("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),Jd=E(Kd,{name:"MuiTouchRipple",slot:"Ripple"})(yi||(yi=$o`
opacity: 0;
position: absolute;
&.${0} {
opacity: 0.3;
transform: scale(1);
animation-name: ${0};
animation-duration: ${0}ms;
animation-timing-function: ${0};
}
&.${0} {
animation-duration: ${0}ms;
}
& .${0} {
opacity: 1;
display: block;
width: 100%;
height: 100%;
border-radius: 50%;
background-color: currentColor;
}
& .${0} {
opacity: 0;
animation-name: ${0};
animation-duration: ${0}ms;
animation-timing-function: ${0};
}
& .${0} {
position: absolute;
/* @noflip */
left: 0px;
top: 0;
animation-name: ${0};
animation-duration: 2500ms;
animation-timing-function: ${0};
animation-iteration-count: infinite;
animation-delay: 200ms;
}
`),Ve.rippleVisible,Xd,Jo,({theme:e})=>e.transitions.easing.easeInOut,Ve.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,Ve.child,Ve.childLeaving,Yd,Jo,({theme:e})=>e.transitions.easing.easeInOut,Ve.childPulsate,Zd,({theme:e})=>e.transitions.easing.easeInOut),ep=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiTouchRipple"}),{center:r=!1,classes:i={},className:s}=o,a=O(o,Gd),[l,c]=p.useState([]),d=p.useRef(0),f=p.useRef(null);p.useEffect(()=>{f.current&&(f.current(),f.current=null)},[l]);const h=p.useRef(!1),b=xr(),m=p.useRef(null),g=p.useRef(null),$=p.useCallback(C=>{const{pulsate:S,rippleX:P,rippleY:k,rippleSize:w,cb:M}=C;c(T=>[...T,x.jsx(Jd,{classes:{ripple:F(i.ripple,Ve.ripple),rippleVisible:F(i.rippleVisible,Ve.rippleVisible),ripplePulsate:F(i.ripplePulsate,Ve.ripplePulsate),child:F(i.child,Ve.child),childLeaving:F(i.childLeaving,Ve.childLeaving),childPulsate:F(i.childPulsate,Ve.childPulsate)},timeout:Jo,pulsate:S,rippleX:P,rippleY:k,rippleSize:w},d.current)]),d.current+=1,f.current=M},[i]),v=p.useCallback((C={},S={},P=()=>{})=>{const{pulsate:k=!1,center:w=r||S.pulsate,fakeElement:M=!1}=S;if((C==null?void 0:C.type)==="mousedown"&&h.current){h.current=!1;return}(C==null?void 0:C.type)==="touchstart"&&(h.current=!0);const T=M?null:g.current,D=T?T.getBoundingClientRect():{width:0,height:0,left:0,top:0};let z,L,_;if(w||C===void 0||C.clientX===0&&C.clientY===0||!C.clientX&&!C.touches)z=Math.round(D.width/2),L=Math.round(D.height/2);else{const{clientX:B,clientY:N}=C.touches&&C.touches.length>0?C.touches[0]:C;z=Math.round(B-D.left),L=Math.round(N-D.top)}if(w)_=Math.sqrt((2*D.width**2+D.height**2)/3),_%2===0&&(_+=1);else{const B=Math.max(Math.abs((T?T.clientWidth:0)-z),z)*2+2,N=Math.max(Math.abs((T?T.clientHeight:0)-L),L)*2+2;_=Math.sqrt(B**2+N**2)}C!=null&&C.touches?m.current===null&&(m.current=()=>{$({pulsate:k,rippleX:z,rippleY:L,rippleSize:_,cb:P})},b.start(qd,()=>{m.current&&(m.current(),m.current=null)})):$({pulsate:k,rippleX:z,rippleY:L,rippleSize:_,cb:P})},[r,$,b]),R=p.useCallback(()=>{v({},{pulsate:!0})},[v]),y=p.useCallback((C,S)=>{if(b.clear(),(C==null?void 0:C.type)==="touchend"&&m.current){m.current(),m.current=null,b.start(0,()=>{y(C,S)});return}m.current=null,c(P=>P.length>0?P.slice(1):P),f.current=S},[b]);return p.useImperativeHandle(n,()=>({pulsate:R,start:v,stop:y}),[R,v,y]),x.jsx(Qd,u({className:F(Ve.root,i.root,s),ref:g},a,{children:x.jsx(Mr,{component:null,exit:!0,children:l})}))});function tp(e){return V("MuiButtonBase",e)}const np=U("MuiButtonBase",["root","disabled","focusVisible"]),op=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],rp=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:o,classes:r}=e,s=G({root:["root",t&&"disabled",n&&"focusVisible"]},tp,r);return n&&o&&(s.root+=` ${o}`),s},ip=E("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${np.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Ro=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiButtonBase"}),{action:r,centerRipple:i=!1,children:s,className:a,component:l="button",disabled:c=!1,disableRipple:d=!1,disableTouchRipple:f=!1,focusRipple:h=!1,LinkComponent:b="a",onBlur:m,onClick:g,onContextMenu:$,onDragLeave:v,onFocus:R,onFocusVisible:y,onKeyDown:C,onKeyUp:S,onMouseDown:P,onMouseLeave:k,onMouseUp:w,onTouchEnd:M,onTouchMove:T,onTouchStart:D,tabIndex:z=0,TouchRippleProps:L,touchRippleRef:_,type:B}=o,N=O(o,op),j=p.useRef(null),A=p.useRef(null),Y=Re(A,_),{isFocusVisibleRef:ie,onFocus:Te,onBlur:he,ref:fe}=js(),[X,se]=p.useState(!1);c&&X&&se(!1),p.useImperativeHandle(r,()=>({focusVisible:()=>{se(!0),j.current.focus()}}),[]);const[ae,Ie]=p.useState(!1);p.useEffect(()=>{Ie(!0)},[]);const we=ae&&!d&&!c;p.useEffect(()=>{X&&h&&!d&&ae&&A.current.pulsate()},[d,h,X,ae]);function be(H,it,Gt=f){return at(qt=>(it&&it(qt),!Gt&&A.current&&A.current[H](qt),!0))}const Oe=be("start",P),J=be("stop",$),de=be("stop",v),q=be("stop",w),ne=be("stop",H=>{X&&H.preventDefault(),k&&k(H)}),le=be("start",D),ut=be("stop",M),je=be("stop",T),De=be("stop",H=>{he(H),ie.current===!1&&se(!1),m&&m(H)},!1),Ze=at(H=>{j.current||(j.current=H.currentTarget),Te(H),ie.current===!0&&(se(!0),y&&y(H)),R&&R(H)}),We=()=>{con Line truncated
`&&(C.value+=" ");const S=y.boxSizing,P=kn(y.paddingBottom)+kn(y.paddingTop),k=kn(y.borderBottomWidth)+kn(y.borderTopWidth),w=C.scrollHeight;C.value="x";const M=C.scrollHeight;let T=w;i&&(T=Math.max(Number(i)*M,T)),r&&(T=Math.min(Number(r)*M,T)),T=Math.max(T,M);const D=T+(S==="border-box"?P+k:0),z=Math.abs(T-w)<=1;return{outerHeightStyle:D,overflowing:z}},[r,i,t.placeholder]),g=p.useCallback(()=>{const v=m();if(Lp(v))return;const R=v.outerHeightStyle,y=d.current;h.current!==R&&(h.current=R,y.style.height=`${R}px`),y.style.overflow=v.overflowing?"hidden":""},[m]);lt(()=>{const v=()=>{g()};let R;const y=Fs(v),C=d.current,S=$t(C);S.addEventListener("resize",y);let P;return typeof ResizeObserver<"u"&&(P=new ResizeObserver(v),P.observe(C)),()=>{y.clear(),cancelAnimationFrame(R),S.removeEventListener("resize",y),P&&P.disconnect()}},[m,g]),lt(()=>{g()});const $=v=>{c||g(),o&&o(v)};return x.jsxs(p.Fragment,{children:[x.jsx("textarea",u({value:a,onChange:$,ref:f,rows:i,style:s},l)),x.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:b,tabIndex:-1,style:u({},Bp.shadow,s,{paddingTop:0,paddingBottom:0})})]})});function Ht({props:e,states:t,muiFormControl:n}){return t.reduce((o,r)=>(o[r]=e[r],n&&typeof e[r]>"u"&&(o[r]=n[r]),o),{})}const Er=p.createContext(void 0);function Vt(){return p.useContext(Er)}function la(e){return x.jsx(Bc,u({},e,{defaultTheme:kr,themeId:Lt}))}function Si(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function Dn(e,t=!1){return e&&(Si(e.value)&&e.value!==""||t&&Si(e.defaultValue)&&e.defaultValue!=="")}function Fp(e){return e.startAdornment}function jp(e){return V("MuiInputBase",e)}const jt=U("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Dp=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],So=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${I(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},ko=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},Wp=e=>{const{classes:t,color:n,disabled:o,error:r,endAdornment:i,focused:s,formControl:a,fullWidth:l,hiddenLabel:c,multiline:d,readOnly:f,size:h,startAdornment:b,type:m}=e,g={root:["root",`color${I(n)}`,o&&"disabled",r&&"error",l&&"fullWidth",s&&"focused",a&&"formControl",h&&h!=="medium"&&`size${I(h)}`,d&&"multiline",b&&"adornedStart",i&&"adornedEnd",c&&"hiddenLabel",f&&"readOnly"],input:["input",o&&"disabled",m==="search"&&"inputTypeSearch",d&&"inputMultiline",h==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",b&&"inputAdornedStart",i&&"inputAdornedEnd",f&&"readOnly"]};return G(g,jp,t)},Po=E("div",{name:"MuiInputBase",slot:"Root",overridesResolver:So})(({theme:e,ownerState:t})=>u({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${jt.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&u({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),Mo=E("input",{name:"MuiInputBase",slot:"Input",overridesResolver:ko})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",o=u({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),r={opacity:"0 !important"},i=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return u({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${jt.formLine truncated
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
`)),Wf=ct(Mi||(Mi=Eo`
0% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -125px;
}
`)),Uf=e=>{const{classes:t,variant:n,color:o,disableShrink:r}=e,i={root:["root",n,`color${I(o)}`],svg:["svg"],circle:["circle",`circle${I(n)}`,r&&"circleDisableShrink"]};return G(i,Ff,t)},Hf=E("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${I(n.color)}`]]}})(({ownerState:e,theme:t})=>u({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&St(Ei||(Ei=Eo`
animation: ${0} 1.4s linear infinite;
`),Df)),Vf=E("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),Kf=E("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${I(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>u({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&St(wi||(wi=Eo`
animation: ${0} 1.4s ease-in-out infinite;
`),Wf)),ob=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiCircularProgress"}),{className:r,color:i="primary",disableShrink:s=!1,size:a=40,style:l,thickness:c=3.6,value:d=0,variant:f="indeterminate"}=o,h=O(o,jf),b=u({},o,{color:i,disableShrink:s,size:a,thickness:c,value:d,variant:f}),m=Uf(b),g={},$={},v={};if(f==="determinate"){const R=2*Math.PI*((ft-c)/2);g.strokeDasharray=R.toFixed(3),v["aria-valuenow"]=Math.round(d),g.strokeDashoffset=`${((100-d)/100*R).toFixed(3)}px`,$.transform="rotate(-90deg)"}return x.jsx(Hf,u({className:F(m.root,r),style:u({width:a,height:a},$,l),ownerState:b,ref:n,role:"progressbar"},v,h,{children:x.jsx(Vf,{className:m.svg,ownerState:b,viewBox:`${ft/2} ${ft/2} ${ft} ${ft}`,children:x.jsx(Kf,{className:m.circle,style:g,ownerState:b,cx:ft,cy:ft,r:(ft-c)/2,fill:"none",strokeWidth:c})})}))});function Ti(e){return e.substring(2).toLowerCase()}function Gf(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}function qf(e){const{children:t,disableReactTree:n=!1,mouseEvent:o="onClick",onClickAway:r,touchEvent:i="onTouchEnd"}=e,s=p.useRef(!1),a=p.useRef(null),l=p.useRef(!1),c=p.useRef(!1);p.useEffect(()=>(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const d=Re(t.ref,a),f=at(m=>{const g=c.current;c.current=!1;const $=Ee(a.current);if(!l.current||!a.current||"clientX"in m&&Gf(m,$))return;if(s.current){s.current=!1;return}let v;m.composedPath?v=m.composedPath().indexOf(a.current)>-1:v=!$.documentElement.contains(m.target)||a.current.contains(m.target),!v&&(n||!g)&&r(m)}),h=m=>g=>{c.current=!0;const $=t.props[m];$&&$(g)},b={ref:d};return i!==!1&&(b[i]=h(i)),p.useEffect(()=>{if(i!==!1){const m=Ti(i),g=Ee(a.current),$=()=>{s.current=!0};return g.addEventListener(m,f),g.addEventListener("touchmove",$),()=>{g.removeEventListener(m,f),g.removeEventListener("touchmove",$)}}},[f,i]),o!==!1&&(b[o]=h(o)),p.useEffect(()=>{if(o!==!1){const m=Ti(o),g=Ee(a.current);return g.addEventListener(m,f),()=>{g.removeEventListener(m,f)}}},[f,o]),x.jsx(p.Fragment,{children:p.cloneElement(t,b)})}const Xf=(e,t)=>u({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),Yf=e=>u({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),Zf=(e,t=!1)=>{var n;const o={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([s,a])=>{var l;o[e.getColorSchemeSelector(s).replace(/\s*&/,"")]={colorScheme:(l=a.palette)==null?void 0:l.mode}});let r=u({html:Xf(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:u({margin:0},Yf(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},o);const i=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return i&&(r=[r,i]),r};function rb(e){const t=K({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:o=!1}=t;return x.jsxs(p.Fragment,{children:[x.jsx(la,{styles:r=>Zf(r,o)}),n]})}function Qf(e){const t=Ee(e);return t.body===e?$t(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function rn(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Ii(e){return parseInt($t(e).getComputedStyle(e).paddingRight,10)||0}function Jf(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,o=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||o}function Oi(e,t,n,o,r){const i=[t,n,...o];[].forEach.call(e.children,s=>{const a=i.indexOf(s)===-1,l=!Jf(s);a&&l&&rn(s,r)})}function _o(e,t){let n=-1;return e.some((o,r)=>t(o)?(n=r,!0):!1),n}function em(e,t){const n=[],o=e.container;if(!t.disableScrollLock){if(Qf(o)){const s=Ds(Ee(o));n.push({value:o.style.paddingRight,property:"padding-right",el:o}),o.style.paddingRight=`${Ii(o)+s}px`;const a=Ee(o).querySelectorAll(".mui-fixed");[].forEach.call(a,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${Ii(l)+s}px`})}let i;if(o.parentNode instanceof DocumentFragment)i=Ee(o).body;else{const s=o.parentElement,a=$t(o);i=(s==null?void 0:s.nodeName)==="HTML"&&a.getComputedStyle(s).overflowY==="scroll"?s:o}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:s,property:a})=>{i?s.style.setProperty(a,i):s.style.removeProperty(a)})}}function tm(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class nm{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let o=this.modals.indexOf(t);if(o!==-1)return Line truncated
0% {
left: -35%;
right: 100%;
}
60% {
left: 100%;
right: -90%;
}
100% {
left: 100%;
right: -90%;
}
`)),Wg=ct(zi||(zi=Kt`
0% {
left: -200%;
right: 100%;
}
60% {
left: 107%;
right: -8%;
}
100% {
left: 107%;
right: -8%;
}
`)),Ug=ct(Fi||(Fi=Kt`
0% {
opacity: 1;
background-position: 0 -23px;
}
60% {
opacity: 0;
background-position: 0 -23px;
}
100% {
opacity: 1;
background-position: -200px -23px;
}
`)),Hg=e=>{const{classes:t,variant:n,color:o}=e,r={root:["root",`color${I(o)}`,n],dashed:["dashed",`dashedColor${I(o)}`],bar1:["bar",`barColor${I(o)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${I(o)}`,n==="buffer"&&`color${I(o)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return G(r,Fg,t)},Ar=(e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?Ln(e.palette[t].main,.62):Bn(e.palette[t].main,.5),Vg=E("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${I(n.color)}`],t[n.variant]]}})(({ownerState:e,theme:t})=>u({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:Ar(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),Kg=E("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${I(n.color)}`]]}})(({ownerState:e,theme:t})=>{const n=Ar(t,e.color);return u({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},St(ji||(ji=Kt`
animation: ${0} 3s infinite linear;
`),Ug)),Gg=E("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${I(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(({ownerState:e,theme:t})=>u({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${tr}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${tr}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&St(Di||(Di=Kt`
width: auto;
animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
`),Dg)),qg=E("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${I(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(({ownerState:e,theme:t})=>u({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:Ar(t,e.color),transition:`transform .${tr}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&St(Wi||(Wi=Kt`
width: auto;
animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
`),Wg)),db=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiLinearProgress"}),{className:r,color:i="primary",value:s,valueBuffer:a,variant:l="indeterminate"}=o,c=O(o,jg),d=u({},o,{color:i,variant:l}),f=Hg(d),h=Cr(),b={},m={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&s!==void 0){b["aria-valuenow"]=Math.round(s),b["aria-valuemin"]=0,b["aria-valuemax"]=100;let g=s-100;h&&(g=-g),m.bar1.transform=`translateX(${g}%)`}if(l==="buffer"&&a!==void 0){let g=(a||0)-100;h&&(g=-g),m.bar2.transform=`translateX(${g}%)`}return x.jsxs(Vg,u({className:F(f.root,r),ownerState:d,role:"progressbar"},b,{ref:n},c,{children:[l==="buffer"?x.jsx(Kg,{className:f.dashed,ownerState:d}):null,x.jsx(Gg,{className:f.bar1,ownerState:d,style:m.bar1}),l==="determinate"?null:x.jsx(qg,{className:f.bar2,ownerState:d,style:m.bar2})]}))});function Xg(e){return V("MuiLink",e)}const Yg=U("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),ga={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Zg=e=>ga[e]||e,Qg=({theme:e,ownerState:t})=>{const n=Zg(t.color),o=Ft(e,`palette.${n}`,!1)||t.color,r=Ft(e,`palette.${n}Channel`);return"vars"in e&&r?`rgba(${r} / 0.4)`:Ce(o,.4)},Jg=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],eh=e=>{const{classes:t,component:n,focusVisible:o,underline:r}=e,i={root:["root",`underline${I(r)}`,n==="button"&&"button",o&&"focusVisible"]};return G(i,Xg,t)},th=E(xt,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`underline${I(n.underline)}`],n.component==="button"&&t.button]}})(({theme:e,ownerState:t})=>u({},t.underline==="none"&&{textDecoration:"none"},t.underline==="hover"&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},t.underline==="always"&&u({textDecoration:"underline"},t.color!=="inherit"&&{textDecorationColor:Qg({theme:e,ownerState:t})},{"&:hover":{textDecorationColor:"inherit"}}),t.component==="button"&&{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Yg.focusVisible}`]:{outline:"auto"}})),pb=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiLink"}),{className:r,color:i="primary",component:s="a",onBlur:a,onFocus:l,TypographyClasses:c,underline:d="always",variant:f="inherit",sx:h}=o,b=O(o,Jg),{isFocusVisibleRef:m,onBlur:g,onFocus:$,ref:v}=js(),[R,y]=p.useState(!1),C=Re(n,v),S=M=>{g(M),m.current===!1&&y(!1),a&&a(M)},P=M=>{$(M),m.current===!0&&y(!0),l&&l(M)},k=u({},o,{color:i,component:s,focusVisible:R,underline:d,variant:f}),w=eh(k);return x.jsx(th,u({color:i,className:F(w.root,r),classes:c,component:s,onBlur:S,onFocus:P,ref:C,ownerState:k,variant:f,sx:[...Object.keys(ga).includes(i)?[]:[{color:i}],...Array.isArray(h)?h:[h]]},b))}),nr=p.createContext({});function nh(e){return V("MuiList",e)}U("MuiList",["root","padding","dense","subheader"]);const oh=["children","className","component","dense","disablePadding","subheader"],rh=e=>{const{classes:t,disablePadding:n,dense:o,subheader:r}=e;return G({root:["root",!n&&"padding",o&&"dense",r&&"subheader"]},nh,t)},ih=E("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>u({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),sh=p.forwardRef(function(t,n){const o=K({props:t,name:"MuiList"}),{children:r,className:i,component:s="ul",dense:a=!1,disablePadding:l=!1,subheader:c}=o,d=O(o,oh),f=p.useMemo(()=>({dense:a}),[a]),h=u({},o,{component:s,dense:a,disablePadding:l}),b=rh(h);return x.jsx(nr.Provider,{value:f,children:x.jsxs(ih,u({as:s,className:F(b.root,i),ref:n,ownerState:h},d,{children:[c,r]}))})}),Ui=U("MuiListItemIcon",["root","alignItemsFlexStart"]),Hi=U("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),ah=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function zo(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function Vi(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function ha(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Jt(e,t,n,o,r,i){let s=!1,a=r(e,t,t?n:!1);for(;a;){if(a===e.firstChild){if(s)return!1;s=!0}const l=o?!1:a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tab Line truncated
@@ -1,4 +1,4 @@
var ws=e=>{throw TypeError(e)};var ze=(e,t,s)=>t.has(e)||ws("Cannot "+s);var l=(e,t,s)=>(ze(e,t,"read from private field"),s?s.call(e):t.get(e)),F=(e,t,s)=>t.has(e)?ws("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),P=(e,t,s,i)=>(ze(e,t,"write to private field"),i?i.call(e,s):t.set(e,s),s),E=(e,t,s)=>(ze(e,t,"access private method"),s);var Ce=(e,t,s,i)=>({set _(r){P(e,t,r,s)},get _(){return l(e,t,i)}});import{r as C,c as Ii}from"./react-C_FdcE2X.js";import{j as _}from"./mui-53GMXZgr.js";var ve=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},de=typeof window>"u"||"Deno"in globalThis;function ct(){}function Vi(e,t){return typeof e=="function"?e(t):e}function ts(e){return typeof e=="number"&&e>=0&&e!==1/0}function Zs(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Xt(e,t){return typeof e=="function"?e(t):e}function dt(e,t){return typeof e=="function"?e(t):e}function Fs(e,t){const{type:s="all",exact:i,fetchStatus:r,predicate:n,queryKey:o,stale:a}=e;if(o){if(i){if(t.queryHash!==vs(o,t.options))return!1}else if(!Se(t.queryKey,o))return!1}if(s!=="all"){const h=t.isActive();if(s==="active"&&!h||s==="inactive"&&h)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||r&&r!==t.state.fetchStatus||n&&!n(t))}function _s(e,t){const{exact:s,status:i,predicate:r,mutationKey:n}=e;if(n){if(!t.options.mutationKey)return!1;if(s){if(Ht(t.options.mutationKey)!==Ht(n))return!1}else if(!Se(t.options.mutationKey,n))return!1}return!(i&&t.state.status!==i||r&&!r(t))}function vs(e,t){return((t==null?void 0:t.queryKeyHashFn)||Ht)(e)}function Ht(e){return JSON.stringify(e,(t,s)=>es(s)?Object.keys(s).sort().reduce((i,r)=>(i[r]=s[r],i),{}):s)}function Se(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(s=>!Se(e[s],t[s])):!1}function ti(e,t){if(e===t)return e;const s=Cs(e)&&Cs(t);if(s||es(e)&&es(t)){const i=s?e:Object.keys(e),r=i.length,n=s?t:Object.keys(t),o=n.length,a=s?[]:{};let h=0;for(let u=0;u<o;u++){const c=s?u:n[u];(!s&&i.includes(c)||s)&&e[c]===void 0&&t[c]===void 0?(a[c]=void 0,h++):(a[c]=ti(e[c],t[c]),a[c]===e[c]&&e[c]!==void 0&&h++)}return r===o&&h===r?e:a}return t}function Te(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}function Cs(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function es(e){if(!Rs(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!Rs(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Rs(e){return Object.prototype.toString.call(e)==="[object Object]"}function ji(e){return new Promise(t=>{setTimeout(t,e)})}function ss(e,t,s){return typeof s.structuralSharing=="function"?s.structuralSharing(e,t):s.structuralSharing!==!1?ti(e,t):t}function Di(e,t,s=0){const i=[...e,t];return s&&i.length>s?i.slice(1):i}function ki(e,t,s=0){const i=[t,...e];return s&&i.length>s?i.slice(0,-1):i}var ei=Symbol();function si(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===ei?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var $t,Rt,Zt,Ks,Bi=(Ks=class extends ve{constructor(){super();F(this,$t);F(this,Rt);F(this,Zt);P(this,Zt,t=>{if(!de&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){l(this,Rt)||this.setEventListener(l(this,Zt))}onUnsubscribe(){var t;this.hasListeners()||((t=l(this,Rt))==null||t.call(this),P(this,Rt,void 0))}setEventListener(t){var s;P(this,Zt,t),(s=l(this,Rt))==null||s.call(this),P(this,Rt,t(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()}))}setFocused(t){l(this,$t)!==t&&(P(this,$t,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(s=>{s(t)})}isFocused(){var t;return typeof l(this,$t)=="boolean"?l(this,$t):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},$t=new WeakMap,Rt=new WeakMap,Zt=new WeakMap,Ks),ys=new Bi,te,Et,ee,Ns,$i=(Ns=class extends ve{constructor(){super();F(this,te,!0);F(this,Et);F(this,ee);P(this,ee,t=>{if(!de&&window.addEventListener){const s=()=>t(!0),i=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",i)}}})}onSubscribe(){l(this,Et)||this.setEventListener(l(this,ee))}onUnsubscribe(){var t;this.hasListeners()||((t=l(this,Et))==null||t.call(this),P(this,Et,void 0))}setEventListener(t){var s;P(this,ee,t),(s=l(this,Et))==null||s.call(this),P(this,Et,t(this.setOnline.bind(this)))}setOnline(t){l(this,te)!==t&&(P(this,te,t),this.listenersLine truncated
var ws=e=>{throw TypeError(e)};var ze=(e,t,s)=>t.has(e)||ws("Cannot "+s);var l=(e,t,s)=>(ze(e,t,"read from private field"),s?s.call(e):t.get(e)),F=(e,t,s)=>t.has(e)?ws("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),P=(e,t,s,i)=>(ze(e,t,"write to private field"),i?i.call(e,s):t.set(e,s),s),E=(e,t,s)=>(ze(e,t,"access private method"),s);var Ce=(e,t,s,i)=>({set _(r){P(e,t,r,s)},get _(){return l(e,t,i)}});import{r as C,c as Ii}from"./react-C_FdcE2X.js";import{j as _}from"./mui-aBip8mmu.js";var ve=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},de=typeof window>"u"||"Deno"in globalThis;function ct(){}function Vi(e,t){return typeof e=="function"?e(t):e}function ts(e){return typeof e=="number"&&e>=0&&e!==1/0}function Zs(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Xt(e,t){return typeof e=="function"?e(t):e}function dt(e,t){return typeof e=="function"?e(t):e}function Fs(e,t){const{type:s="all",exact:i,fetchStatus:r,predicate:n,queryKey:o,stale:a}=e;if(o){if(i){if(t.queryHash!==vs(o,t.options))return!1}else if(!Se(t.queryKey,o))return!1}if(s!=="all"){const h=t.isActive();if(s==="active"&&!h||s==="inactive"&&h)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||r&&r!==t.state.fetchStatus||n&&!n(t))}function _s(e,t){const{exact:s,status:i,predicate:r,mutationKey:n}=e;if(n){if(!t.options.mutationKey)return!1;if(s){if(Ht(t.options.mutationKey)!==Ht(n))return!1}else if(!Se(t.options.mutationKey,n))return!1}return!(i&&t.state.status!==i||r&&!r(t))}function vs(e,t){return((t==null?void 0:t.queryKeyHashFn)||Ht)(e)}function Ht(e){return JSON.stringify(e,(t,s)=>es(s)?Object.keys(s).sort().reduce((i,r)=>(i[r]=s[r],i),{}):s)}function Se(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(s=>!Se(e[s],t[s])):!1}function ti(e,t){if(e===t)return e;const s=Cs(e)&&Cs(t);if(s||es(e)&&es(t)){const i=s?e:Object.keys(e),r=i.length,n=s?t:Object.keys(t),o=n.length,a=s?[]:{};let h=0;for(let u=0;u<o;u++){const c=s?u:n[u];(!s&&i.includes(c)||s)&&e[c]===void 0&&t[c]===void 0?(a[c]=void 0,h++):(a[c]=ti(e[c],t[c]),a[c]===e[c]&&e[c]!==void 0&&h++)}return r===o&&h===r?e:a}return t}function Te(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}function Cs(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function es(e){if(!Rs(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!Rs(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Rs(e){return Object.prototype.toString.call(e)==="[object Object]"}function ji(e){return new Promise(t=>{setTimeout(t,e)})}function ss(e,t,s){return typeof s.structuralSharing=="function"?s.structuralSharing(e,t):s.structuralSharing!==!1?ti(e,t):t}function Di(e,t,s=0){const i=[...e,t];return s&&i.length>s?i.slice(1):i}function ki(e,t,s=0){const i=[t,...e];return s&&i.length>s?i.slice(0,-1):i}var ei=Symbol();function si(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===ei?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var $t,Rt,Zt,Ks,Bi=(Ks=class extends ve{constructor(){super();F(this,$t);F(this,Rt);F(this,Zt);P(this,Zt,t=>{if(!de&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){l(this,Rt)||this.setEventListener(l(this,Zt))}onUnsubscribe(){var t;this.hasListeners()||((t=l(this,Rt))==null||t.call(this),P(this,Rt,void 0))}setEventListener(t){var s;P(this,Zt,t),(s=l(this,Rt))==null||s.call(this),P(this,Rt,t(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()}))}setFocused(t){l(this,$t)!==t&&(P(this,$t,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(s=>{s(t)})}isFocused(){var t;return typeof l(this,$t)=="boolean"?l(this,$t):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},$t=new WeakMap,Rt=new WeakMap,Zt=new WeakMap,Ks),ys=new Bi,te,Et,ee,Ns,$i=(Ns=class extends ve{constructor(){super();F(this,te,!0);F(this,Et);F(this,ee);P(this,ee,t=>{if(!de&&window.addEventListener){const s=()=>t(!0),i=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",i)}}})}onSubscribe(){l(this,Et)||this.setEventListener(l(this,ee))}onUnsubscribe(){var t;this.hasListeners()||((t=l(this,Et))==null||t.call(this),P(this,Et,void 0))}setEventListener(t){var s;P(this,ee,t),(s=l(this,Et))==null||s.call(this),P(this,Et,t(this.setOnline.bind(this)))}setOnline(t){l(this,te)!==t&&(P(this,te,t),this.listenersLine truncated
* @license React
* use-sync-external-store-shim.production.min.js
*
-1
View File
@@ -1 +0,0 @@
import"./react-C_FdcE2X.js";
+17
View File
@@ -0,0 +1,17 @@
import{r as g,d as R,a as j}from"./react-C_FdcE2X.js";var V={BASE_URL:"/phpCourse/exam/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const y=t=>{let e;const n=new Set,o=(s,d)=>{const c=typeof s=="function"?s(e):s;if(!Object.is(c,e)){const i=e;e=d??(typeof c!="object"||c===null)?c:Object.assign({},e,c),n.forEach(a=>a(e,i))}},r=()=>e,S={setState:o,getState:r,getInitialState:()=>v,subscribe:s=>(n.add(s),()=>n.delete(s)),destroy:()=>{(V?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},v=e=t(o,r,S);return S},$=t=>t?y(t):y;var w={exports:{}},b={},D={exports:{}},_={};/**
* @license React
* use-sync-external-store-shim.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var f=g;function I(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var A=typeof Object.is=="function"?Object.is:I,C=f.useState,P=f.useEffect,T=f.useLayoutEffect,W=f.useDebugValue;function q(t,e){var n=e(),o=C({inst:{value:n,getSnapshot:e}}),r=o[0].inst,u=o[1];return T(function(){r.value=n,r.getSnapshot=e,m(r)&&u({inst:r})},[t,n,e]),P(function(){return m(r)&&u({inst:r}),t(function(){m(r)&&u({inst:r})})},[t]),W(n),n}function m(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!A(t,n)}catch{return!0}}function z(t,e){return e()}var B=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?z:q;_.useSyncExternalStore=f.useSyncExternalStore!==void 0?f.useSyncExternalStore:B;D.exports=_;var F=D.exports;/**
* @license React
* use-sync-external-store-shim/with-selector.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var E=g,L=F;function M(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var U=typeof Object.is=="function"?Object.is:M,k=L.useSyncExternalStore,G=E.useRef,H=E.useEffect,J=E.useMemo,K=E.useDebugValue;b.useSyncExternalStoreWithSelector=function(t,e,n,o,r){var u=G(null);if(u.current===null){var l={hasValue:!1,value:null};u.current=l}else l=u.current;u=J(function(){function S(i){if(!v){if(v=!0,s=i,i=o(i),r!==void 0&&l.hasValue){var a=l.value;if(r(a,i))return d=a}return d=i}if(a=d,U(s,i))return a;var h=o(i);return r!==void 0&&r(a,h)?a:(s=i,d=h)}var v=!1,s,d,c=n===void 0?null:n;return[function(){return S(e())},c===null?void 0:function(){return S(c())}]},[e,n,o,r]);var p=k(t,u[0],u[1]);return H(function(){l.hasValue=!0,l.value=p},[p]),K(p),p};w.exports=b;var N=w.exports;const Q=R(N);var O={BASE_URL:"/phpCourse/exam/dist",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:X}=j,{useSyncExternalStoreWithSelector:Y}=Q;let x=!1;const Z=t=>t;function tt(t,e=Z,n){(O?"production":void 0)!=="production"&&n&&!x&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),x=!0);const o=Y(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return X(o),o}const et=t=>{(O?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?$(t):t,n=(o,r)=>tt(e,o,r);return Object.assign(n,e),n},rt=t=>et;export{rt as c};
+5 -4
View File
@@ -5,11 +5,12 @@
<link rel="icon" type="image/svg+xml" href="/phpCourse/exam/dist/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
<script type="module" crossorigin src="/phpCourse/exam/dist/assets/index-CB6IjOSm.js"></script>
<script type="module" crossorigin src="/phpCourse/exam/dist/assets/index-CzVZnOtD.js"></script>
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/react-C_FdcE2X.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/mui-53GMXZgr.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/tanstack-ZGp-Rrdw.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/i18n-DyW0LrNj.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/mui-aBip8mmu.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/tanstack-DojtBDN6.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/zustand-DAXCIHlT.js">
<link rel="modulepreload" crossorigin href="/phpCourse/exam/dist/assets/i18n-W-kxdzA-.js">
<link rel="stylesheet" crossorigin href="/phpCourse/exam/dist/assets/mui-CKDNpdid.css">
<link rel="stylesheet" crossorigin href="/phpCourse/exam/dist/assets/index-D83Ey19k.css">
</head>
+5 -1
View File
@@ -82,5 +82,9 @@
"Register": "Konto anlegen",
"Confirm header": "Fast geschafft!",
"Confirm mail": "Prüfe dein E-Mail Postfach auf eine Bestätigungsmail.",
"Close": "Schließen"
"Close": "Schließen",
"Dark": "Dunkel",
"Light": "Hell",
"System": "System"
}
+5 -1
View File
@@ -83,5 +83,9 @@
"Register": "Create account",
"Confirm header": "Almost there!",
"Confirm mail": "Check your email for a confirmation mail.",
"Close": "Close"
"Close": "Close",
"Dark": "Dark",
"Light": "Light",
"System": "System"
}
+1 -1
View File
@@ -4822,7 +4822,7 @@ var drawChart = (function (exports) {
</script>
<script>
/*<!--*/
const data = {"version":2,"tree":{"name":"root","children":[{"name":"assets/zustand-DA8f69qW.js","children":[{"name":"\u0000/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.3.1/node_modules/use-sync-external-store","children":[{"name":"cjs","children":[{"uid":"a9823347-1","name":"use-sync-external-store-shim.production.min.js?commonjs-exports"},{"uid":"a9823347-5","name":"use-sync-external-store-shim.production.min.js?commonjs-proxy"},{"name":"use-sync-external-store-shim","children":[{"uid":"a9823347-13","name":"with-selector.production.min.js?commonjs-exports"},{"uid":"a9823347-17","name":"with-selector.production.min.js?commonjs-proxy"}]}]},{"name":"shim","children":[{"uid":"a9823347-7","name":"index.js?commonjs-module"},{"uid":"a9823347-11","name":"index.js?commonjs-proxy"},{"uid":"a9823347-19","name":"with-selector.js?commonjs-module"}]}]},{"name":"node_modules/.pnpm","children":[{"name":"use-sync-external-store@1.2.0_react@18.3.1/node_modules/use-sync-external-store","children":[{"name":"cjs","children":[{"uid":"a9823347-3","name":"use-sync-external-store-shim.production.min.js"},{"name":"use-sync-external-store-shim/with-selector.production.min.js","uid":"a9823347-15"}]},{"name":"shim","children":[{"uid":"a9823347-9","name":"index.js"},{"uid":"a9823347-21","name":"with-selector.js"}]}]},{"name":"zustand@4.5.4_@types+react@18.3.3_react@18.3.1/node_modules/zustand/esm","children":[{"uid":"a9823347-23","name":"vanilla.mjs"},{"uid":"a9823347-25","name":"index.mjs"}]}]}]},{"name":"assets/index-CB6IjOSm.js","children":[{"name":"\u0000vite/modulepreload-polyfill.js","uid":"a9823347-27"},{"name":"\u0000/node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js?commonjs-exports","uid":"a9823347-29"},{"name":"node_modules/.pnpm","children":[{"name":"react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","uid":"a9823347-31"},{"name":"use-local-storage-state@19.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/use-local-storage-state/src/useLocalStorageState.js","uid":"a9823347-33"},{"name":"@fontsource+roboto@5.0.13/node_modules/@fontsource/roboto","children":[{"uid":"a9823347-87","name":"300.css"},{"uid":"a9823347-89","name":"400.css"},{"uid":"a9823347-91","name":"500.css"},{"uid":"a9823347-93","name":"700.css"}]}]},{"name":"src","children":[{"uid":"a9823347-35","name":"constanst.ts"},{"name":"api/Api.tsx","uid":"a9823347-37"},{"uid":"a9823347-39","name":"i18n.ts"},{"name":"components","children":[{"name":"Menus","children":[{"name":"Language/LanguageMenu.tsx","uid":"a9823347-41"},{"name":"User/UserMenu.tsx","uid":"a9823347-53"}]},{"name":"Error","children":[{"uid":"a9823347-45","name":"Errors.ts"},{"uid":"a9823347-47","name":"ErrorComponent.tsx"}]},{"name":"Dialogs","children":[{"name":"Register/RegisterDialog.tsx","uid":"a9823347-49"},{"name":"PostEdit/PostEditDialog.tsx","uid":"a9823347-63"},{"name":"UserEdit/UserEditDialog.tsx","uid":"a9823347-71"},{"name":"UserImage/UserImageDialog.tsx","uid":"a9823347-73"}]},{"name":"Forms","children":[{"name":"Login/LoginForm.tsx","uid":"a9823347-51"},{"name":"Post/PostForm.tsx","uid":"a9823347-59"}]},{"name":"Header/Header.tsx","uid":"a9823347-55"},{"name":"Post/Post.tsx","uid":"a9823347-65"},{"name":"Profile/Profile.tsx","uid":"a9823347-75"}]},{"name":"types/Routes.ts","uid":"a9823347-43"},{"name":"routes","children":[{"uid":"a9823347-57","name":"__root.tsx"},{"uid":"a9823347-69","name":"index.tsx"},{"name":"profile","children":[{"uid":"a9823347-79","name":"index.tsx"},{"uid":"a9823347-81","name":"$id.tsx"}]}]},{"name":"utils/date.ts","uid":"a9823347-61"},{"name":"queries","children":[{"uid":"a9823347-67","name":"postsQuery.ts"},{"uid":"a9823347-77","name":"profileQuery.ts"}]},{"uid":"a9823347-83","name":"routeTree.gen.ts"},{"uid":"a9823347-85","name":"router.tsx"},{"uid":"a9823347-95","name":"main.tsx"}]},{"uid":"a9823347-97","name":"index.html"}]},{"name":"assets/i18n-DyW0LrNj.js","children":[{"name":"node_modules/.pnpm","children":[{"name":"void-elements@3.1.0/node_modules/void-elements/index.js","uid":"a9823347-99"},{"name":"html-parse-stringify@3.0.1/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","uid":"a9823347-101"},{"name":"react-i18next@15.0.0_i18next@23.12.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es","children":[{"uid":"a9823347-103","name":"utils.js"},{"uid":"a9823347-105","name":"unescape.js"},{"uid":"a9823347-107","name":"defaults.js"},{"uid":"a9823347-109","name":"i18nInstance.js"},{"uid":"a9823347-111","name":"TransWithoutContext.js"},{"uid":"a9823347-113","name":"initReactI18next.js"},{"uid":"a9823347-115","name":"context.js"},{"uid":"a9823347-117","name":"Trans.js"},{"uid":"a9823347-119","name":"useTranslation.js"},{"uid":"a9823347-121","name":"withTranslation.js"},{"uid":"a9823347-123","name":"Translation.js"},{"uid":"a9823347-125","name":"I18nextProvider.js"},{"uid":"a9823347-127","name":"useSSR.js"},{"uid":"a9823347-129","name":"wLine truncated
const data = {"version":2,"tree":{"name":"root","children":[{"name":"assets/zustand-DAXCIHlT.js","children":[{"name":"node_modules/.pnpm","children":[{"name":"zustand@4.5.4_@types+react@18.3.3_react@18.3.1/node_modules/zustand/esm","children":[{"uid":"323adf59-1","name":"vanilla.mjs"},{"uid":"323adf59-25","name":"index.mjs"}]},{"name":"use-sync-external-store@1.2.0_react@18.3.1/node_modules/use-sync-external-store","children":[{"name":"cjs","children":[{"uid":"323adf59-11","name":"use-sync-external-store-shim.production.min.js"},{"name":"use-sync-external-store-shim/with-selector.production.min.js","uid":"323adf59-19"}]},{"name":"shim","children":[{"uid":"323adf59-15","name":"index.js"},{"uid":"323adf59-23","name":"with-selector.js"}]}]}]},{"name":"\u0000/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.3.1/node_modules/use-sync-external-store","children":[{"name":"shim","children":[{"uid":"323adf59-3","name":"with-selector.js?commonjs-module"},{"uid":"323adf59-7","name":"index.js?commonjs-module"},{"uid":"323adf59-17","name":"index.js?commonjs-proxy"}]},{"name":"cjs","children":[{"name":"use-sync-external-store-shim","children":[{"uid":"323adf59-5","name":"with-selector.production.min.js?commonjs-exports"},{"uid":"323adf59-21","name":"with-selector.production.min.js?commonjs-proxy"}]},{"uid":"323adf59-9","name":"use-sync-external-store-shim.production.min.js?commonjs-exports"},{"uid":"323adf59-13","name":"use-sync-external-store-shim.production.min.js?commonjs-proxy"}]}]}]},{"name":"assets/i18n-W-kxdzA-.js","children":[{"name":"node_modules/.pnpm","children":[{"name":"i18next@23.12.2/node_modules/i18next/dist/esm/i18next.js","uid":"323adf59-27"},{"name":"void-elements@3.1.0/node_modules/void-elements/index.js","uid":"323adf59-29"},{"name":"html-parse-stringify@3.0.1/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","uid":"323adf59-31"},{"name":"react-i18next@15.0.0_i18next@23.12.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es","children":[{"uid":"323adf59-33","name":"utils.js"},{"uid":"323adf59-35","name":"unescape.js"},{"uid":"323adf59-37","name":"defaults.js"},{"uid":"323adf59-39","name":"i18nInstance.js"},{"uid":"323adf59-41","name":"TransWithoutContext.js"},{"uid":"323adf59-43","name":"initReactI18next.js"},{"uid":"323adf59-45","name":"context.js"},{"uid":"323adf59-47","name":"Trans.js"},{"uid":"323adf59-49","name":"useTranslation.js"},{"uid":"323adf59-51","name":"withTranslation.js"},{"uid":"323adf59-53","name":"Translation.js"},{"uid":"323adf59-55","name":"I18nextProvider.js"},{"uid":"323adf59-57","name":"useSSR.js"},{"uid":"323adf59-59","name":"withSSR.js"},{"uid":"323adf59-61","name":"index.js"}]},{"name":"i18next-browser-languagedetector@8.0.0/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","uid":"323adf59-63"},{"name":"i18next-http-backend@2.5.2/node_modules/i18next-http-backend/esm","children":[{"uid":"323adf59-65","name":"utils.js"},{"uid":"323adf59-75","name":"getFetch.cjs"},{"uid":"323adf59-77","name":"request.js"},{"uid":"323adf59-79","name":"index.js"}]},{"name":"cross-fetch@4.0.0/node_modules/cross-fetch/dist/browser-ponyfill.js","uid":"323adf59-73"}]},{"uid":"323adf59-67","name":"\u0000commonjs-dynamic-modules"},{"name":"\u0000/node_modules/.pnpm","children":[{"name":"i18next-http-backend@2.5.2/node_modules/i18next-http-backend/esm/getFetch.cjs?commonjs-module","uid":"323adf59-69"},{"name":"cross-fetch@4.0.0/node_modules/cross-fetch/dist/browser-ponyfill.js?commonjs-module","uid":"323adf59-71"}]}]},{"name":"assets/index-CzVZnOtD.js","children":[{"name":"\u0000vite/modulepreload-polyfill.js","uid":"323adf59-81"},{"name":"\u0000/node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js?commonjs-exports","uid":"323adf59-83"},{"name":"node_modules/.pnpm","children":[{"name":"react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","uid":"323adf59-85"},{"name":"zustand@4.5.4_@types+react@18.3.3_react@18.3.1/node_modules/zustand/esm/middleware.mjs","uid":"323adf59-89"},{"name":"@fontsource+roboto@5.0.13/node_modules/@fontsource/roboto","children":[{"uid":"323adf59-97","name":"300.css"},{"uid":"323adf59-99","name":"400.css"},{"uid":"323adf59-101","name":"500.css"},{"uid":"323adf59-103","name":"700.css"}]}]},{"name":"src","children":[{"uid":"323adf59-87","name":"constanst.ts"},{"name":"store/store.ts","uid":"323adf59-91"},{"name":"api/Api.tsx","uid":"323adf59-93"},{"uid":"323adf59-95","name":"i18n.ts"},{"name":"components","children":[{"name":"Footer/Footer.tsx","uid":"323adf59-105"},{"name":"Menus","children":[{"name":"Language/LanguageMenu.tsx","uid":"323adf59-107"},{"name":"Theme/ThemeMenu.tsx","uid":"323adf59-109"},{"name":"User/UserMenu.tsx","uid":"323adf59-121"}]},{"name":"Error","children":[{"uid":"323adf59-113","name":"Errors.ts"},{"uid":"323adf59-115","name":"ErrorComponent.tsx"}]},{"name":"Dialogs","children":[{"name":"Register/RegisterDialog.tsx",Line truncated
const run = () => {
const width = window.innerWidth;
-1
View File
@@ -24,7 +24,6 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^15.0.0",
"use-local-storage-state": "^19.3.1",
"zustand": "^4.5.4"
},
"devDependencies": {
-15
View File
@@ -50,9 +50,6 @@ importers:
react-i18next:
specifier: ^15.0.0
version: 15.0.0(i18next@23.12.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
use-local-storage-state:
specifier: ^19.3.1
version: 19.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
zustand:
specifier: ^4.5.4
version: 4.5.4(@types/react@18.3.3)(react@18.3.1)
@@ -1845,13 +1842,6 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
use-local-storage-state@19.3.1:
resolution: {integrity: sha512-y3Z1dODXvZXZB4qtLDNN8iuXbsYD6TAxz61K58GWB9/yKwrNG9ynI0GzCTHi/Je1rMiyOwMimz0oyFsZn+Kj7Q==}
engines: {node: '>=14'}
peerDependencies:
react: '>=18'
react-dom: '>=18'
use-sync-external-store@1.2.0:
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
peerDependencies:
@@ -3731,11 +3721,6 @@ snapshots:
dependencies:
punycode: 2.3.1
use-local-storage-state@19.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
use-sync-external-store@1.2.0(react@18.3.1):
dependencies:
react: 18.3.1
@@ -82,5 +82,9 @@
"Register": "Konto anlegen",
"Confirm header": "Fast geschafft!",
"Confirm mail": "Prüfe dein E-Mail Postfach auf eine Bestätigungsmail.",
"Close": "Schließen"
"Close": "Schließen",
"Dark": "Dunkel",
"Light": "Hell",
"System": "System"
}
@@ -83,5 +83,9 @@
"Register": "Create account",
"Confirm header": "Almost there!",
"Confirm mail": "Check your email for a confirmation mail.",
"Close": "Close"
"Close": "Close",
"Dark": "Dark",
"Light": "Light",
"System": "System"
}
+28
View File
@@ -0,0 +1,28 @@
import { createTheme, CssBaseline, ThemeProvider, useMediaQuery } from '@mui/material';
import { FC, useMemo } from 'react';
import Router from './router';
import useGuestBookStore from './store/store';
const App: FC = () => {
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
const theme = useGuestBookStore((state) => state.theme);
const themePreset = useMemo(
() =>
createTheme({
palette: {
mode: theme ?? (prefersDarkMode ? 'dark' : 'light'),
},
}),
[theme, prefersDarkMode]
);
return (
<ThemeProvider theme={themePreset}>
<CssBaseline />
<Router />
</ThemeProvider>
);
};
export default App;
+6 -5
View File
@@ -1,6 +1,6 @@
import { createContext, FC, PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';
import useLocalStorageState from 'use-local-storage-state';
import { POST_LIMIT, PROFILE_POST_LIMIT } from '../constanst';
import useGuestBookStore from '../store/store';
import { PostAuth, PostCreate, PostDelete, PostListAuth, PostListNonAuth, PostNew, PostUpdate } from '../types/Post';
import { User, UserCreate, UserImageUpdate, UserUpdate } from '../types/User';
@@ -94,10 +94,11 @@ export const useApi = () => {
export const ApiProvider: FC<PropsWithChildren<Record<string, unknown>>> = ({ children }) => {
const [hasAuth, setHasAuth] = useState(false);
const [authenticatedUser, setAuthenticatedUser] = useState<User>();
const [currentSession, setCurrentSession] = useLocalStorageState<[string | undefined, string | undefined]>(
'egb_session',
{ defaultValue: [undefined, undefined] }
);
const [currentSession, setCurrentSession] = useGuestBookStore((state) => [
state.currentSession,
state.setCurrentSession,
]);
const token = useRef<string | undefined>();
@@ -0,0 +1,34 @@
import { Box, Divider, Grid, Typography } from '@mui/material';
import { FC } from 'react';
const Footer: FC = () => {
return (
<Box
sx={{
marginTop: 2,
display: 'flex',
justifyContent: 'center',
}}
>
<Box sx={{ maxWidth: '800px', flexGrow: 1 }}>
<Grid container spacing={2}>
<Grid item xs={12} sx={{ height: '50px' }} />
<Grid item xs={12}>
<Divider />
</Grid>
<Grid item xs={12} sx={{ display: 'flex', justifyContent: 'center' }}>
<Typography variant="caption">© 2024 Kilian Kurt Hofmann</Typography>
</Grid>
</Grid>
</Box>
</Box>
);
};
export default Footer;
/*
*/
@@ -7,11 +7,7 @@ import { useApi } from '../../../api/Api';
import { Login } from '../../../types/User';
import ErrorComponent from '../../Error/ErrorComponent';
interface Props {
handleClose: () => void;
}
const LoginForm: FC<Props> = ({ handleClose }) => {
const LoginForm: FC = () => {
const [error, setError] = useState();
const { t } = useTranslation();
@@ -27,7 +23,6 @@ const LoginForm: FC<Props> = ({ handleClose }) => {
try {
await Api.logIn(value.email, value.password);
router.invalidate();
handleClose();
//eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (_error: any) {
setError(_error);
@@ -35,6 +35,7 @@ const PostForm: FC = () => {
{
onSuccess: async (data) => {
form.reset();
setCharacterCount(0);
await queryClient.invalidateQueries({ queryKey: ['posts'] });
navigate({ to: '/', search: { page: data.pages - 1 } });
},
+13 -2
View File
@@ -1,4 +1,4 @@
import { AccountCircle, Person, Translate } from '@mui/icons-material';
import { AccountCircle, DarkModeOutlined, LightMode, Person, SettingsBrightness, Translate } from '@mui/icons-material';
import {
AppBar,
Avatar,
@@ -13,7 +13,9 @@ import { Link, useRouterState } from '@tanstack/react-router';
import { cloneElement, FC, ReactElement, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useApi } from '../../api/Api';
import useGuestBookStore from '../../store/store';
import LanguageMenu from '../Menus/Language/LanguageMenu';
import ThemeMenu from '../Menus/Theme/ThemeMenu';
import UserMenu from '../Menus/User/UserMenu';
const ElevationScroll = ({ children }: { children: ReactElement }) => {
@@ -30,14 +32,17 @@ const ElevationScroll = ({ children }: { children: ReactElement }) => {
const Header: FC = () => {
const [anchorUserMenu, setAnchorUserMenu] = useState<null | HTMLElement>(null);
const [anchorLanguageMenu, setAnchorLanguageMenu] = useState<null | HTMLElement>(null);
const [anchorThemeMenu, setAnchorThemeMenu] = useState<null | HTMLElement>(null);
const { t } = useTranslation();
const isLoading = useRouterState({ select: (s) => s.status === 'pending' });
const Api = useApi();
const [theme] = useGuestBookStore((state) => [state.theme, state.setTheme]);
const handleClose = () => {
setAnchorLanguageMenu(null);
setAnchorUserMenu(null);
setAnchorLanguageMenu(null);
setAnchorThemeMenu(null);
};
return (
@@ -56,6 +61,11 @@ const Header: FC = () => {
<IconButton size="large" onClick={(event) => setAnchorLanguageMenu(event.currentTarget)}>
<Translate sx={{ color: 'white' }} />
</IconButton>
<IconButton size="large" onClick={(event) => setAnchorThemeMenu(event.currentTarget)}>
{theme === 'dark' && <DarkModeOutlined />}
{theme === 'light' && <LightMode sx={{ color: 'white' }} />}
{!theme && <SettingsBrightness sx={{ color: 'white' }} />}
</IconButton>
{Api.authenticatedUser ? (
<IconButton onClick={(event) => setAnchorUserMenu(event.currentTarget)} sx={{ p: 0 }}>
<Avatar alt={Api.authenticatedUser.username} src={`${Api.authenticatedUser.image}`}>
@@ -70,6 +80,7 @@ const Header: FC = () => {
</Box>
<LanguageMenu anchorEl={anchorLanguageMenu} handleClose={handleClose} />
<UserMenu anchorEl={anchorUserMenu} handleClose={handleClose} />
<ThemeMenu anchorEl={anchorThemeMenu} handleClose={handleClose} />
</Toolbar>
</AppBar>
<Toolbar />
@@ -0,0 +1,88 @@
import { DarkModeOutlined, LightMode, SettingsBrightness } from '@mui/icons-material';
import { Grid, Menu, MenuItem, Typography } from '@mui/material';
import { FC } from 'react';
import { useTranslation } from 'react-i18next';
import useGuestBookStore from '../../../store/store';
interface Props {
anchorEl: HTMLElement | null;
handleClose: () => void;
}
const ThemeMenu: FC<Props> = ({ anchorEl, handleClose }) => {
const [theme, setTheme] = useGuestBookStore((state) => [state.theme, state.setTheme]);
const { t } = useTranslation();
return (
<Menu
anchorEl={anchorEl}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'right',
}}
keepMounted
transformOrigin={{
vertical: 'top',
horizontal: 'right',
}}
open={Boolean(anchorEl)}
onClose={handleClose}
sx={{
'& .MuiMenu-paper': {
minWidth: '240px',
},
}}
>
<MenuItem
key="dark"
selected={theme === 'dark'}
onClick={() => {
setTheme('dark');
}}
>
<Grid container spacing={2}>
<Grid item xs={2}>
<DarkModeOutlined />
</Grid>
<Grid item xs={10}>
<Typography>{t('Dark')}</Typography>
</Grid>
</Grid>
</MenuItem>
<MenuItem
key="light"
selected={theme === 'light'}
onClick={() => {
setTheme('light');
}}
>
<Grid container spacing={2}>
<Grid item xs={2}>
<LightMode />
</Grid>
<Grid item xs={10}>
<Typography>{t('Light')}</Typography>
</Grid>
</Grid>
</MenuItem>
<MenuItem
key="system"
selected={!theme}
onClick={() => {
setTheme(undefined);
}}
>
<Grid container spacing={2}>
<Grid item xs={2}>
<SettingsBrightness />
</Grid>
<Grid item xs={10}>
<Typography>{t('System')}</Typography>
</Grid>
</Grid>
</MenuItem>
</Menu>
);
};
export default ThemeMenu;
@@ -64,7 +64,7 @@ const UserMenu: FC<Props> = ({ anchorEl, handleClose }) => {
onClick={async () => {
await Api.logOut();
router.invalidate();
_handleClose();
navigate({ to: ROUTES.INDEX });
}}
>
{t('Log out')}
@@ -74,7 +74,7 @@ const UserMenu: FC<Props> = ({ anchorEl, handleClose }) => {
<RegisterDialog open={register} onClose={() => setRegister(false)} />
) : (
<Box>
<LoginForm handleClose={_handleClose} />
<LoginForm />
<Box sx={{ padding: 1 }}>
<Trans i18nKey="Register prompt">
<Typography component="span" />
+3 -2
View File
@@ -27,11 +27,12 @@ import PostEditDialog from '../Dialogs/PostEdit/PostEditDialog';
import ErrorComponent from '../Error/ErrorComponent';
interface Props {
page?: number;
post: PostNonAuth | PostAuth;
disableActions?: boolean;
}
const Post: FC<Props> = ({ post, disableActions }) => {
const Post: FC<Props> = ({ page = 0, post, disableActions }) => {
const [deleteOpen, setDeleteOpen] = useState(false);
const [editOpen, setEditOpen] = useState(false);
//eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -128,7 +129,7 @@ const Post: FC<Props> = ({ post, disableActions }) => {
await queryClient.invalidateQueries({
queryKey: ['posts'],
});
navigate({ to: '/', search: { page: data.pages - 1 } });
if (page >= data.pages) navigate({ to: '/', search: { page: data.pages - 1 } });
},
onError: setError,
});
@@ -33,7 +33,7 @@ const Profile: FC<Props> = ({ user, posts, canEdit }) => {
const { t } = useTranslation();
return (
<Grid container sx={{ justifyContent: 'center' }} spacing={2}>
<Grid container sx={{ justifyContent: 'center', marginTop: 0 }} spacing={2}>
<Grid item>
<Card>
<CardContent>
+2 -2
View File
@@ -3,7 +3,6 @@ import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { StrictMode } from 'react';
import ReactDOM from 'react-dom/client';
import ApiProvider from './api/Api';
import Router from './router';
// Import i18n
import './i18n';
@@ -13,6 +12,7 @@ import '@fontsource/roboto/300.css';
import '@fontsource/roboto/400.css';
import '@fontsource/roboto/500.css';
import '@fontsource/roboto/700.css';
import App from './App';
// Query Client
const queryClient = new QueryClient();
@@ -25,7 +25,7 @@ if (!rootElement.innerHTML) {
<StrictMode>
<QueryClientProvider client={queryClient}>
<ApiProvider>
<Router />
<App />
</ApiProvider>
{process.env.NODE_ENV === 'development' && <ReactQueryDevtools initialIsOpen={false} />}
</QueryClientProvider>
+5 -2
View File
@@ -4,19 +4,22 @@ import { createRootRouteWithContext, ErrorRouteComponent, Outlet, useRouter } fr
import { TanStackRouterDevtools } from '@tanstack/router-devtools';
import { useEffect } from 'react';
import { useApi } from '../api/Api';
import Footer from '../components/Footer/Footer';
import Header from '../components/Header/Header';
const Root = () => {
return (
<>
<Box sx={{ minHeight: '100vh', display: 'flex', flexDirection: 'column' }}>
<Header />
<Box sx={{ display: 'flex', justifyContent: 'center' }}>
<Box sx={{ maxWidth: '800px', flexGrow: 1 }}>
<Outlet />
</Box>
</Box>
<Box sx={{ flexGrow: 1 }} />
<Footer />
{process.env.NODE_ENV === 'development' && <TanStackRouterDevtools />}
</>
</Box>
);
};
+2 -2
View File
@@ -36,10 +36,10 @@ const Home = () => {
return (
<>
<Snackbar open={isFetching} message={t('Updating')} />
<Grid container spacing={2}>
<Grid container spacing={2} sx={{ marginTop: 0 }}>
{postsQuery.data.map((post) => (
<Grid item xs={12} key={post.id}>
<Post post={post} />
<Post page={page} post={post} />
</Grid>
))}
<Grid item xs={12}>
+20 -4
View File
@@ -2,13 +2,29 @@ import type {} from '@redux-devtools/extension';
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
interface GuestBookState {}
interface GuestBookState {
theme: 'dark' | 'light' | undefined;
currentSession: [string | undefined, string | undefined];
setTheme: (theme: GuestBookState['theme']) => void;
setCurrentSession: (session: GuestBookState['currentSession']) => void;
}
const useGuestBookStore = create<GuestBookState>()(
devtools(
persist(() => ({}), {
name: 'guestbook-storage',
})
persist(
(set) => ({
theme: undefined,
currentSession: [undefined, undefined],
setTheme: (theme: GuestBookState['theme']) => set(() => ({ theme })),
setCurrentSession: (session: GuestBookState['currentSession']) =>
set(() => ({
currentSession: session,
})),
}),
{
name: 'guestbook-storage',
}
)
)
);