diff --git a/frontend/dist/assets/index-COhsF1I-.js b/frontend/dist/assets/index--P5dGUAY.js similarity index 85% rename from frontend/dist/assets/index-COhsF1I-.js rename to frontend/dist/assets/index--P5dGUAY.js index 0f37ca5..25b1a95 100644 --- a/frontend/dist/assets/index-COhsF1I-.js +++ b/frontend/dist/assets/index--P5dGUAY.js @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Sr=Symbol.for("react.element"),$d=Symbol.for("react.portal"),Fd=Symbol.for("react.fragment"),Vd=Symbol.for("react.strict_mode"),Ud=Symbol.for("react.profiler"),Bd=Symbol.for("react.provider"),Hd=Symbol.for("react.context"),Qd=Symbol.for("react.forward_ref"),Wd=Symbol.for("react.suspense"),Kd=Symbol.for("react.memo"),Gd=Symbol.for("react.lazy"),Bo=Symbol.iterator;function qd(e){return e===null||typeof e!="object"?null:(e=Bo&&e[Bo]||e["@@iterator"],typeof e=="function"?e:null)}var su={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},iu=Object.assign,ou={};function Ln(e,t,n){this.props=e,this.context=t,this.refs=ou,this.updater=n||su}Ln.prototype.isReactComponent={};Ln.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Ln.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function au(){}au.prototype=Ln.prototype;function _i(e,t,n){this.props=e,this.context=t,this.refs=ou,this.updater=n||su}var Ei=_i.prototype=new au;Ei.constructor=_i;iu(Ei,Ln.prototype);Ei.isPureReactComponent=!0;var Ho=Array.isArray,uu=Object.prototype.hasOwnProperty,Ci={current:null},cu={key:!0,ref:!0,__self:!0,__source:!0};function du(e,t,n){var r,l={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)uu.call(t,r)&&!cu.hasOwnProperty(r)&&(l[r]=t[r]);var a=arguments.length-2;if(a===1)l.children=n;else if(1>>1,H=P[R];if(0>>1;Rl(K,S))del(et,K)?(P[R]=et,P[de]=S,R=de):(P[R]=K,P[Y]=S,R=Y);else if(del(et,S))P[R]=et,P[de]=S,R=de;else break e}}return I}function l(P,I){var S=P.sortIndex-I.sortIndex;return S!==0?S:P.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,a=o.now();e.unstable_now=function(){return o.now()-a}}var u=[],d=[],h=1,g=null,x=3,N=!1,y=!1,v=!1,O=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(P){for(var I=n(d);I!==null;){if(I.callback===null)r(d);else if(I.startTime<=P)r(d),I.sortIndex=I.expirationTime,t(u,I);else break;I=n(d)}}function w(P){if(v=!1,m(P),!y)if(n(u)!==null)y=!0,W(j);else{var I=n(d);I!==null&&he(w,I.startTime-P)}}function j(P,I){y=!1,v&&(v=!1,f(C),C=-1),N=!0;var S=x;try{for(m(I),g=n(u);g!==null&&(!(g.expirationTime>I)||P&&!le());){var R=g.callback;if(typeof R=="function"){g.callback=null,x=g.priorityLevel;var H=R(g.expirationTime<=I);I=e.unstable_now(),typeof H=="function"?g.callback=H:g===n(u)&&r(u),m(I)}else r(u);g=n(u)}if(g!==null)var J=!0;else{var Y=n(d);Y!==null&&he(w,Y.startTime-I),J=!1}return J}finally{g=null,x=S,N=!1}}var _=!1,E=null,C=-1,U=5,A=-1;function le(){return!(e.unstable_now()-AP||125R?(P.sortIndex=S,t(d,P),n(u)===null&&P===n(d)&&(v?(f(C),C=-1):v=!0,he(w,S-R))):(P.sortIndex=H,t(u,P),y||N||(y=!0,W(j))),P},e.unstable_shouldYield=le,e.unstable_wrapCallback=function(P){var I=x;return function(){var S=x;x=I;try{return P.apply(this,arguments)}finally{x=S}}}})(xu);hu.exports=xu;var af=hu.exports;/** + */(function(e){function t(P,I){var j=P.length;P.push(I);e:for(;0>>1,H=P[R];if(0>>1;Rl(K,j))del(et,K)?(P[R]=et,P[de]=j,R=de):(P[R]=K,P[Y]=j,R=Y);else if(del(et,j))P[R]=et,P[de]=j,R=de;else break e}}return I}function l(P,I){var j=P.sortIndex-I.sortIndex;return j!==0?j:P.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,a=o.now();e.unstable_now=function(){return o.now()-a}}var u=[],d=[],h=1,g=null,x=3,N=!1,y=!1,v=!1,O=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(P){for(var I=n(d);I!==null;){if(I.callback===null)r(d);else if(I.startTime<=P)r(d),I.sortIndex=I.expirationTime,t(u,I);else break;I=n(d)}}function w(P){if(v=!1,m(P),!y)if(n(u)!==null)y=!0,W(S);else{var I=n(d);I!==null&&he(w,I.startTime-P)}}function S(P,I){y=!1,v&&(v=!1,f(C),C=-1),N=!0;var j=x;try{for(m(I),g=n(u);g!==null&&(!(g.expirationTime>I)||P&&!le());){var R=g.callback;if(typeof R=="function"){g.callback=null,x=g.priorityLevel;var H=R(g.expirationTime<=I);I=e.unstable_now(),typeof H=="function"?g.callback=H:g===n(u)&&r(u),m(I)}else r(u);g=n(u)}if(g!==null)var J=!0;else{var Y=n(d);Y!==null&&he(w,Y.startTime-I),J=!1}return J}finally{g=null,x=j,N=!1}}var _=!1,E=null,C=-1,B=5,A=-1;function le(){return!(e.unstable_now()-AP||125R?(P.sortIndex=j,t(d,P),n(u)===null&&P===n(d)&&(v?(f(C),C=-1):v=!0,he(w,j-R))):(P.sortIndex=H,t(u,P),y||N||(y=!0,W(S))),P},e.unstable_shouldYield=le,e.unstable_wrapCallback=function(P){var I=x;return function(){var j=x;x=I;try{return P.apply(this,arguments)}finally{x=j}}}})(xu);hu.exports=xu;var af=hu.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var uf=k,Ie=af;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ls=Object.prototype.hasOwnProperty,cf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Wo={},Ko={};function df(e){return Ls.call(Ko,e)?!0:Ls.call(Wo,e)?!1:cf.test(e)?Ko[e]=!0:(Wo[e]=!0,!1)}function ff(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function mf(e,t,n,r){if(t===null||typeof t>"u"||ff(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ce(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var we={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){we[e]=new Ce(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];we[t]=new Ce(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){we[e]=new Ce(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){we[e]=new Ce(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){we[e]=new Ce(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){we[e]=new Ce(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){we[e]=new Ce(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){we[e]=new Ce(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){we[e]=new Ce(e,5,!1,e.toLowerCase(),null,!1,!1)});var Pi=/[\-:]([a-z])/g;function zi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){we[e]=new Ce(e,1,!1,e.toLowerCase(),null,!1,!1)});we.xlinkHref=new Ce("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){we[e]=new Ce(e,1,!1,e.toLowerCase(),null,!0,!0)});function Li(e,t,n,r){var l=we.hasOwnProperty(t)?we[t]:null;(l!==null?l.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ls=Object.prototype.hasOwnProperty,cf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Wo={},Ko={};function df(e){return Ls.call(Ko,e)?!0:Ls.call(Wo,e)?!1:cf.test(e)?Ko[e]=!0:(Wo[e]=!0,!1)}function ff(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function mf(e,t,n,r){if(t===null||typeof t>"u"||ff(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ce(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var we={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){we[e]=new Ce(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];we[t]=new Ce(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){we[e]=new Ce(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){we[e]=new Ce(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){we[e]=new Ce(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){we[e]=new Ce(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){we[e]=new Ce(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){we[e]=new Ce(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){we[e]=new Ce(e,5,!1,e.toLowerCase(),null,!1,!1)});var Pi=/[\-:]([a-z])/g;function zi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Pi,zi);we[t]=new Ce(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){we[e]=new Ce(e,1,!1,e.toLowerCase(),null,!1,!1)});we.xlinkHref=new Ce("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){we[e]=new Ce(e,1,!1,e.toLowerCase(),null,!0,!0)});function Li(e,t,n,r){var l=we.hasOwnProperty(t)?we[t]:null;(l!==null?l.type!==0:r||!(2a||l[o]!==i[a]){var u=` -`+l[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=a);break}}}finally{os=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Hn(e):""}function pf(e){switch(e.tag){case 5:return Hn(e.type);case 16:return Hn("Lazy");case 13:return Hn("Suspense");case 19:return Hn("SuspenseList");case 0:case 2:case 15:return e=as(e.type,!1),e;case 11:return e=as(e.type.render,!1),e;case 1:return e=as(e.type,!0),e;default:return""}}function Rs(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case on:return"Fragment";case sn:return"Portal";case Ms:return"Profiler";case Mi:return"StrictMode";case As:return"Suspense";case Ds:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vu:return(e.displayName||"Context")+".Consumer";case yu:return(e._context.displayName||"Context")+".Provider";case Ai:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Di:return t=e.displayName||null,t!==null?t:Rs(e.type)||"Memo";case Nt:t=e._payload,e=e._init;try{return Rs(e(t))}catch{}}return null}function hf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Rs(t);case 8:return t===Mi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Rt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ku(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xf(e){var t=ku(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Dr(e){e._valueTracker||(e._valueTracker=xf(e))}function Nu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ku(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ul(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Os(e,t){var n=t.checked;return ae({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function qo(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Rt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ju(e,t){t=t.checked,t!=null&&Li(e,"checked",t,!1)}function Is(e,t){ju(e,t);var n=Rt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?$s(e,t.type,n):t.hasOwnProperty("defaultValue")&&$s(e,t.type,Rt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Yo(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function $s(e,t,n){(t!=="number"||ul(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Qn=Array.isArray;function yn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=Rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function sr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Gn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},gf=["Webkit","ms","Moz","O"];Object.keys(Gn).forEach(function(e){gf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Gn[t]=Gn[e]})});function Eu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Gn.hasOwnProperty(e)&&Gn[e]?(""+t).trim():t+"px"}function Cu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Eu(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var yf=ae({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Us(e,t){if(t){if(yf[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(b(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(b(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(b(61))}if(t.style!=null&&typeof t.style!="object")throw Error(b(62))}}function Bs(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Hs=null;function Ri(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Qs=null,vn=null,wn=null;function Xo(e){if(e=Er(e)){if(typeof Qs!="function")throw Error(b(280));var t=e.stateNode;t&&(t=Il(t),Qs(e.stateNode,e.type,t))}}function Tu(e){vn?wn?wn.push(e):wn=[e]:vn=e}function Pu(){if(vn){var e=vn,t=wn;if(wn=vn=null,Xo(e),t)for(e=0;e>>=0,e===0?32:31-(Tf(e)/Pf|0)|0}var Or=64,Ir=4194304;function Wn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ml(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var a=o&~l;a!==0?r=Wn(a):(i&=o,i!==0&&(r=Wn(i)))}else o=n&~l,o!==0?r=Wn(o):i!==0&&(r=Wn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function br(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ze(t),e[t]=n}function Af(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Yn),aa=" ",ua=!1;function Yu(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var an=!1;function cm(e,t){switch(e){case"compositionend":return Zu(t);case"keypress":return t.which!==32?null:(ua=!0,aa);case"textInput":return e=t.data,e===aa&&ua?null:e;default:return null}}function dm(e,t){if(an)return e==="compositionend"||!Hi&&Yu(e,t)?(e=Gu(),Xr=Vi=_t=null,an=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ma(n)}}function tc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?tc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function nc(){for(var e=window,t=ul();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ul(e.document)}return t}function Qi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=nc(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&tc(n.ownerDocument.documentElement,n)){if(r!==null&&Qi(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=pa(n,i);var o=pa(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,un=null,Zs=null,Jn=null,Js=!1;function ha(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Js||un==null||un!==ul(r)||(r=un,"selectionStart"in r&&Qi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Jn&&dr(Jn,r)||(Jn=r,r=xl(Zs,"onSelect"),0fn||(e.current=li[fn],li[fn]=null,fn--)}function te(e,t){fn++,li[fn]=e.current,e.current=t}var Ot={},Se=$t(Ot),ze=$t(!1),Zt=Ot;function bn(e,t){var n=e.type.contextTypes;if(!n)return Ot;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Le(e){return e=e.childContextTypes,e!=null}function yl(){re(ze),re(Se)}function Na(e,t,n){if(Se.current!==Ot)throw Error(b(168));te(Se,t),te(ze,n)}function dc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(b(108,hf(e)||"Unknown",l));return ae({},n,r)}function vl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ot,Zt=Se.current,te(Se,e),te(ze,ze.current),!0}function ja(e,t,n){var r=e.stateNode;if(!r)throw Error(b(169));n?(e=dc(e,t,Zt),r.__reactInternalMemoizedMergedChildContext=e,re(ze),re(Se),te(Se,e)):re(ze),te(ze,n)}var ut=null,$l=!1,Ns=!1;function fc(e){ut===null?ut=[e]:ut.push(e)}function Lm(e){$l=!0,fc(e)}function Ft(){if(!Ns&&ut!==null){Ns=!0;var e=0,t=X;try{var n=ut;for(X=1;e>=o,l-=o,ct=1<<32-Ze(t)+l|n<C?(U=E,E=null):U=E.sibling;var A=x(f,E,m[C],w);if(A===null){E===null&&(E=U);break}e&&E&&A.alternate===null&&t(f,E),c=i(A,c,C),_===null?j=A:_.sibling=A,_=A,E=U}if(C===m.length)return n(f,E),se&&Bt(f,C),j;if(E===null){for(;CC?(U=E,E=null):U=E.sibling;var le=x(f,E,A.value,w);if(le===null){E===null&&(E=U);break}e&&E&&le.alternate===null&&t(f,E),c=i(le,c,C),_===null?j=le:_.sibling=le,_=le,E=U}if(A.done)return n(f,E),se&&Bt(f,C),j;if(E===null){for(;!A.done;C++,A=m.next())A=g(f,A.value,w),A!==null&&(c=i(A,c,C),_===null?j=A:_.sibling=A,_=A);return se&&Bt(f,C),j}for(E=r(f,E);!A.done;C++,A=m.next())A=N(E,f,C,A.value,w),A!==null&&(e&&A.alternate!==null&&E.delete(A.key===null?C:A.key),c=i(A,c,C),_===null?j=A:_.sibling=A,_=A);return e&&E.forEach(function(L){return t(f,L)}),se&&Bt(f,C),j}function O(f,c,m,w){if(typeof m=="object"&&m!==null&&m.type===on&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Ar:e:{for(var j=m.key,_=c;_!==null;){if(_.key===j){if(j=m.type,j===on){if(_.tag===7){n(f,_.sibling),c=l(_,m.props.children),c.return=f,f=c;break e}}else if(_.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Nt&&_a(j)===_.type){n(f,_.sibling),c=l(_,m.props),c.ref=Vn(f,_,m),c.return=f,f=c;break e}n(f,_);break}else t(f,_);_=_.sibling}m.type===on?(c=qt(m.props.children,f.mode,w,m.key),c.return=f,f=c):(w=ol(m.type,m.key,m.props,null,f.mode,w),w.ref=Vn(f,c,m),w.return=f,f=w)}return o(f);case sn:e:{for(_=m.key;c!==null;){if(c.key===_)if(c.tag===4&&c.stateNode.containerInfo===m.containerInfo&&c.stateNode.implementation===m.implementation){n(f,c.sibling),c=l(c,m.children||[]),c.return=f,f=c;break e}else{n(f,c);break}else t(f,c);c=c.sibling}c=Ps(m,f.mode,w),c.return=f,f=c}return o(f);case Nt:return _=m._init,O(f,c,_(m._payload),w)}if(Qn(m))return y(f,c,m,w);if(Rn(m))return v(f,c,m,w);Qr(f,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,c!==null&&c.tag===6?(n(f,c.sibling),c=l(c,m),c.return=f,f=c):(n(f,c),c=Ts(m,f.mode,w),c.return=f,f=c),o(f)):n(f,c)}return O}var En=xc(!0),gc=xc(!1),Nl=$t(null),jl=null,hn=null,qi=null;function Yi(){qi=hn=jl=null}function Zi(e){var t=Nl.current;re(Nl),e._currentValue=t}function oi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Nn(e,t){jl=e,qi=hn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Pe=!0),e.firstContext=null)}function Qe(e){var t=e._currentValue;if(qi!==e)if(e={context:e,memoizedValue:t,next:null},hn===null){if(jl===null)throw Error(b(308));hn=e,jl.dependencies={lanes:0,firstContext:e}}else hn=hn.next=e;return t}var Wt=null;function Ji(e){Wt===null?Wt=[e]:Wt.push(e)}function yc(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ji(t)):(n.next=l.next,l.next=n),t.interleaved=n,ht(e,r)}function ht(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var jt=!1;function Xi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function vc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ft(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Lt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,ht(e,n)}return l=r.interleaved,l===null?(t.next=t,Ji(r)):(t.next=l.next,l.next=t),r.interleaved=t,ht(e,n)}function tl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ii(e,n)}}function Ea(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Sl(e,t,n,r){var l=e.updateQueue;jt=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,a=l.shared.pending;if(a!==null){l.shared.pending=null;var u=a,d=u.next;u.next=null,o===null?i=d:o.next=d,o=u;var h=e.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=d:a.next=d,h.lastBaseUpdate=u))}if(i!==null){var g=l.baseState;o=0,h=d=u=null,a=i;do{var x=a.lane,N=a.eventTime;if((r&x)===x){h!==null&&(h=h.next={eventTime:N,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var y=e,v=a;switch(x=t,N=n,v.tag){case 1:if(y=v.payload,typeof y=="function"){g=y.call(N,g,x);break e}g=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=v.payload,x=typeof y=="function"?y.call(N,g,x):y,x==null)break e;g=ae({},g,x);break e;case 2:jt=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,x=l.effects,x===null?l.effects=[a]:x.push(a))}else N={eventTime:N,lane:x,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(d=h=N,u=g):h=h.next=N,o|=x;if(a=a.next,a===null){if(a=l.shared.pending,a===null)break;x=a,a=x.next,x.next=null,l.lastBaseUpdate=x,l.shared.pending=null}}while(!0);if(h===null&&(u=g),l.baseState=u,l.firstBaseUpdate=d,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);en|=o,e.lanes=o,e.memoizedState=g}}function Ca(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Ss.transition;Ss.transition={};try{e(!1),t()}finally{X=n,Ss.transition=r}}function Rc(){return We().memoizedState}function Rm(e,t,n){var r=At(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Oc(e))Ic(t,n);else if(n=yc(e,t,n,r),n!==null){var l=_e();Je(n,e,r,l),$c(n,t,r)}}function Om(e,t,n){var r=At(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Oc(e))Ic(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,a=i(o,n);if(l.hasEagerState=!0,l.eagerState=a,Xe(a,o)){var u=t.interleaved;u===null?(l.next=l,Ji(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=yc(e,t,l,r),n!==null&&(l=_e(),Je(n,e,r,l),$c(n,t,r))}}function Oc(e){var t=e.alternate;return e===oe||t!==null&&t===oe}function Ic(e,t){Xn=_l=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function $c(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ii(e,n)}}var El={readContext:Qe,useCallback:ke,useContext:ke,useEffect:ke,useImperativeHandle:ke,useInsertionEffect:ke,useLayoutEffect:ke,useMemo:ke,useReducer:ke,useRef:ke,useState:ke,useDebugValue:ke,useDeferredValue:ke,useTransition:ke,useMutableSource:ke,useSyncExternalStore:ke,useId:ke,unstable_isNewReconciler:!1},Im={readContext:Qe,useCallback:function(e,t){return nt().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:Pa,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rl(4194308,4,zc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rl(4194308,4,e,t)},useInsertionEffect:function(e,t){return rl(4,2,e,t)},useMemo:function(e,t){var n=nt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=nt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Rm.bind(null,oe,e),[r.memoizedState,e]},useRef:function(e){var t=nt();return e={current:e},t.memoizedState=e},useState:Ta,useDebugValue:oo,useDeferredValue:function(e){return nt().memoizedState=e},useTransition:function(){var e=Ta(!1),t=e[0];return e=Dm.bind(null,e[1]),nt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=oe,l=nt();if(se){if(n===void 0)throw Error(b(407));n=n()}else{if(n=t(),ge===null)throw Error(b(349));Xt&30||jc(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Pa(bc.bind(null,r,i,e),[e]),r.flags|=2048,vr(9,Sc.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=nt(),t=ge.identifierPrefix;if(se){var n=dt,r=ct;n=(r&~(1<<32-Ze(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=gr++,0")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=a);break}}}finally{os=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Hn(e):""}function pf(e){switch(e.tag){case 5:return Hn(e.type);case 16:return Hn("Lazy");case 13:return Hn("Suspense");case 19:return Hn("SuspenseList");case 0:case 2:case 15:return e=as(e.type,!1),e;case 11:return e=as(e.type.render,!1),e;case 1:return e=as(e.type,!0),e;default:return""}}function Rs(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case on:return"Fragment";case sn:return"Portal";case Ms:return"Profiler";case Mi:return"StrictMode";case As:return"Suspense";case Ds:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vu:return(e.displayName||"Context")+".Consumer";case yu:return(e._context.displayName||"Context")+".Provider";case Ai:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Di:return t=e.displayName||null,t!==null?t:Rs(e.type)||"Memo";case Nt:t=e._payload,e=e._init;try{return Rs(e(t))}catch{}}return null}function hf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Rs(t);case 8:return t===Mi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Rt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ku(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xf(e){var t=ku(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Dr(e){e._valueTracker||(e._valueTracker=xf(e))}function Nu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ku(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ul(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Os(e,t){var n=t.checked;return ae({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function qo(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Rt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Su(e,t){t=t.checked,t!=null&&Li(e,"checked",t,!1)}function Is(e,t){Su(e,t);var n=Rt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?$s(e,t.type,n):t.hasOwnProperty("defaultValue")&&$s(e,t.type,Rt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Yo(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function $s(e,t,n){(t!=="number"||ul(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Qn=Array.isArray;function yn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=Rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function sr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Gn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},gf=["Webkit","ms","Moz","O"];Object.keys(Gn).forEach(function(e){gf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Gn[t]=Gn[e]})});function Eu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Gn.hasOwnProperty(e)&&Gn[e]?(""+t).trim():t+"px"}function Cu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Eu(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var yf=ae({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Bs(e,t){if(t){if(yf[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(b(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(b(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(b(61))}if(t.style!=null&&typeof t.style!="object")throw Error(b(62))}}function Us(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Hs=null;function Ri(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Qs=null,vn=null,wn=null;function Xo(e){if(e=Er(e)){if(typeof Qs!="function")throw Error(b(280));var t=e.stateNode;t&&(t=Il(t),Qs(e.stateNode,e.type,t))}}function Tu(e){vn?wn?wn.push(e):wn=[e]:vn=e}function Pu(){if(vn){var e=vn,t=wn;if(wn=vn=null,Xo(e),t)for(e=0;e>>=0,e===0?32:31-(Tf(e)/Pf|0)|0}var Or=64,Ir=4194304;function Wn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ml(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var a=o&~l;a!==0?r=Wn(a):(i&=o,i!==0&&(r=Wn(i)))}else o=n&~l,o!==0?r=Wn(o):i!==0&&(r=Wn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function br(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ze(t),e[t]=n}function Af(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Yn),aa=" ",ua=!1;function Yu(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var an=!1;function cm(e,t){switch(e){case"compositionend":return Zu(t);case"keypress":return t.which!==32?null:(ua=!0,aa);case"textInput":return e=t.data,e===aa&&ua?null:e;default:return null}}function dm(e,t){if(an)return e==="compositionend"||!Hi&&Yu(e,t)?(e=Gu(),Xr=Vi=_t=null,an=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ma(n)}}function tc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?tc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function nc(){for(var e=window,t=ul();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ul(e.document)}return t}function Qi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=nc(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&tc(n.ownerDocument.documentElement,n)){if(r!==null&&Qi(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=pa(n,i);var o=pa(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,un=null,Zs=null,Jn=null,Js=!1;function ha(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Js||un==null||un!==ul(r)||(r=un,"selectionStart"in r&&Qi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Jn&&dr(Jn,r)||(Jn=r,r=xl(Zs,"onSelect"),0fn||(e.current=li[fn],li[fn]=null,fn--)}function te(e,t){fn++,li[fn]=e.current,e.current=t}var Ot={},je=$t(Ot),ze=$t(!1),Zt=Ot;function bn(e,t){var n=e.type.contextTypes;if(!n)return Ot;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Le(e){return e=e.childContextTypes,e!=null}function yl(){re(ze),re(je)}function Na(e,t,n){if(je.current!==Ot)throw Error(b(168));te(je,t),te(ze,n)}function dc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(b(108,hf(e)||"Unknown",l));return ae({},n,r)}function vl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ot,Zt=je.current,te(je,e),te(ze,ze.current),!0}function Sa(e,t,n){var r=e.stateNode;if(!r)throw Error(b(169));n?(e=dc(e,t,Zt),r.__reactInternalMemoizedMergedChildContext=e,re(ze),re(je),te(je,e)):re(ze),te(ze,n)}var ut=null,$l=!1,Ns=!1;function fc(e){ut===null?ut=[e]:ut.push(e)}function Lm(e){$l=!0,fc(e)}function Ft(){if(!Ns&&ut!==null){Ns=!0;var e=0,t=X;try{var n=ut;for(X=1;e>=o,l-=o,ct=1<<32-Ze(t)+l|n<C?(B=E,E=null):B=E.sibling;var A=x(f,E,m[C],w);if(A===null){E===null&&(E=B);break}e&&E&&A.alternate===null&&t(f,E),c=i(A,c,C),_===null?S=A:_.sibling=A,_=A,E=B}if(C===m.length)return n(f,E),se&&Ut(f,C),S;if(E===null){for(;CC?(B=E,E=null):B=E.sibling;var le=x(f,E,A.value,w);if(le===null){E===null&&(E=B);break}e&&E&&le.alternate===null&&t(f,E),c=i(le,c,C),_===null?S=le:_.sibling=le,_=le,E=B}if(A.done)return n(f,E),se&&Ut(f,C),S;if(E===null){for(;!A.done;C++,A=m.next())A=g(f,A.value,w),A!==null&&(c=i(A,c,C),_===null?S=A:_.sibling=A,_=A);return se&&Ut(f,C),S}for(E=r(f,E);!A.done;C++,A=m.next())A=N(E,f,C,A.value,w),A!==null&&(e&&A.alternate!==null&&E.delete(A.key===null?C:A.key),c=i(A,c,C),_===null?S=A:_.sibling=A,_=A);return e&&E.forEach(function(L){return t(f,L)}),se&&Ut(f,C),S}function O(f,c,m,w){if(typeof m=="object"&&m!==null&&m.type===on&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Ar:e:{for(var S=m.key,_=c;_!==null;){if(_.key===S){if(S=m.type,S===on){if(_.tag===7){n(f,_.sibling),c=l(_,m.props.children),c.return=f,f=c;break e}}else if(_.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Nt&&_a(S)===_.type){n(f,_.sibling),c=l(_,m.props),c.ref=Vn(f,_,m),c.return=f,f=c;break e}n(f,_);break}else t(f,_);_=_.sibling}m.type===on?(c=qt(m.props.children,f.mode,w,m.key),c.return=f,f=c):(w=ol(m.type,m.key,m.props,null,f.mode,w),w.ref=Vn(f,c,m),w.return=f,f=w)}return o(f);case sn:e:{for(_=m.key;c!==null;){if(c.key===_)if(c.tag===4&&c.stateNode.containerInfo===m.containerInfo&&c.stateNode.implementation===m.implementation){n(f,c.sibling),c=l(c,m.children||[]),c.return=f,f=c;break e}else{n(f,c);break}else t(f,c);c=c.sibling}c=Ps(m,f.mode,w),c.return=f,f=c}return o(f);case Nt:return _=m._init,O(f,c,_(m._payload),w)}if(Qn(m))return y(f,c,m,w);if(Rn(m))return v(f,c,m,w);Qr(f,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,c!==null&&c.tag===6?(n(f,c.sibling),c=l(c,m),c.return=f,f=c):(n(f,c),c=Ts(m,f.mode,w),c.return=f,f=c),o(f)):n(f,c)}return O}var En=xc(!0),gc=xc(!1),Nl=$t(null),Sl=null,hn=null,qi=null;function Yi(){qi=hn=Sl=null}function Zi(e){var t=Nl.current;re(Nl),e._currentValue=t}function oi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Nn(e,t){Sl=e,qi=hn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Pe=!0),e.firstContext=null)}function Qe(e){var t=e._currentValue;if(qi!==e)if(e={context:e,memoizedValue:t,next:null},hn===null){if(Sl===null)throw Error(b(308));hn=e,Sl.dependencies={lanes:0,firstContext:e}}else hn=hn.next=e;return t}var Wt=null;function Ji(e){Wt===null?Wt=[e]:Wt.push(e)}function yc(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ji(t)):(n.next=l.next,l.next=n),t.interleaved=n,ht(e,r)}function ht(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var St=!1;function Xi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function vc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ft(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Lt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,ht(e,n)}return l=r.interleaved,l===null?(t.next=t,Ji(r)):(t.next=l.next,l.next=t),r.interleaved=t,ht(e,n)}function tl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ii(e,n)}}function Ea(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function jl(e,t,n,r){var l=e.updateQueue;St=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,a=l.shared.pending;if(a!==null){l.shared.pending=null;var u=a,d=u.next;u.next=null,o===null?i=d:o.next=d,o=u;var h=e.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=d:a.next=d,h.lastBaseUpdate=u))}if(i!==null){var g=l.baseState;o=0,h=d=u=null,a=i;do{var x=a.lane,N=a.eventTime;if((r&x)===x){h!==null&&(h=h.next={eventTime:N,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var y=e,v=a;switch(x=t,N=n,v.tag){case 1:if(y=v.payload,typeof y=="function"){g=y.call(N,g,x);break e}g=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=v.payload,x=typeof y=="function"?y.call(N,g,x):y,x==null)break e;g=ae({},g,x);break e;case 2:St=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,x=l.effects,x===null?l.effects=[a]:x.push(a))}else N={eventTime:N,lane:x,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(d=h=N,u=g):h=h.next=N,o|=x;if(a=a.next,a===null){if(a=l.shared.pending,a===null)break;x=a,a=x.next,x.next=null,l.lastBaseUpdate=x,l.shared.pending=null}}while(!0);if(h===null&&(u=g),l.baseState=u,l.firstBaseUpdate=d,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);en|=o,e.lanes=o,e.memoizedState=g}}function Ca(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=js.transition;js.transition={};try{e(!1),t()}finally{X=n,js.transition=r}}function Rc(){return We().memoizedState}function Rm(e,t,n){var r=At(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Oc(e))Ic(t,n);else if(n=yc(e,t,n,r),n!==null){var l=_e();Je(n,e,r,l),$c(n,t,r)}}function Om(e,t,n){var r=At(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Oc(e))Ic(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,a=i(o,n);if(l.hasEagerState=!0,l.eagerState=a,Xe(a,o)){var u=t.interleaved;u===null?(l.next=l,Ji(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=yc(e,t,l,r),n!==null&&(l=_e(),Je(n,e,r,l),$c(n,t,r))}}function Oc(e){var t=e.alternate;return e===oe||t!==null&&t===oe}function Ic(e,t){Xn=_l=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function $c(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ii(e,n)}}var El={readContext:Qe,useCallback:ke,useContext:ke,useEffect:ke,useImperativeHandle:ke,useInsertionEffect:ke,useLayoutEffect:ke,useMemo:ke,useReducer:ke,useRef:ke,useState:ke,useDebugValue:ke,useDeferredValue:ke,useTransition:ke,useMutableSource:ke,useSyncExternalStore:ke,useId:ke,unstable_isNewReconciler:!1},Im={readContext:Qe,useCallback:function(e,t){return nt().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:Pa,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rl(4194308,4,zc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rl(4194308,4,e,t)},useInsertionEffect:function(e,t){return rl(4,2,e,t)},useMemo:function(e,t){var n=nt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=nt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Rm.bind(null,oe,e),[r.memoizedState,e]},useRef:function(e){var t=nt();return e={current:e},t.memoizedState=e},useState:Ta,useDebugValue:oo,useDeferredValue:function(e){return nt().memoizedState=e},useTransition:function(){var e=Ta(!1),t=e[0];return e=Dm.bind(null,e[1]),nt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=oe,l=nt();if(se){if(n===void 0)throw Error(b(407));n=n()}else{if(n=t(),ge===null)throw Error(b(349));Xt&30||Sc(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Pa(bc.bind(null,r,i,e),[e]),r.flags|=2048,vr(9,jc.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=nt(),t=ge.identifierPrefix;if(se){var n=dt,r=ct;n=(r&~(1<<32-Ze(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=gr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[rt]=t,e[pr]=r,qc(e,t,!1,!1),t.stateNode=e;e:{switch(o=Bs(n,r),n){case"dialog":ne("cancel",e),ne("close",e),l=r;break;case"iframe":case"object":case"embed":ne("load",e),l=r;break;case"video":case"audio":for(l=0;lPn&&(t.flags|=128,r=!0,Un(i,!1),t.lanes=4194304)}else{if(!r)if(e=bl(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Un(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!se)return Ne(t),null}else 2*ce()-i.renderingStartTime>Pn&&n!==1073741824&&(t.flags|=128,r=!0,Un(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=ce(),t.sibling=null,n=ie.current,te(ie,r?n&1|2:n&1),t):(Ne(t),null);case 22:case 23:return po(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?De&1073741824&&(Ne(t),t.subtreeFlags&6&&(t.flags|=8192)):Ne(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function Wm(e,t){switch(Ki(t),t.tag){case 1:return Le(t.type)&&yl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Cn(),re(ze),re(Se),no(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return to(t),null;case 13:if(re(ie),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));_n()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return re(ie),null;case 4:return Cn(),null;case 10:return Zi(t.type._context),null;case 22:case 23:return po(),null;case 24:return null;default:return null}}var Kr=!1,je=!1,Km=typeof WeakSet=="function"?WeakSet:Set,z=null;function xn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ue(e,t,r)}else n.current=null}function xi(e,t,n){try{n()}catch(r){ue(e,t,r)}}var Va=!1;function Gm(e,t){if(Xs=pl,e=nc(),Qi(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,a=-1,u=-1,d=0,h=0,g=e,x=null;t:for(;;){for(var N;g!==n||l!==0&&g.nodeType!==3||(a=o+l),g!==i||r!==0&&g.nodeType!==3||(u=o+r),g.nodeType===3&&(o+=g.nodeValue.length),(N=g.firstChild)!==null;)x=g,g=N;for(;;){if(g===e)break t;if(x===n&&++d===l&&(a=o),x===i&&++h===r&&(u=o),(N=g.nextSibling)!==null)break;g=x,x=g.parentNode}g=N}n=a===-1||u===-1?null:{start:a,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ei={focusedElem:e,selectionRange:n},pl=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,O=y.memoizedState,f=t.stateNode,c=f.getSnapshotBeforeUpdate(t.elementType===t.type?v:Ge(t.type,v),O);f.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(w){ue(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return y=Va,Va=!1,y}function er(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&xi(t,n,i)}l=l.next}while(l!==r)}}function Ul(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function gi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Jc(e){var t=e.alternate;t!==null&&(e.alternate=null,Jc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[rt],delete t[pr],delete t[ri],delete t[Pm],delete t[zm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Xc(e){return e.tag===5||e.tag===3||e.tag===4}function Ua(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=gl));else if(r!==4&&(e=e.child,e!==null))for(yi(e,t,n),e=e.sibling;e!==null;)yi(e,t,n),e=e.sibling}function vi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(vi(e,t,n),e=e.sibling;e!==null;)vi(e,t,n),e=e.sibling}var ye=null,qe=!1;function kt(e,t,n){for(n=n.child;n!==null;)ed(e,t,n),n=n.sibling}function ed(e,t,n){if(lt&&typeof lt.onCommitFiberUnmount=="function")try{lt.onCommitFiberUnmount(Al,n)}catch{}switch(n.tag){case 5:je||xn(n,t);case 6:var r=ye,l=qe;ye=null,kt(e,t,n),ye=r,qe=l,ye!==null&&(qe?(e=ye,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ye.removeChild(n.stateNode));break;case 18:ye!==null&&(qe?(e=ye,n=n.stateNode,e.nodeType===8?ks(e.parentNode,n):e.nodeType===1&&ks(e,n),ur(e)):ks(ye,n.stateNode));break;case 4:r=ye,l=qe,ye=n.stateNode.containerInfo,qe=!0,kt(e,t,n),ye=r,qe=l;break;case 0:case 11:case 14:case 15:if(!je&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&xi(n,t,o),l=l.next}while(l!==r)}kt(e,t,n);break;case 1:if(!je&&(xn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ue(n,t,a)}kt(e,t,n);break;case 21:kt(e,t,n);break;case 22:n.mode&1?(je=(r=je)||n.memoizedState!==null,kt(e,t,n),je=r):kt(e,t,n);break;default:kt(e,t,n)}}function Ba(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(r){var l=rp.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ke(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=ce()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ym(r/1960))-r,10e?16:e,Et===null)var r=!1;else{if(e=Et,Et=null,Pl=0,G&6)throw Error(b(331));var l=G;for(G|=4,z=e.current;z!==null;){var i=z,o=i.child;if(z.flags&16){var a=i.deletions;if(a!==null){for(var u=0;uce()-fo?Gt(e,0):co|=n),Me(e,t)}function ad(e,t){t===0&&(e.mode&1?(t=Ir,Ir<<=1,!(Ir&130023424)&&(Ir=4194304)):t=1);var n=_e();e=ht(e,t),e!==null&&(br(e,t,n),Me(e,n))}function np(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ad(e,n)}function rp(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(b(314))}r!==null&&r.delete(t),ad(e,n)}var ud;ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ze.current)Pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Pe=!1,Hm(e,t,n);Pe=!!(e.flags&131072)}else Pe=!1,se&&t.flags&1048576&&mc(t,kl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ll(e,t),e=t.pendingProps;var l=bn(t,Se.current);Nn(t,n),l=lo(null,t,r,e,l,n);var i=so();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Le(r)?(i=!0,vl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Xi(t),l.updater=Vl,t.stateNode=l,l._reactInternals=t,ui(t,r,e,n),t=fi(null,t,r,!0,i,n)):(t.tag=0,se&&i&&Wi(t),be(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ll(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=sp(r),e=Ge(r,e),l){case 0:t=di(null,t,r,e,n);break e;case 1:t=Ia(null,t,r,e,n);break e;case 11:t=Ra(null,t,r,e,n);break e;case 14:t=Oa(null,t,r,Ge(r.type,e),n);break e}throw Error(b(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),di(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Ia(e,t,r,l,n);case 3:e:{if(Wc(t),e===null)throw Error(b(387));r=t.pendingProps,i=t.memoizedState,l=i.element,vc(e,t),Sl(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=Tn(Error(b(423)),t),t=$a(e,t,r,n,l);break e}else if(r!==l){l=Tn(Error(b(424)),t),t=$a(e,t,r,n,l);break e}else for(Re=zt(t.stateNode.containerInfo.firstChild),Oe=t,se=!0,Ye=null,n=gc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(_n(),r===l){t=xt(e,t,n);break e}be(e,t,r,n)}t=t.child}return t;case 5:return wc(t),e===null&&ii(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,ti(r,l)?o=null:i!==null&&ti(r,i)&&(t.flags|=32),Qc(e,t),be(e,t,o,n),t.child;case 6:return e===null&&ii(t),null;case 13:return Kc(e,t,n);case 4:return eo(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=En(t,null,r,n):be(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Ra(e,t,r,l,n);case 7:return be(e,t,t.pendingProps,n),t.child;case 8:return be(e,t,t.pendingProps.children,n),t.child;case 12:return be(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,te(Nl,r._currentValue),r._currentValue=o,i!==null)if(Xe(i.value,o)){if(i.children===l.children&&!ze.current){t=xt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){o=i.child;for(var u=a.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=ft(-1,n&-n),u.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var h=d.pending;h===null?u.next=u:(u.next=h.next,h.next=u),d.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),oi(i.return,n,t),a.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(b(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),oi(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}be(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Nn(t,n),l=Qe(l),r=r(l),t.flags|=1,be(e,t,r,n),t.child;case 14:return r=t.type,l=Ge(r,t.pendingProps),l=Ge(r.type,l),Oa(e,t,r,l,n);case 15:return Bc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),ll(e,t),t.tag=1,Le(r)?(e=!0,vl(t)):e=!1,Nn(t,n),Fc(t,r,l),ui(t,r,l,n),fi(null,t,r,!0,e,n);case 19:return Gc(e,t,n);case 22:return Hc(e,t,n)}throw Error(b(156,t.tag))};function cd(e,t){return Ou(e,t)}function lp(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Be(e,t,n,r){return new lp(e,t,n,r)}function xo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function sp(e){if(typeof e=="function")return xo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ai)return 11;if(e===Di)return 14}return 2}function Dt(e,t){var n=e.alternate;return n===null?(n=Be(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ol(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")xo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case on:return qt(n.children,l,i,t);case Mi:o=8,l|=8;break;case Ms:return e=Be(12,n,t,l|2),e.elementType=Ms,e.lanes=i,e;case As:return e=Be(13,n,t,l),e.elementType=As,e.lanes=i,e;case Ds:return e=Be(19,n,t,l),e.elementType=Ds,e.lanes=i,e;case wu:return Hl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yu:o=10;break e;case vu:o=9;break e;case Ai:o=11;break e;case Di:o=14;break e;case Nt:o=16,r=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=Be(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function qt(e,t,n,r){return e=Be(7,e,r,t),e.lanes=n,e}function Hl(e,t,n,r){return e=Be(22,e,r,t),e.elementType=wu,e.lanes=n,e.stateNode={isHidden:!1},e}function Ts(e,t,n){return e=Be(6,e,null,t),e.lanes=n,e}function Ps(e,t,n){return t=Be(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ip(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cs(0),this.expirationTimes=cs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cs(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function go(e,t,n,r,l,i,o,a,u){return e=new ip(e,t,n,a,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Be(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xi(i),e}function op(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pd)}catch(e){console.error(e)}}pd(),pu.exports=$e;var fp=pu.exports,Za=fp;zs.createRoot=Za.createRoot,zs.hydrateRoot=Za.hydrateRoot;/** +`+i.stack}return{value:e,source:t,stack:l,digest:null}}function Es(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function ci(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Vm=typeof WeakMap=="function"?WeakMap:Map;function Vc(e,t,n){n=ft(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Tl||(Tl=!0,wi=r),ci(e,t)},n}function Bc(e,t,n){n=ft(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){ci(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){ci(e,t),typeof r!="function"&&(Mt===null?Mt=new Set([this]):Mt.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Ma(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Vm;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=tp.bind(null,e,t,n),t.then(e,e))}function Aa(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Da(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=ft(-1,1),t.tag=2,Lt(n,t,1))),n.lanes|=1),e)}var Bm=yt.ReactCurrentOwner,Pe=!1;function be(e,t,n,r){t.child=e===null?gc(t,null,n,r):En(t,e.child,n,r)}function Ra(e,t,n,r,l){n=n.render;var i=t.ref;return Nn(t,l),r=lo(e,t,n,r,i,l),n=so(),e!==null&&!Pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,xt(e,t,l)):(se&&n&&Wi(t),t.flags|=1,be(e,t,r,l),t.child)}function Oa(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!xo(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Uc(e,t,i,r,l)):(e=ol(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:dr,n(o,r)&&e.ref===t.ref)return xt(e,t,l)}return t.flags|=1,e=Dt(i,r),e.ref=t.ref,e.return=t,t.child=e}function Uc(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(dr(i,r)&&e.ref===t.ref)if(Pe=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(Pe=!0);else return t.lanes=e.lanes,xt(e,t,l)}return di(e,t,n,r,l)}function Hc(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},te(gn,De),De|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,te(gn,De),De|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,te(gn,De),De|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,te(gn,De),De|=r;return be(e,t,l,n),t.child}function Qc(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function di(e,t,n,r,l){var i=Le(n)?Zt:je.current;return i=bn(t,i),Nn(t,l),n=lo(e,t,n,r,i,l),r=so(),e!==null&&!Pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,xt(e,t,l)):(se&&r&&Wi(t),t.flags|=1,be(e,t,n,l),t.child)}function Ia(e,t,n,r,l){if(Le(n)){var i=!0;vl(t)}else i=!1;if(Nn(t,l),t.stateNode===null)ll(e,t),Fc(t,n,r),ui(t,n,r,l),r=!0;else if(e===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var u=o.context,d=n.contextType;typeof d=="object"&&d!==null?d=Qe(d):(d=Le(n)?Zt:je.current,d=bn(t,d));var h=n.getDerivedStateFromProps,g=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";g||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||u!==d)&&La(t,o,r,d),St=!1;var x=t.memoizedState;o.state=x,jl(t,r,o,l),u=t.memoizedState,a!==r||x!==u||ze.current||St?(typeof h=="function"&&(ai(t,n,h,r),u=t.memoizedState),(a=St||za(t,n,a,r,x,u,d))?(g||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=d,r=a):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,vc(e,t),a=t.memoizedProps,d=t.type===t.elementType?a:Ge(t.type,a),o.props=d,g=t.pendingProps,x=o.context,u=n.contextType,typeof u=="object"&&u!==null?u=Qe(u):(u=Le(n)?Zt:je.current,u=bn(t,u));var N=n.getDerivedStateFromProps;(h=typeof N=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==g||x!==u)&&La(t,o,r,u),St=!1,x=t.memoizedState,o.state=x,jl(t,r,o,l);var y=t.memoizedState;a!==g||x!==y||ze.current||St?(typeof N=="function"&&(ai(t,n,N,r),y=t.memoizedState),(d=St||za(t,n,d,r,x,y,u)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,y,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,y,u)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&x===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&x===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=y),o.props=r,o.state=y,o.context=u,r=d):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&x===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&x===e.memoizedState||(t.flags|=1024),r=!1)}return fi(e,t,n,r,i,l)}function fi(e,t,n,r,l,i){Qc(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return l&&Sa(t,n,!1),xt(e,t,i);r=t.stateNode,Bm.current=t;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=En(t,e.child,null,i),t.child=En(t,null,a,i)):be(e,t,a,i),t.memoizedState=r.state,l&&Sa(t,n,!0),t.child}function Wc(e){var t=e.stateNode;t.pendingContext?Na(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Na(e,t.context,!1),eo(e,t.containerInfo)}function $a(e,t,n,r,l){return _n(),Gi(l),t.flags|=256,be(e,t,n,r),t.child}var mi={dehydrated:null,treeContext:null,retryLane:0};function pi(e){return{baseLanes:e,cachePool:null,transitions:null}}function Kc(e,t,n){var r=t.pendingProps,l=ie.current,i=!1,o=(t.flags&128)!==0,a;if((a=o)||(a=e!==null&&e.memoizedState===null?!1:(l&2)!==0),a?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),te(ie,l&1),e===null)return ii(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Hl(o,r,0,null),e=qt(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=pi(n),t.memoizedState=mi,e):ao(t,o));if(l=e.memoizedState,l!==null&&(a=l.dehydrated,a!==null))return Um(e,t,o,r,a,l,n);if(i){i=r.fallback,o=t.mode,l=e.child,a=l.sibling;var u={mode:"hidden",children:r.children};return!(o&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=Dt(l,u),r.subtreeFlags=l.subtreeFlags&14680064),a!==null?i=Dt(a,i):(i=qt(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?pi(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=mi,r}return i=e.child,e=i.sibling,r=Dt(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function ao(e,t){return t=Hl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Wr(e,t,n,r){return r!==null&&Gi(r),En(t,e.child,null,n),e=ao(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Um(e,t,n,r,l,i,o){if(n)return t.flags&256?(t.flags&=-257,r=Es(Error(b(422))),Wr(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=Hl({mode:"visible",children:r.children},l,0,null),i=qt(i,l,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&En(t,e.child,null,o),t.child.memoizedState=pi(o),t.memoizedState=mi,i);if(!(t.mode&1))return Wr(e,t,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var a=r.dgst;return r=a,i=Error(b(419)),r=Es(i,r,void 0),Wr(e,t,o,r)}if(a=(o&e.childLanes)!==0,Pe||a){if(r=ge,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,ht(e,l),Je(r,e,l,-1))}return ho(),r=Es(Error(b(421))),Wr(e,t,o,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=np.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,Re=zt(l.nextSibling),Oe=t,se=!0,Ye=null,e!==null&&(Ve[Be++]=ct,Ve[Be++]=dt,Ve[Be++]=Jt,ct=e.id,dt=e.overflow,Jt=t),t=ao(t,r.children),t.flags|=4096,t)}function Fa(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),oi(e.return,t,n)}function Cs(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function Gc(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(be(e,t,r.children,n),r=ie.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Fa(e,n,t);else if(e.tag===19)Fa(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(te(ie,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&bl(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Cs(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&bl(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Cs(t,!0,n,null,i);break;case"together":Cs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ll(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function xt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),en|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(b(153));if(t.child!==null){for(e=t.child,n=Dt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Dt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Hm(e,t,n){switch(t.tag){case 3:Wc(t),_n();break;case 5:wc(t);break;case 1:Le(t.type)&&vl(t);break;case 4:eo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;te(Nl,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(te(ie,ie.current&1),t.flags|=128,null):n&t.child.childLanes?Kc(e,t,n):(te(ie,ie.current&1),e=xt(e,t,n),e!==null?e.sibling:null);te(ie,ie.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return Gc(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),te(ie,ie.current),r)break;return null;case 22:case 23:return t.lanes=0,Hc(e,t,n)}return xt(e,t,n)}var qc,hi,Yc,Zc;qc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};hi=function(){};Yc=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Kt(st.current);var i=null;switch(n){case"input":l=Os(e,l),r=Os(e,r),i=[];break;case"select":l=ae({},l,{value:void 0}),r=ae({},r,{value:void 0}),i=[];break;case"textarea":l=Fs(e,l),r=Fs(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=gl)}Bs(n,r);var o;n=null;for(d in l)if(!r.hasOwnProperty(d)&&l.hasOwnProperty(d)&&l[d]!=null)if(d==="style"){var a=l[d];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(lr.hasOwnProperty(d)?i||(i=[]):(i=i||[]).push(d,null));for(d in r){var u=r[d];if(a=l!=null?l[d]:void 0,r.hasOwnProperty(d)&&u!==a&&(u!=null||a!=null))if(d==="style")if(a){for(o in a)!a.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&a[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(d,n)),n=u;else d==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,a=a?a.__html:void 0,u!=null&&a!==u&&(i=i||[]).push(d,u)):d==="children"?typeof u!="string"&&typeof u!="number"||(i=i||[]).push(d,""+u):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(lr.hasOwnProperty(d)?(u!=null&&d==="onScroll"&&ne("scroll",e),i||a===u||(i=[])):(i=i||[]).push(d,u))}n&&(i=i||[]).push("style",n);var d=i;(t.updateQueue=d)&&(t.flags|=4)}};Zc=function(e,t,n,r){n!==r&&(t.flags|=4)};function Bn(e,t){if(!se)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ne(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Qm(e,t,n){var r=t.pendingProps;switch(Ki(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ne(t),null;case 1:return Le(t.type)&&yl(),Ne(t),null;case 3:return r=t.stateNode,Cn(),re(ze),re(je),no(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Hr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ye!==null&&(Si(Ye),Ye=null))),hi(e,t),Ne(t),null;case 5:to(t);var l=Kt(xr.current);if(n=t.type,e!==null&&t.stateNode!=null)Yc(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(b(166));return Ne(t),null}if(e=Kt(st.current),Hr(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[rt]=t,r[pr]=i,e=(t.mode&1)!==0,n){case"dialog":ne("cancel",r),ne("close",r);break;case"iframe":case"object":case"embed":ne("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[rt]=t,e[pr]=r,qc(e,t,!1,!1),t.stateNode=e;e:{switch(o=Us(n,r),n){case"dialog":ne("cancel",e),ne("close",e),l=r;break;case"iframe":case"object":case"embed":ne("load",e),l=r;break;case"video":case"audio":for(l=0;lPn&&(t.flags|=128,r=!0,Bn(i,!1),t.lanes=4194304)}else{if(!r)if(e=bl(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Bn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!se)return Ne(t),null}else 2*ce()-i.renderingStartTime>Pn&&n!==1073741824&&(t.flags|=128,r=!0,Bn(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=ce(),t.sibling=null,n=ie.current,te(ie,r?n&1|2:n&1),t):(Ne(t),null);case 22:case 23:return po(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?De&1073741824&&(Ne(t),t.subtreeFlags&6&&(t.flags|=8192)):Ne(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function Wm(e,t){switch(Ki(t),t.tag){case 1:return Le(t.type)&&yl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Cn(),re(ze),re(je),no(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return to(t),null;case 13:if(re(ie),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));_n()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return re(ie),null;case 4:return Cn(),null;case 10:return Zi(t.type._context),null;case 22:case 23:return po(),null;case 24:return null;default:return null}}var Kr=!1,Se=!1,Km=typeof WeakSet=="function"?WeakSet:Set,z=null;function xn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ue(e,t,r)}else n.current=null}function xi(e,t,n){try{n()}catch(r){ue(e,t,r)}}var Va=!1;function Gm(e,t){if(Xs=pl,e=nc(),Qi(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,a=-1,u=-1,d=0,h=0,g=e,x=null;t:for(;;){for(var N;g!==n||l!==0&&g.nodeType!==3||(a=o+l),g!==i||r!==0&&g.nodeType!==3||(u=o+r),g.nodeType===3&&(o+=g.nodeValue.length),(N=g.firstChild)!==null;)x=g,g=N;for(;;){if(g===e)break t;if(x===n&&++d===l&&(a=o),x===i&&++h===r&&(u=o),(N=g.nextSibling)!==null)break;g=x,x=g.parentNode}g=N}n=a===-1||u===-1?null:{start:a,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ei={focusedElem:e,selectionRange:n},pl=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,O=y.memoizedState,f=t.stateNode,c=f.getSnapshotBeforeUpdate(t.elementType===t.type?v:Ge(t.type,v),O);f.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(w){ue(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return y=Va,Va=!1,y}function er(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&xi(t,n,i)}l=l.next}while(l!==r)}}function Bl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function gi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Jc(e){var t=e.alternate;t!==null&&(e.alternate=null,Jc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[rt],delete t[pr],delete t[ri],delete t[Pm],delete t[zm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Xc(e){return e.tag===5||e.tag===3||e.tag===4}function Ba(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=gl));else if(r!==4&&(e=e.child,e!==null))for(yi(e,t,n),e=e.sibling;e!==null;)yi(e,t,n),e=e.sibling}function vi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(vi(e,t,n),e=e.sibling;e!==null;)vi(e,t,n),e=e.sibling}var ye=null,qe=!1;function kt(e,t,n){for(n=n.child;n!==null;)ed(e,t,n),n=n.sibling}function ed(e,t,n){if(lt&&typeof lt.onCommitFiberUnmount=="function")try{lt.onCommitFiberUnmount(Al,n)}catch{}switch(n.tag){case 5:Se||xn(n,t);case 6:var r=ye,l=qe;ye=null,kt(e,t,n),ye=r,qe=l,ye!==null&&(qe?(e=ye,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ye.removeChild(n.stateNode));break;case 18:ye!==null&&(qe?(e=ye,n=n.stateNode,e.nodeType===8?ks(e.parentNode,n):e.nodeType===1&&ks(e,n),ur(e)):ks(ye,n.stateNode));break;case 4:r=ye,l=qe,ye=n.stateNode.containerInfo,qe=!0,kt(e,t,n),ye=r,qe=l;break;case 0:case 11:case 14:case 15:if(!Se&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&xi(n,t,o),l=l.next}while(l!==r)}kt(e,t,n);break;case 1:if(!Se&&(xn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ue(n,t,a)}kt(e,t,n);break;case 21:kt(e,t,n);break;case 22:n.mode&1?(Se=(r=Se)||n.memoizedState!==null,kt(e,t,n),Se=r):kt(e,t,n);break;default:kt(e,t,n)}}function Ua(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(r){var l=rp.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ke(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=ce()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ym(r/1960))-r,10e?16:e,Et===null)var r=!1;else{if(e=Et,Et=null,Pl=0,G&6)throw Error(b(331));var l=G;for(G|=4,z=e.current;z!==null;){var i=z,o=i.child;if(z.flags&16){var a=i.deletions;if(a!==null){for(var u=0;uce()-fo?Gt(e,0):co|=n),Me(e,t)}function ad(e,t){t===0&&(e.mode&1?(t=Ir,Ir<<=1,!(Ir&130023424)&&(Ir=4194304)):t=1);var n=_e();e=ht(e,t),e!==null&&(br(e,t,n),Me(e,n))}function np(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ad(e,n)}function rp(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(b(314))}r!==null&&r.delete(t),ad(e,n)}var ud;ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ze.current)Pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Pe=!1,Hm(e,t,n);Pe=!!(e.flags&131072)}else Pe=!1,se&&t.flags&1048576&&mc(t,kl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ll(e,t),e=t.pendingProps;var l=bn(t,je.current);Nn(t,n),l=lo(null,t,r,e,l,n);var i=so();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Le(r)?(i=!0,vl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Xi(t),l.updater=Vl,t.stateNode=l,l._reactInternals=t,ui(t,r,e,n),t=fi(null,t,r,!0,i,n)):(t.tag=0,se&&i&&Wi(t),be(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ll(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=sp(r),e=Ge(r,e),l){case 0:t=di(null,t,r,e,n);break e;case 1:t=Ia(null,t,r,e,n);break e;case 11:t=Ra(null,t,r,e,n);break e;case 14:t=Oa(null,t,r,Ge(r.type,e),n);break e}throw Error(b(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),di(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Ia(e,t,r,l,n);case 3:e:{if(Wc(t),e===null)throw Error(b(387));r=t.pendingProps,i=t.memoizedState,l=i.element,vc(e,t),jl(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=Tn(Error(b(423)),t),t=$a(e,t,r,n,l);break e}else if(r!==l){l=Tn(Error(b(424)),t),t=$a(e,t,r,n,l);break e}else for(Re=zt(t.stateNode.containerInfo.firstChild),Oe=t,se=!0,Ye=null,n=gc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(_n(),r===l){t=xt(e,t,n);break e}be(e,t,r,n)}t=t.child}return t;case 5:return wc(t),e===null&&ii(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,ti(r,l)?o=null:i!==null&&ti(r,i)&&(t.flags|=32),Qc(e,t),be(e,t,o,n),t.child;case 6:return e===null&&ii(t),null;case 13:return Kc(e,t,n);case 4:return eo(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=En(t,null,r,n):be(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Ra(e,t,r,l,n);case 7:return be(e,t,t.pendingProps,n),t.child;case 8:return be(e,t,t.pendingProps.children,n),t.child;case 12:return be(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,te(Nl,r._currentValue),r._currentValue=o,i!==null)if(Xe(i.value,o)){if(i.children===l.children&&!ze.current){t=xt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){o=i.child;for(var u=a.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=ft(-1,n&-n),u.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var h=d.pending;h===null?u.next=u:(u.next=h.next,h.next=u),d.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),oi(i.return,n,t),a.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(b(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),oi(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}be(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Nn(t,n),l=Qe(l),r=r(l),t.flags|=1,be(e,t,r,n),t.child;case 14:return r=t.type,l=Ge(r,t.pendingProps),l=Ge(r.type,l),Oa(e,t,r,l,n);case 15:return Uc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),ll(e,t),t.tag=1,Le(r)?(e=!0,vl(t)):e=!1,Nn(t,n),Fc(t,r,l),ui(t,r,l,n),fi(null,t,r,!0,e,n);case 19:return Gc(e,t,n);case 22:return Hc(e,t,n)}throw Error(b(156,t.tag))};function cd(e,t){return Ou(e,t)}function lp(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ue(e,t,n,r){return new lp(e,t,n,r)}function xo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function sp(e){if(typeof e=="function")return xo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ai)return 11;if(e===Di)return 14}return 2}function Dt(e,t){var n=e.alternate;return n===null?(n=Ue(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ol(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")xo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case on:return qt(n.children,l,i,t);case Mi:o=8,l|=8;break;case Ms:return e=Ue(12,n,t,l|2),e.elementType=Ms,e.lanes=i,e;case As:return e=Ue(13,n,t,l),e.elementType=As,e.lanes=i,e;case Ds:return e=Ue(19,n,t,l),e.elementType=Ds,e.lanes=i,e;case wu:return Hl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yu:o=10;break e;case vu:o=9;break e;case Ai:o=11;break e;case Di:o=14;break e;case Nt:o=16,r=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=Ue(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function qt(e,t,n,r){return e=Ue(7,e,r,t),e.lanes=n,e}function Hl(e,t,n,r){return e=Ue(22,e,r,t),e.elementType=wu,e.lanes=n,e.stateNode={isHidden:!1},e}function Ts(e,t,n){return e=Ue(6,e,null,t),e.lanes=n,e}function Ps(e,t,n){return t=Ue(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ip(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cs(0),this.expirationTimes=cs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cs(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function go(e,t,n,r,l,i,o,a,u){return e=new ip(e,t,n,a,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ue(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xi(i),e}function op(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pd)}catch(e){console.error(e)}}pd(),pu.exports=$e;var fp=pu.exports,Za=fp;zs.createRoot=Za.createRoot,zs.hydrateRoot=Za.hydrateRoot;/** * @license lucide-react v0.424.0 - ISC * * This source code is licensed under the ISC license. @@ -147,7 +147,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Si=V("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** + */const ji=V("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** * @license lucide-react v0.424.0 - ISC * * This source code is licensed under the ISC license. @@ -157,12 +157,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jp=V("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + */const Sp=V("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** * @license lucide-react v0.424.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Sp=V("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const jp=V("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.424.0 - ISC * * This source code is licensed under the ISC license. @@ -172,7 +172,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jr=V("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** + */const Sr=V("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** * @license lucide-react v0.424.0 - ISC * * This source code is licensed under the ISC license. @@ -267,6 +267,6 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jd=V("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Ap({branding:e,user:t,activeTab:n,onChangeTab:r,themeMode:l,onChangeThemeMode:i,onLogout:o,onOpenAuth:a,onOpenCreateEvent:u,onOpenTemplates:d,onOpenProfile:h,onOpenAdmin:g,pwaInstallPrompt:x,onInstallPwa:N}){const y=(e==null?void 0:e.primary_color)||"var(--brand-primary)",v=()=>{i(l==="dark"?"light":l==="light"?"auto":"dark")};return s.jsxs("header",{className:"bg-surface border-b border-grid sticky top-0 z-40",children:[s.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between gap-4",children:[s.jsxs("div",{className:"flex items-center space-x-3 shrink-0",children:[s.jsx("div",{onClick:()=>r("home"),style:{backgroundColor:y},className:"w-8 h-8 rounded-sm flex items-center justify-center text-white font-bold cursor-pointer shadow-sm",children:e!=null&&e.logo_url?s.jsx("img",{src:e.logo_url,alt:"Logo",className:"w-4 h-4 object-contain"}):s.jsx(Tr,{className:"w-4 h-4"})}),s.jsxs("div",{onClick:()=>r("home"),className:"cursor-pointer",children:[s.jsx("h1",{className:"font-serif text-base font-bold tracking-tight text-main leading-none",children:(e==null?void 0:e.app_name)||"Schichtplaner"}),s.jsx("div",{className:"text-[10px] font-mono text-muted mt-1 uppercase tracking-wider flex items-center gap-1.5",children:t?s.jsxs("span",{className:"text-emerald-500 font-semibold",children:["[ ",t.display_name||t.username," ]"]}):s.jsx("span",{className:"text-amber-500 font-semibold",children:"[ GAST-MODUS ]"})})]})]}),s.jsxs("nav",{className:"hidden md:flex items-center gap-2",children:[s.jsxs("button",{onClick:()=>r("home"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="home"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(Xa,{className:"w-3.5 h-3.5"})," Startseite"]}),s.jsxs("button",{onClick:()=>r("calendar"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="calendar"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(Ja,{className:"w-3.5 h-3.5"})," Kalender"]}),((t==null?void 0:t.is_admin_user)||(t==null?void 0:t.is_staff)||(t==null?void 0:t.is_superuser))&&s.jsxs("button",{onClick:()=>r("admin"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="admin"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(tu,{className:"w-3.5 h-3.5 text-indigo-400"})," Admin"]})]}),s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("button",{onClick:v,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5",title:`Design-Modus: ${l.toUpperCase()}`,children:l==="dark"?s.jsxs(s.Fragment,{children:[s.jsx(Sp,{className:"w-3.5 h-3.5 text-indigo-400"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"DARK"})]}):l==="light"?s.jsxs(s.Fragment,{children:[s.jsx(Pp,{className:"w-3.5 h-3.5 text-amber-500"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"LIGHT"})]}):s.jsxs(s.Fragment,{children:[s.jsx(jp,{className:"w-3.5 h-3.5 text-blue-500"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"AUTO"})]})}),x&&s.jsxs("button",{onClick:N,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 hover:bg-emerald-500/20 transition flex items-center gap-1",children:[s.jsx(kd,{className:"w-3 h-3"})," PWA"]}),t?s.jsxs(s.Fragment,{children:[s.jsxs("button",{onClick:u,style:{backgroundColor:y},className:"h-8 px-3 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1 shadow-sm hover:brightness-110",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," Event"]}),s.jsxs("button",{onClick:d,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition hidden sm:flex items-center gap-1",title:"Vorlagen",children:[s.jsx(Nr,{className:"w-3.5 h-3.5 text-muted"})," Vorlagen"]}),s.jsxs("button",{onClick:h,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1",title:"Profil & Namen ändern",children:[s.jsx(jr,{className:"w-3.5 h-3.5 text-amber-500"})," Profil"]}),(t.is_admin_user||t.is_staff||t.is_superuser)&&s.jsxs("button",{onClick:()=>r("admin"),className:`h-8 px-2.5 rounded-sm text-xs font-mono transition flex items-center gap-1 border ${n==="admin"?"bg-indigo-500/20 text-indigo-300 border-indigo-500/40 font-bold":"bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border-indigo-500/30"}`,title:"Admin-Zentrale",children:[s.jsx(tu,{className:"w-3.5 h-3.5"})," Admin"]}),s.jsx("div",{className:"h-4 w-px bg-grid mx-1"}),s.jsx("button",{onClick:o,className:"h-8 w-8 rounded-sm text-muted hover:text-red-500 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 transition flex items-center justify-center",title:"Abmelden",children:s.jsx(Np,{className:"w-3.5 h-3.5"})})]}):s.jsxs("button",{onClick:a,style:{backgroundColor:y},className:"h-8 px-3.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 flex items-center gap-1.5 shadow-sm",children:[s.jsx(al,{className:"w-3.5 h-3.5"})," Anmelden"]})]})]}),s.jsxs("div",{className:"flex md:hidden items-center justify-around border-t border-grid py-2 bg-subtle text-xs font-mono",children:[s.jsxs("button",{onClick:()=>r("home"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="home"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(Xa,{className:"w-3.5 h-3.5"})," Start"]}),s.jsxs("button",{onClick:()=>r("calendar"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="calendar"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(Ja,{className:"w-3.5 h-3.5"})," Termine"]}),s.jsxs("button",{onClick:()=>r("schedule"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="schedule"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(zp,{className:"w-3.5 h-3.5"})," Schichtplan"]})]})]})}function Dp({event:e,user:t,onSignupClick:n,onCancelClick:r,onRemoveUserFromShift:l,onGenerateClaimLink:i,onExportPdf:o,onPrintView:a,onEditEvent:u}){var g,x;if(!e||!e.task_areas||e.task_areas.length===0)return s.jsxs("div",{className:"hallmark-panel rounded-sm p-12 text-center border border-grid font-mono",children:[s.jsx(kr,{className:"w-8 h-8 text-muted mx-auto mb-3"}),s.jsx("h3",{className:"font-serif text-xl font-bold text-main uppercase",children:"Keine Aufgabenfelder vorhanden"}),s.jsx("p",{className:"text-xs text-muted mt-1 mb-4",children:"[ Event hat noch keine definierten Aufgabenfelder oder Schichten ]"}),t&&(t.is_admin_user||t.is_staff||t.is_superuser||(e==null?void 0:e.created_by)===t.id||((g=e==null?void 0:e.created_by)==null?void 0:g.id)===t.id)&&u&&s.jsxs("button",{onClick:()=>u(e),className:"px-4 py-2 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border border-indigo-500/30 font-bold text-xs inline-flex items-center gap-2",children:[s.jsx(jr,{className:"w-4 h-4"})," SCHICHTEN & BEREICHE ANLEGEN"]})]});const d=!t,h=t&&(t.is_admin_user||t.is_staff||t.is_superuser||e.created_by===t.id||((x=e.created_by)==null?void 0:x.id)===t.id);return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid flex flex-col md:flex-row md:items-center justify-between gap-4",children:[s.jsxs("div",{className:"space-y-1 font-mono",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted mb-1",children:[s.jsxs("span",{className:"bg-subtle px-2.5 py-0.5 rounded-sm border border-grid font-bold text-main",children:[new Date(e.start_date).toLocaleDateString("de-DE")," — ",new Date(e.end_date).toLocaleDateString("de-DE")]}),e.location&&s.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[s.jsx(ko,{className:"w-3.5 h-3.5 shrink-0"}),e.location]}),e.is_active===!1&&s.jsx("span",{className:"px-2 py-0.5 rounded-sm bg-amber-500/10 text-amber-500 border border-amber-500/20 font-bold",children:"[ DEAKTIVIERT ]"})]}),s.jsx("h2",{className:"font-serif text-3xl sm:text-4xl font-bold uppercase tracking-tight text-main",children:e.title}),e.description&&s.jsx("p",{className:"text-xs font-sans text-muted max-w-2xl mt-1",children:e.description})]}),s.jsxs("div",{className:"flex items-center gap-2 no-print font-mono text-xs shrink-0",children:[h&&u&&s.jsxs("button",{onClick:()=>u(e),className:"px-3.5 py-1.5 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border border-indigo-500/30 transition flex items-center gap-1.5 font-bold",title:"Schichten und Aufgabenbereiche für diese Veranstaltung bearbeiten",children:[s.jsx(jr,{className:"w-3.5 h-3.5"})," SCHICHTEN BEARBEITEN"]}),s.jsxs("button",{onClick:a,className:"px-3.5 py-1.5 rounded-sm bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 font-bold",children:[s.jsx(_p,{className:"w-3.5 h-3.5"})," DRUCKEN"]}),s.jsxs("button",{onClick:o,className:"px-3.5 py-1.5 rounded-sm bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 font-bold",children:[s.jsx(vp,{className:"w-3.5 h-3.5"})," PDF"]})]})]}),d&&s.jsxs("div",{className:"p-3.5 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(wd,{className:"w-4 h-4 shrink-0 text-amber-500"}),s.jsxs("span",{children:["[ GAST-DATENSCHUTZ ]: Belegungszahlen sichtbar, Namensanzeige aus Datenschutzgründen ",s.jsx("strong",{children:"anonymisiert"}),"."]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm border border-grid overflow-hidden",children:s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full text-left border-collapse",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-subtle border-b border-grid text-[11px] font-mono text-muted uppercase tracking-wider",children:[s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Aufgabenfeld"}),s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Schicht & Zeitraum"}),s.jsx("th",{className:"py-3.5 px-4 w-1/6",children:"Qualifikation"}),s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Belegung & Personen"}),s.jsx("th",{className:"py-3.5 px-4 w-1/6 text-right",children:"Aktion"})]})}),s.jsx("tbody",{className:"divide-y divide-grid text-xs font-sans",children:e.task_areas.map(N=>!N.shifts||N.shifts.length===0?s.jsxs("tr",{children:[s.jsx("td",{className:"py-3.5 px-4 font-serif text-lg font-bold text-main uppercase",children:N.name}),s.jsx("td",{colSpan:4,className:"py-3.5 px-4 text-muted font-mono text-[11px]",children:"[ Keine Schichten angelegt ]"})]},`area-${N.id}`):N.shifts.map((y,v)=>{const O=v===0,f=y.is_full,m=!!(t?y.signups.find(j=>!j.is_guest&&j.display_name===t.display_name):null),w=y.required_skills&&y.required_skills.length>0;return s.jsxs("tr",{className:"hover:bg-surface-hover/60 transition",children:[O?s.jsxs("td",{rowSpan:N.shifts.length,className:"py-3.5 px-4 font-serif text-lg font-bold text-main uppercase bg-subtle/80 align-top border-r border-grid",children:[s.jsx("div",{children:N.name}),N.description&&s.jsx("div",{className:"text-[11px] font-sans font-normal text-muted mt-0.5",children:N.description})]}):null,s.jsxs("td",{className:"py-3.5 px-4",children:[s.jsx("div",{className:"font-semibold text-main",children:y.title}),s.jsxs("div",{className:"text-[11px] font-mono text-muted flex items-center gap-1 mt-0.5",children:[s.jsx(kr,{className:"w-3 h-3 text-muted shrink-0"}),s.jsxs("span",{children:[y.start_time," — ",y.end_time," Uhr"]})]})]}),s.jsx("td",{className:"py-3.5 px-4 font-mono",children:w?s.jsx("div",{className:"flex flex-wrap gap-1",children:y.required_skills.map(j=>s.jsxs("span",{style:{backgroundColor:`${j.color}15`,borderColor:`${j.color}35`,color:j.color},className:"px-2 py-0.5 rounded-sm text-[10px] font-semibold border flex items-center gap-1",children:[s.jsx(xp,{className:"w-3 h-3 shrink-0"})," ",j.name]},j.id))}):s.jsx("span",{className:"text-[11px] text-muted",children:"—"})}),s.jsxs("td",{className:"py-3.5 px-4 font-mono",children:[s.jsx("div",{className:"flex items-center gap-2",children:s.jsxs("span",{className:`px-2 py-0.5 rounded-sm text-[11px] font-bold border ${f?"bg-red-500/10 text-red-500 border-red-500/20":"bg-emerald-500/10 text-emerald-500 border-emerald-500/20"}`,children:["[ ",y.signups_count," / ",y.max_participants," BELEGT ]"]})}),s.jsx("div",{className:"mt-2 space-y-1 font-sans",children:y.signups.map(j=>s.jsxs("div",{className:"text-[11px] text-muted flex items-center justify-between gap-2 p-1.5 rounded-sm bg-subtle border border-grid",children:[s.jsxs("div",{className:"flex items-center gap-1.5 truncate",children:[s.jsx(Nd,{className:"w-3 h-3 text-muted shrink-0"}),s.jsx("span",{className:"truncate",children:j.display_name}),j.is_guest&&s.jsx("span",{className:"text-[9px] font-mono text-amber-500 px-1 rounded-sm bg-amber-500/10 border border-amber-500/20 font-bold",children:"GAST"})]}),s.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[t&&j.is_guest&&i&&s.jsxs("button",{onClick:()=>i(j),className:"text-indigo-400 hover:text-indigo-300 transition p-1 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 border border-indigo-500/20 flex items-center gap-1 text-[10px] font-mono font-bold",title:"Konto-Einladungslink für diese Gast-Eintragung kopieren",children:[s.jsx(Lp,{className:"w-3 h-3"})," LINK"]}),h&&l&&s.jsx("button",{onClick:()=>l(y,j.id),className:"text-muted hover:text-red-500 transition p-1 rounded-sm hover:bg-red-500/10",title:"Person aus dieser Schicht entfernen",children:s.jsx(nu,{className:"w-3.5 h-3.5"})})]})]},j.id))})]}),s.jsx("td",{className:"py-3.5 px-4 text-right font-mono",children:m?s.jsxs("button",{onClick:()=>r(y),className:"px-3 py-1.5 rounded-sm text-xs font-semibold bg-red-500/10 hover:bg-red-500/20 text-red-500 border border-red-500/20 transition flex items-center gap-1 ml-auto",children:[s.jsx(nu,{className:"w-3.5 h-3.5"})," AUSTRAGEN"]}):f?s.jsx("span",{className:"text-xs text-muted font-bold",children:"[ VOLL ]"}):s.jsxs("button",{onClick:()=>n(y),style:{backgroundColor:"var(--brand-primary)"},className:"px-3.5 py-1.5 rounded-sm text-xs font-bold text-white transition hover:brightness-110 flex items-center gap-1 ml-auto shadow-sm",children:[s.jsx(gt,{className:"w-3.5 h-3.5"})," EINTRAGEN"]})})]},`shift-${y.id}`)}))})]})})})]})}function Rp({shift:e,onClose:t,onSubmit:n}){const[r,l]=k.useState(""),[i,o]=k.useState(""),[a,u]=k.useState(!1),[d,h]=k.useState(""),[g,x]=k.useState(!1);k.useEffect(()=>{const v=localStorage.getItem("guest_display_name")||"";v&&l(v)},[]);const N=()=>{const v="acaptcha-verified-"+Math.random().toString(36).substring(2,10);o(v),u(!0)},y=async v=>{if(v.preventDefault(),h(""),!r.trim()){h("Bitte gib deinen Namen ein.");return}if(!a||!i){h("Bitte löse zuerst das Captcha.");return}localStorage.setItem("guest_display_name",r.trim()),x(!0);try{await n({guest_name:r.trim(),captcha_token:i}),t()}catch(O){h(O.message||"Eintragen fehlgeschlagen.")}finally{x(!1)}};return s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-slate-950/80 backdrop-blur-sm",children:s.jsxs("div",{className:"glass-panel w-full max-w-md rounded-2xl border border-slate-800 p-6 shadow-2xl relative animate-in fade-in zoom-in-95 duration-200",children:[s.jsx("button",{onClick:t,className:"absolute top-4 right-4 p-2 text-slate-400 hover:text-white rounded-lg transition",children:s.jsx(jd,{className:"w-5 h-5"})}),s.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[s.jsx("div",{className:"w-10 h-10 rounded-xl bg-blue-500/10 text-blue-400 border border-blue-500/20 flex items-center justify-center",children:s.jsx(Nd,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-bold text-lg text-white",children:"Als Gast eintragen"}),s.jsxs("p",{className:"text-xs text-slate-400",children:["Schicht: ",e==null?void 0:e.title," (",e==null?void 0:e.start_time," - ",e==null?void 0:e.end_time,")"]})]})]}),d&&s.jsxs("div",{className:"mb-4 p-3 rounded-xl bg-red-500/10 border border-red-500/20 text-red-400 text-xs flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:d})]}),s.jsxs("form",{onSubmit:y,className:"space-y-4",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-slate-300 mb-1",children:"Dein Name / Anzeigename"}),s.jsx("input",{type:"text",required:!0,value:r,onChange:v=>l(v.target.value),placeholder:"z. B. Alex Muster",className:"w-full px-3.5 py-2.5 rounded-xl bg-slate-900 border border-slate-800 text-white text-sm focus:outline-none focus:border-blue-500 transition"}),s.jsx("p",{className:"text-[11px] text-slate-500 mt-1",children:"Dein Name wird in deiner Sitzung gespeichert. Falls du später ein Konto mit diesem Namen erstellst, werden deine Gast-Schichten automatisch übertragen!"})]}),s.jsxs("div",{className:"p-4 rounded-xl bg-slate-900/90 border border-slate-800 space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("span",{className:"text-xs font-semibold text-slate-300 flex items-center gap-1.5",children:[s.jsx(Tp,{className:"w-4 h-4 text-emerald-400"})," Security Check (acaptcha.vercel.app)"]}),s.jsx("a",{href:"https://acaptcha.vercel.app/",target:"_blank",rel:"noreferrer",className:"text-[10px] text-blue-400 hover:underline",children:"Website öffnen"})]}),s.jsxs("div",{className:"border border-dashed border-slate-700 rounded-lg p-3 text-center bg-slate-950/60",children:[s.jsx("iframe",{src:"https://acaptcha.vercel.app/",title:"acaptcha",className:"w-full h-16 border-0 rounded"}),s.jsx("div",{className:"mt-2 flex items-center justify-center gap-2",children:a?s.jsxs("div",{className:"text-xs font-medium text-emerald-400 flex items-center gap-1",children:[s.jsx(gt,{className:"w-4 h-4"})," Captcha erfolgreich verifiziert!"]}):s.jsxs("button",{type:"button",onClick:N,className:"px-3 py-1.5 text-xs font-semibold rounded-lg bg-emerald-600 hover:bg-emerald-500 text-white transition flex items-center gap-1",children:[s.jsx(gt,{className:"w-3.5 h-3.5"})," Captcha gelöst bestätigen"]})})]})]}),s.jsxs("div",{className:"pt-2 flex justify-end gap-2",children:[s.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 rounded-xl text-xs font-semibold text-slate-400 hover:bg-slate-800 transition",children:"Abbrechen"}),s.jsx("button",{type:"submit",disabled:g,className:"px-5 py-2 rounded-xl text-xs font-bold bg-blue-600 hover:bg-blue-500 text-white transition shadow-lg shadow-blue-600/30 disabled:opacity-50",children:g?"Eintragen...":"Jetzt eintragen"})]})]})]})})}const Op="/api",bi=()=>localStorage.getItem("auth_token"),rr=e=>{e?localStorage.setItem("auth_token",e):localStorage.removeItem("auth_token")},$=async(e,t={})=>{const n=bi(),r={"Content-Type":"application/json",...n?{Authorization:`Token ${n}`}:{},...t.headers},l=await fetch(`${Op}${e}`,{...t,headers:r}),i=l.headers.get("content-type");let o=null;if(i&&i.includes("application/json")&&(o=await l.json()),!l.ok){let a="Ein Fehler ist aufgetreten.";throw o&&(typeof o.error=="string"?a=o.error:typeof o.detail=="string"?a=o.detail:o.email?a=Array.isArray(o.email)?o.email[0]:o.email:o.username?a=Array.isArray(o.username)?o.username[0]:o.username:o.non_field_errors&&(a=o.non_field_errors[0])),new Error(a)}return o};function Ip({onClose:e,onSuccess:t,claimToken:n,prefilledGuestName:r}){const[l,i]=k.useState(!!(n||r)),[o,a]=k.useState(""),[u,d]=k.useState(""),[h,g]=k.useState(""),[x,N]=k.useState(r||""),[y,v]=k.useState(null),[O,f]=k.useState(""),[c,m]=k.useState(!1);k.useEffect(()=>{w()},[]);const w=async()=>{try{const _=await $("/users/restriction-setting/");v(_)}catch{}},j=async _=>{_.preventDefault(),f(""),m(!0);try{if(l){const E={username:o,email:u,password:h,display_name:x||o};n&&(E.claim_token=n);const C=await $("/users/register/",{method:"POST",body:JSON.stringify(E)});if(C.requires_verification||C.requires_approval||!C.token){t(null,C.message||"Konto erfolgreich registriert! Bitte schau in deine E-Mail zur Bestätigung oder warte auf die Admin-Freischaltung."),e();return}rr(C.token),t(C.user,C.message)}else{const E=await $("/users/login/",{method:"POST",body:JSON.stringify({username:o,password:h})});rr(E.token),t(E.user,"Erfolgreich angemeldet!")}e()}catch(E){f(E.message||"Authentifizierung fehlgeschlagen.")}finally{m(!1)}};return s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 backdrop-blur-sm",children:s.jsxs("div",{className:"hallmark-panel w-full max-w-md rounded-sm border border-grid p-6 shadow-2xl relative animate-in fade-in zoom-in-95 duration-200",children:[s.jsx("button",{onClick:e,className:"absolute top-4 right-4 p-2 text-muted hover:text-main rounded-sm transition",children:s.jsx(jd,{className:"w-5 h-5"})}),s.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-blue-500/10 text-blue-500 border border-blue-500/20 flex items-center justify-center",children:s.jsx(al,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-serif font-bold text-lg text-main",children:l?"Konto erstellen":"Anmelden"}),s.jsx("p",{className:"text-xs text-muted font-sans",children:l?"Erstelle einen Account für volle Funktionen & Schichteinsicht":"Melde dich an, um Events zu verwalten"})]})]}),r&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs flex items-center gap-2 font-mono",children:[s.jsx(kd,{className:"w-4 h-4 shrink-0 text-amber-500"}),s.jsxs("span",{children:["Einladung für Gast: ",s.jsx("strong",{children:r}),". Die Schicht wird deinem neuen Konto zugewiesen!"]})]}),(y==null?void 0:y.is_restriction_enabled)&&l&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-indigo-500/10 border border-indigo-500/20 text-indigo-400 text-xs flex items-center gap-2 font-mono",children:[s.jsx(Cp,{className:"w-4 h-4 shrink-0 text-indigo-400"}),s.jsxs("span",{children:["Registrierungen beschränkt auf: ",s.jsx("strong",{children:y.active_domains.join(", ")})]})]}),O&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs flex items-center gap-2 font-mono",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:O})]}),!l&&s.jsxs("div",{className:"mb-5 p-3.5 rounded-sm bg-subtle border border-grid space-y-2 font-mono",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted uppercase tracking-wider flex items-center justify-between",children:s.jsx("span",{children:"⚡ Dev Schnell-Login"})}),s.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[s.jsxs("button",{type:"button",onClick:()=>{a("admin"),g("adminpassword")},className:"px-2.5 py-1.5 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border border-indigo-500/30 text-xs font-semibold transition text-left",children:["👑 Demo Admin",s.jsx("div",{className:"text-[10px] text-indigo-400 font-normal",children:"admin / adminpassword"})]}),s.jsxs("button",{type:"button",onClick:()=>{a("demouser"),g("demouser123")},className:"px-2.5 py-1.5 rounded-sm bg-emerald-500/10 hover:bg-emerald-500/20 text-emerald-500 border border-emerald-500/30 text-xs font-semibold transition text-left",children:["👤 Demo User",s.jsx("div",{className:"text-[10px] text-emerald-500 font-normal",children:"demouser / demouser123"})]})]})]}),s.jsxs("form",{onSubmit:j,className:"space-y-4 font-sans",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Benutzername"}),s.jsxs("div",{className:"relative",children:[s.jsx(al,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"text",required:!0,value:o,onChange:_=>a(_.target.value),placeholder:"z. B. max_muster",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),l&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"E-Mail-Adresse"}),s.jsxs("div",{className:"relative",children:[s.jsx(Si,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"email",required:!0,value:u,onChange:_=>d(_.target.value),placeholder:"max@beispiel.de",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Anzeigename (für Schichtlisten)"}),s.jsxs("div",{className:"relative",children:[s.jsx(al,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"text",value:x,onChange:_=>N(_.target.value),placeholder:"z. B. Max M.",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Passwort"}),s.jsxs("div",{className:"relative",children:[s.jsx(kp,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"password",required:!0,value:h,onChange:_=>g(_.target.value),placeholder:"••••••••",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),s.jsx("button",{type:"submit",disabled:c,style:{backgroundColor:"var(--brand-primary)"},className:"w-full py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm",children:c?"Verarbeite...":l?"Registrieren":"Anmelden"})]}),s.jsx("div",{className:"mt-4 pt-4 border-t border-grid text-center",children:s.jsx("button",{type:"button",onClick:()=>{i(!l),f("")},className:"text-xs font-mono text-muted hover:text-main transition",children:l?"Bereits ein Konto? Hier anmelden":"Noch kein Konto? Jetzt registrieren"})})]})})}function $p({events:e,user:t,onSelectEvent:n,onOpenCreateEvent:r,onToggleEventActive:l,onEditEvent:i,branding:o}){const[a,u]=k.useState(""),[d,h]=k.useState("all"),g=new Date().toISOString().split("T")[0],x=e.filter(c=>c.title.toLowerCase().includes(a.toLowerCase())||c.description&&c.description.toLowerCase().includes(a.toLowerCase())||c.location&&c.location.toLowerCase().includes(a.toLowerCase())?d==="upcoming"?c.end_date>=g:!0:!1),N=(o==null?void 0:o.primary_color)||"var(--brand-primary)",y=(o==null?void 0:o.show_community_info_box)??!0,v=(o==null?void 0:o.show_support_box)??!0,O=y||v,f=t&&(t.is_admin_user||t.is_staff||t.is_superuser);return s.jsxs("div",{className:"space-y-8 animate-in fade-in duration-200",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-10 space-y-6 max-w-5xl mx-auto relative border border-grid",children:[s.jsxs("div",{className:"space-y-2 border-b border-grid pb-6",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"font-mono text-[10px] uppercase tracking-widest text-muted border border-grid px-2.5 py-1 rounded-sm inline-block",children:(o==null?void 0:o.app_name)||"SCHICHT- & EVENTPORTAL"}),(o==null?void 0:o.custom_banner_text)&&s.jsxs("span",{className:"font-mono text-[10px] uppercase tracking-widest text-amber-500 bg-amber-500/10 border border-amber-500/20 px-2.5 py-1 rounded-sm inline-block font-bold",children:["📢 ",o.custom_banner_text]})]}),s.jsx("h2",{className:"font-serif text-3xl sm:text-5xl font-bold uppercase tracking-tight text-main leading-tight",children:"Veranstaltungen & Schichtkoordination"}),s.jsx("p",{className:"font-sans text-xs sm:text-sm text-muted max-w-2xl",children:"Hier findest du aktuelle Termine, Arbeitsgruppen, Bar- & Tresendienste und Schichtpläne der Initiative."})]}),s.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center justify-between gap-3",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(vd,{className:"w-4 h-4 absolute left-3.5 top-3 text-muted"}),s.jsx("input",{type:"text",value:a,onChange:c=>u(c.target.value),placeholder:"Veranstaltung, Ort oder Suchbegriff...",className:"w-full pl-10 pr-16 py-2 rounded-sm bg-subtle border border-grid text-main text-xs font-mono focus:outline-none focus:border-muted"}),a&&s.jsx("button",{onClick:()=>u(""),className:"absolute right-3 top-2.5 text-[10px] font-mono text-muted hover:text-main",children:"[ CLEAR ]"})]}),s.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-xs shrink-0",children:[s.jsxs("button",{onClick:()=>h("all"),className:`px-3.5 py-1.5 rounded-sm transition border ${d==="all"?"bg-surface-hover text-main border-grid font-bold shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:["ALLE PROGRAMME (",e.length,")"]}),s.jsxs("button",{onClick:()=>h("upcoming"),className:`px-3.5 py-1.5 rounded-sm transition border ${d==="upcoming"?"bg-surface-hover text-main border-grid font-bold shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:["ANSTEHEND (",e.filter(c=>c.end_date>=g).length,")"]})]})]})]}),s.jsxs("div",{className:"max-w-5xl mx-auto grid grid-cols-1 lg:grid-cols-4 gap-6",children:[s.jsxs("div",{className:`${O?"lg:col-span-3":"lg:col-span-4"} space-y-4`,children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-3 font-mono",children:[s.jsxs("h3",{className:"font-serif text-xl font-bold uppercase tracking-wide text-main flex items-center gap-2",children:[s.jsx(Tr,{className:"w-4.5 h-4.5 text-muted"})," Termine & Schichten"]}),t&&s.jsxs("button",{onClick:r,style:{backgroundColor:N},className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1 hover:brightness-110 shadow-sm",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," EVENT ANLEGEN"]})]}),x.length===0?s.jsx("div",{className:"hallmark-panel rounded-sm p-12 text-center text-xs font-mono text-muted border border-grid",children:a?`[ Keinen Eintrag für "${a}" gefunden ]`:"[ Keine Veranstaltungen vorhanden ]"}):s.jsx("div",{className:`grid grid-cols-1 sm:grid-cols-2 ${O?"":"lg:grid-cols-3"} gap-4`,children:x.map(c=>{var E,C,U;const m=((E=c.task_areas)==null?void 0:E.length)||0,w=((C=c.task_areas)==null?void 0:C.reduce((A,le)=>{var L;return A+(((L=le.shifts)==null?void 0:L.length)||0)},0))||0,j=t&&(c.created_by===t.id||((U=c.created_by)==null?void 0:U.id)===t.id),_=f||j;return s.jsxs("div",{className:`hallmark-card rounded-sm p-5 border transition flex flex-col justify-between space-y-4 group overflow-hidden ${c.is_active===!1?"border-amber-500/40 opacity-80 bg-subtle":"border-grid"}`,children:[s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between text-[11px] font-mono text-muted gap-2",children:[s.jsxs("span",{className:"flex items-center gap-1 bg-subtle px-2 py-0.5 rounded-sm border border-grid font-bold shrink-0",children:[s.jsx(kr,{className:"w-3 h-3 text-muted"}),new Date(c.start_date).toLocaleDateString("de-DE")]}),c.is_active===!1?s.jsx("span",{className:"text-amber-500 font-bold px-1.5 py-0.5 rounded-sm bg-amber-500/10 border border-amber-500/20 shrink-0",children:"[ DEAKTIVIERT ]"}):c.location?s.jsxs("span",{className:"flex items-center gap-1 text-muted truncate max-w-[130px]",children:[s.jsx(ko,{className:"w-3 h-3 shrink-0"}),s.jsx("span",{className:"truncate",children:c.location})]}):null]}),s.jsx("h4",{className:"font-serif text-lg font-bold uppercase text-main group-hover:text-amber-500 transition line-clamp-2",children:c.title}),c.description&&s.jsx("p",{className:"text-xs text-muted font-sans line-clamp-2",children:c.description}),s.jsxs("div",{className:"text-[10px] font-mono text-muted flex items-center gap-1.5 pt-1",children:[s.jsxs("span",{children:[m," Bereiche"]}),s.jsx("span",{children:"/"}),s.jsxs("span",{children:[w," Schichten"]})]})]}),s.jsx("div",{className:"pt-3 border-t border-grid space-y-2 font-mono",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsxs("button",{onClick:()=>n(c.id),className:"flex-1 min-w-[110px] py-1.5 px-3 rounded-sm text-xs font-mono font-bold bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center justify-center gap-1",children:["Schichtplan ",s.jsx(gd,{className:"w-3.5 h-3.5"})]}),_&&i&&s.jsxs("button",{onClick:()=>i(c),className:"py-1.5 px-2.5 rounded-sm text-[10px] font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1 shrink-0",title:"Veranstaltung & Schichten bearbeiten",children:[s.jsx(jr,{className:"w-3.5 h-3.5"})," BEARBEITEN"]}),_&&l&&s.jsx("button",{onClick:()=>l(c),className:`py-1.5 px-2 rounded-sm text-[10px] font-mono font-bold transition flex items-center gap-1 border shrink-0 ${c.is_active!==!1?"bg-amber-500/10 text-amber-500 border-amber-500/20 hover:bg-amber-500/20":"bg-emerald-500/10 text-emerald-400 border-emerald-500/20 hover:bg-emerald-500/20"}`,title:c.is_active!==!1?"Deaktivieren":"Aktivieren",children:c.is_active!==!1?s.jsx(yd,{className:"w-3.5 h-3.5"}):s.jsx(gt,{className:"w-3.5 h-3.5"})})]})})]},c.id)})})]}),O&&s.jsxs("div",{className:"space-y-4 font-mono text-xs",children:[y&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid space-y-3",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase tracking-wide text-main border-b border-grid pb-2",children:(o==null?void 0:o.community_info_title)||"📌 Verein & Infos"}),s.jsx("div",{className:"space-y-2 text-muted text-[11px] whitespace-pre-line",children:(o==null?void 0:o.community_info_text)||`Initiative e.V. Hausverein -Offene Angebote, DIY-Kultur & engagierte Schichten.`})]}),v&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid space-y-3",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase tracking-wide text-main border-b border-grid pb-2",children:(o==null?void 0:o.support_box_title)||"❤️ Unterstützen"}),s.jsx("p",{className:"text-[11px] text-muted whitespace-pre-line",children:(o==null?void 0:o.support_box_text)||"Hilf mit als Helfer*in an der Bar, beim Essen kochen oder beim Auf- & Abbau."})]})]})]})]})}function Fp({events:e,onSelectEvent:t,branding:n}){const[r,l]=k.useState(new Date),[i,o]=k.useState(null),a=r.getFullYear(),u=r.getMonth(),d=["JANUAR","FEBRUAR","MÄRZ","APRIL","MAI","JUNI","JULI","AUGUST","SEPTEMBER","OKTOBER","NOVEMBER","DEZEMBER"],h=()=>l(new Date(a,u-1,1)),g=()=>l(new Date(a,u+1,1)),x=()=>l(new Date),N=new Date(a,u,1).getDay(),y=N===0?6:N-1,v=new Date(a,u+1,0).getDate(),O=m=>{const w=String(u+1).padStart(2,"0"),j=String(m).padStart(2,"0");return`${a}-${w}-${j}`},f=m=>{const w=O(m);return e.filter(j=>w>=j.start_date&&w<=j.end_date)},c=(n==null?void 0:n.primary_color)||"var(--brand-primary)";return s.jsxs("div",{className:"space-y-6 max-w-5xl mx-auto animate-in fade-in duration-200",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid flex flex-col sm:flex-row sm:items-center justify-between gap-4 font-mono",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-subtle text-main border border-grid flex items-center justify-center font-bold",children:s.jsx(Tr,{className:"w-4 h-4 text-amber-500"})}),s.jsxs("div",{children:[s.jsxs("h2",{className:"font-serif text-3xl sm:text-4xl font-bold uppercase tracking-tight text-main leading-none",children:[d[u]," ",a]}),s.jsx("p",{className:"text-[10px] text-muted uppercase tracking-widest mt-1",children:"— INITIATIVE E.V. TERMIN- & SCHICHTÜBERSICHT —"})]})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{onClick:x,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-surface hover:bg-surface-hover text-main border border-grid transition",children:"[ HEUTE ]"}),s.jsx("button",{onClick:h,className:"p-1.5 rounded-sm text-muted hover:text-main bg-surface border border-grid transition",title:"Vorheriger Monat",children:s.jsx(gp,{className:"w-4 h-4"})}),s.jsx("button",{onClick:g,className:"p-1.5 rounded-sm text-muted hover:text-main bg-surface border border-grid transition",title:"Nächster Monat",children:s.jsx(yp,{className:"w-4 h-4"})})]})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm border border-grid overflow-hidden",children:[s.jsxs("div",{className:"grid grid-cols-7 bg-subtle border-b border-grid text-center text-xs font-mono text-muted font-bold py-3 uppercase",children:[s.jsx("div",{children:"MO"}),s.jsx("div",{children:"DI"}),s.jsx("div",{children:"MI"}),s.jsx("div",{children:"DO"}),s.jsx("div",{children:"FR"}),s.jsx("div",{children:"SA"}),s.jsx("div",{children:"SO"})]}),s.jsxs("div",{className:"grid grid-cols-7 auto-rows-fr divide-x divide-y divide-grid bg-surface text-xs font-mono",children:[Array.from({length:y}).map((m,w)=>s.jsx("div",{className:"min-h-[100px] sm:min-h-[110px] p-2 bg-subtle/50 text-muted opacity-30"},`offset-${w}`)),Array.from({length:v}).map((m,w)=>{const j=w+1,_=f(j),E=new Date().getFullYear()===a&&new Date().getMonth()===u&&new Date().getDate()===j;return s.jsxs("div",{className:`min-h-[100px] sm:min-h-[110px] p-2 flex flex-col justify-between transition ${E?"bg-surface-hover/80 font-bold":"hover:bg-surface-hover/50"}`,children:[s.jsxs("div",{className:"flex items-center justify-between mb-1",children:[s.jsx("span",{className:`w-5 h-5 rounded-sm flex items-center justify-center font-mono text-xs ${E?"bg-main text-paper font-bold shadow-sm":"text-muted"}`,children:j}),_.length>0&&s.jsxs("span",{className:"text-[9px] font-mono text-muted",children:[_.length," ",_.length===1?"Event":"Events"]})]}),s.jsx("div",{className:"space-y-1.5 overflow-y-auto max-h-[70px] no-scrollbar",children:_.map(C=>{const U=(i==null?void 0:i.id)===C.id;return s.jsx("button",{onClick:()=>o(C),style:{backgroundColor:U?c:`${c}15`,borderColor:`${c}40`,color:U?"#ffffff":c},className:`w-full text-left px-2 py-1 rounded-sm text-[10px] font-mono font-bold border truncate block hover:brightness-110 transition shadow-sm ${C.is_active===!1?"opacity-50 line-through":""}`,children:C.title},`evt-${C.id}`)})})]},`day-${j}`)})]})]}),i&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid flex flex-col sm:flex-row sm:items-center justify-between gap-4 font-mono animate-in fade-in duration-200",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted",children:[s.jsxs("span",{className:"flex items-center gap-1 bg-subtle px-2 py-0.5 rounded-sm border border-grid font-bold text-main",children:[s.jsx(kr,{className:"w-3 h-3 text-muted"}),new Date(i.start_date).toLocaleDateString("de-DE")," — ",new Date(i.end_date).toLocaleDateString("de-DE")]}),i.location&&s.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[s.jsx(ko,{className:"w-3 h-3"}),i.location]})]}),s.jsx("h3",{className:"font-serif text-2xl font-bold uppercase text-main",children:i.title}),i.description&&s.jsx("p",{className:"text-xs font-sans text-muted max-w-xl",children:i.description})]}),s.jsx("div",{className:"flex items-center gap-2 shrink-0",children:s.jsxs("button",{onClick:()=>t(i.id),style:{backgroundColor:c},className:"px-5 py-2 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1.5 hover:brightness-110 shadow-sm",children:["SCHICHTPLAN ÖFFNEN ",s.jsx(gd,{className:"w-4 h-4"})]})})]})]})}function Vp({branding:e,onRefreshBranding:t,onRefreshEvents:n,skills:r,onRefreshSkills:l}){const[i,o]=k.useState("users"),[a,u]=k.useState(!0),[d,h]=k.useState(""),[g,x]=k.useState(""),[N,y]=k.useState([]),[v,O]=k.useState(""),[f,c]=k.useState([]),[m,w]=k.useState(!1),[j,_]=k.useState(!1),[E,C]=k.useState(!0),[U,A]=k.useState([]),[le,L]=k.useState(""),[M,F]=k.useState([]),[q,W]=k.useState([]),[he,P]=k.useState(""),[I,S]=k.useState(""),[R,H]=k.useState("#E05A47"),[J,Y]=k.useState((e==null?void 0:e.app_name)||"Veranstaltungsschichtplaner"),[K,de]=k.useState((e==null?void 0:e.logo_url)||""),[et,Pr]=k.useState((e==null?void 0:e.primary_color)||"#E05A47"),[zr,ql]=k.useState((e==null?void 0:e.custom_banner_text)||""),[Vt,Yl]=k.useState((e==null?void 0:e.show_community_info_box)??!0),[vt,Zl]=k.useState((e==null?void 0:e.community_info_title)||"📌 Verein & Infos"),[Lr,Jl]=k.useState((e==null?void 0:e.community_info_text)||`Initiative e.V. Hausverein -Offene Angebote, DIY-Kultur & engagierte Schichten.`),[Ut,Xl]=k.useState((e==null?void 0:e.show_support_box)??!0),[T,D]=k.useState((e==null?void 0:e.support_box_title)||"❤️ Unterstützen"),[ee,ot]=k.useState((e==null?void 0:e.support_box_text)||"Hilf mit als Helfer*in an der Bar, beim Essen kochen oder beim Auf- & Abbau."),[Z,No]=k.useState(!1),[Dn,jo]=k.useState(!1),[So,bo]=k.useState("smtp.beispiel.de"),[_o,Eo]=k.useState(587),[Co,To]=k.useState(""),[Po,zo]=k.useState(""),[Lo,es]=k.useState(!0),[Mo,ts]=k.useState(!1),[Ao,Do]=k.useState("noreply@schichtplaner.de"),[Ro,Sd]=k.useState(""),[ns,bd]=k.useState(!1),[Oo,Io]=k.useState(!1),[$o,Fo]=k.useState(!1);k.useEffect(()=>{Vo()},[]);const Vo=async()=>{u(!0);try{try{const p=await $("/users/manage-users/");y(p.results||p)}catch{}try{const p=await $("/users/pending/");c(p.results||p)}catch{}try{const p=await $("/users/restriction-setting/");w(p.is_restriction_enabled),_(p.require_admin_approval),C(p.require_email_verification??!0)}catch{}try{const p=await $("/users/domain-rules/");A(p.results||p)}catch{}try{const p=await $("/events/");F(p.results||p)}catch{}try{const p=await $("/templates/");W(p.results||p)}catch{}try{const p=await $("/users/smtp-setting/");p&&(jo(p.is_active??!1),bo(p.host||""),Eo(p.port||587),To(p.username||""),zo(p.password||""),es(p.use_tls??!0),ts(p.use_ssl??!1),Do(p.from_email||""))}catch{}}catch(p){h(p.message||"Laden der Admin-Daten fehlgeschlagen.")}finally{u(!1)}},Ae=p=>{x(p),setTimeout(()=>x(""),4e3)},_d=async p=>{try{const B=await $(`/users/manage-users/${p.id}/`,{method:"PATCH",body:JSON.stringify({is_admin_user:!p.is_admin_user})});y(N.map(wt=>wt.id===p.id?B:wt)),Ae(`Admin-Rechte für ${p.username} aktualisiert.`)}catch(B){h(B.message||"Fehler beim Aktualisieren.")}},Ed=async p=>{try{const B=await $(`/users/manage-users/${p.id}/`,{method:"PATCH",body:JSON.stringify({is_approved:!p.is_approved})});y(N.map(wt=>wt.id===p.id?B:wt)),Ae(`Freischalt-Status für ${p.username} aktualisiert.`)}catch(B){h(B.message||"Fehler beim Aktualisieren.")}},Cd=async p=>{try{await $(`/users/${p}/approve/`,{method:"POST"}),c(f.filter(B=>B.id!==p)),Vo(),Ae("Benutzer erfolgreich freigeschaltet.")}catch(B){h(B.message||"Freischalten fehlgeschlagen.")}},Td=async p=>{try{await $(`/users/${p}/approve/`,{method:"DELETE"}),c(f.filter(B=>B.id!==p)),Ae("Benutzer abgelehnt und gelöscht.")}catch(B){h(B.message||"Ablehnen fehlgeschlagen.")}},rs=async(p,B)=>{try{const ls=await $("/users/restriction-setting/",{method:"POST",body:JSON.stringify({is_restriction_enabled:p==="restriction"?B:m,require_admin_approval:p==="approval"?B:j,require_email_verification:p==="email_verify"?B:E})});w(ls.is_restriction_enabled),_(ls.require_admin_approval),C(ls.require_email_verification),Ae("Sicherheitseinstellungen aktualisiert.")}catch(wt){h(wt.message||"Aktualisierung fehlgeschlagen.")}},Pd=async p=>{if(p.preventDefault(),!!le.trim())try{const B=await $("/users/domain-rules/",{method:"POST",body:JSON.stringify({domain:le})});A([...U,B]),L(""),Ae(`Domain-Regel "${B.domain}" hinzugefügt.`)}catch(B){h(B.message||"Fehler beim Hinzufügen.")}},zd=async p=>{try{await $(`/users/domain-rules/${p}/`,{method:"DELETE"}),A(U.filter(B=>B.id!==p)),Ae("Domain-Regel entfernt.")}catch(B){h(B.message||"Fehler beim Löschen.")}},Ld=async p=>{if(p.preventDefault(),!!he.trim())try{await $("/skills/",{method:"POST",body:JSON.stringify({name:he,description:I,color:R})}),P(""),S(""),l(),Ae("Qualifikation angelegt.")}catch(B){h(B.message||"Fehler beim Anlegen.")}},Md=async p=>{try{await $(`/skills/${p}/`,{method:"DELETE"}),l(),Ae("Qualifikation gelöscht.")}catch(B){h(B.message||"Fehler beim Löschen.")}},Ad=async p=>{try{await $(`/templates/${p}/`,{method:"DELETE"}),W(q.filter(B=>B.id!==p)),Ae("Vorlage gelöscht.")}catch(B){h(B.message||"Fehler beim Löschen.")}},Dd=async p=>{p.preventDefault(),No(!0);try{await $("/branding/",{method:"POST",body:JSON.stringify({app_name:J,logo_url:K,primary_color:et,custom_banner_text:zr,show_community_info_box:Vt,community_info_title:vt,community_info_text:Lr,show_support_box:Ut,support_box_title:T,support_box_text:ee})}),t(),Ae("Branding-Einstellungen erfolgreich gespeichert!")}catch(B){h(B.message||"Speichern des Brandings fehlgeschlagen.")}finally{No(!1)}},Rd=async p=>{p.preventDefault(),Io(!0);try{await $("/users/smtp-setting/",{method:"POST",body:JSON.stringify({is_active:Dn,host:So,port:parseInt(_o)||587,username:Co,password:Po,use_tls:Lo,use_ssl:Mo,from_email:Ao})}),Ae("✅ SMTP-Einstellungen erfolgreich gespeichert!")}catch(B){h(B.message||"Speichern der SMTP-Einstellungen fehlgeschlagen.")}finally{Io(!1)}},Od=async()=>{Fo(!0);try{const p=await $("/users/smtp-setting/test/",{method:"POST",body:JSON.stringify({email:Ro})});Ae(`✅ ${p.message||"Test-E-Mail erfolgreich gesendet!"}`)}catch(p){h(p.message||"Test-E-Mail fehlgeschlagen.")}finally{Fo(!1)}},Uo=N.filter(p=>p.username.toLowerCase().includes(v.toLowerCase())||p.email.toLowerCase().includes(v.toLowerCase())||p.display_name&&p.display_name.toLowerCase().includes(v.toLowerCase()));return s.jsxs("div",{className:"space-y-6 max-w-5xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-2",children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-indigo-500/10 text-indigo-500 border border-indigo-500/20 flex items-center justify-center font-bold",children:s.jsx(wd,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:"System Administration"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Verwaltung von Benutzern, Freischaltungen, Events, Vorlagen, Branding & SMTP-Mailserver"})]})]})}),s.jsx("div",{className:"border-b border-grid pb-2",children:s.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-xs overflow-x-auto no-scrollbar",children:[s.jsxs("button",{onClick:()=>o("users"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="users"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Mp,{className:"w-3.5 h-3.5 text-blue-400"})," [ 01: BENUTZER & SICHERHEIT (",N.length,") ]"]}),s.jsxs("button",{onClick:()=>o("events"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="events"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Tr,{className:"w-3.5 h-3.5 text-emerald-400"})," [ 02: VERANSTALTUNGEN (",M.length,") ]"]}),s.jsxs("button",{onClick:()=>o("templates"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="templates"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Nr,{className:"w-3.5 h-3.5 text-amber-400"})," [ 03: VORLAGEN & SKILLS ]"]}),s.jsxs("button",{onClick:()=>o("branding"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="branding"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(eu,{className:"w-3.5 h-3.5 text-indigo-400"})," [ 04: BRANDING & SYSTEM ]"]}),s.jsxs("button",{onClick:()=>o("smtp"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="smtp"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Si,{className:"w-3.5 h-3.5 text-purple-400"})," [ 05: E-MAIL & SMTP ]"]})]})}),d&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:d})]}),g&&s.jsxs("div",{className:"p-4 rounded-sm bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-xs font-mono flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:g})]}),i==="users"&&s.jsxs("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:[f.length>0&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-amber-500/40 bg-amber-500/5 space-y-3",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-amber-500 flex items-center gap-2 border-b border-amber-500/20 pb-2",children:["⚠️ Ausstehende Registrierungen (",f.length,")"]}),s.jsx("div",{className:"space-y-2",children:f.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-surface border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"font-bold text-main",children:[p.display_name," (@",p.username,")"]}),s.jsx("div",{className:"text-[11px] text-muted",children:p.email})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{onClick:()=>Cd(p.id),className:"px-3 py-1 rounded-sm bg-emerald-600 hover:bg-emerald-500 text-white font-bold text-xs",children:"[ FREISCHALTEN ]"}),s.jsx("button",{onClick:()=>Td(p.id),className:"px-3 py-1 rounded-sm bg-red-600/20 text-red-400 hover:bg-red-600/30 border border-red-600/30 font-bold text-xs",children:"[ ABLEHNEN ]"})]})]},p.id))})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid flex items-center gap-3",children:[s.jsx(vd,{className:"w-4 h-4 text-muted shrink-0"}),s.jsx("input",{type:"text",value:v,onChange:p=>O(p.target.value),placeholder:"Nutzer suchen nach Name, Username oder E-Mail...",className:"w-full bg-subtle border border-grid px-3 py-1.5 rounded-sm text-xs font-mono text-main focus:outline-none focus:border-muted"}),v&&s.jsx("button",{onClick:()=>O(""),className:"text-xs text-muted hover:text-main font-mono shrink-0",children:"[ CLEAR ]"})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Benutzerkonten & Rechtestatus (",Uo.length,")"]}),s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full text-left border-collapse text-xs",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-grid text-muted uppercase text-[10px]",children:[s.jsx("th",{className:"pb-2 font-bold",children:"Nutzer"}),s.jsx("th",{className:"pb-2 font-bold",children:"E-Mail"}),s.jsx("th",{className:"pb-2 font-bold",children:"Freigeschaltet"}),s.jsx("th",{className:"pb-2 font-bold",children:"E-Mail Bestätigt"}),s.jsx("th",{className:"pb-2 font-bold",children:"Admin-Rolle"}),s.jsx("th",{className:"pb-2 font-bold text-right",children:"Aktionen"})]})}),s.jsx("tbody",{className:"divide-y divide-grid",children:Uo.map(p=>s.jsxs("tr",{className:"hover:bg-subtle/50 transition",children:[s.jsxs("td",{className:"py-2.5 font-bold text-main",children:[p.display_name||p.username,s.jsxs("span",{className:"text-[10px] text-muted font-normal block",children:["@",p.username]})]}),s.jsx("td",{className:"py-2.5 text-muted",children:p.email}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_approved?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:p.is_approved?"JA":"NEIN"})}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_email_verified?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-subtle text-muted border-grid"}`,children:p.is_email_verified?"VERIFIZIERT":"AUSSTEHEND"})}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_admin_user||p.is_superuser?"bg-indigo-500/10 text-indigo-400 border-indigo-500/20":"bg-subtle text-muted border-grid"}`,children:p.is_superuser?"SUPERUSER":p.is_admin_user?"ADMIN":"USER"})}),s.jsxs("td",{className:"py-2.5 text-right space-x-1",children:[s.jsx("button",{onClick:()=>Ed(p),className:"px-2 py-1 rounded-sm text-[10px] bg-subtle hover:bg-surface-hover border border-grid text-main transition",children:p.is_approved?"Sperren":"Freischalten"}),s.jsx("button",{onClick:()=>_d(p),className:"px-2 py-1 rounded-sm text-[10px] bg-subtle hover:bg-surface-hover border border-grid text-indigo-400 transition",children:p.is_admin_user?"Admin entziehen":"Zu Admin machen"})]})]},p.id))})]})})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"Sicherheit & Registrierungs-Einschränkungen"}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"E-Mail Bestätigung (Opt-Out)"}),s.jsx("button",{onClick:()=>rs("email_verify",!E),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${E?"bg-emerald-600 text-white border-emerald-500":"bg-amber-500/10 text-amber-500 border-amber-500/20"}`,children:E?"[ PFLICHT ]":"[ DEAKTIVIERT ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Bei Pflicht muss die E-Mail vor der Anmeldung verifiziert werden. Bei Deaktivierung ist die Anmeldung direkt möglich."})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"Domain-Einschränkung"}),s.jsx("button",{onClick:()=>rs("restriction",!m),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${m?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:m?"[ AKTIV ]":"[ INAKTIV ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Erlaubt nur Registrierungen von festgelegten E-Mail-Domains (z. B. `@verein.de`)."})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"Admin-Freischaltpflicht"}),s.jsx("button",{onClick:()=>rs("approval",!j),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${j?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:j?"[ AKTIV ]":"[ INAKTIV ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Erfordert die manuelle Freischaltung durch einen Admin vor der ersten Anmeldung."})]})]}),m&&s.jsxs("div",{className:"space-y-3 pt-3 border-t border-grid",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase text-main",children:"Erlaubte E-Mail-Domains"}),s.jsxs("form",{onSubmit:Pd,className:"flex gap-2",children:[s.jsx("input",{type:"text",placeholder:"z. B. verein.de oder @beispiel.org",value:le,onChange:p=>L(p.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsxs("button",{type:"submit",className:"px-4 py-1.5 rounded-sm bg-indigo-600 hover:bg-indigo-500 text-white font-bold text-xs",children:[s.jsx(it,{className:"w-3.5 h-3.5 inline"})," Domain Hinzufügen"]})]}),s.jsx("div",{className:"flex flex-wrap gap-2",children:U.map(p=>s.jsxs("span",{className:"px-2.5 py-1 rounded-sm bg-subtle border border-grid text-xs flex items-center gap-2",children:[s.jsx("strong",{className:"text-main",children:p.domain}),s.jsx("button",{onClick:()=>zd(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-3.5 h-3.5"})})]},p.id))})]})]})]}),i==="events"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Alle Veranstaltungen (",M.length,")"]}),s.jsx("div",{className:"space-y-3",children:M.map(p=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("h4",{className:"font-serif font-bold text-main text-sm",children:p.title}),s.jsxs("p",{className:"text-muted text-[11px]",children:[new Date(p.start_date).toLocaleDateString("de-DE")," — ",p.location||"Kein Ort"," | Erstellt von: ",p.created_by_name||"Admin"]})]}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_active!==!1?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:p.is_active!==!1?"AKTIV":"DEAKTIVIERT"})})]},p.id))})]})}),i==="templates"&&s.jsxs("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"Erforderliche Qualifikationen (Skills)"}),s.jsxs("form",{onSubmit:Ld,className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:[s.jsx("input",{type:"text",placeholder:"Skill Name (z. B. Bar-Erfahrung)",required:!0,value:he,onChange:p=>P(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsx("input",{type:"text",placeholder:"Beschreibung (optional)",value:I,onChange:p=>S(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"color",value:R,onChange:p=>H(p.target.value),className:"w-8 h-8 rounded-sm border-0 cursor-pointer bg-subtle p-0.5"}),s.jsxs("button",{type:"submit",className:"flex-1 px-3 py-1.5 rounded-sm bg-emerald-600 hover:bg-emerald-500 text-white font-bold text-xs",children:[s.jsx(it,{className:"w-3.5 h-3.5 inline"})," Anlegen"]})]})]}),s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 pt-2",children:r.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("span",{style:{color:p.color},className:"font-bold",children:p.name}),p.description&&s.jsx("p",{className:"text-[11px] text-muted",children:p.description})]}),s.jsx("button",{onClick:()=>Md(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-3.5 h-3.5"})})]},p.id))})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Gespeicherte Event-Vorlagen (",q.length,")"]}),s.jsx("div",{className:"space-y-2",children:q.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("div",{className:"font-bold text-main",children:p.name}),s.jsx("div",{className:"text-[11px] text-muted",children:p.description||"Keine Beschreibung"})]}),s.jsx("button",{onClick:()=>Ad(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-4 h-4"})})]},p.id))})]})]}),i==="branding"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("form",{onSubmit:Dd,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-6",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2 flex items-center gap-2",children:[s.jsx(eu,{className:"w-5 h-5 text-indigo-400"})," Portal Branding & Erscheinungsbild"]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Anwendungs-Name"}),s.jsx("input",{type:"text",required:!0,value:J,onChange:p=>Y(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field font-bold"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Primärfarbe (Brand Accent)"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"color",value:et,onChange:p=>Pr(p.target.value),className:"w-9 h-9 rounded-sm border-0 cursor-pointer bg-subtle p-0.5"}),s.jsx("input",{type:"text",value:et,onChange:p=>Pr(p.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field font-mono"})]})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-muted mb-1",children:"Logo Bild-URL (optional)"}),s.jsx("input",{type:"text",placeholder:"https://beispiel.de/logo.png",value:K,onChange:p=>de(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-muted mb-1",children:"Ankündigung (Banner-Text)"}),s.jsx("textarea",{rows:2,placeholder:"z. B. Willkommen beim Sommerfest Schichtplaner!",value:zr,onChange:p=>ql(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]}),s.jsx("h4",{className:"font-serif text-base font-bold uppercase text-main pt-4 border-t border-grid",children:"Startseiten Sidebar Boxen"}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsx("span",{className:"font-bold text-xs uppercase text-main",children:"📌 Verein & Infos Box"}),s.jsx("button",{type:"button",onClick:()=>Yl(!Vt),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Vt?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:Vt?"[ AN ]":"[ AUS ]"})]}),Vt&&s.jsxs("div",{className:"space-y-3 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Titel"}),s.jsx("input",{type:"text",value:vt,onChange:p=>Zl(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Inhalt"}),s.jsx("textarea",{rows:3,value:Lr,onChange:p=>Jl(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsx("span",{className:"font-bold text-xs uppercase text-main",children:"❤️ Unterstützen Box"}),s.jsx("button",{type:"button",onClick:()=>Xl(!Ut),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Ut?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:Ut?"[ AN ]":"[ AUS ]"})]}),Ut&&s.jsxs("div",{className:"space-y-3 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Titel"}),s.jsx("input",{type:"text",value:T,onChange:p=>D(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Inhalt"}),s.jsx("textarea",{rows:3,value:ee,onChange:p=>ot(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]})]}),s.jsx("div",{className:"pt-3 flex justify-end border-t border-grid",children:s.jsx("button",{type:"submit",disabled:Z,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm",children:Z?"Speichern...":"Einstellungen speichern"})})]})}),i==="smtp"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("form",{onSubmit:Rd,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-3",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main flex items-center gap-2",children:[s.jsx(Si,{className:"w-5 h-5 text-indigo-400"})," SMTP Server & E-Mail-Versand"]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"text-xs text-muted font-bold",children:"SMTP-Versand:"}),s.jsx("button",{type:"button",onClick:()=>jo(!Dn),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Dn?"bg-emerald-600 text-white border-emerald-500 shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:Dn?"[ AKTIV ]":"[ INAKTIV (Dev Mode) ]"})]})]}),!Dn&&s.jsxs("div",{className:"p-3.5 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:"Hinweis: Im inaktiven Modus werden Bestätigungs-Links in der Entwickler-Konsole / Logs ausgegeben."})]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 text-xs",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Host / Server Adresse"}),s.jsx("input",{type:"text",placeholder:"z. B. smtp.domain.de oder mail.gmx.net",value:So,onChange:p=>bo(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Port"}),s.jsx("input",{type:"number",placeholder:"587 oder 465",value:_o,onChange:p=>Eo(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Absender E-Mail-Adresse (From)"}),s.jsx("input",{type:"email",placeholder:"noreply@verein.de",value:Ao,onChange:p=>Do(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Benutzername / Login E-Mail"}),s.jsx("input",{type:"text",placeholder:"z. B. noreply@verein.de",value:Co,onChange:p=>To(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Passwort"}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:ns?"text":"password",placeholder:"••••••••",value:Po,onChange:p=>zo(p.target.value),className:"w-full pl-3.5 pr-10 py-2 rounded-sm input-field font-mono"}),s.jsx("button",{type:"button",onClick:()=>bd(!ns),className:"absolute right-3 top-2.5 text-muted hover:text-main",children:ns?s.jsx(yd,{className:"w-4 h-4"}):s.jsx(wp,{className:"w-4 h-4"})})]})]}),s.jsxs("div",{className:"sm:col-span-2 flex items-center gap-6 pt-2",children:[s.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-main font-bold",children:[s.jsx("input",{type:"checkbox",checked:Lo,onChange:p=>{es(p.target.checked),p.target.checked&&ts(!1)},className:"rounded-sm"}),s.jsx("span",{children:"STARTTLS verwenden (Empfohlen für Port 587)"})]}),s.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-main font-bold",children:[s.jsx("input",{type:"checkbox",checked:Mo,onChange:p=>{ts(p.target.checked),p.target.checked&&es(!1)},className:"rounded-sm"}),s.jsx("span",{children:"SSL/TLS verwenden (Empfohlen für Port 465)"})]})]})]}),s.jsxs("div",{className:"pt-4 border-t border-grid flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-[260px]",children:[s.jsx("input",{type:"email",placeholder:"Empfänger für Test-E-Mail...",value:Ro,onChange:p=>Sd(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs flex-1 font-mono"}),s.jsxs("button",{type:"button",disabled:$o,onClick:Od,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5 shrink-0",children:[s.jsx(Ep,{className:"w-3.5 h-3.5"}),$o?"Sende...":"Test-Mail Senden"]})]}),s.jsxs("button",{type:"submit",disabled:Oo,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4"}),Oo?"Speichern...":"SMTP-Einstellungen Speichern"]})]})]})})]})}function Up({eventToEdit:e,skills:t,onBack:n,onSubmit:r}){const[l,i]=k.useState((e==null?void 0:e.title)||""),[o,a]=k.useState((e==null?void 0:e.description)||""),[u,d]=k.useState((e==null?void 0:e.location)||""),[h,g]=k.useState((e==null?void 0:e.start_date)||new Date().toISOString().split("T")[0]),[x,N]=k.useState((e==null?void 0:e.end_date)||new Date().toISOString().split("T")[0]),[y,v]=k.useState([]),[O,f]=k.useState(!1),[c,m]=k.useState("");k.useEffect(()=>{if(e&&e.task_areas&&e.task_areas.length>0){const L=e.task_areas.map(M=>({id:M.id,name:M.name,description:M.description||"",shifts:(M.shifts||[]).map(F=>({id:F.id,title:F.title,start_time:F.start_time,end_time:F.end_time,max_participants:F.max_participants||1,required_skill_ids:F.required_skills?F.required_skills.map(q=>q.id):[]}))}));v(L)}else e||v([{name:"Tresendienst",description:"Getränke- und Barverkauf",shifts:[{title:"Schicht 1",start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]}]},{name:"Essen kochen",description:"Zubereitung von Speisen",shifts:[{title:"Frühschicht",start_time:"15:00",end_time:"19:00",max_participants:3,required_skill_ids:[]}]},{name:"Aufbau & Aufräumen",description:"Tische, Stühle & Technik",shifts:[{title:"Aufbau",start_time:"12:00",end_time:"15:00",max_participants:4,required_skill_ids:[]}]}])},[e]);const w=()=>{v([...y,{name:"",description:"",shifts:[{title:"Schicht 1",start_time:"10:00",end_time:"14:00",max_participants:1,required_skill_ids:[]}]}])},j=L=>{v(y.filter((M,F)=>F!==L))},_=(L,M,F)=>{const q=[...y];q[L][M]=F,v(q)},E=L=>{const M=[...y];M[L].shifts.push({title:`Schicht ${M[L].shifts.length+1}`,start_time:"14:00",end_time:"18:00",max_participants:1,required_skill_ids:[]}),v(M)},C=(L,M)=>{const F=[...y];F[L].shifts=F[L].shifts.filter((q,W)=>W!==M),v(F)},U=(L,M,F,q)=>{const W=[...y];W[L].shifts[M][F]=q,v(W)},A=(L,M,F)=>{const q=[...y],W=q[L].shifts[M].required_skill_ids||[];W.includes(F)?q[L].shifts[M].required_skill_ids=W.filter(he=>he!==F):q[L].shifts[M].required_skill_ids=[...W,F],v(q)},le=async L=>{if(L.preventDefault(),m(""),!l.trim()){m("Bitte gib einen Veranstaltungstitel an.");return}f(!0);try{await r({id:e==null?void 0:e.id,title:l,description:o,location:u,start_date:h,end_date:x,task_areas:y})}catch(M){m(M.message||"Speichern der Veranstaltung fehlgeschlagen.")}finally{f(!1)}};return s.jsxs("div",{className:"space-y-6 max-w-4xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsxs("div",{className:"flex items-center justify-between font-mono text-xs",children:[s.jsxs("button",{onClick:n,className:"px-3.5 py-1.5 rounded-sm bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-2 font-bold",children:[s.jsx(xd,{className:"w-4 h-4"})," [ ZURÜCK ZUR ÜBERSICHT ]"]}),s.jsxs("span",{className:"text-muted border border-grid px-2.5 py-0.5 rounded-sm",children:["MODE: ",e?"EVENT EDIT":"NEW EVENT"]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-2",children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-blue-500/10 text-blue-500 border border-blue-500/20 flex items-center justify-center font-bold",children:e?s.jsx(jr,{className:"w-5 h-5"}):s.jsx(Tr,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:e?"Veranstaltung & Schichten Bearbeiten":"Neue Veranstaltung Erstellen"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Konfiguriere Stammdaten, Aufgabenfelder, Schichtzeiten & Qualifikationen"})]})]})}),c&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:c})]}),s.jsxs("form",{onSubmit:le,className:"space-y-6",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"1. Stammdaten der Veranstaltung"}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Titel der Veranstaltung"}),s.jsx("input",{type:"text",required:!0,value:l,onChange:L=>i(L.target.value),placeholder:"z. B. Sommerfest 2026",className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Startdatum"}),s.jsx("input",{type:"date",required:!0,value:h,onChange:L=>g(L.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Enddatum"}),s.jsx("input",{type:"date",required:!0,value:x,onChange:L=>N(L.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Ort (optional)"}),s.jsx("input",{type:"text",value:u,onChange:L=>d(L.target.value),placeholder:"z. B. Vereinsheim, Großer Saal",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Beschreibung (optional)"}),s.jsx("textarea",{rows:2,value:o,onChange:L=>a(L.target.value),placeholder:"Details zur Veranstaltung...",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs font-sans"})]})]})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main flex items-center gap-2",children:[s.jsx(Nr,{className:"w-4 h-4 text-blue-500"})," 2. Aufgabenfelder & Schichten"]}),s.jsxs("button",{type:"button",onClick:w,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-blue-500/10 text-blue-500 border border-blue-500/20 hover:bg-blue-500/20 transition flex items-center gap-1",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," BEREICH HINZUFÜGEN"]})]}),y.map((L,M)=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsx("input",{type:"text",required:!0,placeholder:"Name des Aufgabenfeldes (z. B. Tresendienst)",value:L.name,onChange:F=>_(M,"name",F.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field text-xs font-bold"}),s.jsx("button",{type:"button",onClick:()=>j(M),className:"p-1.5 text-muted hover:text-red-400 transition",title:"Bereich entfernen",children:s.jsx(Yt,{className:"w-4 h-4"})})]}),s.jsxs("div",{className:"pl-3 border-l-2 border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted font-bold",children:[s.jsx("span",{children:"Schichten & Zeitfenster"}),s.jsxs("button",{type:"button",onClick:()=>E(M),className:"text-blue-500 hover:underline flex items-center gap-1",children:[s.jsx(it,{className:"w-3 h-3"})," Schicht hinzufügen"]})]}),L.shifts.map((F,q)=>s.jsxs("div",{className:"p-3 rounded-sm bg-surface border border-grid space-y-2",children:[s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-12 gap-2 items-center text-xs",children:[s.jsx("input",{type:"text",placeholder:"Titel",value:F.title,onChange:W=>U(M,q,"title",W.target.value),className:"sm:col-span-4 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Start (14:00)",value:F.start_time,onChange:W=>U(M,q,"start_time",W.target.value),className:"sm:col-span-2 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Ende (18:00)",value:F.end_time,onChange:W=>U(M,q,"end_time",W.target.value),className:"sm:col-span-2 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsxs("div",{className:"sm:col-span-3 flex items-center gap-1",children:[s.jsx("span",{className:"text-[11px] text-muted",children:"Plätze:"}),s.jsx("input",{type:"number",min:"1",value:F.max_participants,onChange:W=>U(M,q,"max_participants",parseInt(W.target.value)||1),className:"w-full px-2 py-1 rounded-sm input-field text-xs font-bold"})]}),s.jsx("button",{type:"button",onClick:()=>C(M,q),className:"sm:col-span-1 p-1 text-muted hover:text-red-400 text-center",title:"Schicht löschen",children:s.jsx(Yt,{className:"w-3.5 h-3.5 mx-auto"})})]}),t&&t.length>0&&s.jsxs("div",{className:"pt-1.5 border-t border-grid text-[11px]",children:[s.jsx("span",{className:"text-muted block mb-1",children:"Erforderliche Qualifikationen:"}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(W=>{const he=(F.required_skill_ids||[]).includes(W.id);return s.jsxs("button",{type:"button",onClick:()=>A(M,q,W.id),style:{backgroundColor:he?W.color:`${W.color}15`,borderColor:W.color,color:he?"#ffffff":W.color},className:"px-2 py-0.5 rounded-sm border text-[10px] font-bold transition",children:[W.name," ",he?"✓":""]},W.id)})})]})]},q))]})]},M))]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid flex flex-wrap items-center justify-between gap-3 font-mono text-xs",children:[s.jsx("button",{type:"button",onClick:n,className:"px-4 py-2 rounded-sm text-xs font-semibold text-muted hover:bg-surface-hover transition border border-grid",children:"Abbrechen"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs("button",{type:"button",disabled:O,onClick:async()=>{if(!l.trim()){m("Bitte gib einen Titel an.");return}f(!0);try{await $("/templates/",{method:"POST",body:JSON.stringify({name:l,description:o||`Vorlage mit ${y.length} Aufgabenbereichen`,template_data:{task_areas:y.map(L=>({name:L.name,description:L.description,shifts:(L.shifts||[]).map(M=>({title:M.title,start_time:M.start_time,end_time:M.end_time,max_participants:M.max_participants,required_skill_ids:M.required_skill_ids}))}))}})}),alert(`✅ Vorlage "${l}" inklusive aller voreingestellten Schichten erfolgreich gespeichert!`)}catch(L){m(L.message||"Speichern der Vorlage fehlgeschlagen.")}finally{f(!1)}},className:"px-4 py-2.5 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5",title:"Diese Konfiguration mit allen Schichten als Vorlage abspeichern",children:[s.jsx(Nr,{className:"w-4 h-4"})," ALS VORLAGE SPEICHERN"]}),s.jsxs("button",{type:"submit",disabled:O,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition shadow-sm hover:brightness-110 flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4"}),O?"Speichern...":e?"Änderungen Speichern":"Veranstaltung Jetzt Erstellen"]})]})]})]})]})}function Bp({onBack:e,onInstantiateTemplate:t,user:n,skills:r}){const[l,i]=k.useState([]),[o,a]=k.useState(!0),[u,d]=k.useState(""),[h,g]=k.useState(null),[x,N]=k.useState(""),[y,v]=k.useState(new Date().toISOString().split("T")[0]),[O,f]=k.useState(new Date().toISOString().split("T")[0]),[c,m]=k.useState(""),[w,j]=k.useState(!1),[_,E]=k.useState(!1),[C,U]=k.useState(""),[A,le]=k.useState(""),[L,M]=k.useState([{name:"Tresendienst",description:"Getränkeausschank und Bar",shifts:[{title:"Frühschicht",start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]},{title:"Spätschicht",start_time:"22:00",end_time:"02:00",max_participants:3,required_skill_ids:[]}]}]);k.useEffect(()=>{F()},[]);const F=async()=>{a(!0);try{const S=await $("/templates/");i(S.results||S)}catch(S){d(S.message||"Laden der Vorlagen fehlgeschlagen.")}finally{a(!1)}},q=S=>{g(S),N(S.name)},W=async S=>{if(S.preventDefault(),!!h){j(!0);try{await t(h.id,{title:x,start_date:y,end_date:O,location:c})}catch(R){d(R.message||"Erstellen der Veranstaltung aus Vorlage fehlgeschlagen.")}finally{j(!1)}}},he=async S=>{if(S.preventDefault(),!C.trim()){d("Bitte gib einen Vorlagen-Namen an.");return}j(!0);try{const R={name:C,description:A,template_data:{task_areas:L.map(H=>({name:H.name,description:H.description,shifts:(H.shifts||[]).map(J=>({title:J.title,start_time:J.start_time,end_time:J.end_time,max_participants:J.max_participants,required_skill_ids:J.required_skill_ids}))}))}};await $("/templates/",{method:"POST",body:JSON.stringify(R)}),E(!1),U(""),le(""),F()}catch(R){d(R.message||"Erstellen der Vorlage fehlgeschlagen.")}finally{j(!1)}},P=()=>{M([...L,{name:"Neuer Bereich",description:"",shifts:[{title:"Schicht 1",start_time:"14:00",end_time:"18:00",max_participants:2,required_skill_ids:[]}]}])},I=S=>{const R=[...L];R[S].shifts.push({title:`Schicht ${R[S].shifts.length+1}`,start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]}),M(R)};return s.jsxs("div",{className:"space-y-6 max-w-4xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsxs("div",{className:"flex items-center justify-between font-mono text-xs",children:[s.jsxs("button",{onClick:e,className:"px-3.5 py-1.5 rounded-sm bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-2 font-bold",children:[s.jsx(xd,{className:"w-4 h-4"})," [ ZURÜCK ZUR ÜBERSICHT ]"]}),s.jsxs("span",{className:"text-muted border border-grid px-2.5 py-0.5 rounded-sm uppercase",children:["SYSTEM VORLAGEN (",l.length,")"]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-4",children:s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 flex items-center justify-center font-bold",children:s.jsx(Nr,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:"Veranstaltungs-Vorlagen Zentrale"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Erstelle neue Veranstaltungen mit voreingestellten Schichten und Aufgabenbereichen"})]})]}),n&&s.jsxs("button",{onClick:()=>E(!_),className:"px-3.5 py-2 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5 shrink-0",children:[s.jsx(it,{className:"w-4 h-4"}),_?"Schließen":"Neue Vorlage Erstellen"]})]})}),u&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:u})]}),_&&s.jsxs("form",{onSubmit:he,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs animate-in fade-in duration-200",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-indigo-400 border-b border-grid pb-2 flex items-center justify-between",children:[s.jsx("span",{children:"Neue Vorlage mit voreingestellten Schichten anlegen"}),s.jsxs("button",{type:"button",onClick:P,className:"text-xs font-mono font-bold bg-indigo-500/20 text-indigo-300 px-3 py-1 rounded-sm border border-indigo-500/30 flex items-center gap-1",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," Bereich Hinzufügen"]})]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Vorlagen Name"}),s.jsx("input",{type:"text",required:!0,placeholder:"z. B. Standard Kneipenabend / Bar-Event",value:C,onChange:S=>U(S.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm font-bold"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Beschreibung (optional)"}),s.jsx("input",{type:"text",placeholder:"z. B. Inklusive 2 Barschichten und Aufbau",value:A,onChange:S=>le(S.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]})]}),s.jsx("div",{className:"space-y-4 pt-2",children:L.map((S,R)=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("input",{type:"text",required:!0,placeholder:"Bereichs-Name (z. B. Bar)",value:S.name,onChange:H=>{const J=[...L];J[R].name=H.target.value,M(J)},className:"flex-1 px-3 py-1 rounded-sm input-field text-xs font-bold"}),s.jsx("button",{type:"button",onClick:()=>{M(L.filter((H,J)=>J!==R))},className:"text-muted hover:text-red-400 p-1",children:s.jsx(Yt,{className:"w-4 h-4"})})]}),s.jsxs("div",{className:"pl-3 border-l-2 border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between text-muted text-[11px] font-bold",children:[s.jsx("span",{children:"Voreingestellte Schichten"}),s.jsxs("button",{type:"button",onClick:()=>I(R),className:"text-indigo-400 hover:underline flex items-center gap-1",children:[s.jsx(it,{className:"w-3 h-3"})," Schicht hinzufügen"]})]}),S.shifts.map((H,J)=>s.jsxs("div",{className:"p-2.5 rounded-sm bg-surface border border-grid grid grid-cols-1 sm:grid-cols-12 gap-2 items-center text-xs",children:[s.jsx("input",{type:"text",placeholder:"Schichtname",value:H.title,onChange:Y=>{const K=[...L];K[R].shifts[J].title=Y.target.value,M(K)},className:"sm:col-span-4 px-2 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Start (18:00)",value:H.start_time,onChange:Y=>{const K=[...L];K[R].shifts[J].start_time=Y.target.value,M(K)},className:"sm:col-span-2 px-2 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Ende (22:00)",value:H.end_time,onChange:Y=>{const K=[...L];K[R].shifts[J].end_time=Y.target.value,M(K)},className:"sm:col-span-2 px-2 py-1 rounded-sm input-field text-xs"}),s.jsxs("div",{className:"sm:col-span-3 flex items-center gap-1",children:[s.jsx("span",{className:"text-[10px] text-muted",children:"Plätze:"}),s.jsx("input",{type:"number",min:"1",value:H.max_participants,onChange:Y=>{const K=[...L];K[R].shifts[J].max_participants=parseInt(Y.target.value)||1,M(K)},className:"w-full px-2 py-1 rounded-sm input-field text-xs font-bold"})]}),s.jsx("button",{type:"button",onClick:()=>{const Y=[...L];Y[R].shifts=Y[R].shifts.filter((K,de)=>de!==J),M(Y)},className:"sm:col-span-1 p-1 text-muted hover:text-red-400 text-center",children:s.jsx(Yt,{className:"w-3.5 h-3.5 mx-auto"})})]},J))]})]},R))}),s.jsxs("div",{className:"pt-3 flex justify-end gap-2 border-t border-grid",children:[s.jsx("button",{type:"button",onClick:()=>E(!1),className:"px-4 py-2 rounded-sm text-xs font-semibold text-muted hover:bg-surface-hover transition border border-grid",children:"Abbrechen"}),s.jsxs("button",{type:"submit",disabled:w,style:{backgroundColor:"var(--brand-primary)"},className:"px-5 py-2 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-1.5",children:[s.jsx(gt,{className:"w-4 h-4"})," Vorlage Speichern"]})]})]}),s.jsxs("div",{className:"space-y-4 font-mono text-xs",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main",children:"Verfügbare Vorlagen"}),o?s.jsx("div",{className:"hallmark-panel p-8 text-center text-muted",children:"Lade Vorlagen..."}):l.length===0?s.jsx("div",{className:"hallmark-panel p-8 text-center text-muted italic",children:'[ Noch keine Vorlagen gespeichert. Klicke oben auf "Neue Vorlage Erstellen" um Vorlagen mit voreingestellten Schichten anzulegen. ]'}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:l.map(S=>{var R;return s.jsxs("div",{onClick:()=>q(S),className:`hallmark-panel p-5 rounded-sm border cursor-pointer transition space-y-3 ${(h==null?void 0:h.id)===S.id?"bg-indigo-500/10 border-indigo-500 shadow-md":"bg-surface border-grid hover:border-muted"}`,children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h4",{className:"font-serif text-base font-bold text-main uppercase",children:S.name}),(h==null?void 0:h.id)===S.id&&s.jsx("span",{className:"text-[10px] font-mono text-indigo-400 bg-indigo-500/20 px-2 py-0.5 rounded-sm border border-indigo-500/30 font-bold",children:"[ AUSGEWÄHLT ]"})]}),S.description&&s.jsx("p",{className:"text-xs font-sans text-muted",children:S.description}),((R=S.template_data)==null?void 0:R.task_areas)&&S.template_data.task_areas.length>0&&s.jsxs("div",{className:"space-y-2 pt-2 border-t border-grid text-[11px]",children:[s.jsx("div",{className:"font-bold text-muted uppercase text-[10px]",children:"📌 Voreingestellte Schichten:"}),S.template_data.task_areas.map((H,J)=>{var Y;return s.jsxs("div",{className:"bg-subtle p-2 rounded-sm border border-grid space-y-1",children:[s.jsxs("div",{className:"font-bold text-main flex items-center justify-between",children:[s.jsx("span",{children:H.name}),s.jsxs("span",{className:"text-[10px] text-muted font-normal",children:[((Y=H.shifts)==null?void 0:Y.length)||0," Schichten"]})]}),s.jsx("div",{className:"flex flex-wrap gap-1",children:(H.shifts||[]).map((K,de)=>s.jsxs("span",{className:"px-2 py-0.5 rounded-sm bg-surface border border-grid text-[10px] flex items-center gap-1 font-mono",children:[s.jsx(kr,{className:"w-3 h-3 text-muted shrink-0"}),s.jsx("strong",{className:"text-main",children:K.title}),s.jsxs("span",{className:"text-muted",children:["(",K.start_time,"-",K.end_time,", ",K.max_participants," Plätze)"]})]},de))})]},J)})]}),s.jsxs("div",{className:"text-[10px] text-muted pt-2 border-t border-grid flex items-center justify-between",children:[s.jsxs("span",{children:["Erstellt von: ",s.jsx("strong",{children:S.created_by_name||"Admin"})]}),s.jsx("span",{className:"text-indigo-400 font-bold",children:"Klick zum Auswählen"})]})]},S.id)})})]}),h&&s.jsxs("form",{onSubmit:W,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs animate-in fade-in duration-200",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-indigo-400 border-b border-grid pb-2",children:['Neue Veranstaltung aus Vorlage "',h.name,'" Erstellen']}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Titel der Veranstaltung"}),s.jsx("input",{type:"text",required:!0,value:x,onChange:S=>N(S.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm font-bold"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Startdatum"}),s.jsx("input",{type:"date",required:!0,value:y,onChange:S=>v(S.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Enddatum"}),s.jsx("input",{type:"date",required:!0,value:O,onChange:S=>f(S.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Ort (optional)"}),s.jsx("input",{type:"text",value:c,onChange:S=>m(S.target.value),placeholder:"z. B. Großer Saal",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]})]}),s.jsx("div",{className:"pt-3 flex justify-end border-t border-grid",children:s.jsxs("button",{type:"submit",disabled:w,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-2",children:[s.jsx(bp,{className:"w-4 h-4 fill-white"}),w?"Erstellen...":"Veranstaltung Jetzt Aus Vorlage Erstellen"]})})]})]})}function Hp(){const[e,t]=k.useState(null),[n,r]=k.useState(null),[l,i]=k.useState([]),[o,a]=k.useState([]),[u,d]=k.useState(null),[h,g]=k.useState(null),[x,N]=k.useState(!0),[y,v]=k.useState("home"),[O,f]=k.useState(!1),[c,m]=k.useState(!1),[w,j]=k.useState(null),[_,E]=k.useState(!1),[C,U]=k.useState(!1),[A,le]=k.useState(localStorage.getItem("theme_mode")||"auto"),[L,M]=k.useState(null),[F,q]=k.useState(null);k.useEffect(()=>{window.addEventListener("beforeinstallprompt",T=>{T.preventDefault(),q(T)}),R()},[]),k.useEffect(()=>{localStorage.setItem("theme_mode",A);const T=()=>{let D=A;A==="auto"&&(D=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme",D)};if(T(),A==="auto"){const D=window.matchMedia("(prefers-color-scheme: dark)"),ee=()=>T();return D.addEventListener("change",ee),()=>D.removeEventListener("change",ee)}},[A]),k.useEffect(()=>{n!=null&&n.primary_color&&(document.documentElement.style.setProperty("--brand-primary",n.primary_color),document.documentElement.style.setProperty("--brand-secondary",n.secondary_color||n.primary_color))},[n]);const[W,he]=k.useState(null),[P,I]=k.useState(null),S=T=>{M(T),setTimeout(()=>M(null),5e3)},R=async()=>{N(!0);try{try{const Z=await $("/branding/");r(Z)}catch{}if(bi())try{const Z=await $("/users/me/");t(Z),!Z.is_admin_user&&!Z.is_staff&&!Z.is_superuser&&y==="admin"&&v("home")}catch{rr(null),t(null),v("home")}const T=new URLSearchParams(window.location.search),D=T.get("verify_email");if(D)try{const Z=await $("/users/verify-email/",{method:"POST",body:JSON.stringify({token:D})});rr(Z.token),t(Z.user),S(Z.message||"✅ E-Mail-Adresse erfolgreich bestätigt!"),window.history.replaceState({},document.title,window.location.pathname)}catch(Z){S(`⚠️ E-Mail Bestätigung: ${Z.message}`)}const ee=T.get("claim_token"),ot=T.get("guest_name");ee&&ot&&(he(ee),I(ot),bi()||f(!0)),await J(),await Y()}catch(T){console.error(T)}finally{N(!1)}},H=async T=>{try{const D=await $(`/users/signups/${T.id}/generate-claim-link/`,{method:"POST"}),ee=`${window.location.origin}/?claim_token=${D.token}&guest_name=${encodeURIComponent(D.guest_name)}`;navigator.clipboard?(await navigator.clipboard.writeText(ee),S(`✅ Einladungs-Link für ${D.guest_name} in Zwischenablage kopiert!`)):prompt(`Einladungs-Link für ${D.guest_name} kopieren:`,ee)}catch(D){alert(D.message||"Fehler beim Erstellen des Links.")}},J=async()=>{try{const T=await $("/skills/");i(T.results||T)}catch{}},Y=async()=>{try{const T=await $("/events/"),D=T.results||T;a(D),D.length>0&&!u?(d(D[0].id),K(D[0].id)):u&&K(u)}catch{}},K=async T=>{try{const D=await $(`/events/${T}/matrix/`);g(D)}catch{}},de=T=>{d(T),K(T),v("schedule")},et=()=>{rr(null),t(null),v("home"),S("Erfolgreich abgemeldet."),u&&K(u)},Pr=(T,D)=>{t(T),T&&!T.is_admin_user&&!T.is_staff&&!T.is_superuser&&y==="admin"&&v("home"),S(D||"Erfolgreich angemeldet!"),u&&K(u)},zr=async T=>{if(!e)j(T),m(!0);else try{const D=await $(`/shifts/${T.id}/signup/`,{method:"POST"});S(D.message||"Erfolgreich für Schicht eingetragen!"),u&&K(u)}catch(D){S(`Fehler: ${D.message}`)}},ql=async T=>{if(!w)return;const D=await $(`/shifts/${w.id}/signup/`,{method:"POST",body:JSON.stringify(T)});S(D.message||"Als Gast eingetragen!"),u&&K(u)},Vt=async T=>{try{const D=await $(`/shifts/${T.id}/signup/`,{method:"DELETE"});S(D.message||"Eintragung storniert."),u&&K(u)}catch(D){S(`Fehler: ${D.message}`)}},[Yl,vt]=k.useState(null),Zl=async T=>{let D=T.id;D?await $(`/events/${D}/`,{method:"PATCH",body:JSON.stringify({title:T.title,description:T.description,location:T.location,start_date:T.start_date,end_date:T.end_date})}):D=(await $("/events/",{method:"POST",body:JSON.stringify({title:T.title,description:T.description,location:T.location,start_date:T.start_date,end_date:T.end_date})})).id;for(let ee of T.task_areas){if(!ee.name)continue;let ot=ee.id;ot?await $(`/task-areas/${ot}/`,{method:"PATCH",body:JSON.stringify({name:ee.name,description:ee.description||""})}):ot=(await $("/task-areas/",{method:"POST",body:JSON.stringify({event:D,name:ee.name,description:ee.description||""})})).id;for(let Z of ee.shifts)Z.id?await $(`/shifts/${Z.id}/`,{method:"PATCH",body:JSON.stringify({title:Z.title,start_time:Z.start_time,end_time:Z.end_time,max_participants:Z.max_participants,required_skill_ids:Z.required_skill_ids||[]})}):await $("/shifts/",{method:"POST",body:JSON.stringify({task_area:ot,title:Z.title,start_time:Z.start_time,end_time:Z.end_time,max_participants:Z.max_participants,required_skill_ids:Z.required_skill_ids||[]})})}S(T.id?"Veranstaltung & Schichten aktualisiert!":"Veranstaltung erfolgreich erstellt!"),await Y(),de(D)},Lr=async(T,D)=>{const ee=await $(`/templates/${T}/instantiate/`,{method:"POST",body:JSON.stringify(D)});S("Veranstaltung aus Vorlage erstellt!"),await Y(),ee.id&&de(ee.id)},Jl=()=>{u&&window.open(`/api/events/${u}/export_pdf/`,"_blank")},Ut=()=>{window.print()},Xl=()=>{F&&(F.prompt(),F.userChoice.then(T=>{T.outcome==="accepted"&&S("PWA Installation gestartet!"),q(null)}))};return s.jsxs("div",{className:"min-h-screen bg-canvas text-main flex flex-col font-sans selection:bg-surface-hover transition-colors duration-200",children:[L&&s.jsxs("div",{className:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-2.5 rounded-sm shadow-2xl font-mono text-xs flex items-center gap-2 border border-emerald-400 animate-in fade-in slide-in-from-bottom-3 duration-200",children:[s.jsx(gt,{className:"w-4 h-4"}),s.jsx("span",{children:L})]}),s.jsx(Ap,{branding:n,user:e,activeTab:y,onChangeTab:v,themeMode:A,onChangeThemeMode:le,onLogout:et,onOpenAuth:()=>f(!0),onOpenCreateEvent:()=>{vt(null),v("event-editor")},onOpenTemplates:()=>v("templates"),onOpenProfile:()=>U(!0),onOpenAdmin:()=>v("admin"),pwaInstallPrompt:!!F,onInstallPwa:Xl}),s.jsx("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 lg:px-8 py-8 space-y-6",children:x?s.jsx("div",{className:"hallmark-panel p-16 text-center text-xs text-muted font-mono border border-grid",children:"Lade Daten..."}):y==="home"?s.jsx($p,{events:o,user:e,onSelectEvent:de,onOpenCreateEvent:()=>{vt(null),v("event-editor")},onToggleEventActive:async T=>{try{await $(`/events/${T.id}/`,{method:"PATCH",body:JSON.stringify({is_active:T.is_active===!1})}),Y()}catch(D){alert(D.message||"Aktion fehlgeschlagen.")}},onEditEvent:T=>{vt(T),v("event-editor")},branding:n}):y==="calendar"?s.jsx(Fp,{events:o,onSelectEvent:de,branding:n}):y==="admin"&&e&&(e.is_admin_user||e.is_staff||e.is_superuser)?s.jsx(Vp,{branding:n,onRefreshBranding:async()=>{const T=await $("/branding/");r(T)},onRefreshEvents:Y,skills:l,onRefreshSkills:J}):y==="event-editor"?s.jsx(Up,{eventToEdit:Yl,skills:l,onBack:()=>v("schedule"),onSubmit:Zl}):y==="templates"?s.jsx(Bp,{onBack:()=>v("schedule"),onInstantiateTemplate:Lr,user:e,skills:l}):s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between gap-4 overflow-x-auto pb-2 no-scrollbar font-mono",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"text-xs font-bold text-muted uppercase tracking-wider whitespace-nowrap",children:"Ausgewähltes Event:"}),o.map(T=>{const D=u===T.id;return s.jsx("button",{onClick:()=>de(T.id),style:{backgroundColor:D?(n==null?void 0:n.primary_color)||"var(--brand-primary)":void 0,borderColor:D?(n==null?void 0:n.primary_color)||"var(--brand-primary)":void 0},className:`px-3.5 py-1.5 rounded-sm text-xs font-bold transition whitespace-nowrap border ${D?"text-white shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:T.title},T.id)})]}),e&&s.jsxs("button",{onClick:()=>{vt(null),v("event-editor")},className:"px-3.5 py-1.5 rounded-sm text-xs font-bold bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 shrink-0",children:[s.jsx(it,{className:"w-4 h-4"})," Neues Event"]})]}),s.jsx(Dp,{event:h,user:e,onSignupClick:zr,onCancelClick:Vt,onRemoveUserFromShift:async(T,D)=>{try{const ee=await $(`/shifts/${T.id}/signup/${D}/`,{method:"DELETE"});S(ee.message||"Eintragung entfernt."),Y(),u&&de(u)}catch(ee){alert(ee.message||"Entfernen der Person fehlgeschlagen.")}},onGenerateClaimLink:H,onExportPdf:Jl,onPrintView:Ut,onEditEvent:T=>{vt(T),v("event-editor")}})]})}),s.jsx("footer",{className:"border-t border-grid py-6 text-center text-xs text-muted font-mono no-print",children:s.jsxs("p",{children:[(n==null?void 0:n.app_name)||"Veranstaltungsschichtplaner"," • PWA Enabled • PostgreSQL & Docker Ready"]})}),O&&s.jsx(Ip,{onClose:()=>{f(!1),he(null),I(null)},onSuccess:Pr,claimToken:W,prefilledGuestName:P}),c&&s.jsx(Rp,{shift:w,onClose:()=>m(!1),onSubmit:ql})]})}zs.createRoot(document.getElementById("root")).render(s.jsx(ef.StrictMode,{children:s.jsx(Hp,{})})); + */const Sd=V("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Ap({branding:e,user:t,activeTab:n,onChangeTab:r,themeMode:l,onChangeThemeMode:i,onLogout:o,onOpenAuth:a,onOpenCreateEvent:u,onOpenTemplates:d,onOpenProfile:h,onOpenAdmin:g,pwaInstallPrompt:x,onInstallPwa:N}){const y=(e==null?void 0:e.primary_color)||"var(--brand-primary)",v=()=>{i(l==="dark"?"light":l==="light"?"auto":"dark")};return s.jsxs("header",{className:"bg-surface border-b border-grid sticky top-0 z-40",children:[s.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between gap-4",children:[s.jsxs("div",{className:"flex items-center space-x-3 shrink-0",children:[s.jsx("div",{onClick:()=>r("home"),style:{backgroundColor:y},className:"w-8 h-8 rounded-sm flex items-center justify-center text-white font-bold cursor-pointer shadow-sm",children:e!=null&&e.logo_url?s.jsx("img",{src:e.logo_url,alt:"Logo",className:"w-4 h-4 object-contain"}):s.jsx(Tr,{className:"w-4 h-4"})}),s.jsxs("div",{onClick:()=>r("home"),className:"cursor-pointer",children:[s.jsx("h1",{className:"font-serif text-base font-bold tracking-tight text-main leading-none",children:(e==null?void 0:e.app_name)||"Schichtplaner"}),s.jsx("div",{className:"text-[10px] font-mono text-muted mt-1 uppercase tracking-wider flex items-center gap-1.5",children:t?s.jsxs("span",{className:"text-emerald-500 font-semibold",children:["[ ",t.display_name||t.username," ]"]}):s.jsx("span",{className:"text-amber-500 font-semibold",children:"[ GAST-MODUS ]"})})]})]}),s.jsxs("nav",{className:"hidden md:flex items-center gap-2",children:[s.jsxs("button",{onClick:()=>r("home"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="home"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(Xa,{className:"w-3.5 h-3.5"})," Startseite"]}),s.jsxs("button",{onClick:()=>r("calendar"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="calendar"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(Ja,{className:"w-3.5 h-3.5"})," Kalender"]}),((t==null?void 0:t.is_admin_user)||(t==null?void 0:t.is_staff)||(t==null?void 0:t.is_superuser))&&s.jsxs("button",{onClick:()=>r("admin"),className:`px-3 py-1.5 rounded-sm text-xs font-mono transition flex items-center gap-1.5 border ${n==="admin"?"bg-surface-hover text-main font-bold border-grid":"text-muted hover:text-main border-transparent"}`,children:[s.jsx(tu,{className:"w-3.5 h-3.5 text-indigo-400"})," Admin"]})]}),s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("button",{onClick:v,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5",title:`Design-Modus: ${l.toUpperCase()}`,children:l==="dark"?s.jsxs(s.Fragment,{children:[s.jsx(jp,{className:"w-3.5 h-3.5 text-indigo-400"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"DARK"})]}):l==="light"?s.jsxs(s.Fragment,{children:[s.jsx(Pp,{className:"w-3.5 h-3.5 text-amber-500"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"LIGHT"})]}):s.jsxs(s.Fragment,{children:[s.jsx(Sp,{className:"w-3.5 h-3.5 text-blue-500"}),s.jsx("span",{className:"hidden lg:inline text-[11px] font-bold",children:"AUTO"})]})}),x&&s.jsxs("button",{onClick:N,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 hover:bg-emerald-500/20 transition flex items-center gap-1",children:[s.jsx(kd,{className:"w-3 h-3"})," PWA"]}),t?s.jsxs(s.Fragment,{children:[s.jsxs("button",{onClick:u,style:{backgroundColor:y},className:"h-8 px-3 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1 shadow-sm hover:brightness-110",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," Event"]}),s.jsxs("button",{onClick:d,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition hidden sm:flex items-center gap-1",title:"Vorlagen",children:[s.jsx(Nr,{className:"w-3.5 h-3.5 text-muted"})," Vorlagen"]}),s.jsxs("button",{onClick:h,className:"h-8 px-2.5 rounded-sm text-xs font-mono bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1",title:"Profil & Namen ändern",children:[s.jsx(Sr,{className:"w-3.5 h-3.5 text-amber-500"})," Profil"]}),(t.is_admin_user||t.is_staff||t.is_superuser)&&s.jsxs("button",{onClick:()=>r("admin"),className:`h-8 px-2.5 rounded-sm text-xs font-mono transition flex items-center gap-1 border ${n==="admin"?"bg-indigo-500/20 text-indigo-300 border-indigo-500/40 font-bold":"bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border-indigo-500/30"}`,title:"Admin-Zentrale",children:[s.jsx(tu,{className:"w-3.5 h-3.5"})," Admin"]}),s.jsx("div",{className:"h-4 w-px bg-grid mx-1"}),s.jsx("button",{onClick:o,className:"h-8 w-8 rounded-sm text-muted hover:text-red-500 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 transition flex items-center justify-center",title:"Abmelden",children:s.jsx(Np,{className:"w-3.5 h-3.5"})})]}):s.jsxs("button",{onClick:a,style:{backgroundColor:y},className:"h-8 px-3.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 flex items-center gap-1.5 shadow-sm",children:[s.jsx(al,{className:"w-3.5 h-3.5"})," Anmelden"]})]})]}),s.jsxs("div",{className:"flex md:hidden items-center justify-around border-t border-grid py-2 bg-subtle text-xs font-mono",children:[s.jsxs("button",{onClick:()=>r("home"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="home"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(Xa,{className:"w-3.5 h-3.5"})," Start"]}),s.jsxs("button",{onClick:()=>r("calendar"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="calendar"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(Ja,{className:"w-3.5 h-3.5"})," Termine"]}),s.jsxs("button",{onClick:()=>r("schedule"),className:`flex items-center gap-1 px-3 py-1.5 rounded-sm border ${n==="schedule"?"text-main font-bold bg-surface border-grid":"text-muted border-transparent"}`,children:[s.jsx(zp,{className:"w-3.5 h-3.5"})," Schichtplan"]})]})]})}function Dp({event:e,user:t,onSignupClick:n,onCancelClick:r,onRemoveUserFromShift:l,onGenerateClaimLink:i,onExportPdf:o,onPrintView:a,onEditEvent:u}){var g,x;if(!e||!e.task_areas||e.task_areas.length===0)return s.jsxs("div",{className:"hallmark-panel rounded-sm p-12 text-center border border-grid font-mono",children:[s.jsx(kr,{className:"w-8 h-8 text-muted mx-auto mb-3"}),s.jsx("h3",{className:"font-serif text-xl font-bold text-main uppercase",children:"Keine Aufgabenfelder vorhanden"}),s.jsx("p",{className:"text-xs text-muted mt-1 mb-4",children:"[ Event hat noch keine definierten Aufgabenfelder oder Schichten ]"}),t&&(t.is_admin_user||t.is_staff||t.is_superuser||(e==null?void 0:e.created_by)===t.id||((g=e==null?void 0:e.created_by)==null?void 0:g.id)===t.id)&&u&&s.jsxs("button",{onClick:()=>u(e),className:"px-4 py-2 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border border-indigo-500/30 font-bold text-xs inline-flex items-center gap-2",children:[s.jsx(Sr,{className:"w-4 h-4"})," SCHICHTEN & BEREICHE ANLEGEN"]})]});const d=!t,h=t&&(t.is_admin_user||t.is_staff||t.is_superuser||e.created_by===t.id||((x=e.created_by)==null?void 0:x.id)===t.id);return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid flex flex-col md:flex-row md:items-center justify-between gap-4",children:[s.jsxs("div",{className:"space-y-1 font-mono",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted mb-1",children:[s.jsxs("span",{className:"bg-subtle px-2.5 py-0.5 rounded-sm border border-grid font-bold text-main",children:[new Date(e.start_date).toLocaleDateString("de-DE")," — ",new Date(e.end_date).toLocaleDateString("de-DE")]}),e.location&&s.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[s.jsx(ko,{className:"w-3.5 h-3.5 shrink-0"}),e.location]}),e.is_active===!1&&s.jsx("span",{className:"px-2 py-0.5 rounded-sm bg-amber-500/10 text-amber-500 border border-amber-500/20 font-bold",children:"[ DEAKTIVIERT ]"})]}),s.jsx("h2",{className:"font-serif text-3xl sm:text-4xl font-bold uppercase tracking-tight text-main",children:e.title}),e.description&&s.jsx("p",{className:"text-xs font-sans text-muted max-w-2xl mt-1",children:e.description})]}),s.jsxs("div",{className:"flex items-center gap-2 no-print font-mono text-xs shrink-0",children:[h&&u&&s.jsxs("button",{onClick:()=>u(e),className:"px-3.5 py-1.5 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 text-indigo-400 border border-indigo-500/30 transition flex items-center gap-1.5 font-bold",title:"Schichten und Aufgabenbereiche für diese Veranstaltung bearbeiten",children:[s.jsx(Sr,{className:"w-3.5 h-3.5"})," SCHICHTEN BEARBEITEN"]}),s.jsxs("button",{onClick:a,className:"px-3.5 py-1.5 rounded-sm bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 font-bold",children:[s.jsx(_p,{className:"w-3.5 h-3.5"})," DRUCKEN"]}),s.jsxs("button",{onClick:o,className:"px-3.5 py-1.5 rounded-sm bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 font-bold",children:[s.jsx(vp,{className:"w-3.5 h-3.5"})," PDF"]})]})]}),d&&s.jsxs("div",{className:"p-3.5 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(wd,{className:"w-4 h-4 shrink-0 text-amber-500"}),s.jsxs("span",{children:["[ GAST-DATENSCHUTZ ]: Belegungszahlen sichtbar, Namensanzeige aus Datenschutzgründen ",s.jsx("strong",{children:"anonymisiert"}),"."]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm border border-grid overflow-hidden",children:s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full text-left border-collapse",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-subtle border-b border-grid text-[11px] font-mono text-muted uppercase tracking-wider",children:[s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Aufgabenfeld"}),s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Schicht & Zeitraum"}),s.jsx("th",{className:"py-3.5 px-4 w-1/6",children:"Qualifikation"}),s.jsx("th",{className:"py-3.5 px-4 w-1/4",children:"Belegung & Personen"}),s.jsx("th",{className:"py-3.5 px-4 w-1/6 text-right",children:"Aktion"})]})}),s.jsx("tbody",{className:"divide-y divide-grid text-xs font-sans",children:e.task_areas.map(N=>!N.shifts||N.shifts.length===0?s.jsxs("tr",{children:[s.jsx("td",{className:"py-3.5 px-4 font-serif text-lg font-bold text-main uppercase",children:N.name}),s.jsx("td",{colSpan:4,className:"py-3.5 px-4 text-muted font-mono text-[11px]",children:"[ Keine Schichten angelegt ]"})]},`area-${N.id}`):N.shifts.map((y,v)=>{const O=v===0,f=y.is_full,m=!!(t?y.signups.find(S=>!S.is_guest&&S.display_name===t.display_name):null),w=y.required_skills&&y.required_skills.length>0;return s.jsxs("tr",{className:"hover:bg-surface-hover/60 transition",children:[O?s.jsxs("td",{rowSpan:N.shifts.length,className:"py-3.5 px-4 font-serif text-lg font-bold text-main uppercase bg-subtle/80 align-top border-r border-grid",children:[s.jsx("div",{children:N.name}),N.description&&s.jsx("div",{className:"text-[11px] font-sans font-normal text-muted mt-0.5",children:N.description})]}):null,s.jsxs("td",{className:"py-3.5 px-4",children:[s.jsx("div",{className:"font-semibold text-main",children:y.title}),s.jsxs("div",{className:"text-[11px] font-mono text-muted flex items-center gap-1 mt-0.5",children:[s.jsx(kr,{className:"w-3 h-3 text-muted shrink-0"}),s.jsxs("span",{children:[y.start_time," — ",y.end_time," Uhr"]})]})]}),s.jsx("td",{className:"py-3.5 px-4 font-mono",children:w?s.jsx("div",{className:"flex flex-wrap gap-1",children:y.required_skills.map(S=>s.jsxs("span",{style:{backgroundColor:`${S.color}15`,borderColor:`${S.color}35`,color:S.color},className:"px-2 py-0.5 rounded-sm text-[10px] font-semibold border flex items-center gap-1",children:[s.jsx(xp,{className:"w-3 h-3 shrink-0"})," ",S.name]},S.id))}):s.jsx("span",{className:"text-[11px] text-muted",children:"—"})}),s.jsxs("td",{className:"py-3.5 px-4 font-mono",children:[s.jsx("div",{className:"flex items-center gap-2",children:s.jsxs("span",{className:`px-2 py-0.5 rounded-sm text-[11px] font-bold border ${f?"bg-red-500/10 text-red-500 border-red-500/20":"bg-emerald-500/10 text-emerald-500 border-emerald-500/20"}`,children:["[ ",y.signups_count," / ",y.max_participants," BELEGT ]"]})}),s.jsx("div",{className:"mt-2 space-y-1 font-sans",children:y.signups.map(S=>s.jsxs("div",{className:"text-[11px] text-muted flex items-center justify-between gap-2 p-1.5 rounded-sm bg-subtle border border-grid",children:[s.jsxs("div",{className:"flex items-center gap-1.5 truncate",children:[s.jsx(Nd,{className:"w-3 h-3 text-muted shrink-0"}),s.jsx("span",{className:"truncate",children:S.display_name}),S.is_guest&&s.jsx("span",{className:"text-[9px] font-mono text-amber-500 px-1 rounded-sm bg-amber-500/10 border border-amber-500/20 font-bold",children:"GAST"})]}),s.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[t&&S.is_guest&&i&&s.jsxs("button",{onClick:()=>i(S),className:"text-indigo-400 hover:text-indigo-300 transition p-1 rounded-sm bg-indigo-500/10 hover:bg-indigo-500/20 border border-indigo-500/20 flex items-center gap-1 text-[10px] font-mono font-bold",title:"Konto-Einladungslink für diese Gast-Eintragung kopieren",children:[s.jsx(Lp,{className:"w-3 h-3"})," LINK"]}),h&&l&&s.jsx("button",{onClick:()=>l(y,S.id),className:"text-muted hover:text-red-500 transition p-1 rounded-sm hover:bg-red-500/10",title:"Person aus dieser Schicht entfernen",children:s.jsx(nu,{className:"w-3.5 h-3.5"})})]})]},S.id))})]}),s.jsx("td",{className:"py-3.5 px-4 text-right font-mono",children:m?s.jsxs("button",{onClick:()=>r(y),className:"px-3 py-1.5 rounded-sm text-xs font-semibold bg-red-500/10 hover:bg-red-500/20 text-red-500 border border-red-500/20 transition flex items-center gap-1 ml-auto",children:[s.jsx(nu,{className:"w-3.5 h-3.5"})," AUSTRAGEN"]}):f?s.jsx("span",{className:"text-xs text-muted font-bold",children:"[ VOLL ]"}):s.jsxs("button",{onClick:()=>n(y),style:{backgroundColor:"var(--brand-primary)"},className:"px-3.5 py-1.5 rounded-sm text-xs font-bold text-white transition hover:brightness-110 flex items-center gap-1 ml-auto shadow-sm",children:[s.jsx(gt,{className:"w-3.5 h-3.5"})," EINTRAGEN"]})})]},`shift-${y.id}`)}))})]})})})]})}function Rp({shift:e,onClose:t,onSubmit:n}){const[r,l]=k.useState(""),[i,o]=k.useState(""),[a,u]=k.useState(!1),[d,h]=k.useState(""),[g,x]=k.useState(!1);k.useEffect(()=>{const v=localStorage.getItem("guest_display_name")||"";v&&l(v)},[]);const N=()=>{const v="acaptcha-verified-"+Math.random().toString(36).substring(2,10);o(v),u(!0)},y=async v=>{if(v.preventDefault(),h(""),!r.trim()){h("Bitte gib deinen Namen ein.");return}if(!a||!i){h("Bitte löse zuerst das Captcha.");return}localStorage.setItem("guest_display_name",r.trim()),x(!0);try{await n({guest_name:r.trim(),captcha_token:i}),t()}catch(O){h(O.message||"Eintragen fehlgeschlagen.")}finally{x(!1)}};return s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-slate-950/80 backdrop-blur-sm",children:s.jsxs("div",{className:"glass-panel w-full max-w-md rounded-2xl border border-slate-800 p-6 shadow-2xl relative animate-in fade-in zoom-in-95 duration-200",children:[s.jsx("button",{onClick:t,className:"absolute top-4 right-4 p-2 text-slate-400 hover:text-white rounded-lg transition",children:s.jsx(Sd,{className:"w-5 h-5"})}),s.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[s.jsx("div",{className:"w-10 h-10 rounded-xl bg-blue-500/10 text-blue-400 border border-blue-500/20 flex items-center justify-center",children:s.jsx(Nd,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-bold text-lg text-white",children:"Als Gast eintragen"}),s.jsxs("p",{className:"text-xs text-slate-400",children:["Schicht: ",e==null?void 0:e.title," (",e==null?void 0:e.start_time," - ",e==null?void 0:e.end_time,")"]})]})]}),d&&s.jsxs("div",{className:"mb-4 p-3 rounded-xl bg-red-500/10 border border-red-500/20 text-red-400 text-xs flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:d})]}),s.jsxs("form",{onSubmit:y,className:"space-y-4",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-slate-300 mb-1",children:"Dein Name / Anzeigename"}),s.jsx("input",{type:"text",required:!0,value:r,onChange:v=>l(v.target.value),placeholder:"z. B. Alex Muster",className:"w-full px-3.5 py-2.5 rounded-xl bg-slate-900 border border-slate-800 text-white text-sm focus:outline-none focus:border-blue-500 transition"}),s.jsx("p",{className:"text-[11px] text-slate-500 mt-1",children:"Dein Name wird in deiner Sitzung gespeichert. Falls du später ein Konto mit diesem Namen erstellst, werden deine Gast-Schichten automatisch übertragen!"})]}),s.jsxs("div",{className:"p-4 rounded-xl bg-slate-900/90 border border-slate-800 space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("span",{className:"text-xs font-semibold text-slate-300 flex items-center gap-1.5",children:[s.jsx(Tp,{className:"w-4 h-4 text-emerald-400"})," Security Check (acaptcha.vercel.app)"]}),s.jsx("a",{href:"https://acaptcha.vercel.app/",target:"_blank",rel:"noreferrer",className:"text-[10px] text-blue-400 hover:underline",children:"Website öffnen"})]}),s.jsxs("div",{className:"border border-dashed border-slate-700 rounded-lg p-3 text-center bg-slate-950/60",children:[s.jsx("iframe",{src:"https://acaptcha.vercel.app/",title:"acaptcha",className:"w-full h-16 border-0 rounded"}),s.jsx("div",{className:"mt-2 flex items-center justify-center gap-2",children:a?s.jsxs("div",{className:"text-xs font-medium text-emerald-400 flex items-center gap-1",children:[s.jsx(gt,{className:"w-4 h-4"})," Captcha erfolgreich verifiziert!"]}):s.jsxs("button",{type:"button",onClick:N,className:"px-3 py-1.5 text-xs font-semibold rounded-lg bg-emerald-600 hover:bg-emerald-500 text-white transition flex items-center gap-1",children:[s.jsx(gt,{className:"w-3.5 h-3.5"})," Captcha gelöst bestätigen"]})})]})]}),s.jsxs("div",{className:"pt-2 flex justify-end gap-2",children:[s.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 rounded-xl text-xs font-semibold text-slate-400 hover:bg-slate-800 transition",children:"Abbrechen"}),s.jsx("button",{type:"submit",disabled:g,className:"px-5 py-2 rounded-xl text-xs font-bold bg-blue-600 hover:bg-blue-500 text-white transition shadow-lg shadow-blue-600/30 disabled:opacity-50",children:g?"Eintragen...":"Jetzt eintragen"})]})]})]})})}const Op="/api",bi=()=>localStorage.getItem("auth_token"),rr=e=>{e?localStorage.setItem("auth_token",e):localStorage.removeItem("auth_token")},$=async(e,t={})=>{const n=bi(),r={"Content-Type":"application/json",...n?{Authorization:`Token ${n}`}:{},...t.headers},l=await fetch(`${Op}${e}`,{...t,headers:r}),i=l.headers.get("content-type");let o=null;if(i&&i.includes("application/json")&&(o=await l.json()),!l.ok){let a="Ein Fehler ist aufgetreten.";throw o&&(typeof o.error=="string"?a=o.error:typeof o.detail=="string"?a=o.detail:o.email?a=Array.isArray(o.email)?o.email[0]:o.email:o.username?a=Array.isArray(o.username)?o.username[0]:o.username:o.non_field_errors&&(a=o.non_field_errors[0])),new Error(a)}return o};function Ip({onClose:e,onSuccess:t,claimToken:n,prefilledGuestName:r}){const[l,i]=k.useState(!!(n||r)),[o,a]=k.useState(""),[u,d]=k.useState(""),[h,g]=k.useState(""),[x,N]=k.useState(r||""),[y,v]=k.useState(null),[O,f]=k.useState(""),[c,m]=k.useState(!1);k.useEffect(()=>{w()},[]);const w=async()=>{try{const _=await $("/users/restriction-setting/");v(_)}catch{}},S=async _=>{_.preventDefault(),f(""),m(!0);try{if(l){const E={username:o,email:u,password:h,display_name:x||o};n&&(E.claim_token=n);const C=await $("/users/register/",{method:"POST",body:JSON.stringify(E)});if(C.requires_verification||C.requires_approval||!C.token){t(null,C.message||"Konto erfolgreich registriert! Bitte schau in deine E-Mail zur Bestätigung oder warte auf die Admin-Freischaltung."),e();return}rr(C.token),t(C.user,C.message)}else{const E=await $("/users/login/",{method:"POST",body:JSON.stringify({username:o,password:h})});rr(E.token),t(E.user,"Erfolgreich angemeldet!")}e()}catch(E){f(E.message||"Authentifizierung fehlgeschlagen.")}finally{m(!1)}};return s.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 backdrop-blur-sm",children:s.jsxs("div",{className:"hallmark-panel w-full max-w-md rounded-sm border border-grid p-6 shadow-2xl relative animate-in fade-in zoom-in-95 duration-200",children:[s.jsx("button",{onClick:e,className:"absolute top-4 right-4 p-2 text-muted hover:text-main rounded-sm transition",children:s.jsx(Sd,{className:"w-5 h-5"})}),s.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-blue-500/10 text-blue-500 border border-blue-500/20 flex items-center justify-center",children:s.jsx(al,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-serif font-bold text-lg text-main",children:l?"Konto erstellen":"Anmelden"}),s.jsx("p",{className:"text-xs text-muted font-sans",children:l?"Erstelle einen Account für volle Funktionen & Schichteinsicht":"Melde dich an, um Events zu verwalten"})]})]}),r&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs flex items-center gap-2 font-mono",children:[s.jsx(kd,{className:"w-4 h-4 shrink-0 text-amber-500"}),s.jsxs("span",{children:["Einladung für Gast: ",s.jsx("strong",{children:r}),". Die Schicht wird deinem neuen Konto zugewiesen!"]})]}),(y==null?void 0:y.is_restriction_enabled)&&l&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-indigo-500/10 border border-indigo-500/20 text-indigo-400 text-xs flex items-center gap-2 font-mono",children:[s.jsx(Cp,{className:"w-4 h-4 shrink-0 text-indigo-400"}),s.jsxs("span",{children:["Registrierungen beschränkt auf: ",s.jsx("strong",{children:y.active_domains.join(", ")})]})]}),O&&s.jsxs("div",{className:"mb-4 p-3 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs flex items-center gap-2 font-mono",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:O})]}),!l&&!1,s.jsxs("form",{onSubmit:S,className:"space-y-4 font-sans",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Benutzername"}),s.jsxs("div",{className:"relative",children:[s.jsx(al,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"text",required:!0,value:o,onChange:_=>a(_.target.value),placeholder:"z. B. max_muster",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),l&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"E-Mail-Adresse"}),s.jsxs("div",{className:"relative",children:[s.jsx(ji,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"email",required:!0,value:u,onChange:_=>d(_.target.value),placeholder:"max@beispiel.de",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Anzeigename (für Schichtlisten)"}),s.jsxs("div",{className:"relative",children:[s.jsx(al,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"text",value:x,onChange:_=>N(_.target.value),placeholder:"z. B. Max M.",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-xs font-semibold text-main mb-1 font-mono",children:"Passwort"}),s.jsxs("div",{className:"relative",children:[s.jsx(kp,{className:"w-4 h-4 absolute left-3 top-3 text-muted"}),s.jsx("input",{type:"password",required:!0,value:h,onChange:_=>g(_.target.value),placeholder:"••••••••",className:"w-full pl-9 pr-3.5 py-2 rounded-sm input-field text-sm font-mono"})]})]}),s.jsx("button",{type:"submit",disabled:c,style:{backgroundColor:"var(--brand-primary)"},className:"w-full py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm",children:c?"Verarbeite...":l?"Registrieren":"Anmelden"})]}),s.jsx("div",{className:"mt-4 pt-4 border-t border-grid text-center",children:s.jsx("button",{type:"button",onClick:()=>{i(!l),f("")},className:"text-xs font-mono text-muted hover:text-main transition",children:l?"Bereits ein Konto? Hier anmelden":"Noch kein Konto? Jetzt registrieren"})})]})})}function $p({events:e,user:t,onSelectEvent:n,onOpenCreateEvent:r,onToggleEventActive:l,onEditEvent:i,branding:o}){const[a,u]=k.useState(""),[d,h]=k.useState("all"),g=new Date().toISOString().split("T")[0],x=e.filter(c=>c.title.toLowerCase().includes(a.toLowerCase())||c.description&&c.description.toLowerCase().includes(a.toLowerCase())||c.location&&c.location.toLowerCase().includes(a.toLowerCase())?d==="upcoming"?c.end_date>=g:!0:!1),N=(o==null?void 0:o.primary_color)||"var(--brand-primary)",y=(o==null?void 0:o.show_community_info_box)??!0,v=(o==null?void 0:o.show_support_box)??!0,O=y||v,f=t&&(t.is_admin_user||t.is_staff||t.is_superuser);return s.jsxs("div",{className:"space-y-8 animate-in fade-in duration-200",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-10 space-y-6 max-w-5xl mx-auto relative border border-grid",children:[s.jsxs("div",{className:"space-y-2 border-b border-grid pb-6",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"font-mono text-[10px] uppercase tracking-widest text-muted border border-grid px-2.5 py-1 rounded-sm inline-block",children:(o==null?void 0:o.app_name)||"SCHICHT- & EVENTPORTAL"}),(o==null?void 0:o.custom_banner_text)&&s.jsxs("span",{className:"font-mono text-[10px] uppercase tracking-widest text-amber-500 bg-amber-500/10 border border-amber-500/20 px-2.5 py-1 rounded-sm inline-block font-bold",children:["📢 ",o.custom_banner_text]})]}),s.jsx("h2",{className:"font-serif text-3xl sm:text-5xl font-bold uppercase tracking-tight text-main leading-tight",children:"Veranstaltungen & Schichtkoordination"}),s.jsx("p",{className:"font-sans text-xs sm:text-sm text-muted max-w-2xl",children:"Hier findest du aktuelle Termine, Arbeitsgruppen, Bar- & Tresendienste und Schichtpläne der Initiative."})]}),s.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center justify-between gap-3",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx(vd,{className:"w-4 h-4 absolute left-3.5 top-3 text-muted"}),s.jsx("input",{type:"text",value:a,onChange:c=>u(c.target.value),placeholder:"Veranstaltung, Ort oder Suchbegriff...",className:"w-full pl-10 pr-16 py-2 rounded-sm bg-subtle border border-grid text-main text-xs font-mono focus:outline-none focus:border-muted"}),a&&s.jsx("button",{onClick:()=>u(""),className:"absolute right-3 top-2.5 text-[10px] font-mono text-muted hover:text-main",children:"[ CLEAR ]"})]}),s.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-xs shrink-0",children:[s.jsxs("button",{onClick:()=>h("all"),className:`px-3.5 py-1.5 rounded-sm transition border ${d==="all"?"bg-surface-hover text-main border-grid font-bold shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:["ALLE PROGRAMME (",e.length,")"]}),s.jsxs("button",{onClick:()=>h("upcoming"),className:`px-3.5 py-1.5 rounded-sm transition border ${d==="upcoming"?"bg-surface-hover text-main border-grid font-bold shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:["ANSTEHEND (",e.filter(c=>c.end_date>=g).length,")"]})]})]})]}),s.jsxs("div",{className:"max-w-5xl mx-auto grid grid-cols-1 lg:grid-cols-4 gap-6",children:[s.jsxs("div",{className:`${O?"lg:col-span-3":"lg:col-span-4"} space-y-4`,children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-3 font-mono",children:[s.jsxs("h3",{className:"font-serif text-xl font-bold uppercase tracking-wide text-main flex items-center gap-2",children:[s.jsx(Tr,{className:"w-4.5 h-4.5 text-muted"})," Termine & Schichten"]}),t&&s.jsxs("button",{onClick:r,style:{backgroundColor:N},className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1 hover:brightness-110 shadow-sm",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," EVENT ANLEGEN"]})]}),x.length===0?s.jsx("div",{className:"hallmark-panel rounded-sm p-12 text-center text-xs font-mono text-muted border border-grid",children:a?`[ Keinen Eintrag für "${a}" gefunden ]`:"[ Keine Veranstaltungen vorhanden ]"}):s.jsx("div",{className:`grid grid-cols-1 sm:grid-cols-2 ${O?"":"lg:grid-cols-3"} gap-4`,children:x.map(c=>{var E,C,B;const m=((E=c.task_areas)==null?void 0:E.length)||0,w=((C=c.task_areas)==null?void 0:C.reduce((A,le)=>{var L;return A+(((L=le.shifts)==null?void 0:L.length)||0)},0))||0,S=t&&(c.created_by===t.id||((B=c.created_by)==null?void 0:B.id)===t.id),_=f||S;return s.jsxs("div",{className:`hallmark-card rounded-sm p-5 border transition flex flex-col justify-between space-y-4 group overflow-hidden ${c.is_active===!1?"border-amber-500/40 opacity-80 bg-subtle":"border-grid"}`,children:[s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between text-[11px] font-mono text-muted gap-2",children:[s.jsxs("span",{className:"flex items-center gap-1 bg-subtle px-2 py-0.5 rounded-sm border border-grid font-bold shrink-0",children:[s.jsx(kr,{className:"w-3 h-3 text-muted"}),new Date(c.start_date).toLocaleDateString("de-DE")]}),c.is_active===!1?s.jsx("span",{className:"text-amber-500 font-bold px-1.5 py-0.5 rounded-sm bg-amber-500/10 border border-amber-500/20 shrink-0",children:"[ DEAKTIVIERT ]"}):c.location?s.jsxs("span",{className:"flex items-center gap-1 text-muted truncate max-w-[130px]",children:[s.jsx(ko,{className:"w-3 h-3 shrink-0"}),s.jsx("span",{className:"truncate",children:c.location})]}):null]}),s.jsx("h4",{className:"font-serif text-lg font-bold uppercase text-main group-hover:text-amber-500 transition line-clamp-2",children:c.title}),c.description&&s.jsx("p",{className:"text-xs text-muted font-sans line-clamp-2",children:c.description}),s.jsxs("div",{className:"text-[10px] font-mono text-muted flex items-center gap-1.5 pt-1",children:[s.jsxs("span",{children:[m," Bereiche"]}),s.jsx("span",{children:"/"}),s.jsxs("span",{children:[w," Schichten"]})]})]}),s.jsx("div",{className:"pt-3 border-t border-grid space-y-2 font-mono",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsxs("button",{onClick:()=>n(c.id),className:"flex-1 min-w-[110px] py-1.5 px-3 rounded-sm text-xs font-mono font-bold bg-surface hover:bg-surface-hover text-main border border-grid transition flex items-center justify-center gap-1",children:["Schichtplan ",s.jsx(gd,{className:"w-3.5 h-3.5"})]}),_&&i&&s.jsxs("button",{onClick:()=>i(c),className:"py-1.5 px-2.5 rounded-sm text-[10px] font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1 shrink-0",title:"Veranstaltung & Schichten bearbeiten",children:[s.jsx(Sr,{className:"w-3.5 h-3.5"})," BEARBEITEN"]}),_&&l&&s.jsx("button",{onClick:()=>l(c),className:`py-1.5 px-2 rounded-sm text-[10px] font-mono font-bold transition flex items-center gap-1 border shrink-0 ${c.is_active!==!1?"bg-amber-500/10 text-amber-500 border-amber-500/20 hover:bg-amber-500/20":"bg-emerald-500/10 text-emerald-400 border-emerald-500/20 hover:bg-emerald-500/20"}`,title:c.is_active!==!1?"Deaktivieren":"Aktivieren",children:c.is_active!==!1?s.jsx(yd,{className:"w-3.5 h-3.5"}):s.jsx(gt,{className:"w-3.5 h-3.5"})})]})})]},c.id)})})]}),O&&s.jsxs("div",{className:"space-y-4 font-mono text-xs",children:[y&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid space-y-3",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase tracking-wide text-main border-b border-grid pb-2",children:(o==null?void 0:o.community_info_title)||"📌 Verein & Infos"}),s.jsx("div",{className:"space-y-2 text-muted text-[11px] whitespace-pre-line",children:(o==null?void 0:o.community_info_text)||`Initiative e.V. Hausverein +Offene Angebote, DIY-Kultur & engagierte Schichten.`})]}),v&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid space-y-3",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase tracking-wide text-main border-b border-grid pb-2",children:(o==null?void 0:o.support_box_title)||"❤️ Unterstützen"}),s.jsx("p",{className:"text-[11px] text-muted whitespace-pre-line",children:(o==null?void 0:o.support_box_text)||"Hilf mit als Helfer*in an der Bar, beim Essen kochen oder beim Auf- & Abbau."})]})]})]})]})}function Fp({events:e,onSelectEvent:t,branding:n}){const[r,l]=k.useState(new Date),[i,o]=k.useState(null),a=r.getFullYear(),u=r.getMonth(),d=["JANUAR","FEBRUAR","MÄRZ","APRIL","MAI","JUNI","JULI","AUGUST","SEPTEMBER","OKTOBER","NOVEMBER","DEZEMBER"],h=()=>l(new Date(a,u-1,1)),g=()=>l(new Date(a,u+1,1)),x=()=>l(new Date),N=new Date(a,u,1).getDay(),y=N===0?6:N-1,v=new Date(a,u+1,0).getDate(),O=m=>{const w=String(u+1).padStart(2,"0"),S=String(m).padStart(2,"0");return`${a}-${w}-${S}`},f=m=>{const w=O(m);return e.filter(S=>w>=S.start_date&&w<=S.end_date)},c=(n==null?void 0:n.primary_color)||"var(--brand-primary)";return s.jsxs("div",{className:"space-y-6 max-w-5xl mx-auto animate-in fade-in duration-200",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid flex flex-col sm:flex-row sm:items-center justify-between gap-4 font-mono",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-subtle text-main border border-grid flex items-center justify-center font-bold",children:s.jsx(Tr,{className:"w-4 h-4 text-amber-500"})}),s.jsxs("div",{children:[s.jsxs("h2",{className:"font-serif text-3xl sm:text-4xl font-bold uppercase tracking-tight text-main leading-none",children:[d[u]," ",a]}),s.jsx("p",{className:"text-[10px] text-muted uppercase tracking-widest mt-1",children:"— INITIATIVE E.V. TERMIN- & SCHICHTÜBERSICHT —"})]})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{onClick:x,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-surface hover:bg-surface-hover text-main border border-grid transition",children:"[ HEUTE ]"}),s.jsx("button",{onClick:h,className:"p-1.5 rounded-sm text-muted hover:text-main bg-surface border border-grid transition",title:"Vorheriger Monat",children:s.jsx(gp,{className:"w-4 h-4"})}),s.jsx("button",{onClick:g,className:"p-1.5 rounded-sm text-muted hover:text-main bg-surface border border-grid transition",title:"Nächster Monat",children:s.jsx(yp,{className:"w-4 h-4"})})]})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm border border-grid overflow-hidden",children:[s.jsxs("div",{className:"grid grid-cols-7 bg-subtle border-b border-grid text-center text-xs font-mono text-muted font-bold py-3 uppercase",children:[s.jsx("div",{children:"MO"}),s.jsx("div",{children:"DI"}),s.jsx("div",{children:"MI"}),s.jsx("div",{children:"DO"}),s.jsx("div",{children:"FR"}),s.jsx("div",{children:"SA"}),s.jsx("div",{children:"SO"})]}),s.jsxs("div",{className:"grid grid-cols-7 auto-rows-fr divide-x divide-y divide-grid bg-surface text-xs font-mono",children:[Array.from({length:y}).map((m,w)=>s.jsx("div",{className:"min-h-[100px] sm:min-h-[110px] p-2 bg-subtle/50 text-muted opacity-30"},`offset-${w}`)),Array.from({length:v}).map((m,w)=>{const S=w+1,_=f(S),E=new Date().getFullYear()===a&&new Date().getMonth()===u&&new Date().getDate()===S;return s.jsxs("div",{className:`min-h-[100px] sm:min-h-[110px] p-2 flex flex-col justify-between transition ${E?"bg-surface-hover/80 font-bold":"hover:bg-surface-hover/50"}`,children:[s.jsxs("div",{className:"flex items-center justify-between mb-1",children:[s.jsx("span",{className:`w-5 h-5 rounded-sm flex items-center justify-center font-mono text-xs ${E?"bg-main text-paper font-bold shadow-sm":"text-muted"}`,children:S}),_.length>0&&s.jsxs("span",{className:"text-[9px] font-mono text-muted",children:[_.length," ",_.length===1?"Event":"Events"]})]}),s.jsx("div",{className:"space-y-1.5 overflow-y-auto max-h-[70px] no-scrollbar",children:_.map(C=>{const B=(i==null?void 0:i.id)===C.id;return s.jsx("button",{onClick:()=>o(C),style:{backgroundColor:B?c:`${c}15`,borderColor:`${c}40`,color:B?"#ffffff":c},className:`w-full text-left px-2 py-1 rounded-sm text-[10px] font-mono font-bold border truncate block hover:brightness-110 transition shadow-sm ${C.is_active===!1?"opacity-50 line-through":""}`,children:C.title},`evt-${C.id}`)})})]},`day-${S}`)})]})]}),i&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid flex flex-col sm:flex-row sm:items-center justify-between gap-4 font-mono animate-in fade-in duration-200",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted",children:[s.jsxs("span",{className:"flex items-center gap-1 bg-subtle px-2 py-0.5 rounded-sm border border-grid font-bold text-main",children:[s.jsx(kr,{className:"w-3 h-3 text-muted"}),new Date(i.start_date).toLocaleDateString("de-DE")," — ",new Date(i.end_date).toLocaleDateString("de-DE")]}),i.location&&s.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[s.jsx(ko,{className:"w-3 h-3"}),i.location]})]}),s.jsx("h3",{className:"font-serif text-2xl font-bold uppercase text-main",children:i.title}),i.description&&s.jsx("p",{className:"text-xs font-sans text-muted max-w-xl",children:i.description})]}),s.jsx("div",{className:"flex items-center gap-2 shrink-0",children:s.jsxs("button",{onClick:()=>t(i.id),style:{backgroundColor:c},className:"px-5 py-2 rounded-sm text-xs font-mono font-bold text-white transition flex items-center gap-1.5 hover:brightness-110 shadow-sm",children:["SCHICHTPLAN ÖFFNEN ",s.jsx(gd,{className:"w-4 h-4"})]})})]})]})}function Vp({branding:e,onRefreshBranding:t,onRefreshEvents:n,skills:r,onRefreshSkills:l}){const[i,o]=k.useState("users"),[a,u]=k.useState(!0),[d,h]=k.useState(""),[g,x]=k.useState(""),[N,y]=k.useState([]),[v,O]=k.useState(""),[f,c]=k.useState([]),[m,w]=k.useState(!1),[S,_]=k.useState(!1),[E,C]=k.useState(!0),[B,A]=k.useState([]),[le,L]=k.useState(""),[M,F]=k.useState([]),[q,W]=k.useState([]),[he,P]=k.useState(""),[I,j]=k.useState(""),[R,H]=k.useState("#E05A47"),[J,Y]=k.useState((e==null?void 0:e.app_name)||"Veranstaltungsschichtplaner"),[K,de]=k.useState((e==null?void 0:e.logo_url)||""),[et,Pr]=k.useState((e==null?void 0:e.primary_color)||"#E05A47"),[zr,ql]=k.useState((e==null?void 0:e.custom_banner_text)||""),[Vt,Yl]=k.useState((e==null?void 0:e.show_community_info_box)??!0),[vt,Zl]=k.useState((e==null?void 0:e.community_info_title)||"📌 Verein & Infos"),[Lr,Jl]=k.useState((e==null?void 0:e.community_info_text)||`Initiative e.V. Hausverein +Offene Angebote, DIY-Kultur & engagierte Schichten.`),[Bt,Xl]=k.useState((e==null?void 0:e.show_support_box)??!0),[T,D]=k.useState((e==null?void 0:e.support_box_title)||"❤️ Unterstützen"),[ee,ot]=k.useState((e==null?void 0:e.support_box_text)||"Hilf mit als Helfer*in an der Bar, beim Essen kochen oder beim Auf- & Abbau."),[Z,No]=k.useState(!1),[Dn,So]=k.useState(!1),[jo,bo]=k.useState("smtp.beispiel.de"),[_o,Eo]=k.useState(587),[Co,To]=k.useState(""),[Po,zo]=k.useState(""),[Lo,es]=k.useState(!0),[Mo,ts]=k.useState(!1),[Ao,Do]=k.useState("noreply@schichtplaner.de"),[Ro,jd]=k.useState(""),[ns,bd]=k.useState(!1),[Oo,Io]=k.useState(!1),[$o,Fo]=k.useState(!1);k.useEffect(()=>{Vo()},[]);const Vo=async()=>{u(!0);try{try{const p=await $("/users/manage-users/");y(p.results||p)}catch{}try{const p=await $("/users/pending/");c(p.results||p)}catch{}try{const p=await $("/users/restriction-setting/");w(p.is_restriction_enabled),_(p.require_admin_approval),C(p.require_email_verification??!0)}catch{}try{const p=await $("/users/domain-rules/");A(p.results||p)}catch{}try{const p=await $("/events/");F(p.results||p)}catch{}try{const p=await $("/templates/");W(p.results||p)}catch{}try{const p=await $("/users/smtp-setting/");p&&(So(p.is_active??!1),bo(p.host||""),Eo(p.port||587),To(p.username||""),zo(p.password||""),es(p.use_tls??!0),ts(p.use_ssl??!1),Do(p.from_email||""))}catch{}}catch(p){h(p.message||"Laden der Admin-Daten fehlgeschlagen.")}finally{u(!1)}},Ae=p=>{x(p),setTimeout(()=>x(""),4e3)},_d=async p=>{try{const U=await $(`/users/manage-users/${p.id}/`,{method:"PATCH",body:JSON.stringify({is_admin_user:!p.is_admin_user})});y(N.map(wt=>wt.id===p.id?U:wt)),Ae(`Admin-Rechte für ${p.username} aktualisiert.`)}catch(U){h(U.message||"Fehler beim Aktualisieren.")}},Ed=async p=>{try{const U=await $(`/users/manage-users/${p.id}/`,{method:"PATCH",body:JSON.stringify({is_approved:!p.is_approved})});y(N.map(wt=>wt.id===p.id?U:wt)),Ae(`Freischalt-Status für ${p.username} aktualisiert.`)}catch(U){h(U.message||"Fehler beim Aktualisieren.")}},Cd=async p=>{try{await $(`/users/${p}/approve/`,{method:"POST"}),c(f.filter(U=>U.id!==p)),Vo(),Ae("Benutzer erfolgreich freigeschaltet.")}catch(U){h(U.message||"Freischalten fehlgeschlagen.")}},Td=async p=>{try{await $(`/users/${p}/approve/`,{method:"DELETE"}),c(f.filter(U=>U.id!==p)),Ae("Benutzer abgelehnt und gelöscht.")}catch(U){h(U.message||"Ablehnen fehlgeschlagen.")}},rs=async(p,U)=>{try{const ls=await $("/users/restriction-setting/",{method:"POST",body:JSON.stringify({is_restriction_enabled:p==="restriction"?U:m,require_admin_approval:p==="approval"?U:S,require_email_verification:p==="email_verify"?U:E})});w(ls.is_restriction_enabled),_(ls.require_admin_approval),C(ls.require_email_verification),Ae("Sicherheitseinstellungen aktualisiert.")}catch(wt){h(wt.message||"Aktualisierung fehlgeschlagen.")}},Pd=async p=>{if(p.preventDefault(),!!le.trim())try{const U=await $("/users/domain-rules/",{method:"POST",body:JSON.stringify({domain:le})});A([...B,U]),L(""),Ae(`Domain-Regel "${U.domain}" hinzugefügt.`)}catch(U){h(U.message||"Fehler beim Hinzufügen.")}},zd=async p=>{try{await $(`/users/domain-rules/${p}/`,{method:"DELETE"}),A(B.filter(U=>U.id!==p)),Ae("Domain-Regel entfernt.")}catch(U){h(U.message||"Fehler beim Löschen.")}},Ld=async p=>{if(p.preventDefault(),!!he.trim())try{await $("/skills/",{method:"POST",body:JSON.stringify({name:he,description:I,color:R})}),P(""),j(""),l(),Ae("Qualifikation angelegt.")}catch(U){h(U.message||"Fehler beim Anlegen.")}},Md=async p=>{try{await $(`/skills/${p}/`,{method:"DELETE"}),l(),Ae("Qualifikation gelöscht.")}catch(U){h(U.message||"Fehler beim Löschen.")}},Ad=async p=>{try{await $(`/templates/${p}/`,{method:"DELETE"}),W(q.filter(U=>U.id!==p)),Ae("Vorlage gelöscht.")}catch(U){h(U.message||"Fehler beim Löschen.")}},Dd=async p=>{p.preventDefault(),No(!0);try{await $("/branding/",{method:"POST",body:JSON.stringify({app_name:J,logo_url:K,primary_color:et,custom_banner_text:zr,show_community_info_box:Vt,community_info_title:vt,community_info_text:Lr,show_support_box:Bt,support_box_title:T,support_box_text:ee})}),t(),Ae("Branding-Einstellungen erfolgreich gespeichert!")}catch(U){h(U.message||"Speichern des Brandings fehlgeschlagen.")}finally{No(!1)}},Rd=async p=>{p.preventDefault(),Io(!0);try{await $("/users/smtp-setting/",{method:"POST",body:JSON.stringify({is_active:Dn,host:jo,port:parseInt(_o)||587,username:Co,password:Po,use_tls:Lo,use_ssl:Mo,from_email:Ao})}),Ae("✅ SMTP-Einstellungen erfolgreich gespeichert!")}catch(U){h(U.message||"Speichern der SMTP-Einstellungen fehlgeschlagen.")}finally{Io(!1)}},Od=async()=>{Fo(!0);try{const p=await $("/users/smtp-setting/test/",{method:"POST",body:JSON.stringify({email:Ro})});Ae(`✅ ${p.message||"Test-E-Mail erfolgreich gesendet!"}`)}catch(p){h(p.message||"Test-E-Mail fehlgeschlagen.")}finally{Fo(!1)}},Bo=N.filter(p=>p.username.toLowerCase().includes(v.toLowerCase())||p.email.toLowerCase().includes(v.toLowerCase())||p.display_name&&p.display_name.toLowerCase().includes(v.toLowerCase()));return s.jsxs("div",{className:"space-y-6 max-w-5xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-2",children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-indigo-500/10 text-indigo-500 border border-indigo-500/20 flex items-center justify-center font-bold",children:s.jsx(wd,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:"System Administration"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Verwaltung von Benutzern, Freischaltungen, Events, Vorlagen, Branding & SMTP-Mailserver"})]})]})}),s.jsx("div",{className:"border-b border-grid pb-2",children:s.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-xs overflow-x-auto no-scrollbar",children:[s.jsxs("button",{onClick:()=>o("users"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="users"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Mp,{className:"w-3.5 h-3.5 text-blue-400"})," [ 01: BENUTZER & SICHERHEIT (",N.length,") ]"]}),s.jsxs("button",{onClick:()=>o("events"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="events"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Tr,{className:"w-3.5 h-3.5 text-emerald-400"})," [ 02: VERANSTALTUNGEN (",M.length,") ]"]}),s.jsxs("button",{onClick:()=>o("templates"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="templates"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(Nr,{className:"w-3.5 h-3.5 text-amber-400"})," [ 03: VORLAGEN & SKILLS ]"]}),s.jsxs("button",{onClick:()=>o("branding"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="branding"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(eu,{className:"w-3.5 h-3.5 text-indigo-400"})," [ 04: BRANDING & SYSTEM ]"]}),s.jsxs("button",{onClick:()=>o("smtp"),className:`px-4 py-2 rounded-sm transition flex items-center gap-2 border ${i==="smtp"?"bg-surface-hover text-main font-bold border-grid shadow-sm":"bg-subtle text-muted border-transparent hover:text-main"}`,children:[s.jsx(ji,{className:"w-3.5 h-3.5 text-purple-400"})," [ 05: E-MAIL & SMTP ]"]})]})}),d&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:d})]}),g&&s.jsxs("div",{className:"p-4 rounded-sm bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-xs font-mono flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:g})]}),i==="users"&&s.jsxs("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:[f.length>0&&s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-amber-500/40 bg-amber-500/5 space-y-3",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-amber-500 flex items-center gap-2 border-b border-amber-500/20 pb-2",children:["⚠️ Ausstehende Registrierungen (",f.length,")"]}),s.jsx("div",{className:"space-y-2",children:f.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-surface border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"font-bold text-main",children:[p.display_name," (@",p.username,")"]}),s.jsx("div",{className:"text-[11px] text-muted",children:p.email})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{onClick:()=>Cd(p.id),className:"px-3 py-1 rounded-sm bg-emerald-600 hover:bg-emerald-500 text-white font-bold text-xs",children:"[ FREISCHALTEN ]"}),s.jsx("button",{onClick:()=>Td(p.id),className:"px-3 py-1 rounded-sm bg-red-600/20 text-red-400 hover:bg-red-600/30 border border-red-600/30 font-bold text-xs",children:"[ ABLEHNEN ]"})]})]},p.id))})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid flex items-center gap-3",children:[s.jsx(vd,{className:"w-4 h-4 text-muted shrink-0"}),s.jsx("input",{type:"text",value:v,onChange:p=>O(p.target.value),placeholder:"Nutzer suchen nach Name, Username oder E-Mail...",className:"w-full bg-subtle border border-grid px-3 py-1.5 rounded-sm text-xs font-mono text-main focus:outline-none focus:border-muted"}),v&&s.jsx("button",{onClick:()=>O(""),className:"text-xs text-muted hover:text-main font-mono shrink-0",children:"[ CLEAR ]"})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Benutzerkonten & Rechtestatus (",Bo.length,")"]}),s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full text-left border-collapse text-xs",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-grid text-muted uppercase text-[10px]",children:[s.jsx("th",{className:"pb-2 font-bold",children:"Nutzer"}),s.jsx("th",{className:"pb-2 font-bold",children:"E-Mail"}),s.jsx("th",{className:"pb-2 font-bold",children:"Freigeschaltet"}),s.jsx("th",{className:"pb-2 font-bold",children:"E-Mail Bestätigt"}),s.jsx("th",{className:"pb-2 font-bold",children:"Admin-Rolle"}),s.jsx("th",{className:"pb-2 font-bold text-right",children:"Aktionen"})]})}),s.jsx("tbody",{className:"divide-y divide-grid",children:Bo.map(p=>s.jsxs("tr",{className:"hover:bg-subtle/50 transition",children:[s.jsxs("td",{className:"py-2.5 font-bold text-main",children:[p.display_name||p.username,s.jsxs("span",{className:"text-[10px] text-muted font-normal block",children:["@",p.username]})]}),s.jsx("td",{className:"py-2.5 text-muted",children:p.email}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_approved?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:p.is_approved?"JA":"NEIN"})}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_email_verified?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-subtle text-muted border-grid"}`,children:p.is_email_verified?"VERIFIZIERT":"AUSSTEHEND"})}),s.jsx("td",{className:"py-2.5",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_admin_user||p.is_superuser?"bg-indigo-500/10 text-indigo-400 border-indigo-500/20":"bg-subtle text-muted border-grid"}`,children:p.is_superuser?"SUPERUSER":p.is_admin_user?"ADMIN":"USER"})}),s.jsxs("td",{className:"py-2.5 text-right space-x-1",children:[s.jsx("button",{onClick:()=>Ed(p),className:"px-2 py-1 rounded-sm text-[10px] bg-subtle hover:bg-surface-hover border border-grid text-main transition",children:p.is_approved?"Sperren":"Freischalten"}),s.jsx("button",{onClick:()=>_d(p),className:"px-2 py-1 rounded-sm text-[10px] bg-subtle hover:bg-surface-hover border border-grid text-indigo-400 transition",children:p.is_admin_user?"Admin entziehen":"Zu Admin machen"})]})]},p.id))})]})})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"Sicherheit & Registrierungs-Einschränkungen"}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"E-Mail Bestätigung (Opt-Out)"}),s.jsx("button",{onClick:()=>rs("email_verify",!E),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${E?"bg-emerald-600 text-white border-emerald-500":"bg-amber-500/10 text-amber-500 border-amber-500/20"}`,children:E?"[ PFLICHT ]":"[ DEAKTIVIERT ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Bei Pflicht muss die E-Mail vor der Anmeldung verifiziert werden. Bei Deaktivierung ist die Anmeldung direkt möglich."})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"Domain-Einschränkung"}),s.jsx("button",{onClick:()=>rs("restriction",!m),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${m?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:m?"[ AKTIV ]":"[ INAKTIV ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Erlaubt nur Registrierungen von festgelegten E-Mail-Domains (z. B. `@verein.de`)."})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("span",{className:"font-bold text-main",children:"Admin-Freischaltpflicht"}),s.jsx("button",{onClick:()=>rs("approval",!S),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${S?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:S?"[ AKTIV ]":"[ INAKTIV ]"})]}),s.jsx("p",{className:"text-[11px] text-muted font-sans",children:"Erfordert die manuelle Freischaltung durch einen Admin vor der ersten Anmeldung."})]})]}),m&&s.jsxs("div",{className:"space-y-3 pt-3 border-t border-grid",children:[s.jsx("h4",{className:"font-serif text-sm font-bold uppercase text-main",children:"Erlaubte E-Mail-Domains"}),s.jsxs("form",{onSubmit:Pd,className:"flex gap-2",children:[s.jsx("input",{type:"text",placeholder:"z. B. verein.de oder @beispiel.org",value:le,onChange:p=>L(p.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsxs("button",{type:"submit",className:"px-4 py-1.5 rounded-sm bg-indigo-600 hover:bg-indigo-500 text-white font-bold text-xs",children:[s.jsx(it,{className:"w-3.5 h-3.5 inline"})," Domain Hinzufügen"]})]}),s.jsx("div",{className:"flex flex-wrap gap-2",children:B.map(p=>s.jsxs("span",{className:"px-2.5 py-1 rounded-sm bg-subtle border border-grid text-xs flex items-center gap-2",children:[s.jsx("strong",{className:"text-main",children:p.domain}),s.jsx("button",{onClick:()=>zd(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-3.5 h-3.5"})})]},p.id))})]})]})]}),i==="events"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Alle Veranstaltungen (",M.length,")"]}),s.jsx("div",{className:"space-y-3",children:M.map(p=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("h4",{className:"font-serif font-bold text-main text-sm",children:p.title}),s.jsxs("p",{className:"text-muted text-[11px]",children:[new Date(p.start_date).toLocaleDateString("de-DE")," — ",p.location||"Kein Ort"," | Erstellt von: ",p.created_by_name||"Admin"]})]}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsx("span",{className:`px-2 py-0.5 rounded-sm text-[10px] font-bold border ${p.is_active!==!1?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:p.is_active!==!1?"AKTIV":"DEAKTIVIERT"})})]},p.id))})]})}),i==="templates"&&s.jsxs("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"Erforderliche Qualifikationen (Skills)"}),s.jsxs("form",{onSubmit:Ld,className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:[s.jsx("input",{type:"text",placeholder:"Skill Name (z. B. Bar-Erfahrung)",required:!0,value:he,onChange:p=>P(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsx("input",{type:"text",placeholder:"Beschreibung (optional)",value:I,onChange:p=>j(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs font-mono"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"color",value:R,onChange:p=>H(p.target.value),className:"w-8 h-8 rounded-sm border-0 cursor-pointer bg-subtle p-0.5"}),s.jsxs("button",{type:"submit",className:"flex-1 px-3 py-1.5 rounded-sm bg-emerald-600 hover:bg-emerald-500 text-white font-bold text-xs",children:[s.jsx(it,{className:"w-3.5 h-3.5 inline"})," Anlegen"]})]})]}),s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 pt-2",children:r.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("span",{style:{color:p.color},className:"font-bold",children:p.name}),p.description&&s.jsx("p",{className:"text-[11px] text-muted",children:p.description})]}),s.jsx("button",{onClick:()=>Md(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-3.5 h-3.5"})})]},p.id))})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-5 border border-grid space-y-4",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:["Gespeicherte Event-Vorlagen (",q.length,")"]}),s.jsx("div",{className:"space-y-2",children:q.map(p=>s.jsxs("div",{className:"p-3 rounded-sm bg-subtle border border-grid flex items-center justify-between text-xs",children:[s.jsxs("div",{children:[s.jsx("div",{className:"font-bold text-main",children:p.name}),s.jsx("div",{className:"text-[11px] text-muted",children:p.description||"Keine Beschreibung"})]}),s.jsx("button",{onClick:()=>Ad(p.id),className:"text-muted hover:text-red-400",children:s.jsx(Yt,{className:"w-4 h-4"})})]},p.id))})]})]}),i==="branding"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("form",{onSubmit:Dd,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-6",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2 flex items-center gap-2",children:[s.jsx(eu,{className:"w-5 h-5 text-indigo-400"})," Portal Branding & Erscheinungsbild"]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Anwendungs-Name"}),s.jsx("input",{type:"text",required:!0,value:J,onChange:p=>Y(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field font-bold"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Primärfarbe (Brand Accent)"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"color",value:et,onChange:p=>Pr(p.target.value),className:"w-9 h-9 rounded-sm border-0 cursor-pointer bg-subtle p-0.5"}),s.jsx("input",{type:"text",value:et,onChange:p=>Pr(p.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field font-mono"})]})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-muted mb-1",children:"Logo Bild-URL (optional)"}),s.jsx("input",{type:"text",placeholder:"https://beispiel.de/logo.png",value:K,onChange:p=>de(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-muted mb-1",children:"Ankündigung (Banner-Text)"}),s.jsx("textarea",{rows:2,placeholder:"z. B. Willkommen beim Sommerfest Schichtplaner!",value:zr,onChange:p=>ql(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]}),s.jsx("h4",{className:"font-serif text-base font-bold uppercase text-main pt-4 border-t border-grid",children:"Startseiten Sidebar Boxen"}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsx("span",{className:"font-bold text-xs uppercase text-main",children:"📌 Verein & Infos Box"}),s.jsx("button",{type:"button",onClick:()=>Yl(!Vt),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Vt?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:Vt?"[ AN ]":"[ AUS ]"})]}),Vt&&s.jsxs("div",{className:"space-y-3 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Titel"}),s.jsx("input",{type:"text",value:vt,onChange:p=>Zl(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Inhalt"}),s.jsx("textarea",{rows:3,value:Lr,onChange:p=>Jl(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]})]}),s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsx("span",{className:"font-bold text-xs uppercase text-main",children:"❤️ Unterstützen Box"}),s.jsx("button",{type:"button",onClick:()=>Xl(!Bt),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Bt?"bg-emerald-600 text-white border-emerald-500":"bg-surface text-muted border-grid"}`,children:Bt?"[ AN ]":"[ AUS ]"})]}),Bt&&s.jsxs("div",{className:"space-y-3 text-xs",children:[s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Titel"}),s.jsx("input",{type:"text",value:T,onChange:p=>D(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-muted mb-1",children:"Inhalt"}),s.jsx("textarea",{rows:3,value:ee,onChange:p=>ot(p.target.value),className:"w-full px-3 py-1.5 rounded-sm input-field"})]})]})]}),s.jsx("div",{className:"pt-3 flex justify-end border-t border-grid",children:s.jsx("button",{type:"submit",disabled:Z,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm",children:Z?"Speichern...":"Einstellungen speichern"})})]})}),i==="smtp"&&s.jsx("div",{className:"space-y-6 animate-in fade-in duration-150 font-mono",children:s.jsxs("form",{onSubmit:Rd,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-3",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main flex items-center gap-2",children:[s.jsx(ji,{className:"w-5 h-5 text-indigo-400"})," SMTP Server & E-Mail-Versand"]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"text-xs text-muted font-bold",children:"SMTP-Versand:"}),s.jsx("button",{type:"button",onClick:()=>So(!Dn),className:`px-3 py-1 rounded-sm text-xs font-bold transition border ${Dn?"bg-emerald-600 text-white border-emerald-500 shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:Dn?"[ AKTIV ]":"[ INAKTIV (Dev Mode) ]"})]})]}),!Dn&&s.jsxs("div",{className:"p-3.5 rounded-sm bg-amber-500/10 border border-amber-500/20 text-amber-500 text-xs flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:"Hinweis: Im inaktiven Modus werden Bestätigungs-Links in der Entwickler-Konsole / Logs ausgegeben."})]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 text-xs",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Host / Server Adresse"}),s.jsx("input",{type:"text",placeholder:"z. B. smtp.domain.de oder mail.gmx.net",value:jo,onChange:p=>bo(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Port"}),s.jsx("input",{type:"number",placeholder:"587 oder 465",value:_o,onChange:p=>Eo(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Absender E-Mail-Adresse (From)"}),s.jsx("input",{type:"email",placeholder:"noreply@verein.de",value:Ao,onChange:p=>Do(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Benutzername / Login E-Mail"}),s.jsx("input",{type:"text",placeholder:"z. B. noreply@verein.de",value:Co,onChange:p=>To(p.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field font-mono"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"SMTP Passwort"}),s.jsxs("div",{className:"relative",children:[s.jsx("input",{type:ns?"text":"password",placeholder:"••••••••",value:Po,onChange:p=>zo(p.target.value),className:"w-full pl-3.5 pr-10 py-2 rounded-sm input-field font-mono"}),s.jsx("button",{type:"button",onClick:()=>bd(!ns),className:"absolute right-3 top-2.5 text-muted hover:text-main",children:ns?s.jsx(yd,{className:"w-4 h-4"}):s.jsx(wp,{className:"w-4 h-4"})})]})]}),s.jsxs("div",{className:"sm:col-span-2 flex items-center gap-6 pt-2",children:[s.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-main font-bold",children:[s.jsx("input",{type:"checkbox",checked:Lo,onChange:p=>{es(p.target.checked),p.target.checked&&ts(!1)},className:"rounded-sm"}),s.jsx("span",{children:"STARTTLS verwenden (Empfohlen für Port 587)"})]}),s.jsxs("label",{className:"flex items-center gap-2 cursor-pointer text-main font-bold",children:[s.jsx("input",{type:"checkbox",checked:Mo,onChange:p=>{ts(p.target.checked),p.target.checked&&es(!1)},className:"rounded-sm"}),s.jsx("span",{children:"SSL/TLS verwenden (Empfohlen für Port 465)"})]})]})]}),s.jsxs("div",{className:"pt-4 border-t border-grid flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-[260px]",children:[s.jsx("input",{type:"email",placeholder:"Empfänger für Test-E-Mail...",value:Ro,onChange:p=>jd(p.target.value),className:"px-3 py-1.5 rounded-sm input-field text-xs flex-1 font-mono"}),s.jsxs("button",{type:"button",disabled:$o,onClick:Od,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5 shrink-0",children:[s.jsx(Ep,{className:"w-3.5 h-3.5"}),$o?"Sende...":"Test-Mail Senden"]})]}),s.jsxs("button",{type:"submit",disabled:Oo,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4"}),Oo?"Speichern...":"SMTP-Einstellungen Speichern"]})]})]})})]})}function Bp({eventToEdit:e,skills:t,onBack:n,onSubmit:r}){const[l,i]=k.useState((e==null?void 0:e.title)||""),[o,a]=k.useState((e==null?void 0:e.description)||""),[u,d]=k.useState((e==null?void 0:e.location)||""),[h,g]=k.useState((e==null?void 0:e.start_date)||new Date().toISOString().split("T")[0]),[x,N]=k.useState((e==null?void 0:e.end_date)||new Date().toISOString().split("T")[0]),[y,v]=k.useState([]),[O,f]=k.useState(!1),[c,m]=k.useState("");k.useEffect(()=>{if(e&&e.task_areas&&e.task_areas.length>0){const L=e.task_areas.map(M=>({id:M.id,name:M.name,description:M.description||"",shifts:(M.shifts||[]).map(F=>({id:F.id,title:F.title,start_time:F.start_time,end_time:F.end_time,max_participants:F.max_participants||1,required_skill_ids:F.required_skills?F.required_skills.map(q=>q.id):[]}))}));v(L)}else e||v([{name:"Tresendienst",description:"Getränke- und Barverkauf",shifts:[{title:"Schicht 1",start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]}]},{name:"Essen kochen",description:"Zubereitung von Speisen",shifts:[{title:"Frühschicht",start_time:"15:00",end_time:"19:00",max_participants:3,required_skill_ids:[]}]},{name:"Aufbau & Aufräumen",description:"Tische, Stühle & Technik",shifts:[{title:"Aufbau",start_time:"12:00",end_time:"15:00",max_participants:4,required_skill_ids:[]}]}])},[e]);const w=()=>{v([...y,{name:"",description:"",shifts:[{title:"Schicht 1",start_time:"10:00",end_time:"14:00",max_participants:1,required_skill_ids:[]}]}])},S=L=>{v(y.filter((M,F)=>F!==L))},_=(L,M,F)=>{const q=[...y];q[L][M]=F,v(q)},E=L=>{const M=[...y];M[L].shifts.push({title:`Schicht ${M[L].shifts.length+1}`,start_time:"14:00",end_time:"18:00",max_participants:1,required_skill_ids:[]}),v(M)},C=(L,M)=>{const F=[...y];F[L].shifts=F[L].shifts.filter((q,W)=>W!==M),v(F)},B=(L,M,F,q)=>{const W=[...y];W[L].shifts[M][F]=q,v(W)},A=(L,M,F)=>{const q=[...y],W=q[L].shifts[M].required_skill_ids||[];W.includes(F)?q[L].shifts[M].required_skill_ids=W.filter(he=>he!==F):q[L].shifts[M].required_skill_ids=[...W,F],v(q)},le=async L=>{if(L.preventDefault(),m(""),!l.trim()){m("Bitte gib einen Veranstaltungstitel an.");return}f(!0);try{await r({id:e==null?void 0:e.id,title:l,description:o,location:u,start_date:h,end_date:x,task_areas:y})}catch(M){m(M.message||"Speichern der Veranstaltung fehlgeschlagen.")}finally{f(!1)}};return s.jsxs("div",{className:"space-y-6 max-w-4xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsxs("div",{className:"flex items-center justify-between font-mono text-xs",children:[s.jsxs("button",{onClick:n,className:"px-3.5 py-1.5 rounded-sm bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-2 font-bold",children:[s.jsx(xd,{className:"w-4 h-4"})," [ ZURÜCK ZUR ÜBERSICHT ]"]}),s.jsxs("span",{className:"text-muted border border-grid px-2.5 py-0.5 rounded-sm",children:["MODE: ",e?"EVENT EDIT":"NEW EVENT"]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-2",children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-blue-500/10 text-blue-500 border border-blue-500/20 flex items-center justify-center font-bold",children:e?s.jsx(Sr,{className:"w-5 h-5"}):s.jsx(Tr,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:e?"Veranstaltung & Schichten Bearbeiten":"Neue Veranstaltung Erstellen"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Konfiguriere Stammdaten, Aufgabenfelder, Schichtzeiten & Qualifikationen"})]})]})}),c&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:c})]}),s.jsxs("form",{onSubmit:le,className:"space-y-6",children:[s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main border-b border-grid pb-2",children:"1. Stammdaten der Veranstaltung"}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Titel der Veranstaltung"}),s.jsx("input",{type:"text",required:!0,value:l,onChange:L=>i(L.target.value),placeholder:"z. B. Sommerfest 2026",className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Startdatum"}),s.jsx("input",{type:"date",required:!0,value:h,onChange:L=>g(L.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Enddatum"}),s.jsx("input",{type:"date",required:!0,value:x,onChange:L=>N(L.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Ort (optional)"}),s.jsx("input",{type:"text",value:u,onChange:L=>d(L.target.value),placeholder:"z. B. Vereinsheim, Großer Saal",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Beschreibung (optional)"}),s.jsx("textarea",{rows:2,value:o,onChange:L=>a(L.target.value),placeholder:"Details zur Veranstaltung...",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs font-sans"})]})]})]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-grid pb-2",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-main flex items-center gap-2",children:[s.jsx(Nr,{className:"w-4 h-4 text-blue-500"})," 2. Aufgabenfelder & Schichten"]}),s.jsxs("button",{type:"button",onClick:w,className:"px-3.5 py-1.5 rounded-sm text-xs font-mono font-bold bg-blue-500/10 text-blue-500 border border-blue-500/20 hover:bg-blue-500/20 transition flex items-center gap-1",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," BEREICH HINZUFÜGEN"]})]}),y.map((L,M)=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsx("input",{type:"text",required:!0,placeholder:"Name des Aufgabenfeldes (z. B. Tresendienst)",value:L.name,onChange:F=>_(M,"name",F.target.value),className:"flex-1 px-3 py-1.5 rounded-sm input-field text-xs font-bold"}),s.jsx("button",{type:"button",onClick:()=>S(M),className:"p-1.5 text-muted hover:text-red-400 transition",title:"Bereich entfernen",children:s.jsx(Yt,{className:"w-4 h-4"})})]}),s.jsxs("div",{className:"pl-3 border-l-2 border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted font-bold",children:[s.jsx("span",{children:"Schichten & Zeitfenster"}),s.jsxs("button",{type:"button",onClick:()=>E(M),className:"text-blue-500 hover:underline flex items-center gap-1",children:[s.jsx(it,{className:"w-3 h-3"})," Schicht hinzufügen"]})]}),L.shifts.map((F,q)=>s.jsxs("div",{className:"p-3 rounded-sm bg-surface border border-grid space-y-2",children:[s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-12 gap-2 items-center text-xs",children:[s.jsx("input",{type:"text",placeholder:"Titel",value:F.title,onChange:W=>B(M,q,"title",W.target.value),className:"sm:col-span-4 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Start (14:00)",value:F.start_time,onChange:W=>B(M,q,"start_time",W.target.value),className:"sm:col-span-2 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Ende (18:00)",value:F.end_time,onChange:W=>B(M,q,"end_time",W.target.value),className:"sm:col-span-2 px-2.5 py-1 rounded-sm input-field text-xs"}),s.jsxs("div",{className:"sm:col-span-3 flex items-center gap-1",children:[s.jsx("span",{className:"text-[11px] text-muted",children:"Plätze:"}),s.jsx("input",{type:"number",min:"1",value:F.max_participants,onChange:W=>B(M,q,"max_participants",parseInt(W.target.value)||1),className:"w-full px-2 py-1 rounded-sm input-field text-xs font-bold"})]}),s.jsx("button",{type:"button",onClick:()=>C(M,q),className:"sm:col-span-1 p-1 text-muted hover:text-red-400 text-center",title:"Schicht löschen",children:s.jsx(Yt,{className:"w-3.5 h-3.5 mx-auto"})})]}),t&&t.length>0&&s.jsxs("div",{className:"pt-1.5 border-t border-grid text-[11px]",children:[s.jsx("span",{className:"text-muted block mb-1",children:"Erforderliche Qualifikationen:"}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(W=>{const he=(F.required_skill_ids||[]).includes(W.id);return s.jsxs("button",{type:"button",onClick:()=>A(M,q,W.id),style:{backgroundColor:he?W.color:`${W.color}15`,borderColor:W.color,color:he?"#ffffff":W.color},className:"px-2 py-0.5 rounded-sm border text-[10px] font-bold transition",children:[W.name," ",he?"✓":""]},W.id)})})]})]},q))]})]},M))]}),s.jsxs("div",{className:"hallmark-panel rounded-sm p-4 border border-grid flex flex-wrap items-center justify-between gap-3 font-mono text-xs",children:[s.jsx("button",{type:"button",onClick:n,className:"px-4 py-2 rounded-sm text-xs font-semibold text-muted hover:bg-surface-hover transition border border-grid",children:"Abbrechen"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs("button",{type:"button",disabled:O,onClick:async()=>{if(!l.trim()){m("Bitte gib einen Titel an.");return}f(!0);try{await $("/templates/",{method:"POST",body:JSON.stringify({name:l,description:o||`Vorlage mit ${y.length} Aufgabenbereichen`,template_data:{task_areas:y.map(L=>({name:L.name,description:L.description,shifts:(L.shifts||[]).map(M=>({title:M.title,start_time:M.start_time,end_time:M.end_time,max_participants:M.max_participants,required_skill_ids:M.required_skill_ids}))}))}})}),alert(`✅ Vorlage "${l}" inklusive aller voreingestellten Schichten erfolgreich gespeichert!`)}catch(L){m(L.message||"Speichern der Vorlage fehlgeschlagen.")}finally{f(!1)}},className:"px-4 py-2.5 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5",title:"Diese Konfiguration mit allen Schichten als Vorlage abspeichern",children:[s.jsx(Nr,{className:"w-4 h-4"})," ALS VORLAGE SPEICHERN"]}),s.jsxs("button",{type:"submit",disabled:O,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition shadow-sm hover:brightness-110 flex items-center gap-2",children:[s.jsx(gt,{className:"w-4 h-4"}),O?"Speichern...":e?"Änderungen Speichern":"Veranstaltung Jetzt Erstellen"]})]})]})]})]})}function Up({onBack:e,onInstantiateTemplate:t,user:n,skills:r}){const[l,i]=k.useState([]),[o,a]=k.useState(!0),[u,d]=k.useState(""),[h,g]=k.useState(null),[x,N]=k.useState(""),[y,v]=k.useState(new Date().toISOString().split("T")[0]),[O,f]=k.useState(new Date().toISOString().split("T")[0]),[c,m]=k.useState(""),[w,S]=k.useState(!1),[_,E]=k.useState(!1),[C,B]=k.useState(""),[A,le]=k.useState(""),[L,M]=k.useState([{name:"Tresendienst",description:"Getränkeausschank und Bar",shifts:[{title:"Frühschicht",start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]},{title:"Spätschicht",start_time:"22:00",end_time:"02:00",max_participants:3,required_skill_ids:[]}]}]);k.useEffect(()=>{F()},[]);const F=async()=>{a(!0);try{const j=await $("/templates/");i(j.results||j)}catch(j){d(j.message||"Laden der Vorlagen fehlgeschlagen.")}finally{a(!1)}},q=j=>{g(j),N(j.name)},W=async j=>{if(j.preventDefault(),!!h){S(!0);try{await t(h.id,{title:x,start_date:y,end_date:O,location:c})}catch(R){d(R.message||"Erstellen der Veranstaltung aus Vorlage fehlgeschlagen.")}finally{S(!1)}}},he=async j=>{if(j.preventDefault(),!C.trim()){d("Bitte gib einen Vorlagen-Namen an.");return}S(!0);try{const R={name:C,description:A,template_data:{task_areas:L.map(H=>({name:H.name,description:H.description,shifts:(H.shifts||[]).map(J=>({title:J.title,start_time:J.start_time,end_time:J.end_time,max_participants:J.max_participants,required_skill_ids:J.required_skill_ids}))}))}};await $("/templates/",{method:"POST",body:JSON.stringify(R)}),E(!1),B(""),le(""),F()}catch(R){d(R.message||"Erstellen der Vorlage fehlgeschlagen.")}finally{S(!1)}},P=()=>{M([...L,{name:"Neuer Bereich",description:"",shifts:[{title:"Schicht 1",start_time:"14:00",end_time:"18:00",max_participants:2,required_skill_ids:[]}]}])},I=j=>{const R=[...L];R[j].shifts.push({title:`Schicht ${R[j].shifts.length+1}`,start_time:"18:00",end_time:"22:00",max_participants:2,required_skill_ids:[]}),M(R)};return s.jsxs("div",{className:"space-y-6 max-w-4xl mx-auto animate-in fade-in duration-200 font-sans",children:[s.jsxs("div",{className:"flex items-center justify-between font-mono text-xs",children:[s.jsxs("button",{onClick:e,className:"px-3.5 py-1.5 rounded-sm bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-2 font-bold",children:[s.jsx(xd,{className:"w-4 h-4"})," [ ZURÜCK ZUR ÜBERSICHT ]"]}),s.jsxs("span",{className:"text-muted border border-grid px-2.5 py-0.5 rounded-sm uppercase",children:["SYSTEM VORLAGEN (",l.length,")"]})]}),s.jsx("div",{className:"hallmark-panel rounded-sm p-6 sm:p-8 border border-grid space-y-4",children:s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"w-10 h-10 rounded-sm bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 flex items-center justify-center font-bold",children:s.jsx(Nr,{className:"w-5 h-5"})}),s.jsxs("div",{children:[s.jsx("h2",{className:"font-serif text-3xl font-bold uppercase tracking-tight text-main",children:"Veranstaltungs-Vorlagen Zentrale"}),s.jsx("p",{className:"text-xs text-muted font-mono mt-0.5",children:"Erstelle neue Veranstaltungen mit voreingestellten Schichten und Aufgabenbereichen"})]})]}),n&&s.jsxs("button",{onClick:()=>E(!_),className:"px-3.5 py-2 rounded-sm text-xs font-mono font-bold bg-indigo-500/10 text-indigo-400 border border-indigo-500/20 hover:bg-indigo-500/20 transition flex items-center gap-1.5 shrink-0",children:[s.jsx(it,{className:"w-4 h-4"}),_?"Schließen":"Neue Vorlage Erstellen"]})]})}),u&&s.jsxs("div",{className:"p-4 rounded-sm bg-red-500/10 border border-red-500/20 text-red-500 text-xs font-mono flex items-center gap-2",children:[s.jsx(zn,{className:"w-4 h-4 shrink-0"}),s.jsx("span",{children:u})]}),_&&s.jsxs("form",{onSubmit:he,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs animate-in fade-in duration-200",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-indigo-400 border-b border-grid pb-2 flex items-center justify-between",children:[s.jsx("span",{children:"Neue Vorlage mit voreingestellten Schichten anlegen"}),s.jsxs("button",{type:"button",onClick:P,className:"text-xs font-mono font-bold bg-indigo-500/20 text-indigo-300 px-3 py-1 rounded-sm border border-indigo-500/30 flex items-center gap-1",children:[s.jsx(it,{className:"w-3.5 h-3.5"})," Bereich Hinzufügen"]})]}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Vorlagen Name"}),s.jsx("input",{type:"text",required:!0,placeholder:"z. B. Standard Kneipenabend / Bar-Event",value:C,onChange:j=>B(j.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm font-bold"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Beschreibung (optional)"}),s.jsx("input",{type:"text",placeholder:"z. B. Inklusive 2 Barschichten und Aufbau",value:A,onChange:j=>le(j.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]})]}),s.jsx("div",{className:"space-y-4 pt-2",children:L.map((j,R)=>s.jsxs("div",{className:"p-4 rounded-sm bg-subtle border border-grid space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("input",{type:"text",required:!0,placeholder:"Bereichs-Name (z. B. Bar)",value:j.name,onChange:H=>{const J=[...L];J[R].name=H.target.value,M(J)},className:"flex-1 px-3 py-1 rounded-sm input-field text-xs font-bold"}),s.jsx("button",{type:"button",onClick:()=>{M(L.filter((H,J)=>J!==R))},className:"text-muted hover:text-red-400 p-1",children:s.jsx(Yt,{className:"w-4 h-4"})})]}),s.jsxs("div",{className:"pl-3 border-l-2 border-grid space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between text-muted text-[11px] font-bold",children:[s.jsx("span",{children:"Voreingestellte Schichten"}),s.jsxs("button",{type:"button",onClick:()=>I(R),className:"text-indigo-400 hover:underline flex items-center gap-1",children:[s.jsx(it,{className:"w-3 h-3"})," Schicht hinzufügen"]})]}),j.shifts.map((H,J)=>s.jsxs("div",{className:"p-2.5 rounded-sm bg-surface border border-grid grid grid-cols-1 sm:grid-cols-12 gap-2 items-center text-xs",children:[s.jsx("input",{type:"text",placeholder:"Schichtname",value:H.title,onChange:Y=>{const K=[...L];K[R].shifts[J].title=Y.target.value,M(K)},className:"sm:col-span-4 px-2 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Start (18:00)",value:H.start_time,onChange:Y=>{const K=[...L];K[R].shifts[J].start_time=Y.target.value,M(K)},className:"sm:col-span-2 px-2 py-1 rounded-sm input-field text-xs"}),s.jsx("input",{type:"text",placeholder:"Ende (22:00)",value:H.end_time,onChange:Y=>{const K=[...L];K[R].shifts[J].end_time=Y.target.value,M(K)},className:"sm:col-span-2 px-2 py-1 rounded-sm input-field text-xs"}),s.jsxs("div",{className:"sm:col-span-3 flex items-center gap-1",children:[s.jsx("span",{className:"text-[10px] text-muted",children:"Plätze:"}),s.jsx("input",{type:"number",min:"1",value:H.max_participants,onChange:Y=>{const K=[...L];K[R].shifts[J].max_participants=parseInt(Y.target.value)||1,M(K)},className:"w-full px-2 py-1 rounded-sm input-field text-xs font-bold"})]}),s.jsx("button",{type:"button",onClick:()=>{const Y=[...L];Y[R].shifts=Y[R].shifts.filter((K,de)=>de!==J),M(Y)},className:"sm:col-span-1 p-1 text-muted hover:text-red-400 text-center",children:s.jsx(Yt,{className:"w-3.5 h-3.5 mx-auto"})})]},J))]})]},R))}),s.jsxs("div",{className:"pt-3 flex justify-end gap-2 border-t border-grid",children:[s.jsx("button",{type:"button",onClick:()=>E(!1),className:"px-4 py-2 rounded-sm text-xs font-semibold text-muted hover:bg-surface-hover transition border border-grid",children:"Abbrechen"}),s.jsxs("button",{type:"submit",disabled:w,style:{backgroundColor:"var(--brand-primary)"},className:"px-5 py-2 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-1.5",children:[s.jsx(gt,{className:"w-4 h-4"})," Vorlage Speichern"]})]})]}),s.jsxs("div",{className:"space-y-4 font-mono text-xs",children:[s.jsx("h3",{className:"font-serif text-lg font-bold uppercase text-main",children:"Verfügbare Vorlagen"}),o?s.jsx("div",{className:"hallmark-panel p-8 text-center text-muted",children:"Lade Vorlagen..."}):l.length===0?s.jsx("div",{className:"hallmark-panel p-8 text-center text-muted italic",children:'[ Noch keine Vorlagen gespeichert. Klicke oben auf "Neue Vorlage Erstellen" um Vorlagen mit voreingestellten Schichten anzulegen. ]'}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:l.map(j=>{var R;return s.jsxs("div",{onClick:()=>q(j),className:`hallmark-panel p-5 rounded-sm border cursor-pointer transition space-y-3 ${(h==null?void 0:h.id)===j.id?"bg-indigo-500/10 border-indigo-500 shadow-md":"bg-surface border-grid hover:border-muted"}`,children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx("h4",{className:"font-serif text-base font-bold text-main uppercase",children:j.name}),(h==null?void 0:h.id)===j.id&&s.jsx("span",{className:"text-[10px] font-mono text-indigo-400 bg-indigo-500/20 px-2 py-0.5 rounded-sm border border-indigo-500/30 font-bold",children:"[ AUSGEWÄHLT ]"})]}),j.description&&s.jsx("p",{className:"text-xs font-sans text-muted",children:j.description}),((R=j.template_data)==null?void 0:R.task_areas)&&j.template_data.task_areas.length>0&&s.jsxs("div",{className:"space-y-2 pt-2 border-t border-grid text-[11px]",children:[s.jsx("div",{className:"font-bold text-muted uppercase text-[10px]",children:"📌 Voreingestellte Schichten:"}),j.template_data.task_areas.map((H,J)=>{var Y;return s.jsxs("div",{className:"bg-subtle p-2 rounded-sm border border-grid space-y-1",children:[s.jsxs("div",{className:"font-bold text-main flex items-center justify-between",children:[s.jsx("span",{children:H.name}),s.jsxs("span",{className:"text-[10px] text-muted font-normal",children:[((Y=H.shifts)==null?void 0:Y.length)||0," Schichten"]})]}),s.jsx("div",{className:"flex flex-wrap gap-1",children:(H.shifts||[]).map((K,de)=>s.jsxs("span",{className:"px-2 py-0.5 rounded-sm bg-surface border border-grid text-[10px] flex items-center gap-1 font-mono",children:[s.jsx(kr,{className:"w-3 h-3 text-muted shrink-0"}),s.jsx("strong",{className:"text-main",children:K.title}),s.jsxs("span",{className:"text-muted",children:["(",K.start_time,"-",K.end_time,", ",K.max_participants," Plätze)"]})]},de))})]},J)})]}),s.jsxs("div",{className:"text-[10px] text-muted pt-2 border-t border-grid flex items-center justify-between",children:[s.jsxs("span",{children:["Erstellt von: ",s.jsx("strong",{children:j.created_by_name||"Admin"})]}),s.jsx("span",{className:"text-indigo-400 font-bold",children:"Klick zum Auswählen"})]})]},j.id)})})]}),h&&s.jsxs("form",{onSubmit:W,className:"hallmark-panel rounded-sm p-6 border border-grid space-y-4 font-mono text-xs animate-in fade-in duration-200",children:[s.jsxs("h3",{className:"font-serif text-lg font-bold uppercase text-indigo-400 border-b border-grid pb-2",children:['Neue Veranstaltung aus Vorlage "',h.name,'" Erstellen']}),s.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Titel der Veranstaltung"}),s.jsx("input",{type:"text",required:!0,value:x,onChange:j=>N(j.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-sm font-bold"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Startdatum"}),s.jsx("input",{type:"date",required:!0,value:y,onChange:j=>v(j.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Enddatum"}),s.jsx("input",{type:"date",required:!0,value:O,onChange:j=>f(j.target.value),className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]}),s.jsxs("div",{className:"sm:col-span-2",children:[s.jsx("label",{className:"block text-main mb-1 font-bold",children:"Ort (optional)"}),s.jsx("input",{type:"text",value:c,onChange:j=>m(j.target.value),placeholder:"z. B. Großer Saal",className:"w-full px-3.5 py-2 rounded-sm input-field text-xs"})]})]}),s.jsx("div",{className:"pt-3 flex justify-end border-t border-grid",children:s.jsxs("button",{type:"submit",disabled:w,style:{backgroundColor:"var(--brand-primary)"},className:"px-6 py-2.5 rounded-sm text-xs font-mono font-bold text-white transition hover:brightness-110 shadow-sm flex items-center gap-2",children:[s.jsx(bp,{className:"w-4 h-4 fill-white"}),w?"Erstellen...":"Veranstaltung Jetzt Aus Vorlage Erstellen"]})})]})]})}function Hp(){const[e,t]=k.useState(null),[n,r]=k.useState(null),[l,i]=k.useState([]),[o,a]=k.useState([]),[u,d]=k.useState(null),[h,g]=k.useState(null),[x,N]=k.useState(!0),[y,v]=k.useState("home"),[O,f]=k.useState(!1),[c,m]=k.useState(!1),[w,S]=k.useState(null),[_,E]=k.useState(!1),[C,B]=k.useState(!1),[A,le]=k.useState(localStorage.getItem("theme_mode")||"auto"),[L,M]=k.useState(null),[F,q]=k.useState(null);k.useEffect(()=>{window.addEventListener("beforeinstallprompt",T=>{T.preventDefault(),q(T)}),R()},[]),k.useEffect(()=>{localStorage.setItem("theme_mode",A);const T=()=>{let D=A;A==="auto"&&(D=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme",D)};if(T(),A==="auto"){const D=window.matchMedia("(prefers-color-scheme: dark)"),ee=()=>T();return D.addEventListener("change",ee),()=>D.removeEventListener("change",ee)}},[A]),k.useEffect(()=>{n!=null&&n.primary_color&&(document.documentElement.style.setProperty("--brand-primary",n.primary_color),document.documentElement.style.setProperty("--brand-secondary",n.secondary_color||n.primary_color))},[n]);const[W,he]=k.useState(null),[P,I]=k.useState(null),j=T=>{M(T),setTimeout(()=>M(null),5e3)},R=async()=>{N(!0);try{try{const Z=await $("/branding/");r(Z)}catch{}if(bi())try{const Z=await $("/users/me/");t(Z),!Z.is_admin_user&&!Z.is_staff&&!Z.is_superuser&&y==="admin"&&v("home")}catch{rr(null),t(null),v("home")}const T=new URLSearchParams(window.location.search),D=T.get("verify_email");if(D)try{const Z=await $("/users/verify-email/",{method:"POST",body:JSON.stringify({token:D})});rr(Z.token),t(Z.user),j(Z.message||"✅ E-Mail-Adresse erfolgreich bestätigt!"),window.history.replaceState({},document.title,window.location.pathname)}catch(Z){j(`⚠️ E-Mail Bestätigung: ${Z.message}`)}const ee=T.get("claim_token"),ot=T.get("guest_name");ee&&ot&&(he(ee),I(ot),bi()||f(!0)),await J(),await Y()}catch(T){console.error(T)}finally{N(!1)}},H=async T=>{try{const D=await $(`/users/signups/${T.id}/generate-claim-link/`,{method:"POST"}),ee=`${window.location.origin}/?claim_token=${D.token}&guest_name=${encodeURIComponent(D.guest_name)}`;navigator.clipboard?(await navigator.clipboard.writeText(ee),j(`✅ Einladungs-Link für ${D.guest_name} in Zwischenablage kopiert!`)):prompt(`Einladungs-Link für ${D.guest_name} kopieren:`,ee)}catch(D){alert(D.message||"Fehler beim Erstellen des Links.")}},J=async()=>{try{const T=await $("/skills/");i(T.results||T)}catch{}},Y=async()=>{try{const T=await $("/events/"),D=T.results||T;a(D),D.length>0&&!u?(d(D[0].id),K(D[0].id)):u&&K(u)}catch{}},K=async T=>{try{const D=await $(`/events/${T}/matrix/`);g(D)}catch{}},de=T=>{d(T),K(T),v("schedule")},et=()=>{rr(null),t(null),v("home"),j("Erfolgreich abgemeldet."),u&&K(u)},Pr=(T,D)=>{t(T),T&&!T.is_admin_user&&!T.is_staff&&!T.is_superuser&&y==="admin"&&v("home"),j(D||"Erfolgreich angemeldet!"),u&&K(u)},zr=async T=>{if(!e)S(T),m(!0);else try{const D=await $(`/shifts/${T.id}/signup/`,{method:"POST"});j(D.message||"Erfolgreich für Schicht eingetragen!"),u&&K(u)}catch(D){j(`Fehler: ${D.message}`)}},ql=async T=>{if(!w)return;const D=await $(`/shifts/${w.id}/signup/`,{method:"POST",body:JSON.stringify(T)});j(D.message||"Als Gast eingetragen!"),u&&K(u)},Vt=async T=>{try{const D=await $(`/shifts/${T.id}/signup/`,{method:"DELETE"});j(D.message||"Eintragung storniert."),u&&K(u)}catch(D){j(`Fehler: ${D.message}`)}},[Yl,vt]=k.useState(null),Zl=async T=>{let D=T.id;D?await $(`/events/${D}/`,{method:"PATCH",body:JSON.stringify({title:T.title,description:T.description,location:T.location,start_date:T.start_date,end_date:T.end_date})}):D=(await $("/events/",{method:"POST",body:JSON.stringify({title:T.title,description:T.description,location:T.location,start_date:T.start_date,end_date:T.end_date})})).id;for(let ee of T.task_areas){if(!ee.name)continue;let ot=ee.id;ot?await $(`/task-areas/${ot}/`,{method:"PATCH",body:JSON.stringify({name:ee.name,description:ee.description||""})}):ot=(await $("/task-areas/",{method:"POST",body:JSON.stringify({event:D,name:ee.name,description:ee.description||""})})).id;for(let Z of ee.shifts)Z.id?await $(`/shifts/${Z.id}/`,{method:"PATCH",body:JSON.stringify({title:Z.title,start_time:Z.start_time,end_time:Z.end_time,max_participants:Z.max_participants,required_skill_ids:Z.required_skill_ids||[]})}):await $("/shifts/",{method:"POST",body:JSON.stringify({task_area:ot,title:Z.title,start_time:Z.start_time,end_time:Z.end_time,max_participants:Z.max_participants,required_skill_ids:Z.required_skill_ids||[]})})}j(T.id?"Veranstaltung & Schichten aktualisiert!":"Veranstaltung erfolgreich erstellt!"),await Y(),de(D)},Lr=async(T,D)=>{const ee=await $(`/templates/${T}/instantiate/`,{method:"POST",body:JSON.stringify(D)});j("Veranstaltung aus Vorlage erstellt!"),await Y(),ee.id&&de(ee.id)},Jl=()=>{u&&window.open(`/api/events/${u}/export_pdf/`,"_blank")},Bt=()=>{window.print()},Xl=()=>{F&&(F.prompt(),F.userChoice.then(T=>{T.outcome==="accepted"&&j("PWA Installation gestartet!"),q(null)}))};return s.jsxs("div",{className:"min-h-screen bg-canvas text-main flex flex-col font-sans selection:bg-surface-hover transition-colors duration-200",children:[L&&s.jsxs("div",{className:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-2.5 rounded-sm shadow-2xl font-mono text-xs flex items-center gap-2 border border-emerald-400 animate-in fade-in slide-in-from-bottom-3 duration-200",children:[s.jsx(gt,{className:"w-4 h-4"}),s.jsx("span",{children:L})]}),s.jsx(Ap,{branding:n,user:e,activeTab:y,onChangeTab:v,themeMode:A,onChangeThemeMode:le,onLogout:et,onOpenAuth:()=>f(!0),onOpenCreateEvent:()=>{vt(null),v("event-editor")},onOpenTemplates:()=>v("templates"),onOpenProfile:()=>B(!0),onOpenAdmin:()=>v("admin"),pwaInstallPrompt:!!F,onInstallPwa:Xl}),s.jsx("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 lg:px-8 py-8 space-y-6",children:x?s.jsx("div",{className:"hallmark-panel p-16 text-center text-xs text-muted font-mono border border-grid",children:"Lade Daten..."}):y==="home"?s.jsx($p,{events:o,user:e,onSelectEvent:de,onOpenCreateEvent:()=>{vt(null),v("event-editor")},onToggleEventActive:async T=>{try{await $(`/events/${T.id}/`,{method:"PATCH",body:JSON.stringify({is_active:T.is_active===!1})}),Y()}catch(D){alert(D.message||"Aktion fehlgeschlagen.")}},onEditEvent:T=>{vt(T),v("event-editor")},branding:n}):y==="calendar"?s.jsx(Fp,{events:o,onSelectEvent:de,branding:n}):y==="admin"&&e&&(e.is_admin_user||e.is_staff||e.is_superuser)?s.jsx(Vp,{branding:n,onRefreshBranding:async()=>{const T=await $("/branding/");r(T)},onRefreshEvents:Y,skills:l,onRefreshSkills:J}):y==="event-editor"?s.jsx(Bp,{eventToEdit:Yl,skills:l,onBack:()=>v("schedule"),onSubmit:Zl}):y==="templates"?s.jsx(Up,{onBack:()=>v("schedule"),onInstantiateTemplate:Lr,user:e,skills:l}):s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-center justify-between gap-4 overflow-x-auto pb-2 no-scrollbar font-mono",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"text-xs font-bold text-muted uppercase tracking-wider whitespace-nowrap",children:"Ausgewähltes Event:"}),o.map(T=>{const D=u===T.id;return s.jsx("button",{onClick:()=>de(T.id),style:{backgroundColor:D?(n==null?void 0:n.primary_color)||"var(--brand-primary)":void 0,borderColor:D?(n==null?void 0:n.primary_color)||"var(--brand-primary)":void 0},className:`px-3.5 py-1.5 rounded-sm text-xs font-bold transition whitespace-nowrap border ${D?"text-white shadow-sm":"bg-subtle text-muted border-grid hover:text-main"}`,children:T.title},T.id)})]}),e&&s.jsxs("button",{onClick:()=>{vt(null),v("event-editor")},className:"px-3.5 py-1.5 rounded-sm text-xs font-bold bg-subtle hover:bg-surface-hover text-main border border-grid transition flex items-center gap-1.5 shrink-0",children:[s.jsx(it,{className:"w-4 h-4"})," Neues Event"]})]}),s.jsx(Dp,{event:h,user:e,onSignupClick:zr,onCancelClick:Vt,onRemoveUserFromShift:async(T,D)=>{try{const ee=await $(`/shifts/${T.id}/signup/${D}/`,{method:"DELETE"});j(ee.message||"Eintragung entfernt."),Y(),u&&de(u)}catch(ee){alert(ee.message||"Entfernen der Person fehlgeschlagen.")}},onGenerateClaimLink:H,onExportPdf:Jl,onPrintView:Bt,onEditEvent:T=>{vt(T),v("event-editor")}})]})}),s.jsx("footer",{className:"border-t border-grid py-6 text-center text-xs text-muted font-mono no-print",children:s.jsxs("p",{children:[(n==null?void 0:n.app_name)||"Veranstaltungsschichtplaner"," • PWA Enabled • PostgreSQL & Docker Ready"]})}),O&&s.jsx(Ip,{onClose:()=>{f(!1),he(null),I(null)},onSuccess:Pr,claimToken:W,prefilledGuestName:P}),c&&s.jsx(Rp,{shift:w,onClose:()=>m(!1),onSubmit:ql})]})}zs.createRoot(document.getElementById("root")).render(s.jsx(ef.StrictMode,{children:s.jsx(Hp,{})})); diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 1bfd6e3..a795750 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -11,7 +11,7 @@ Schichtplaner — Veranstaltungsschichtpläne - + diff --git a/frontend/src/components/AuthModal.jsx b/frontend/src/components/AuthModal.jsx index f83a8ef..75f73f2 100644 --- a/frontend/src/components/AuthModal.jsx +++ b/frontend/src/components/AuthModal.jsx @@ -121,8 +121,8 @@ export default function AuthModal({ onClose, onSuccess, claimToken, prefilledGue )} - {/* Quick Demo Login Box */} - {!isRegister && ( + {/* Quick Demo Login Box (Development Mode Only) */} + {!isRegister && import.meta.env.DEV && (
⚡ Dev Schnell-Login