(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))r(m);new MutationObserver(m=>{for(const v of m)if(v.type==="childList")for(const U of v.addedNodes)U.tagName==="LINK"&&U.rel==="modulepreload"&&r(U)}).observe(document,{childList:!0,subtree:!0});function u(m){const v={};return m.integrity&&(v.integrity=m.integrity),m.referrerPolicy&&(v.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?v.credentials="include":m.crossOrigin==="anonymous"?v.credentials="omit":v.credentials="same-origin",v}function r(m){if(m.ep)return;m.ep=!0;const v=u(m);fetch(m.href,v)}})();var Hu={exports:{}},On={};var dh;function Cg(){if(dh)return On;dh=1;var d=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function u(r,m,v){var U=null;if(v!==void 0&&(U=""+v),m.key!==void 0&&(U=""+m.key),"key"in m){v={};for(var Y in m)Y!=="key"&&(v[Y]=m[Y])}else v=m;return m=v.ref,{$$typeof:d,type:r,key:U,ref:m!==void 0?m:null,props:v}}return On.Fragment=c,On.jsx=u,On.jsxs=u,On}var fh;function Eg(){return fh||(fh=1,Hu.exports=Cg()),Hu.exports}var n=Eg(),Vu={exports:{}},de={};var hh;function wg(){if(hh)return de;hh=1;var d=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),v=Symbol.for("react.consumer"),U=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),T=Symbol.for("react.activity"),q=Symbol.iterator;function Q(h){return h===null||typeof h!="object"?null:(h=q&&h[q]||h["@@iterator"],typeof h=="function"?h:null)}var ee={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B=Object.assign,re={};function oe(h,x,E){this.props=h,this.context=x,this.refs=re,this.updater=E||ee}oe.prototype.isReactComponent={},oe.prototype.setState=function(h,x){if(typeof h!="object"&&typeof h!="function"&&h!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,h,x,"setState")},oe.prototype.forceUpdate=function(h){this.updater.enqueueForceUpdate(this,h,"forceUpdate")};function ge(){}ge.prototype=oe.prototype;function K(h,x,E){this.props=h,this.context=x,this.refs=re,this.updater=E||ee}var ne=K.prototype=new ge;ne.constructor=K,B(ne,oe.prototype),ne.isPureReactComponent=!0;var se=Array.isArray;function Z(){}var D={H:null,A:null,T:null,S:null},fe=Object.prototype.hasOwnProperty;function je(h,x,E){var G=E.ref;return{$$typeof:d,type:h,key:x,ref:G!==void 0?G:null,props:E}}function Se(h,x){return je(h.type,x,h.props)}function H(h){return typeof h=="object"&&h!==null&&h.$$typeof===d}function J(h){var x={"=":"=0",":":"=2"};return"$"+h.replace(/[=:]/g,function(E){return x[E]})}var ae=/\/+/g;function P(h,x){return typeof h=="object"&&h!==null&&h.key!=null?J(""+h.key):x.toString(36)}function W(h){switch(h.status){case"fulfilled":return h.value;case"rejected":throw h.reason;default:switch(typeof h.status=="string"?h.then(Z,Z):(h.status="pending",h.then(function(x){h.status==="pending"&&(h.status="fulfilled",h.value=x)},function(x){h.status==="pending"&&(h.status="rejected",h.reason=x)})),h.status){case"fulfilled":return h.value;case"rejected":throw h.reason}}throw h}function k(h,x,E,G,ce){var ie=typeof h;(ie==="undefined"||ie==="boolean")&&(h=null);var _e=!1;if(h===null)_e=!0;else switch(ie){case"bigint":case"string":case"number":_e=!0;break;case"object":switch(h.$$typeof){case d:case c:_e=!0;break;case V:return _e=h._init,k(_e(h._payload),x,E,G,ce)}}if(_e)return ce=ce(h),_e=G===""?"."+P(h,0):G,se(ce)?(E="",_e!=null&&(E=_e.replace(ae,"$&/")+"/"),k(ce,x,E,"",function(Bl){return Bl})):ce!=null&&(H(ce)&&(ce=Se(ce,E+(ce.key==null||h&&h.key===ce.key?"":(""+ce.key).replace(ae,"$&/")+"/")+_e)),x.push(ce)),1;_e=0;var lt=G===""?".":G+":";if(se(h))for(var Ve=0;Ve>>1,ue=k[I];if(0>>1;Im(E,O))Gm(ce,E)?(k[I]=ce,k[G]=O,I=G):(k[I]=E,k[x]=O,I=x);else if(Gm(ce,O))k[I]=ce,k[G]=O,I=G;else break e}}return _}function m(k,_){var O=k.sortIndex-_.sortIndex;return O!==0?O:k.id-_.id}if(d.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var v=performance;d.unstable_now=function(){return v.now()}}else{var U=Date,Y=U.now();d.unstable_now=function(){return U.now()-Y}}var R=[],b=[],V=1,T=null,q=3,Q=!1,ee=!1,B=!1,re=!1,oe=typeof setTimeout=="function"?setTimeout:null,ge=typeof clearTimeout=="function"?clearTimeout:null,K=typeof setImmediate<"u"?setImmediate:null;function ne(k){for(var _=u(b);_!==null;){if(_.callback===null)r(b);else if(_.startTime<=k)r(b),_.sortIndex=_.expirationTime,c(R,_);else break;_=u(b)}}function se(k){if(B=!1,ne(k),!ee)if(u(R)!==null)ee=!0,Z||(Z=!0,J());else{var _=u(b);_!==null&&W(se,_.startTime-k)}}var Z=!1,D=-1,fe=5,je=-1;function Se(){return re?!0:!(d.unstable_now()-jek&&Se());){var I=T.callback;if(typeof I=="function"){T.callback=null,q=T.priorityLevel;var ue=I(T.expirationTime<=k);if(k=d.unstable_now(),typeof ue=="function"){T.callback=ue,ne(k),_=!0;break t}T===u(R)&&r(R),ne(k)}else r(R);T=u(R)}if(T!==null)_=!0;else{var h=u(b);h!==null&&W(se,h.startTime-k),_=!1}}break e}finally{T=null,q=O,Q=!1}_=void 0}}finally{_?J():Z=!1}}}var J;if(typeof K=="function")J=function(){K(H)};else if(typeof MessageChannel<"u"){var ae=new MessageChannel,P=ae.port2;ae.port1.onmessage=H,J=function(){P.postMessage(null)}}else J=function(){oe(H,0)};function W(k,_){D=oe(function(){k(d.unstable_now())},_)}d.unstable_IdlePriority=5,d.unstable_ImmediatePriority=1,d.unstable_LowPriority=4,d.unstable_NormalPriority=3,d.unstable_Profiling=null,d.unstable_UserBlockingPriority=2,d.unstable_cancelCallback=function(k){k.callback=null},d.unstable_forceFrameRate=function(k){0>k||125I?(k.sortIndex=O,c(b,k),u(R)===null&&k===u(b)&&(B?(ge(D),D=-1):B=!0,W(se,O-I))):(k.sortIndex=ue,c(R,k),ee||Q||(ee=!0,Z||(Z=!0,J()))),k},d.unstable_shouldYield=Se,d.unstable_wrapCallback=function(k){var _=q;return function(){var O=q;q=_;try{return k.apply(this,arguments)}finally{q=O}}}})(Yu)),Yu}var ph;function Og(){return ph||(ph=1,Bu.exports=Ug()),Bu.exports}var Ju={exports:{}},at={};var vh;function Lg(){if(vh)return at;vh=1;var d=ir();function c(R){var b="https://react.dev/errors/"+R;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(c){console.error(c)}}return d(),Ju.exports=Lg(),Ju.exports}var bh;function Hg(){if(bh)return Ln;bh=1;var d=Og(),c=ir(),u=Rg();function r(e){var t="https://react.dev/errors/"+e;if(1ue||(e.current=I[ue],I[ue]=null,ue--)}function E(e,t){ue++,I[ue]=e.current,e.current=t}var G=h(null),ce=h(null),ie=h(null),_e=h(null);function lt(e,t){switch(E(ie,t),E(ce,e),E(G,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Uf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Uf(t),e=Of(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}x(G),E(G,e)}function Ve(){x(G),x(ce),x(ie)}function Bl(e){e.memoizedState!==null&&E(_e,e);var t=G.current,a=Of(t,e.type);t!==a&&(E(ce,e),E(G,a))}function Qn(e){ce.current===e&&(x(G),x(ce)),_e.current===e&&(x(_e),Cn._currentValue=O)}var js,ur;function Ea(e){if(js===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);js=t&&t[1]||"",ur=-1)":-1i||g[l]!==S[i]){var M=` `+g[l].replace(" at new "," at ");return e.displayName&&M.includes("")&&(M=M.replace("",e.displayName)),M}while(1<=l&&0<=i);break}}}finally{xs=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ea(a):""}function um(e,t){switch(e.tag){case 26:case 27:case 5:return Ea(e.type);case 16:return Ea("Lazy");case 13:return e.child!==t&&t!==null?Ea("Suspense Fallback"):Ea("Suspense");case 19:return Ea("SuspenseList");case 0:case 15:return Ss(e.type,!1);case 11:return Ss(e.type.render,!1);case 1:return Ss(e.type,!0);case 31:return Ea("Activity");default:return""}}function rr(e){try{var t="",a=null;do t+=um(e,a),a=e,e=e.return;while(e);return t}catch(l){return` Error generating stack: `+l.message+` `+l.stack}}var Ns=Object.prototype.hasOwnProperty,ks=d.unstable_scheduleCallback,As=d.unstable_cancelCallback,rm=d.unstable_shouldYield,om=d.unstable_requestPaint,ht=d.unstable_now,dm=d.unstable_getCurrentPriorityLevel,or=d.unstable_ImmediatePriority,dr=d.unstable_UserBlockingPriority,Xn=d.unstable_NormalPriority,fm=d.unstable_LowPriority,fr=d.unstable_IdlePriority,hm=d.log,mm=d.unstable_setDisableYieldValue,Yl=null,mt=null;function ca(e){if(typeof hm=="function"&&mm(e),mt&&typeof mt.setStrictMode=="function")try{mt.setStrictMode(Yl,e)}catch{}}var gt=Math.clz32?Math.clz32:vm,gm=Math.log,pm=Math.LN2;function vm(e){return e>>>=0,e===0?32:31-(gm(e)/pm|0)|0}var Zn=256,Kn=262144,Wn=4194304;function wa(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Fn(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,s=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var f=l&134217727;return f!==0?(l=f&~s,l!==0?i=wa(l):(o&=f,o!==0?i=wa(o):a||(a=f&~e,a!==0&&(i=wa(a))))):(f=l&~s,f!==0?i=wa(f):o!==0?i=wa(o):a||(a=l&~e,a!==0&&(i=wa(a)))),i===0?0:t!==0&&t!==i&&(t&s)===0&&(s=i&-i,a=t&-t,s>=a||s===32&&(a&4194048)!==0)?t:i}function Jl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ym(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hr(){var e=Wn;return Wn<<=1,(Wn&62914560)===0&&(Wn=4194304),e}function _s(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Gl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function bm(e,t,a,l,i,s){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var f=e.entanglements,g=e.expirationTimes,S=e.hiddenUpdates;for(a=o&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Am=/[\n"\\]/g;function kt(e){return e.replace(Am,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Es(e,t,a,l,i,s,o,f){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Nt(t)):e.value!==""+Nt(t)&&(e.value=""+Nt(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?ws(e,o,Nt(t)):a!=null?ws(e,o,Nt(a)):l!=null&&e.removeAttribute("value"),i==null&&s!=null&&(e.defaultChecked=!!s),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Nt(f):e.removeAttribute("name")}function _r(e,t,a,l,i,s,o,f){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||a!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){Cs(e);return}a=a!=null?""+Nt(a):"",t=t!=null?""+Nt(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}l=l??i,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=f?e.checked:!!l,e.defaultChecked=!!l,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),Cs(e)}function ws(e,t,a){t==="number"&&Pn(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function il(e,t,a,l){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Hs=!1;if(Jt)try{var Kl={};Object.defineProperty(Kl,"passive",{get:function(){Hs=!0}}),window.addEventListener("test",Kl,Kl),window.removeEventListener("test",Kl,Kl)}catch{Hs=!1}var ra=null,Vs=null,ti=null;function wr(){if(ti)return ti;var e,t=Vs,a=t.length,l,i="value"in ra?ra.value:ra.textContent,s=i.length;for(e=0;e=$l),Vr=" ",qr=!1;function Br(e,t){switch(e){case"keyup":return Pm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yr(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var rl=!1;function t1(e,t){switch(e){case"compositionend":return Yr(t);case"keypress":return t.which!==32?null:(qr=!0,Vr);case"textInput":return e=t.data,e===Vr&&qr?null:e;default:return null}}function a1(e,t){if(rl)return e==="compositionend"||!Gs&&Br(e,t)?(e=wr(),ti=Vs=ra=null,rl=!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:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Fr(a)}}function Ir(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ir(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pn(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Pn(e.document)}return t}function Zs(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")}var o1=Jt&&"documentMode"in document&&11>=document.documentMode,ol=null,Ks=null,tn=null,Ws=!1;function eo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ws||ol==null||ol!==Pn(l)||(l=ol,"selectionStart"in l&&Zs(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),tn&&en(tn,l)||(tn=l,l=Ki(Ks,"onSelect"),0>=o,i-=o,Rt=1<<32-gt(t)+i|a<me?(be=$,$=null):be=$.sibling;var ke=N(y,$,j[me],w);if(ke===null){$===null&&($=be);break}e&&$&&ke.alternate===null&&t(y,$),p=s(ke,p,me),Ne===null?te=ke:Ne.sibling=ke,Ne=ke,$=be}if(me===j.length)return a(y,$),xe&&Qt(y,me),te;if($===null){for(;meme?(be=$,$=null):be=$.sibling;var Ca=N(y,$,ke.value,w);if(Ca===null){$===null&&($=be);break}e&&$&&Ca.alternate===null&&t(y,$),p=s(Ca,p,me),Ne===null?te=Ca:Ne.sibling=Ca,Ne=Ca,$=be}if(ke.done)return a(y,$),xe&&Qt(y,me),te;if($===null){for(;!ke.done;me++,ke=j.next())ke=L(y,ke.value,w),ke!==null&&(p=s(ke,p,me),Ne===null?te=ke:Ne.sibling=ke,Ne=ke);return xe&&Qt(y,me),te}for($=l($);!ke.done;me++,ke=j.next())ke=A($,y,me,ke.value,w),ke!==null&&(e&&ke.alternate!==null&&$.delete(ke.key===null?me:ke.key),p=s(ke,p,me),Ne===null?te=ke:Ne.sibling=ke,Ne=ke);return e&&$.forEach(function(Mg){return t(y,Mg)}),xe&&Qt(y,me),te}function Ce(y,p,j,w){if(typeof j=="object"&&j!==null&&j.type===B&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case Q:e:{for(var te=j.key;p!==null;){if(p.key===te){if(te=j.type,te===B){if(p.tag===7){a(y,p.sibling),w=i(p,j.props.children),w.return=y,y=w;break e}}else if(p.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===fe&&Ga(te)===p.type){a(y,p.sibling),w=i(p,j.props),un(w,j),w.return=y,y=w;break e}a(y,p);break}else t(y,p);p=p.sibling}j.type===B?(w=Va(j.props.children,y.mode,w,j.key),w.return=y,y=w):(w=di(j.type,j.key,j.props,null,y.mode,w),un(w,j),w.return=y,y=w)}return o(y);case ee:e:{for(te=j.key;p!==null;){if(p.key===te)if(p.tag===4&&p.stateNode.containerInfo===j.containerInfo&&p.stateNode.implementation===j.implementation){a(y,p.sibling),w=i(p,j.children||[]),w.return=y,y=w;break e}else{a(y,p);break}else t(y,p);p=p.sibling}w=ac(j,y.mode,w),w.return=y,y=w}return o(y);case fe:return j=Ga(j),Ce(y,p,j,w)}if(W(j))return F(y,p,j,w);if(J(j)){if(te=J(j),typeof te!="function")throw Error(r(150));return j=te.call(j),le(y,p,j,w)}if(typeof j.then=="function")return Ce(y,p,yi(j),w);if(j.$$typeof===K)return Ce(y,p,mi(y,j),w);bi(y,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,p!==null&&p.tag===6?(a(y,p.sibling),w=i(p,j),w.return=y,y=w):(a(y,p),w=tc(j,y.mode,w),w.return=y,y=w),o(y)):a(y,p)}return function(y,p,j,w){try{cn=0;var te=Ce(y,p,j,w);return xl=null,te}catch($){if($===jl||$===pi)throw $;var Ne=vt(29,$,null,y.mode);return Ne.lanes=w,Ne.return=y,Ne}}}var Xa=ko(!0),Ao=ko(!1),ma=!1;function mc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function gc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ga(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function pa(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Ae&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=oi(e),co(e,null,a),t}return ri(e,l,t,a),oi(e)}function rn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,gr(e,a)}}function pc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,s=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};s===null?i=s=o:s=s.next=o,a=a.next}while(a!==null);s===null?i=s=t:s=s.next=t}else i=s=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var vc=!1;function on(){if(vc){var e=bl;if(e!==null)throw e}}function dn(e,t,a,l){vc=!1;var i=e.updateQueue;ma=!1;var s=i.firstBaseUpdate,o=i.lastBaseUpdate,f=i.shared.pending;if(f!==null){i.shared.pending=null;var g=f,S=g.next;g.next=null,o===null?s=S:o.next=S,o=g;var M=e.alternate;M!==null&&(M=M.updateQueue,f=M.lastBaseUpdate,f!==o&&(f===null?M.firstBaseUpdate=S:f.next=S,M.lastBaseUpdate=g))}if(s!==null){var L=i.baseState;o=0,M=S=g=null,f=s;do{var N=f.lane&-536870913,A=N!==f.lane;if(A?(ye&N)===N:(l&N)===N){N!==0&&N===yl&&(vc=!0),M!==null&&(M=M.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var F=e,le=f;N=t;var Ce=a;switch(le.tag){case 1:if(F=le.payload,typeof F=="function"){L=F.call(Ce,L,N);break e}L=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=le.payload,N=typeof F=="function"?F.call(Ce,L,N):F,N==null)break e;L=T({},L,N);break e;case 2:ma=!0}}N=f.callback,N!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[N]:A.push(N))}else A={lane:N,tag:f.tag,payload:f.payload,callback:f.callback,next:null},M===null?(S=M=A,g=L):M=M.next=A,o|=N;if(f=f.next,f===null){if(f=i.shared.pending,f===null)break;A=f,f=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);M===null&&(g=L),i.baseState=g,i.firstBaseUpdate=S,i.lastBaseUpdate=M,s===null&&(i.shared.lanes=0),xa|=o,e.lanes=o,e.memoizedState=L}}function _o(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function To(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;es?s:8;var o=k.T,f={};k.T=f,Lc(e,!1,t,a);try{var g=i(),S=k.S;if(S!==null&&S(f,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var M=b1(g,l);mn(e,t,M,St(e))}else mn(e,t,l,St(e))}catch(L){mn(e,t,{then:function(){},status:"rejected",reason:L},St())}finally{_.p=s,o!==null&&f.types!==null&&(o.types=f.types),k.T=o}}function A1(){}function Uc(e,t,a,l){if(e.tag!==5)throw Error(r(476));var i=id(e).queue;nd(e,i,t,O,a===null?A1:function(){return sd(e),a(l)})}function id(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:O,baseState:O,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wt,lastRenderedState:O},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wt,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function sd(e){var t=id(e);t.next===null&&(t=e.alternate.memoizedState),mn(e,t.next.queue,{},St())}function Oc(){return Ie(Cn)}function cd(){return Be().memoizedState}function ud(){return Be().memoizedState}function _1(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=St();e=ga(a);var l=pa(t,e,a);l!==null&&(dt(l,t,a),rn(l,t,a)),t={cache:oc()},e.payload=t;return}t=t.return}}function T1(e,t,a){var l=St();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Di(e)?od(t,a):(a=Ps(e,t,a,l),a!==null&&(dt(a,e,l),dd(a,t,l)))}function rd(e,t,a){var l=St();mn(e,t,a,l)}function mn(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Di(e))od(t,i);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,f=s(o,a);if(i.hasEagerState=!0,i.eagerState=f,pt(f,o))return ri(e,t,i,0),Ee===null&&ui(),!1}catch{}if(a=Ps(e,t,i,l),a!==null)return dt(a,e,l),dd(a,t,l),!0}return!1}function Lc(e,t,a,l){if(l={lane:2,revertLane:mu(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Di(e)){if(t)throw Error(r(479))}else t=Ps(e,a,l,2),t!==null&&dt(t,e,2)}function Di(e){var t=e.alternate;return e===he||t!==null&&t===he}function od(e,t){Nl=Si=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function dd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,gr(e,a)}}var gn={readContext:Ie,use:Ai,useCallback:Le,useContext:Le,useEffect:Le,useImperativeHandle:Le,useLayoutEffect:Le,useInsertionEffect:Le,useMemo:Le,useReducer:Le,useRef:Le,useState:Le,useDebugValue:Le,useDeferredValue:Le,useTransition:Le,useSyncExternalStore:Le,useId:Le,useHostTransitionStatus:Le,useFormState:Le,useActionState:Le,useOptimistic:Le,useMemoCache:Le,useCacheRefresh:Le};gn.useEffectEvent=Le;var fd={readContext:Ie,use:Ai,useCallback:function(e,t){return nt().memoizedState=[e,t===void 0?null:t],e},useContext:Ie,useEffect:Wo,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ti(4194308,4,Po.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ti(4194308,4,e,t)},useInsertionEffect:function(e,t){Ti(4,2,e,t)},useMemo:function(e,t){var a=nt();t=t===void 0?null:t;var l=e();if(Za){ca(!0);try{e()}finally{ca(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=nt();if(a!==void 0){var i=a(t);if(Za){ca(!0);try{a(t)}finally{ca(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=T1.bind(null,he,e),[l.memoizedState,e]},useRef:function(e){var t=nt();return e={current:e},t.memoizedState=e},useState:function(e){e=Dc(e);var t=e.queue,a=rd.bind(null,he,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Ec,useDeferredValue:function(e,t){var a=nt();return wc(a,e,t)},useTransition:function(){var e=Dc(!1);return e=nd.bind(null,he,e.queue,!0,!1),nt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=he,i=nt();if(xe){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Ee===null)throw Error(r(349));(ye&127)!==0||wo(l,t,a)}i.memoizedState=a;var s={value:a,getSnapshot:t};return i.queue=s,Wo(Oo.bind(null,l,s,e),[e]),l.flags|=2048,Al(9,{destroy:void 0},Uo.bind(null,l,s,a,t),null),a},useId:function(){var e=nt(),t=Ee.identifierPrefix;if(xe){var a=Ht,l=Rt;a=(l&~(1<<32-gt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Ni++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof l.is=="string"?o.createElement("select",{is:l.is}):o.createElement("select"),l.multiple?s.multiple=!0:l.size&&(s.size=l.size);break;default:s=typeof l.is=="string"?o.createElement(i,{is:l.is}):o.createElement(i)}}s[Fe]=t,s[it]=l;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)s.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=s;e:switch(et(s,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&$t(t)}}return Ue(t),Fc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&$t(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(r(166));if(e=ie.current,pl(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=$e,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[Fe]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Ef(e.nodeValue,a)),e||fa(t,!0)}else e=Wi(e).createTextNode(l),e[Fe]=t,t.stateNode=e}return Ue(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=pl(t),a!==null){if(e===null){if(!l)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[Fe]=t}else qa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),e=!1}else a=sc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(bt(t),t):(bt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Ue(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=pl(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(r(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(317));i[Fe]=t}else qa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),i=!1}else i=sc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(bt(t),t):(bt(t),null)}return bt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),s=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(s=l.memoizedState.cachePool.pool),s!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Ui(t,t.updateQueue),Ue(t),null);case 4:return Ve(),e===null&&yu(t.stateNode.containerInfo),Ue(t),null;case 10:return Zt(t.type),Ue(t),null;case 19:if(x(qe),l=t.memoizedState,l===null)return Ue(t),null;if(i=(t.flags&128)!==0,s=l.rendering,s===null)if(i)vn(l,!1);else{if(Re!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(s=xi(e),s!==null){for(t.flags|=128,vn(l,!1),e=s.updateQueue,t.updateQueue=e,Ui(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)uo(a,e),a=a.sibling;return E(qe,qe.current&1|2),xe&&Qt(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&ht()>Vi&&(t.flags|=128,i=!0,vn(l,!1),t.lanes=4194304)}else{if(!i)if(e=xi(s),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ui(t,e),vn(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!xe)return Ue(t),null}else 2*ht()-l.renderingStartTime>Vi&&a!==536870912&&(t.flags|=128,i=!0,vn(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(e=l.last,e!==null?e.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=ht(),e.sibling=null,a=qe.current,E(qe,i?a&1|2:a&1),xe&&Qt(t,l.treeForkCount),e):(Ue(t),null);case 22:case 23:return bt(t),bc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Ue(t),t.subtreeFlags&6&&(t.flags|=8192)):Ue(t),a=t.updateQueue,a!==null&&Ui(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&x(Ja),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Zt(Ye),Ue(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function E1(e,t){switch(nc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Zt(Ye),Ve(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qn(t),null;case 31:if(t.memoizedState!==null){if(bt(t),t.alternate===null)throw Error(r(340));qa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(bt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));qa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return x(qe),null;case 4:return Ve(),null;case 10:return Zt(t.type),null;case 22:case 23:return bt(t),bc(),e!==null&&x(Ja),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Zt(Ye),null;case 25:return null;default:return null}}function Ld(e,t){switch(nc(t),t.tag){case 3:Zt(Ye),Ve();break;case 26:case 27:case 5:Qn(t);break;case 4:Ve();break;case 31:t.memoizedState!==null&&bt(t);break;case 13:bt(t);break;case 19:x(qe);break;case 10:Zt(t.type);break;case 22:case 23:bt(t),bc(),e!==null&&x(Ja);break;case 24:Zt(Ye)}}function yn(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var s=a.create,o=a.inst;l=s(),o.destroy=l}a=a.next}while(a!==i)}}catch(f){ze(t,t.return,f)}}function ba(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var s=i.next;l=s;do{if((l.tag&e)===e){var o=l.inst,f=o.destroy;if(f!==void 0){o.destroy=void 0,i=t;var g=a,S=f;try{S()}catch(M){ze(i,g,M)}}}l=l.next}while(l!==s)}}catch(M){ze(t,t.return,M)}}function Rd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{To(t,a)}catch(l){ze(e,e.return,l)}}}function Hd(e,t,a){a.props=Ka(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){ze(e,t,l)}}function bn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(i){ze(e,t,i)}}function Vt(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){ze(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){ze(e,t,i)}else a.current=null}function Vd(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(i){ze(e,e.return,i)}}function $c(e,t,a){try{var l=e.stateNode;eg(l,e.type,a,t),l[it]=t}catch(i){ze(e,e.return,i)}}function qd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&_a(e.type)||e.tag===4}function Ic(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qd(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.tag===27&&_a(e.type)||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 Pc(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Yt));else if(l!==4&&(l===27&&_a(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Pc(e,t,a),e=e.sibling;e!==null;)Pc(e,t,a),e=e.sibling}function Oi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&_a(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Oi(e,t,a),e=e.sibling;e!==null;)Oi(e,t,a),e=e.sibling}function Bd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);et(t,l,a),t[Fe]=e,t[it]=a}catch(s){ze(e,e.return,s)}}var It=!1,Qe=!1,eu=!1,Yd=typeof WeakSet=="function"?WeakSet:Set,We=null;function w1(e,t){if(e=e.containerInfo,xu=as,e=Pr(e),Zs(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var i=l.anchorOffset,s=l.focusNode;l=l.focusOffset;try{a.nodeType,s.nodeType}catch{a=null;break e}var o=0,f=-1,g=-1,S=0,M=0,L=e,N=null;t:for(;;){for(var A;L!==a||i!==0&&L.nodeType!==3||(f=o+i),L!==s||l!==0&&L.nodeType!==3||(g=o+l),L.nodeType===3&&(o+=L.nodeValue.length),(A=L.firstChild)!==null;)N=L,L=A;for(;;){if(L===e)break t;if(N===a&&++S===i&&(f=o),N===s&&++M===l&&(g=o),(A=L.nextSibling)!==null)break;L=N,N=L.parentNode}L=A}a=f===-1||g===-1?null:{start:f,end:g}}else a=null}a=a||{start:0,end:0}}else a=null;for(Su={focusedElem:e,selectionRange:a},as=!1,We=t;We!==null;)if(t=We,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,We=e;else for(;We!==null;){switch(t=We,s=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),et(s,l,a),s[Fe]=e,Ke(s),l=s;break e;case"link":var o=Wf("link","href",i).get(l+(a.href||""));if(o){for(var f=0;fCe&&(o=Ce,Ce=le,le=o);var y=$r(f,le),p=$r(f,Ce);if(y&&p&&(A.rangeCount!==1||A.anchorNode!==y.node||A.anchorOffset!==y.offset||A.focusNode!==p.node||A.focusOffset!==p.offset)){var j=L.createRange();j.setStart(y.node,y.offset),A.removeAllRanges(),le>Ce?(A.addRange(j),A.extend(p.node,p.offset)):(j.setEnd(p.node,p.offset),A.addRange(j))}}}}for(L=[],A=f;A=A.parentNode;)A.nodeType===1&&L.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fa?32:a,k.T=null,a=cu,cu=null;var s=Na,o=la;if(Ze=0,Ml=Na=null,la=0,(Ae&6)!==0)throw Error(r(331));var f=Ae;if(Ae|=4,Pd(s.current),Fd(s,s.current,o,a),Ae=f,An(0,!1),mt&&typeof mt.onPostCommitFiberRoot=="function")try{mt.onPostCommitFiberRoot(Yl,s)}catch{}return!0}finally{_.p=i,k.T=l,yf(e,t)}}function jf(e,t,a){t=_t(a,t),t=qc(e.stateNode,t,2),e=pa(e,t,2),e!==null&&(Gl(e,2),qt(e))}function ze(e,t,a){if(e.tag===3)jf(e,e,a);else for(;t!==null;){if(t.tag===3){jf(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Sa===null||!Sa.has(l))){e=_t(a,e),a=jd(2),l=pa(t,a,2),l!==null&&(xd(a,l,t,e),Gl(l,2),qt(l));break}}t=t.return}}function du(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new L1;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(lu=!0,i.add(a),e=B1.bind(null,e,t,a),t.then(e,e))}function B1(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ee===e&&(ye&a)===a&&(Re===4||Re===3&&(ye&62914560)===ye&&300>ht()-Hi?(Ae&2)===0&&Cl(e,0):nu|=a,Dl===ye&&(Dl=0)),qt(e)}function xf(e,t){t===0&&(t=hr()),e=Ha(e,t),e!==null&&(Gl(e,t),qt(e))}function Y1(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),xf(e,a)}function J1(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(t),xf(e,a)}function G1(e,t){return ks(e,t)}var Qi=null,wl=null,fu=!1,Xi=!1,hu=!1,Aa=0;function qt(e){e!==wl&&e.next===null&&(wl===null?Qi=wl=e:wl=wl.next=e),Xi=!0,fu||(fu=!0,X1())}function An(e,t){if(!hu&&Xi){hu=!0;do for(var a=!1,l=Qi;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var s=0;else{var o=l.suspendedLanes,f=l.pingedLanes;s=(1<<31-gt(42|e)+1)-1,s&=i&~(o&~f),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(a=!0,Af(l,s))}else s=ye,s=Fn(l,l===Ee?s:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(s&3)===0||Jl(l,s)||(a=!0,Af(l,s));l=l.next}while(a);hu=!1}}function Q1(){Sf()}function Sf(){Xi=fu=!1;var e=0;Aa!==0&&ag()&&(e=Aa);for(var t=ht(),a=null,l=Qi;l!==null;){var i=l.next,s=Nf(l,t);s===0?(l.next=null,a===null?Qi=i:a.next=i,i===null&&(wl=a)):(a=l,(e!==0||(s&3)!==0)&&(Xi=!0)),l=i}Ze!==0&&Ze!==5||An(e),Aa!==0&&(Aa=0)}function Nf(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,s=e.pendingLanes&-62914561;0f)break;var M=g.transferSize,L=g.initiatorType;M&&wf(L)&&(g=g.responseEnd,o+=M*(g"u"?null:document;function Qf(e,t,a){var l=Ul;if(l&&typeof t=="string"&&t){var i=kt(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),Gf.has(i)||(Gf.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),et(t,"link",e),Ke(t),l.head.appendChild(t)))}}function dg(e){na.D(e),Qf("dns-prefetch",e,null)}function fg(e,t){na.C(e,t),Qf("preconnect",e,t)}function hg(e,t,a){na.L(e,t,a);var l=Ul;if(l&&e&&t){var i='link[rel="preload"][as="'+kt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+kt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+kt(a.imageSizes)+'"]')):i+='[href="'+kt(e)+'"]';var s=i;switch(t){case"style":s=Ol(e);break;case"script":s=Ll(e)}Et.has(s)||(e=T({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Et.set(s,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(Dn(s))||t==="script"&&l.querySelector(Mn(s))||(t=l.createElement("link"),et(t,"link",e),Ke(t),l.head.appendChild(t)))}}function mg(e,t){na.m(e,t);var a=Ul;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+kt(l)+'"][href="'+kt(e)+'"]',s=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Ll(e)}if(!Et.has(s)&&(e=T({rel:"modulepreload",href:e},t),Et.set(s,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Mn(s)))return}l=a.createElement("link"),et(l,"link",e),Ke(l),a.head.appendChild(l)}}}function gg(e,t,a){na.S(e,t,a);var l=Ul;if(l&&e){var i=ll(l).hoistableStyles,s=Ol(e);t=t||"default";var o=i.get(s);if(!o){var f={loading:0,preload:null};if(o=l.querySelector(Dn(s)))f.loading=5;else{e=T({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Et.get(s))&&Du(e,a);var g=o=l.createElement("link");Ke(g),et(g,"link",e),g._p=new Promise(function(S,M){g.onload=S,g.onerror=M}),g.addEventListener("load",function(){f.loading|=1}),g.addEventListener("error",function(){f.loading|=2}),f.loading|=4,$i(o,t,l)}o={type:"stylesheet",instance:o,count:1,state:f},i.set(s,o)}}}function pg(e,t){na.X(e,t);var a=Ul;if(a&&e){var l=ll(a).hoistableScripts,i=Ll(e),s=l.get(i);s||(s=a.querySelector(Mn(i)),s||(e=T({src:e,async:!0},t),(t=Et.get(i))&&Mu(e,t),s=a.createElement("script"),Ke(s),et(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(i,s))}}function vg(e,t){na.M(e,t);var a=Ul;if(a&&e){var l=ll(a).hoistableScripts,i=Ll(e),s=l.get(i);s||(s=a.querySelector(Mn(i)),s||(e=T({src:e,async:!0,type:"module"},t),(t=Et.get(i))&&Mu(e,t),s=a.createElement("script"),Ke(s),et(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(i,s))}}function Xf(e,t,a,l){var i=(i=ie.current)?Fi(i):null;if(!i)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Ol(a.href),a=ll(i).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Ol(a.href);var s=ll(i).hoistableStyles,o=s.get(e);if(o||(i=i.ownerDocument||i,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,o),(s=i.querySelector(Dn(e)))&&!s._p&&(o.instance=s,o.state.loading=5),Et.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Et.set(e,a),s||yg(i,e,a,o.state))),t&&l===null)throw Error(r(528,""));return o}if(t&&l!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ll(a),a=ll(i).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Ol(e){return'href="'+kt(e)+'"'}function Dn(e){return'link[rel="stylesheet"]['+e+"]"}function Zf(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function yg(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),et(t,"link",a),Ke(t),e.head.appendChild(t))}function Ll(e){return'[src="'+kt(e)+'"]'}function Mn(e){return"script[async]"+e}function Kf(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+kt(a.href)+'"]');if(l)return t.instance=l,Ke(l),l;var i=T({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),Ke(l),et(l,"style",i),$i(l,a.precedence,e),t.instance=l;case"stylesheet":i=Ol(a.href);var s=e.querySelector(Dn(i));if(s)return t.state.loading|=4,t.instance=s,Ke(s),s;l=Zf(a),(i=Et.get(i))&&Du(l,i),s=(e.ownerDocument||e).createElement("link"),Ke(s);var o=s;return o._p=new Promise(function(f,g){o.onload=f,o.onerror=g}),et(s,"link",l),t.state.loading|=4,$i(s,a.precedence,e),t.instance=s;case"script":return s=Ll(a.src),(i=e.querySelector(Mn(s)))?(t.instance=i,Ke(i),i):(l=a,(i=Et.get(s))&&(l=T({},a),Mu(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),Ke(i),et(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,$i(l,a.precedence,e));return t.instance}function $i(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,s=i,o=0;o title"):null)}function bg(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function $f(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function jg(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Ol(l.href),s=t.querySelector(Dn(i));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Pi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=s,Ke(s);return}s=t.ownerDocument||t,l=Zf(l),(i=Et.get(i))&&Du(l,i),s=s.createElement("link"),Ke(s);var o=s;o._p=new Promise(function(f,g){o.onload=f,o.onerror=g}),et(s,"link",l),a.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Pi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Cu=0;function xg(e,t){return e.stylesheets&&e.count===0&&ts(e,e.stylesheets),0Cu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function Pi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ts(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var es=null;function ts(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,es=new Map,t.forEach(Sg,e),es=null,Pi.call(e))}function Sg(e,t){if(!(t.state.loading&4)){var a=es.get(e);if(a)var l=a.get(null);else{a=new Map,es.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(c){console.error(c)}}return d(),qu.exports=Hg(),qu.exports}var qg=Vg();class Bg{observers=new Set;next(c){this.observers.forEach(u=>u(c))}asObservable(){return{subscribe:c=>(this.observers.add(c),{unsubscribe:()=>this.observers.delete(c)})}}}class Yg extends Bg{currentValue;constructor(c){super(),this.currentValue=c}next(c){this.currentValue=c,super.next(c)}get value(){return this.currentValue}asObservable(){return{subscribe:c=>(c(this.currentValue),super.asObservable().subscribe(c))}}}class Jg{authId="id";authToken="token";authEmail="email";runOutDate="runOutDate";authTokenSubject=new Yg(null);constructor(){}async loadAuthTokenFromStorage(){const c=window.localStorage.getItem(this.authToken);this.authTokenSubject.next(c)}async setAuthData(c,u){if(await this.setPreference(this.authId,c.id),await this.setPreference(this.authToken,c.token),await this.setPreference(this.authEmail,c.email),u)await this.setPreference(this.runOutDate,"forever");else{const r=new Date,m=new Date(r);m.setDate(r.getDate()+1);const v=m.toISOString();await this.setPreference(this.runOutDate,v)}}async setPreference(c,u){window.localStorage.setItem(c,u)}async getCandidateId(){return window.localStorage.getItem(this.authId)}async getCandidateEmail(){return window.localStorage.getItem(this.authEmail)}async getAuthToken(){return window.localStorage.getItem(this.authToken)}getAuthTokenNoneAsync(){return this.authTokenSubject.value}async getRunOutDate(){return window.localStorage.getItem(this.runOutDate)}async clearCredentials(){window.localStorage.removeItem(this.authId),window.localStorage.removeItem(this.authToken),window.localStorage.removeItem(this.runOutDate)}async getAuth(){let c=await this.getCandidateId(),u=await this.getAuthToken(),r=await this.getCandidateEmail(),m=await this.getRunOutDate();return c&&u&&r&&m?{id:c,token:u,email:r,runOutDate:m}:null}getAuthTokenWithoutWindow(){const c=this.getAuthTokenNoneAsync();return c||""}getAuthWithoutWindow(){const c=this.getAuthTokenNoneAsync();return c?{id:"",token:c,email:"",runOutDate:"forever"}:null}}const ql=new Jg;const qh=(...d)=>d.filter((c,u,r)=>!!c&&c.trim()!==""&&r.indexOf(c)===u).join(" ").trim();const Gg=d=>d.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Qg=d=>d.replace(/^([A-Z])|[\s-_]+(\w)/g,(c,u,r)=>r?r.toUpperCase():u.toLowerCase());const xh=d=>{const c=Qg(d);return c.charAt(0).toUpperCase()+c.slice(1)};var Xg={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Zg=d=>{for(const c in d)if(c.startsWith("aria-")||c==="role"||c==="title")return!0;return!1};const Kg=C.forwardRef(({color:d="currentColor",size:c=24,strokeWidth:u=2,absoluteStrokeWidth:r,className:m="",children:v,iconNode:U,...Y},R)=>C.createElement("svg",{ref:R,...Xg,width:c,height:c,stroke:d,strokeWidth:r?Number(u)*24/Number(c):u,className:qh("lucide",m),...!v&&!Zg(Y)&&{"aria-hidden":"true"},...Y},[...U.map(([b,V])=>C.createElement(b,V)),...Array.isArray(v)?v:[v]]));const X=(d,c)=>{const u=C.forwardRef(({className:r,...m},v)=>C.createElement(Kg,{ref:v,iconNode:c,className:qh(`lucide-${Gg(xh(d))}`,`lucide-${d}`,r),...m}));return u.displayName=xh(d),u};const Wg=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Bh=X("arrow-left",Wg);const Fg=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],$a=X("arrow-right",Fg);const $g=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],Ig=X("arrow-up-down",$g);const Pg=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Yh=X("badge-check",Pg);const ep=[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]],tp=X("bolt",ep);const ap=[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],lp=X("bookmark",ap);const np=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Jh=X("bot",np);const ip=[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],Iu=X("briefcase-business",ip);const sp=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],sr=X("briefcase",sp);const cp=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],up=X("calendar-days",cp);const rp=[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]],Gh=X("car",rp);const op=[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]],dp=X("check-check",op);const fp=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],hp=X("check",fp);const mp=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Hn=X("chevron-down",mp);const gp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],tt=X("circle-check",gp);const pp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]],vp=X("circle-pause",pp);const yp=[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],bp=X("circle-play",yp);const jp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]],xp=X("circle-plus",jp);const Sp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],Np=X("circle-stop",Sp);const kp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Ap=X("circle-user",kp);const _p=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],Pu=X("clock-3",_p);const Tp=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],er=X("code-xml",Tp);const zp=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],tr=X("crown",zp);const Dp=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Mp=X("ellipsis",Dp);const Cp=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],Ep=X("file-plus-corner",Cp);const wp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ar=X("file-text",wp);const Up=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Qh=X("funnel",Up);const Op=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],Lp=X("gamepad-2",Op);const Rp=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",key:"1sqzm4"}],["path",{d:"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5",key:"kc0143"}],["rect",{x:"3",y:"7",width:"18",height:"4",rx:"1",key:"1hberx"}]],Hp=X("gift",Rp);const Vp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],gs=X("globe",Vp);const qp=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Xh=X("graduation-cap",qp);const Bp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],Zh=X("grid-3x3",Bp);const Yp=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Jp=X("info",Yp);const Gp=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],lr=X("laptop",Gp);const Qp=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],Xp=X("layout-grid",Qp);const Zp=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]],Kh=X("layout-panel-top",Zp);const Kp=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Wp=X("lightbulb",Kp);const Fp=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],$p=X("link-2",Fp);const Ip=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],Wh=X("lock-keyhole",Ip);const Pp=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],ev=X("log-out",Pp);const tv=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],ps=X("mail",tv);const av=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],Yn=X("map-pin",av);const lv=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],Fh=X("message-circle",lv);const nv=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],iv=X("mic",nv);const sv=[["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"}]],cv=X("monitor",sv);const uv=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],rv=X("moon",uv);const ov=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],dv=X("paperclip",ov);const fv=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],hv=X("pen-line",fv);const mv=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],gv=X("phone",mv);const pv=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],vv=X("play",pv);const yv=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],bv=X("plus",yv);const jv=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],xv=X("presentation",jv);const Sv=[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]],Nv=X("radar",Sv);const kv=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Av=X("radio",kv);const _v=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],Tv=X("rocket",_v);const zv=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],Sh=X("route",zv);const Dv=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Mv=X("save",Dv);const Cv=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],nr=X("search",Cv);const Ev=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],wv=X("send",Ev);const Uv=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],$h=X("settings",Uv);const Ov=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],Lv=X("shield",Ov);const Rv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],Hv=X("smile",Rv);const Vv=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Gn=X("sparkles",Vv);const qv=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],Ih=X("square-pen",qv);const Bv=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Ph=X("star",Bv);const Yv=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Jv=X("sun",Yv);const Gv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],vs=X("target",Gv);const Qv=[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]],Xv=X("trophy",Qv);const Zv=[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],Hl=X("user-round",Zv);const Kv=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Nh=X("user",Kv);const Wv=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Fv=X("users",Wv);const $v=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],Iv=X("wand-sparkles",$v);const Pv=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],kh=X("x",Pv);function Vl({icon:d,label:c,...u}){return n.jsxs("label",{className:"auth-field",children:[n.jsx("span",{children:c}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:d}),n.jsx("input",{...u})]})]})}function e0({email:d,loading:c,onBackToLogin:u,onChangeEmail:r,onSubmit:m}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head",children:[n.jsx("button",{className:"link-btn back-link",type:"button",onClick:u,children:"Tilbage"}),n.jsx("h1",{children:"Glemt kodeord?"}),n.jsx("p",{children:"Indtast din e-mail, sa sender vi instruktioner til at nulstille din kode."})]}),n.jsxs("form",{className:"auth-form",onSubmit:m,children:[n.jsx(Vl,{icon:n.jsx(ps,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:d,onChange:v=>r(v.target.value),required:!0}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:c,children:c?"Sender...":"Send nulstillingslink"})]})]})}function t0({email:d,loading:c,onChangeEmail:u,onChangePassword:r,onChangeRememberMe:m,onForgotPassword:v,onRegister:U,onSubmit:Y,password:R,rememberMe:b}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head auth-head-center",children:[n.jsx("h1",{children:"Velkommen tilbage"}),n.jsx("p",{children:"Indtast dine oplysninger for at logge ind pa din konto."})]}),n.jsxs("form",{className:"auth-form",onSubmit:Y,children:[n.jsx(Vl,{icon:n.jsx(ps,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:d,onChange:V=>u(V.target.value),required:!0}),n.jsxs("label",{className:"auth-field",children:[n.jsxs("div",{className:"auth-field-row",children:[n.jsx("span",{children:"Adgangskode"}),n.jsx("button",{className:"link-btn",type:"button",onClick:v,children:"Glemt adgangskode?"})]}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:n.jsx(Wh,{size:16,strokeWidth:1.8})}),n.jsx("input",{type:"password",placeholder:"••••••••",value:R,onChange:V=>r(V.target.value),required:!0})]})]}),n.jsxs("label",{className:"check-row",children:[n.jsx("input",{type:"checkbox",checked:b,onChange:V=>m(V.target.checked)}),n.jsx("span",{children:"Husk mig i 30 dage"})]}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:c,children:c?"Logger ind...":"Log ind"})]}),n.jsxs("p",{className:"auth-foot",children:["Har du ikke en konto?",n.jsx("button",{className:"link-btn",type:"button",onClick:U,children:"Opret bruger"})]})]})}function a0({email:d,firstName:c,lastName:u,loading:r,locationQuery:m,locationSuggestions:v,onBackToLogin:U,onChangeEmail:Y,onChangeFirstName:R,onChangeLastName:b,onChangeLocationQuery:V,onChangePassword:T,onSelectLocation:q,onSubmit:Q,password:ee}){return n.jsxs("div",{className:"auth-view view-enter",children:[n.jsxs("div",{className:"auth-head auth-head-center",children:[n.jsx("h1",{children:"Opret konto"}),n.jsx("p",{children:"Start din karriere-rejse med os i dag."})]}),n.jsxs("form",{className:"auth-form",onSubmit:Q,children:[n.jsx(Vl,{icon:n.jsx(Nh,{size:16,strokeWidth:1.8}),label:"Fornavn",type:"text",placeholder:"Lasse",value:c,onChange:B=>R(B.target.value),required:!0}),n.jsx(Vl,{icon:n.jsx(Nh,{size:16,strokeWidth:1.8}),label:"Efternavn",type:"text",placeholder:"Hansen",value:u,onChange:B=>b(B.target.value),required:!0}),n.jsx(Vl,{icon:n.jsx(ps,{size:16,strokeWidth:1.8}),label:"E-mail",type:"email",placeholder:"navn@eksempel.dk",value:d,onChange:B=>Y(B.target.value),required:!0}),n.jsx(Vl,{icon:n.jsx(Wh,{size:16,strokeWidth:1.8}),label:"Adgangskode",type:"password",placeholder:"Skab en staerk kode",value:ee,onChange:B=>T(B.target.value),required:!0,minLength:8}),n.jsxs("label",{className:"auth-field",children:[n.jsx("span",{children:"Lokation"}),n.jsxs("div",{className:"auth-input-wrap",children:[n.jsx("span",{className:"auth-input-icon","aria-hidden":!0,children:n.jsx(Yn,{size:16,strokeWidth:1.8})}),n.jsx("input",{type:"text",placeholder:"Soeg by eller adresse",value:m,onChange:B=>V(B.target.value),autoComplete:"off",required:!0})]}),v.length>0?n.jsx("div",{className:"location-suggestions",children:v.map(B=>n.jsx("button",{type:"button",className:"location-suggestion-item",onClick:()=>{q(B.placeId,B.description)},children:B.description},B.placeId))}):null]}),n.jsx("button",{className:"submit-btn",type:"submit",disabled:r,children:r?"Opretter...":"Opret bruger"})]}),n.jsxs("p",{className:"auth-foot",children:["Har du allerede en konto?",n.jsx("button",{className:"link-btn",type:"button",onClick:U,children:"Log ind"})]})]})}class Ia{searchParams;constructor(c){this.searchParams=c?new URLSearchParams(c):new URLSearchParams}append(c,u){const r=new URLSearchParams(this.searchParams);return r.append(c,String(u)),new Ia(r)}set(c,u){const r=new URLSearchParams(this.searchParams);return r.set(c,String(u)),new Ia(r)}toString(){return this.searchParams.toString()}}function rs(d,c){if(!c)return d;const u=new URL(d);if(c instanceof Ia){const r=c.toString();return r&&new URLSearchParams(r).forEach((v,U)=>u.searchParams.append(U,v)),u.toString()}return Object.entries(c).forEach(([r,m])=>{if(Array.isArray(m)){m.forEach(v=>u.searchParams.append(r,String(v)));return}u.searchParams.set(r,String(m))}),u.toString()}async function os(d,c="json"){if(!d.ok){const u=await d.text();throw new Error(u||`HTTP ${d.status}`)}if(d.status!==204)return c==="blob"?await d.blob():await d.json()}function ds(d){const c=typeof window>"u"?null:window.localStorage.getItem("token");return{...c?{Authorization:`Bearer ${c}`}:{},...d??{}}}class l0{async get(c,u){const r=await fetch(rs(c,u?.params),{method:"GET",headers:ds(u?.headers)});return os(r,u?.responseType)}async post(c,u,r){const m=await fetch(rs(c,r?.params),{method:"POST",headers:{"Content-Type":"application/json",...ds(r?.headers)},body:u===void 0?void 0:JSON.stringify(u)});return os(m)}async put(c,u,r){const m=await fetch(rs(c,r?.params),{method:"PUT",headers:{"Content-Type":"application/json",...ds(r?.headers)},body:u===void 0?void 0:JSON.stringify(u)});return os(m)}async delete(c,u){const r=await fetch(rs(c,u?.params),{method:"DELETE",headers:ds(u?.headers)});return os(r)}}const He=new l0,z={backendApi:"https://api.arbejd.com/",backendApiV2:"https://api2.arbejd.com/api/"};class n0{http;constructor(c=He){this.http=c}login(c,u){let r=z.backendApi+"api/1.1.0/candidate/login",m={email:c,password:u};return this.http.post(r,m)}forgotPassword(c){let u=z.backendApi+"api/1.1.0/candidate/resetPassword/"+c.toLowerCase();return this.http.get(u)}}class Pa{constructor(c=He,u=ql){this.http=c,this.localStorageService=u}closeAccount(c){let u=z.backendApi+"api/1.1.0/candidate/"+c.toLowerCase();return this.http.delete(u)}accountRetention(c){let u=z.backendApi+"api/1.1.0/candidate/"+c+"/account-retention/";return this.http.get(u)}getCandidatesQualifications(){let c=z.backendApi+"api/1.1.0/candidate/skill/";return this.http.get(c)}getCandidatesCertifications(){let c=z.backendApi+"api/1.1.0/candidate/certificate/";return this.http.get(c)}getCandidatesLanguages(){let c=z.backendApi+"api/1.1.0/candidate/language/";return this.http.get(c)}getCandidatesDriverLicenses(){let c=z.backendApi+"api/1.1.0/candidate/driversLicense/";return this.http.get(c)}changePassword(c,u){let r=z.backendApi+"api/1.1.0/candidate/resetPassword",m={key:c,password:u};return this.http.post(r,m)}getCandidatesEducations(){let c=z.backendApiV2+"1.0.0/client/candidate_education";return this.http.get(c)}updateExperience(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_experience/"+c.id,m={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.put(r,m)}createAccountV2(c){let u=z.backendApiV2+"1.0.0/client/candidate";return this.http.post(u,c)}updateCandidate(c,u){let r=z.backendApiV2+"1.0.0/client/candidate/v2/"+c.id,m={...c};c.birthday&&(c.birthday=new Date(c.birthday)),c.birthday instanceof Date&&(m.birthday=c.birthday.toISOString());let v={language:u,candidate:m};return this.http.put(r,v)}getCandidate(){let c=z.backendApiV2+"1.0.0/client/candidate";return this.http.get(c)}getCvSuggestion(){let c=z.backendApiV2+"1.0.0/client/suggestion";return this.http.get(c)}saveExperience(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_experience",m={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,esco_id:c.occupation.id,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.post(r,m)}removeExperience(c){let u=z.backendApiV2+"1.0.0/client/candidate_experience/"+c;return this.http.delete(u)}getCandidatesExperiences(){let c=z.backendApiV2+"1.0.0/client/candidate_experience";return this.http.get(c)}getJobAgentFilters(){let c=z.backendApiV2+"1.0.0/client/job_agent_filter";return this.http.get(c)}updateJobAgentFilter(c){let u=z.backendApiV2+"1.0.0/client/job_agent_filter/"+c.id,r=c;return this.http.put(u,r)}removeJobAgentFilter(c){let u=z.backendApiV2+"1.0.0/client/job_agent_filter/"+c;return this.http.delete(u)}updateCandidateJobSeeker(c){let u=z.backendApiV2+"1.0.0/client/candidate/update_job_seeker/"+c.id;return this.http.put(u,c)}updateCvUploadProfileText(c,u,r){let m=z.backendApiV2+"1.0.0/client/candidate/update_cv_upload_profile/"+c,v={description:u,language:r};return this.http.put(m,v)}saveExperienceV2(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_experience",m={comments:c.comments,company_name:c.companyName,is_current:c.isCurrent,esco_id:c.escoId,from_date:c.fromDate,to_date:c.toDate,language:u};return this.http.post(r,m)}updateProfileText(c){let u=z.backendApiV2+"1.0.0/client/candidate/update_profile_text";return this.http.put(u,c)}}function Gu(d,c){const u=d[c];return typeof u=="string"?u:null}class i0{authService;candidateService;constructor(c=new n0,u=new Pa){this.authService=c,this.candidateService=u}async login(c,u,r){const v=await this.authService.login(c,u)??{},U=Gu(v,"token");if(!U)return{ok:!1,message:"Login fejlede: token mangler i svaret fra serveren."};const Y={id:Gu(v,"id")??"",token:U,email:Gu(v,"email")??c,runOutDate:"forever"};return await ql.setAuthData(Y,r),{ok:!0,message:"Du er nu logget ind."}}async forgotPassword(c){return await this.authService.forgotPassword(c),{ok:!0,message:"Anmodning om nulstilling af kodeord er sendt."}}async register(c){const u=Number.parseInt(c.zip,10);if(Number.isNaN(u))return{ok:!1,message:"Postnummer skal være et tal."};const r={email:c.email,password:c.password,zip:u,zipName:c.zipName,awsUrl:"",latitude:0,longitude:0,firstName:c.firstName,lastName:c.lastName,subscribe:c.subscribe};return await this.candidateService.createAccountV2(r),{ok:!0,message:"Kontoen er oprettet."}}}class em{constructor(c=He){this.http=c}searchPlaces(c){const u=z.backendApiV2+"client/google_maps/1.0.0/get_places?query="+encodeURIComponent(c);return this.http.get(u)}getPlaceDetails(c){const u=z.backendApiV2+"client/google_maps/1.0.0/get_place_details?place_id="+encodeURIComponent(c);return this.http.get(u)}}function s0(d){const c=C.useMemo(()=>new i0,[]),u=C.useMemo(()=>new em,[]),[r,m]=C.useState(""),[v,U]=C.useState(!1),[Y,R]=C.useState(""),[b,V]=C.useState(""),[T,q]=C.useState(""),[Q,ee]=C.useState(""),[B,re]=C.useState(""),[oe,ge]=C.useState(""),[K,ne]=C.useState([]),[se,Z]=C.useState(null),[D,fe]=C.useState(""),[je,Se]=C.useState(!1),[H,J]=C.useState(null),[ae,P]=C.useState("login");function W(x){J(null),P(x)}async function k(x){const E=x.trim();if(E.length<3){ne([]);return}try{const ce=((await u.searchPlaces(E)).predictions??[]).filter(ie=>typeof ie.place_id=="string"&&typeof ie.description=="string").map(ie=>({description:ie.description,placeId:ie.place_id}));ne(ce)}catch{ne([])}}function _(x){const E=x.match(/\b(\d{4})\b/);if(!E)return null;const G=E[1],ie=x.slice(x.indexOf(G)+G.length).trim().split(",")[0]?.trim()||"";return ie?{cityName:ie,zip:G}:null}async function O(x,E){let G=E;try{const ie=await u.getPlaceDetails(x);typeof ie.result?.formatted_address=="string"&&ie.result.formatted_address.trim()&&(G=ie.result.formatted_address.trim())}catch{}const ce=_(G)??_(E);if(ge(G),ne([]),!ce){Z(null);return}Z({cityName:ce.cityName,description:G,zip:ce.zip})}async function I(x){x.preventDefault(),U(!0),J(null);try{const E=await c.login(Y.trim(),b,je);J(E),E.ok&&d?.()}catch(E){const G=E instanceof Error?E.message:"Login mislykkedes.";J({ok:!1,message:G})}finally{U(!1)}}async function ue(x){x.preventDefault(),U(!0),J(null);try{if(!se){J({ok:!1,message:"Vaelg en lokation fra listen (med postnummer)."});return}const E=await c.register({email:Q.trim(),firstName:T.trim(),lastName:B.trim(),password:D,subscribe:!0,zip:se.zip,zipName:se.cityName});J(E),E.ok&&P("login")}catch(E){const G=E instanceof Error?E.message:"Oprettelse mislykkedes.";J({ok:!1,message:G})}finally{U(!1)}}async function h(x){x.preventDefault(),U(!0),J(null);try{const E=await c.forgotPassword(r.trim());J(E)}catch(E){const G=E instanceof Error?E.message:"Kunne ikke sende nulstillingslink.";J({ok:!1,message:G})}finally{U(!1)}}return{forgotEmail:r,handleForgotSubmit:h,handleLoginSubmit:I,handleRegisterSubmit:ue,loading:v,loginEmail:Y,loginPassword:b,registerFirstName:T,registerEmail:Q,registerLastName:B,registerLocationQuery:oe,registerLocationSuggestions:K,registerPassword:D,rememberMe:je,result:H,setForgotEmail:m,setLoginEmail:R,setLoginPassword:V,setRegisterEmail:ee,setRegisterFirstName:q,setRegisterLastName:re,setRegisterLocationQuery:x=>{ge(x),Z(null),k(x)},setRegisterPassword:fe,setRememberMe:Se,selectRegisterLocation:O,switchView:W,view:ae}}function c0({onAuthenticated:d}){const{forgotEmail:c,handleForgotSubmit:u,handleLoginSubmit:r,handleRegisterSubmit:m,loading:v,loginEmail:U,loginPassword:Y,registerFirstName:R,registerEmail:b,registerLastName:V,registerLocationQuery:T,registerLocationSuggestions:q,registerPassword:Q,rememberMe:ee,result:B,setForgotEmail:re,setLoginEmail:oe,setLoginPassword:ge,setRegisterEmail:K,setRegisterFirstName:ne,setRegisterLastName:se,setRegisterLocationQuery:Z,setRegisterPassword:D,setRememberMe:fe,selectRegisterLocation:je,switchView:Se,view:H}=s0(d);return n.jsxs("main",{className:"auth-page",children:[n.jsx("div",{className:"orb orb-1"}),n.jsx("div",{className:"orb orb-2"}),n.jsx("div",{className:"orb orb-3"}),n.jsxs("div",{className:"auth-logo-wrap",children:[n.jsx("div",{className:"auth-logo-dot",children:"A"}),n.jsx("span",{className:"auth-logo-text",children:"ARBEJD"})]}),n.jsxs("section",{className:"auth-card",children:[H==="login"?n.jsx(t0,{email:U,loading:v,onChangeEmail:oe,onChangePassword:ge,onChangeRememberMe:fe,onForgotPassword:()=>Se("forgot"),onRegister:()=>Se("register"),onSubmit:r,password:Y,rememberMe:ee}):null,H==="register"?n.jsx(a0,{email:b,firstName:R,lastName:V,loading:v,locationQuery:T,locationSuggestions:q,onBackToLogin:()=>Se("login"),onChangeEmail:K,onChangeFirstName:ne,onChangeLastName:se,onChangeLocationQuery:Z,onChangePassword:D,onSelectLocation:je,onSubmit:m,password:Q}):null,H==="forgot"?n.jsx(e0,{email:c,loading:v,onBackToLogin:()=>Se("login"),onChangeEmail:re,onSubmit:u}):null,B?n.jsx("p",{className:B.ok?"status success":"status error",children:B.message}):null]},H)]})}class tm{constructor(c=He){this.http=c}listEscoByParent(c){let u=z.backendApiV2+"1.0.0/client/esco";return c&&(u+="/"+c),this.http.get(u)}listAllEscos(){let c=z.backendApiV2+"1.0.0/client/esco";return this.http.get(c)}}class u0{constructor(c=He){this.http=c}addEscoToJobAgent(c){let u=z.backendApiV2+"1.0.0/client/job_agent_filter",r={esco_id:c};return this.http.post(u,r)}removeJobAgentFilter(c){let u=z.backendApiV2+"1.0.0/client/job_agent_filter/"+c;return this.http.delete(u)}}class ys{constructor(c=He){this.http=c}getPaymentOverview(){let c=z.backendApiV2+"client/end_user_subscription/1.0.0/payment_overview";return this.http.get(c)}getSubscriptionProducts(){let c=z.backendApiV2+"client/end_user_subscription/1.0.0/get_products";return this.http.get(c)}deactivateAutoRenew(){let c=z.backendApiV2+"client/end_user_subscription/1.0.0/deactivate_auto_renew";return this.http.put(c,{})}activateAutoRenew(){let c=z.backendApiV2+"client/end_user_subscription/1.0.0/activate_auto_renew";return this.http.put(c,{})}redeemCode(c){let u=z.backendApiV2+"client/candidate_redeem_code/v1";return this.http.post(u,{code:c})}}class am{constructor(c=new Pa,u=new ys,r=new u0,m=new tm){this.candidateService=c,this.subscriptionService=u,this.jobAgentService=r,this.escoService=m}async loadInitialData(){const[c,u,r,m]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.candidateService.getJobAgentFilters(),this.candidateService.getCvSuggestion(),this.escoService.listAllEscos()]);return{paymentOverview:c.status==="fulfilled"?c.value:null,jobAgentFilters:u.status==="fulfilled"?u.value:[],cvSuggestions:r.status==="fulfilled"?this.withImprovements(r.value):[],escos:m.status==="fulfilled"?m.value:[]}}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async addEscoToFilter(c){await this.jobAgentService.addEscoToJobAgent(c)}async removeFilter(c){await this.jobAgentService.removeJobAgentFilter(c)}async setFilterVisibility(c,u){await this.candidateService.updateJobAgentFilter({...c,visible:u})}getEscoSuggestions(c,u,r){const m=c.trim().toLowerCase();if(!m)return[];const v=new Set(r.map(U=>U.escoId));return u.filter(U=>!v.has(U.id)).filter(U=>U.preferedLabelDa.toLowerCase().includes(m)).slice(0,10)}getSuggestionText(c){return c>=0&&c<50?"Et godt første skridt mod flere relevante job.":c>=50&&c<100?"Kan styrke dine chancer i ansøgningsbunken.":c>=100&&c<150?"Ofte efterspurgt og forbedrer dine jobmuligheder markant.":c>=150&&c<200?"Et klart plus som gør dig mere attraktiv for arbejdsgivere.":c>=200?"En afgørende faktor der åbner langt flere jobmuligheder.":"Forbedrer din profil til kommende jobmatch."}withImprovements(c){return c.map(u=>{const r=[],m=[{items:u.jobImprovementSuggestion.educations??[],type:"education"},{items:u.jobImprovementSuggestion.languages??[],type:"language"},{items:u.jobImprovementSuggestion.driversLicenses??[],type:"driversLicense"},{items:u.jobImprovementSuggestion.qualifications??[],type:"qualification"},{items:u.jobImprovementSuggestion.certificates??[],type:"certificate"}];for(const v of m)for(const U of v.items)r.push({...U,improvementType:v.type});return r.sort((v,U)=>U.jobChanceIncrease-v.jobChanceIncrease),{...u,improvements:r}})}}class r0{constructor(c=He){this.http=c}saveJobFilter(c){let u=z.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.post(u,c)}getJobFilter(){let c=z.backendApiV2+"1.0.0/client/candidate_search_filter";return this.http.get(c)}resetJobFilter(){let c=z.backendApiV2+"1.0.0/client/candidate_search_filter/reset_job_filter";return this.http.put(c,{})}}class cr{http;constructor(c=He){this.http=c}getSearchWords(){let c=z.backendApiV2+"1.0.0/client/candidate_search/list_search_words";return this.http.get(c)}getJobs(c,u,r){let m=z.backendApi+"api/1.1.0/jobs/all/"+u+"/"+r;return this.http.post(m,c)}getJobsV2(c,u,r,m){let v=z.backendApiV2+"1.0.0/client/candidate_search/v2/"+c+"/"+u+"/"+r,U=new Ia;return m.length>0&&m.forEach(Y=>{U=U.append("terms",Y)}),this.http.get(v,{params:U})}getSavedJobs(c,u){let r=z.backendApi+"api/1.1.0/candidate/jobs/saved";return this.http.get(r)}getSavedJobsV2(c,u){let r=z.backendApiV2+"1.0.0/client/job/bookmarked_jobs/"+c+"/"+u;return this.http.get(r)}getAppliedJobs(c,u){let r=z.backendApi+"api/1.1.0/applications/candidate/";return this.http.get(r)}getAppliedJobsV2(c,u){let r=z.backendApiV2+"1.0.0/client/job/applied_jobs/"+c+"/"+u;return this.http.get(r)}payWithStripe(c,u){const r=z.backendApiV2+"1.0.0/client/payment/create-payment-intent",m={paymentMethodId:c,amount:u};return this.http.post(r,m)}bookmarkJob(c){let u=z.backendApi+"api/1.1.0/candidate/jobs/"+c+"/jobnet/updateSavedStatus",r={saved:!0};return this.http.post(u,r)}unbookmarkJob(c){let u=z.backendApi+"api/1.1.0/candidate/jobs/"+c+"/jobnet/updateSavedStatus",r={saved:!1};return this.http.post(u,r)}bookmarkJobV2(c,u,r){let m=z.backendApiV2+"1.0.0/client/job/bookmark/"+c,v={job_type:r,save:u};return this.http.post(m,v)}getJobNetJobDetail(c){let u=z.backendApiV2+"1.0.0/client/job/detail/star/"+c;return this.http.get(u)}getJobDetail(c){let u=z.backendApi+"api/1.1.0/jobs/"+c;return this.http.get(u)}getOccupationCategorizations(){let c=z.backendApiV2+"1.0.0/client/ds_tree";return this.http.get(c)}getJobSummary(c){let u=z.backendApi+"api/1.1.0/jobs/"+c+"/summary";return this.http.get(u)}applyJob(c){let u=z.backendApi+"api/1.1.0/applications/job/"+c,r={jobPostingId:c};return this.http.post(u,r)}undoApplyJob(c){let u=z.backendApi+"api/1.1.0/applications/"+c;return this.http.delete(u)}toggleApplyJobnetjob(c,u){let r=z.backendApiV2+"1.0.0/client/job/detail/star/apply/"+c,m={apply:u};return this.http.put(r,m)}}const Qu={escoIds:[],workTypePermanent:!1,workTypePartTime:!1,workDistance:50,partTimeHours:null,distanceCenterName:"",latitude:null,longitude:null};function Xe(d){return typeof d=="string"?d:""}function qn(d){return typeof d=="object"&&d!==null?d:null}function Xu(d,c){if(!d)return[];const u=d[c];return Array.isArray(u)?u:[]}function Zu(d){if(Array.isArray(d))return d;const c=qn(d);if(!c)return[];const u=Xu(c,"searchList");if(u.length>0)return u;const r=qn(c.data),m=Xu(r,"searchList");if(m.length>0)return m;const v=Xu(c,"items");return v.length>0?v:[]}function Ah(d,c){if(!d)return null;const u=d[c];return typeof u=="number"?u:null}function o0(d){return d.trim()}function d0(d){if(!d)return[];const c=new Set,u=d.searchText?.trim();u&&u.length>0&&c.add(u);for(const r of d.desiredTitles??[]){const m=o0(r);m.length>0&&c.add(m)}return Array.from(c)}function f0(d,c){return{id:Xe(d.id),title:Xe(d.title),companyName:Xe(d.companyName),occupationName:Xe(d.occupationName),descriptionIntro:Xe(d.descriptionIntro),address:Xe(d.address),time:Xe(d.time),applicationDeadline:d.applicationDeadline instanceof Date?d.applicationDeadline.toISOString():Xe(String(d.applicationDeadline??"")),candidateDistance:typeof d.candidateDistance=="number"?d.candidateDistance:null,logoUrl:Xe(d.logoUrl),companyLogoImage:Xe(d.companyLogoImage),fromJobnet:!!d.fromJobnet,isSaved:!!d.saved,matchPercent:c}}function _h(d){return{id:Xe(d.id),title:Xe(d.title),companyName:Xe(d.companyName),occupationName:Xe(d.occupationName),descriptionIntro:Xe(d.descriptionIntro),address:Xe(d.address),time:Xe(d.time),applicationDeadline:d.applicationDeadline instanceof Date?d.applicationDeadline.toISOString():Xe(String(d.applicationDeadline??"")),candidateDistance:typeof d.candidateDistance=="number"?d.candidateDistance:null,logoUrl:Xe(d.logoUrl),companyLogoImage:Xe(d.companyLogoImage),isActive:typeof d.isActive=="boolean"?d.isActive:void 0,fromJobnet:!!d.fromJobnet,isSaved:!0}}class bs{constructor(c=new cr,u=new r0,r=new em,m=new Pa){this.jobService=c,this.filterService=u,this.placesService=r,this.candidateService=m}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async getOccupationOptions(){const c=await this.jobService.getOccupationCategorizations(),u=[];for(const r of c)for(const m of r.subAreas)for(const v of m.occupations)typeof v.id=="number"&&typeof v.name=="string"&&v.name.trim().length>0&&u.push({id:v.id,name:v.name});return u.sort((r,m)=>r.name.localeCompare(m.name,"da"))}async getJobSearchWords(){return(await this.jobService.getSearchWords()).filter(u=>typeof u=="string"&&u.trim().length>0)}async getSavedFilter(){try{const c=await this.filterService.getJobFilter(),u=c?.candidateSearchFilter;return u?{escoIds:c.escoIds??[],workTypePermanent:!!u.workTypePermanent,workTypePartTime:!!u.workTypePartTime,workDistance:u.workDistance??u.defaultDistance??50,partTimeHours:u.partTimeHours??null,distanceCenterName:u.distanceCenterName??u.defaultCenterName??"",latitude:u.latitude??null,longitude:u.longitude??null}:{...Qu}}catch{return{...Qu}}}async saveFilter(c){const u=c.workTypePartTime&&c.partTimeHours&&c.partTimeHours>0&&c.partTimeHours<=37?c.partTimeHours:null,r={escoIds:c.escoIds,candidateSearchFilter:{workTimeDay:!1,workTimeEvening:!1,workTimeNight:!1,workTimeWeekend:!1,workTypePermanent:c.workTypePermanent,workTypeFreelance:!1,workTypePartTime:c.workTypePartTime,workTypeSubstitute:!1,workTypeTemporary:!1,workDistance:c.workDistance,partTimeHours:u,distanceCenterName:c.distanceCenterName,latitude:c.latitude,longitude:c.longitude}};await this.filterService.saveJobFilter(r)}async resetFilter(){return await this.filterService.resetJobFilter(),{...Qu}}async searchPlaceSuggestions(c){const u=c.trim();return u.length<3?[]:((await this.placesService.searchPlaces(u)).predictions??[]).filter(m=>typeof m.place_id=="string"&&typeof m.description=="string").map(m=>({placeId:m.place_id,description:m.description}))}async getPlaceSelection(c){const r=(await this.placesService.getPlaceDetails(c)).result;return!r||typeof r.formatted_address!="string"?null:{description:r.formatted_address,latitude:typeof r.geometry?.location?.lat=="number"?r.geometry.location.lat:null,longitude:typeof r.geometry?.location?.lng=="number"?r.geometry.location.lng:null}}async getTabItems(c,u){if(c==="gemte"){const r=await this.jobService.getSavedJobsV2(0,100);return Zu(r).map(v=>_h(v))}if(c==="sogte"){const r=await this.jobService.getAppliedJobsV2(0,100);return Zu(r).map(v=>_h(v))}return this.getJobsFeedItems(u?[u]:void 0)}async applyFiltersAndGetJobs(c,u){await this.saveFilter(c);const r=d0(u);return this.getJobsFeedItems(r)}async toggleBookmark(c,u){const r=c.fromJobnet?"star":"arbejd.com";await this.jobService.bookmarkJobV2(c.id,u,r)}async getJobsFeedItems(c){let r=10,m=0;const v=12,U=120,Y=new Set,R=[];let b=[];const V=(c??[]).map(T=>T.trim()).filter(T=>T.length>0);if(V.length>0)b=V;else try{b=(await this.jobService.getSearchWords()).filter(q=>typeof q=="string"&&q.trim().length>0)}catch{b=[]}for(let T=0;T{const r=u.icon,m=u.key===d;return n.jsxs("button",{type:"button",className:m?"dash-nav-item active":"dash-nav-item",onClick:()=>c?.(u.key),children:[n.jsx("span",{className:u.accent?"dash-nav-icon accent":"dash-nav-icon",children:n.jsx(r,{size:19,strokeWidth:1.7})}),n.jsx("span",{className:"dash-nav-label",children:u.label}),u.badge?n.jsx("span",{className:"dash-nav-badge",children:u.badge}):null]},u.key)}),n.jsx("div",{className:"dash-nav-divider"}),m0.map(u=>{const r=u.icon,m=u.key===d;return n.jsxs("button",{type:"button",className:m?"dash-nav-item active":"dash-nav-item",onClick:()=>c?.(u.key),children:[n.jsx("span",{className:u.accent?"dash-nav-icon accent":"dash-nav-icon",children:n.jsx(r,{size:19,strokeWidth:1.7})}),n.jsx("span",{className:"dash-nav-label",children:u.label}),u.dot?n.jsx("span",{className:"dash-nav-dot"}):null]},u.key)})]}),n.jsxs("div",{className:"dash-sidebar-pro",children:[n.jsx("div",{className:"dash-sidebar-pro-glow"}),n.jsx(Gn,{size:19,strokeWidth:1.8}),n.jsx("h4",{children:"Pro-medlemskab"}),n.jsx("p",{children:"Faa ubegrænsede simuleringer"})]})]})}function sa({actions:d,imageUrl:c,name:u,onLogout:r,onToggleTheme:m,theme:v="light"}){return n.jsxs("header",{className:"dash-topbar",children:[m?n.jsxs("button",{type:"button",className:"dash-theme-btn",onClick:m,children:[v==="dark"?n.jsx(Jv,{size:15,strokeWidth:1.8}):n.jsx(rv,{size:15,strokeWidth:1.8}),n.jsx("span",{children:v==="dark"?"Light":"Dark"})]}):null,d?n.jsx("div",{className:"dash-topbar-actions",children:d}):null,n.jsxs("div",{className:"dash-profile-wrap",children:[n.jsxs("button",{className:"dash-profile-btn",type:"button",children:[c?n.jsx("img",{src:c,alt:u,className:"dash-profile-avatar"}):n.jsx("div",{className:"dash-profile-avatar dash-profile-avatar-fallback",children:u.slice(0,1).toUpperCase()}),n.jsx("span",{children:u}),n.jsx(Hn,{size:15,strokeWidth:1.8})]}),n.jsxs("div",{className:"dash-profile-menu",children:[n.jsxs("button",{type:"button",children:[n.jsx(Ap,{size:16,strokeWidth:1.8})," Profil"]}),n.jsxs("button",{type:"button",children:[n.jsx($h,{size:16,strokeWidth:1.8})," Indstillinger"]}),n.jsx("div",{className:"dash-profile-divider"}),n.jsxs("button",{type:"button",className:"danger",onClick:r,children:[n.jsx(ev,{size:16,strokeWidth:1.8})," Log ud"]})]})]})]})}const g0={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function p0(d){return d.trim().slice(0,1).toUpperCase()||"A"}function v0(d){return Math.max(68,98-d*4)}function y0(d,c){const u=c.trim().toLowerCase();return u?d.filter(r=>r.preferedLabelDa.toLowerCase().includes(u)).slice(0,8):[]}function b0({onLogout:d,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:m}){const v=C.useMemo(()=>new am,[]),U=C.useMemo(()=>new bs,[]),[Y,R]=C.useState("Lasse"),[b,V]=C.useState(void 0),[T,q]=C.useState(g0),[Q,ee]=C.useState([]),[B,re]=C.useState(!0),[oe,ge]=C.useState(""),[K,ne]=C.useState(""),[se,Z]=C.useState(""),[D,fe]=C.useState(""),[je,Se]=C.useState(""),[H,J]=C.useState(25);C.useEffect(()=>{let O=!0;async function I(){re(!0);const[ue,h,x]=await Promise.all([v.getCandidateProfile(),v.loadInitialData(),U.getTabItems("jobs")]);O&&(R(ue.name),V(ue.imageUrl),q(h),ee(x),re(!1))}return I(),()=>{O=!1}},[v,U]);async function ae(){const O=await v.loadInitialData();q(O)}async function P(){const O=K.trim()||oe.trim()||se.trim(),I=v.getEscoSuggestions(O,T.escos,T.jobAgentFilters)[0]||y0(T.escos,O)[0];I&&(await v.addEscoToFilter(I.id),await ae(),ge(""),ne(""),Z(""),fe(""),Se(""),J(25))}async function W(O){await v.setFilterVisibility(O,!O.visible),await ae()}const k=T.jobAgentFilters,_=(Q.length>0?Q:[]).slice(0,6);return n.jsxs("section",{className:`dash-root ${m==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"agents",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar ai-agent-main",children:[n.jsx(sa,{name:Y,imageUrl:b,onLogout:d,theme:m,onToggleTheme:r}),n.jsxs("div",{className:"ai-head",children:[n.jsx("h1",{children:"Jobagenter"}),n.jsx("p",{children:"Saet din jobsogning pa autopilot. Lad agenter overvage og matche dig med de perfekte jobs."})]}),n.jsxs("section",{className:"ai-create-card",children:[n.jsxs("div",{className:"ai-create-title",children:[n.jsx("div",{className:"ai-create-icon",children:n.jsx(Jh,{size:20,strokeWidth:1.8})}),n.jsx("h2",{children:"Opret ny jobagent"})]}),n.jsxs("div",{className:"ai-form-grid",children:[n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Agentens navn"}),n.jsx("input",{value:oe,onChange:O=>ge(O.target.value),placeholder:"F.eks. Frontend Udvikler CPH"})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Sogetekst / Nogleord"}),n.jsx("input",{value:K,onChange:O=>ne(O.target.value),placeholder:"F.eks. React, TypeScript, Tailwind"})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdsomrade"}),n.jsxs("select",{value:se,onChange:O=>Z(O.target.value),children:[n.jsx("option",{value:"",children:"Vaelg branche"}),n.jsx("option",{value:"IT & Udvikling",children:"IT & Udvikling"}),n.jsx("option",{value:"Design & UX",children:"Design & UX"}),n.jsx("option",{value:"Salg & Marketing",children:"Salg & Marketing"}),n.jsx("option",{value:"HR & Ledelse",children:"HR & Ledelse"})]})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdstype"}),n.jsxs("select",{value:D,onChange:O=>fe(O.target.value),children:[n.jsx("option",{value:"",children:"Vaelg type"}),n.jsx("option",{value:"Fuldtid",children:"Fuldtid"}),n.jsx("option",{value:"Deltid",children:"Deltid"}),n.jsx("option",{value:"Freelance",children:"Freelance / Konsulent"}),n.jsx("option",{value:"Studiejob",children:"Studiejob"})]})]}),n.jsxs("div",{className:"ai-field",children:[n.jsx("label",{children:"Arbejdssted"}),n.jsxs("div",{className:"ai-location-wrap",children:[n.jsx(Yn,{size:16,strokeWidth:1.8}),n.jsx("input",{value:je,onChange:O=>Se(O.target.value),placeholder:"By eller postnummer"})]})]}),n.jsxs("div",{className:"ai-field ai-distance-field",children:[n.jsxs("div",{className:"ai-distance-head",children:[n.jsx("label",{children:"Maks. distance"}),n.jsxs("span",{children:[H," km"]})]}),n.jsx("input",{type:"range",min:0,max:100,value:H,onChange:O=>J(Number(O.target.value))})]})]}),n.jsx("div",{className:"ai-create-actions",children:n.jsxs("button",{type:"button",onClick:()=>{P()},children:[n.jsx(Mv,{size:16,strokeWidth:1.8})," Gem jobagent"]})})]}),n.jsxs("section",{className:"ai-agents-section",children:[n.jsx("h3",{children:"Dine aktive agenter"}),n.jsxs("div",{className:"ai-agents-row custom-scrollbar",children:[k.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen aktive agenter endnu."}):null,k.map((O,I)=>n.jsxs("article",{className:"ai-agent-chip-card",children:[n.jsxs("div",{className:"ai-agent-card-head",children:[n.jsxs("div",{className:"ai-agent-chip-left",children:[n.jsx("div",{className:`ai-agent-mini-icon ${I%2===0?"teal":"indigo"}`,children:I%2===0?n.jsx(cv,{size:16,strokeWidth:1.8}):n.jsx(Ih,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:O.escoName}),n.jsx("p",{children:O.isCalculated?"Aktiv siden i går":"Aktiv"})]})]}),n.jsx("button",{type:"button",className:O.visible?"ai-toggle on":"ai-toggle",onClick:()=>{W(O)},children:n.jsx("span",{})})]}),n.jsxs("div",{className:"ai-tags",children:[n.jsx("span",{children:O.escoName}),n.jsx("span",{children:je||"København"}),n.jsxs("span",{children:[H," km"]})]})]},O.id))]})]}),n.jsxs("section",{className:"ai-jobs-section",children:[n.jsxs("div",{className:"ai-jobs-head",children:[n.jsxs("h3",{children:[n.jsx(Gn,{size:16,strokeWidth:1.8})," Anbefalede jobs til dig"]}),n.jsx("span",{children:"Opdateret for 5 min siden"})]}),n.jsxs("div",{className:"ai-jobs-grid",children:[B?n.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,!B&&_.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen jobanbefalinger fundet endnu."}):null,_.map((O,I)=>n.jsxs("article",{className:"ai-job-card",role:"button",tabIndex:0,onClick:()=>u(O.id,O.fromJobnet,"agents"),onKeyDown:ue=>{(ue.key==="Enter"||ue.key===" ")&&(ue.preventDefault(),u(O.id,O.fromJobnet,"agents"))},children:[n.jsx("div",{className:`ai-job-rail ${I%3===2?"indigo":"teal"}`}),n.jsxs("div",{className:"ai-job-top",children:[O.companyLogoImage||O.logoUrl?n.jsx("img",{src:O.companyLogoImage||O.logoUrl,alt:O.companyName,className:"ai-company-logo"}):n.jsx("div",{className:"ai-company-logo-fallback",children:p0(O.companyName)}),n.jsxs("div",{className:"ai-match-col",children:[n.jsxs("div",{className:"ai-match-pill",children:[n.jsx(vs,{size:13,strokeWidth:1.8})," ",v0(I),"% Match"]}),n.jsxs("small",{children:["Via: ",k[0]?.escoName||"Jobagent"]})]})]}),n.jsxs("div",{className:"ai-job-title-wrap",children:[n.jsx("h4",{children:O.title}),n.jsxs("p",{children:[O.companyName," • ",O.address||"Lokation"]})]}),n.jsxs("div",{className:"ai-job-tags",children:[n.jsx("span",{children:O.occupationName||"Frontend"}),n.jsx("span",{children:O.fromJobnet?"Jobnet":"Arbejd.com"}),n.jsx("span",{children:O.candidateDistance!=null?`${Math.round(O.candidateDistance)} km`:"Remote"})]}),n.jsxs("div",{className:"ai-job-bottom",children:[n.jsx("span",{children:"Slået op for nyligt"}),n.jsxs("button",{type:"button",onClick:ue=>{ue.stopPropagation(),u(O.id,O.fromJobnet,"agents")},children:["Læs mere ",n.jsx($a,{size:14,strokeWidth:1.8})]})]})]},O.id))]})]})]})]})}const j0={paymentOverview:null,jobAgentFilters:[],cvSuggestions:[],escos:[]};function Th(){return["Diamantskærer","Ministerialbetjent","Kiropraktor","System Developer","Senior Software Developer","Founder and Developer","Senior .Net Developer","Freelance Programmer","Støberichef","Softwareudvikler, frontend","CSR-ansvarlig","Lagerchef inden for råstof","Ios developer","Kokkeelev","IT-kvalitetsmedarbejder","Efterretningsofficer"]}function x0(d){return d>=70?{text:"Kan styrke dine chancer i ansøgningsbunken",kind:"strong"}:d>=40?{text:"Ofte efterspurgt – forbedrer dine jobmuligheder markant",kind:"neutral"}:{text:"Et godt første skridt mod flere relevante job",kind:"soft"}}function S0(d){return d==="education"?Xh:d==="language"?gs:d==="driversLicense"?Gh:d==="certificate"?Yh:d==="qualification"?vs:Ph}function N0(d){return d==="education"?"blue":d==="language"?"emerald":d==="driversLicense"?"orange":d==="certificate"?"rose":d==="qualification"?"indigo":"slate"}function k0({onLogout:d,onNavigate:c,onToggleTheme:u,theme:r}){const m=C.useMemo(()=>new am,[]),[v,U]=C.useState("Lasse"),[Y,R]=C.useState(void 0),[b,V]=C.useState(j0),[T,q]=C.useState(!0),[Q,ee]=C.useState("");C.useEffect(()=>{let K=!0;async function ne(){q(!0);const[se,Z]=await Promise.all([m.getCandidateProfile(),m.loadInitialData()]);if(!K)return;U(se.name),R(se.imageUrl),V(Z);const D=Z.jobAgentFilters[0]?.escoName||Th()[1];ee(fe=>fe||D),q(!1)}return ne(),()=>{K=!1}},[m]);const B=b.jobAgentFilters.length>0?b.jobAgentFilters.map(K=>K.escoName):Th(),re=b.jobAgentFilters.find(K=>K.escoName===Q)||b.jobAgentFilters[0],oe=(re?b.cvSuggestions.find(K=>K.escoId===re.escoId)?.improvements:b.cvSuggestions[0]?.improvements)||[],ge=oe.length>0?oe:[{name:"Grundkursus i sikkerhed og beredskab",jobChanceIncrease:78,improvementType:"education"},{name:"Service og kommunikation i offentlige institutioner",jobChanceIncrease:52,improvementType:"qualification"},{name:"Dansk (Flydende)",jobChanceIncrease:65,improvementType:"language"},{name:"B - Almindelig bil",jobChanceIncrease:34,improvementType:"driversLicense"},{name:"Konflikthåndtering",jobChanceIncrease:72,improvementType:"qualification"},{name:"Førstehjælpsbevis",jobChanceIncrease:44,improvementType:"certificate"},{name:"Sikkerhedsgodkendelse (PET)",jobChanceIncrease:81,improvementType:"certificate"}];return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"ai-agent",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar career-main",children:[n.jsx(sa,{name:v,imageUrl:Y,onLogout:d,theme:r,onToggleTheme:u,actions:n.jsxs("div",{className:"career-status-pill",children:[n.jsx(tt,{size:15,strokeWidth:1.8}),"CV analyseret"]})}),n.jsxs("div",{className:"career-head",children:[n.jsxs("div",{className:"career-head-title-row",children:[n.jsx("div",{className:"career-head-icon",children:n.jsx(Iv,{size:19,strokeWidth:1.8})}),n.jsx("h1",{children:"Karriereagent"})]}),n.jsx("p",{className:"career-head-kicker",children:"Din Karriereagent Foreslår"}),n.jsx("p",{className:"career-head-desc",children:"Boost din profil ved hjælp af kunstig intelligens. Forslagene er udvalgt til din profil ud fra analyser af over 100.000+ jobopslag og dit nuværende CV."})]}),n.jsxs("div",{className:"career-grid",children:[n.jsxs("aside",{className:"career-agents-col",children:[n.jsxs("div",{className:"career-agents-head",children:[n.jsx("h2",{children:"Mine agenter"}),n.jsxs("button",{type:"button",children:[n.jsx(xp,{size:16,strokeWidth:1.8})," Tilføj ny agent"]})]}),n.jsx("div",{className:"career-agents-list custom-scrollbar",children:B.map(K=>n.jsxs("button",{type:"button",className:Q===K?"active":"",onClick:()=>ee(K),children:[n.jsx("span",{children:K}),Q===K?n.jsx("i",{}):null]},K))})]}),n.jsxs("section",{className:"career-reco-col",children:[n.jsxs("div",{className:"career-reco-head",children:[n.jsxs("h2",{children:["Viser anbefalinger for",n.jsx("span",{children:Q||"Ministerialbetjent"})]}),n.jsxs("button",{type:"button",children:[n.jsx(Qh,{size:14,strokeWidth:1.8})," Filtrer"]})]}),T?n.jsx("p",{className:"dash-loading",children:"Indlaeser anbefalinger..."}):null,n.jsx("div",{className:"career-cards custom-scrollbar",children:ge.map((K,ne)=>{const se=S0(K.improvementType||"qualification"),Z=x0(K.jobChanceIncrease||0),D=N0(K.improvementType||"qualification");return n.jsxs("article",{className:"career-card",children:[n.jsx("div",{className:"career-card-glow"}),n.jsx("div",{className:"career-card-wand",children:n.jsx(Gn,{size:16,strokeWidth:1.8})}),n.jsxs("div",{className:"career-card-content",children:[n.jsx("div",{className:`career-card-icon ${D}`,children:n.jsx(se,{size:18,strokeWidth:1.8})}),n.jsx("h3",{children:K.shortName||K.name}),n.jsxs("p",{className:`tone ${Z.kind}`,children:[Z.kind==="strong"?n.jsx(Xv,{size:13,strokeWidth:1.8}):Z.kind==="neutral"?n.jsx(vs,{size:13,strokeWidth:1.8}):n.jsx(Lv,{size:13,strokeWidth:1.8}),Z.text]})]})]},`${K.name}-${ne}`)})})]})]})]})]})}class A0{constructor(c=He){this.http=c}generateApplication(c,u,r,m){let v=z.backendApiV2+"1.0.0/client/ai_handler/create_my_application",U={isStar:c,jobId:u,language:r,userInput:m};return this.http.post(v,U)}listGeneratedJobApplications(c){let u=z.backendApiV2+"1.0.0/client/ai_handler/list_created_job_application/"+c;return this.http.get(u)}listPredefinedUserInput(){let c=z.backendApiV2+"1.0.0/client/ai_handler/list_predefined_user_input";return this.http.get(c)}getJobApplication(c){let u=z.backendApiV2+"1.0.0/client/ai_handler/"+c;return this.http.get(u)}updateMyCvDescriptions(c){let u=z.backendApiV2+"1.0.0/client/ai_handler/update_my_cv_descriptions",r={language:c};return this.http.post(u,r)}updateStatesOnMyCvDescription(c,u,r){let m=z.backendApiV2+"1.0.0/client/ai_handler/update_states_on_my_cv_descriptions/"+c,v={state:u,subState:r};return this.http.put(m,v)}getMyCvDescriptions(){let c=z.backendApiV2+"1.0.0/client/ai_handler/get_my_cv_descriptions";return this.http.get(c)}submitJobApplicationRating(c,u,r){let m=z.backendApiV2+"1.0.0/client/ai_handler/job_application_rating",v={ai_generated_job_application_id:c,rating:u,rating_text:r};return this.http.post(m,v)}startApplicationExamination(c){const u=z.backendApiV2+"1.0.0/client/ai_handler/create_application_examination",r={ai_generated_job_application_id:c};return this.http.post(u,r)}getApplicationExamination(c){const u=z.backendApiV2+"1.0.0/client/ai_handler/application_examination/"+encodeURIComponent(c);return this.http.get(u)}getApplicationExaminationByJobApplicationId(c){const u=z.backendApiV2+"1.0.0/client/ai_handler/application_examination_by_job_application/"+c;return this.http.get(u)}}class _0{constructor(c=He){this.http=c}searchForCertification(c){let u=encodeURIComponent(c),r=z.backendApiV2+`1.0.0/client/certificate?search_text=${u}`;return this.http.get(r)}saveCertification(c){let u=z.backendApiV2+"1.0.0/client/candidate_certificate",r={qualification_id:c};return this.http.post(u,r)}updateCertification(c){let u=z.backendApiV2+"1.0.0/client/candidate_certificate/"+c.id,r=c;return this.http.put(u,r)}removeCertification(c){let u=z.backendApiV2+"1.0.0/client/candidate_certificate/"+c;return this.http.delete(u)}addUnknownCertificate(c){let u=z.backendApiV2+"1.0.0/client/certificate",r={certificate_name:c};return this.http.post(u,r)}}class T0{constructor(c=He){this.http=c}sendMyCvToEmail(){let c=z.backendApi+"api/1.1.0/candidate/sendPdf",u={};return this.http.post(c,u)}getMyCv(){let c=z.backendApiV2+"1.0.0/client/candidate/pdf";return this.http.get(c,{responseType:"blob"})}getMyCvV2(c){let u=z.backendApiV2+"1.0.0/client/candidate/pdf_url?language="+c;return this.http.get(u)}generateCv(c){let u=z.backendApiV2+"1.0.0/client/candidate/generateCv",r={language:c};return this.http.post(u,r)}}class z0{constructor(c=He,u=ql){this.http=c,this.localStorageService=u}uploadCv(c,u){const r=z.backendApiV2+"1.0.0/client/cv_upload";return this.http.post(r,c,{headers:{Authorization:`Bearer ${u}`}})}getCvUploadData(){let c=z.backendApiV2+"1.0.0/client/cv_upload/get_upload_cv";return this.http.get(c)}setProfileTextToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/profile_text_is_done/"+c,r={};return this.http.put(u,r)}setExperienceToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/experience_is_done/"+c,r={};return this.http.put(u,r)}setEducationToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/education_is_done/"+c,r={};return this.http.put(u,r)}setQualificationToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/qualification_is_done/"+c,r={};return this.http.put(u,r)}setCertificateToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/certificate_is_done/"+c,r={};return this.http.put(u,r)}setLanguageToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/language_is_done/"+c,r={};return this.http.put(u,r)}setDriversLicenseToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/drivers_license_is_done/"+c,r={};return this.http.put(u,r)}setCvUploadToDone(c){let u=z.backendApiV2+"1.0.0/client/cv_upload/cv_is_done/"+c,r={};return this.http.put(u,r)}}class D0{constructor(c=He){this.http=c}getAllDriverLicenses(){let c=z.backendApi+"api/1.1.0/driversLicenses";return this.http.get(c)}updateDriverLicense(c,u){let r=z.backendApi+"api/1.1.0/candidate/driversLicense/"+c,m={};return this.http.put(r,m)}removeLanguage(c){let u=z.backendApiV2+"1.0.0/client/candidate_drivers_license/"+c;return this.http.delete(u)}saveDriverLicense(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_drivers_license",m={level:u,drivers_license_id:c.id};return this.http.post(r,m)}saveDriverLicenseV2(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_drivers_license",m={level:c,drivers_license_id:u};return this.http.post(r,m)}}class M0{constructor(c=He){this.http=c}searchForEducations(c){let u=z.backendApi+"api/1.1.0/educations/search/"+c;return this.http.get(u)}searchForSchools(c){let u=z.backendApi+"api/1.1.0/institutions/search/"+c;return this.http.get(u)}saveEducation(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_education",m={comments:c.comments,education_disced_15:c.education.disced15,from_date:c.fromDate,to_date:c.toDate,institution_number:c.institution?.instNumber,is_current:c.isCurrent,language:u};return this.http.post(r,m)}removeEducation(c){let u=z.backendApiV2+"1.0.0/client/candidate_education/"+c;return this.http.delete(u)}updateEducation(c,u,r){let m=z.backendApiV2+"1.0.0/client/candidate_education/"+c,v={comments:u.comments,from_date:u.fromDate,to_date:u.toDate,is_current:u.isCurrent,language:r};return this.http.put(m,v)}getEducationOccupationSuggestions(c){let u=z.backendApi+"api/1.1.0/educations/suggestions/occupation/"+c;return this.http.get(u)}saveUnknownEducation(c){let u=z.backendApiV2+"1.0.0/client/education/save_unknown_education",r={education_name:c};return this.http.post(u,r)}saveEducationV2(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_education",m={comments:c.comments,education_disced_15:c.education_disced_15,from_date:c.from_date,to_date:c.to_date,institution_number:c.institution_number,is_current:c.is_current,language:u};return this.http.post(r,m)}}class C0{constructor(c=He){this.http=c}getAllLanguages(){let c=z.backendApi+"api/1.1.0/languages";return this.http.get(c)}saveLanguage(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_language",m={language_id:u.id,level:c};return this.http.post(r,m)}updateLanguage(c,u,r){let m=z.backendApiV2+"1.0.0/client/candidate_language/"+c,v={level:u};return this.http.put(m,v)}removeLanguage(c){let u=z.backendApiV2+"1.0.0/client/candidate_language/"+c;return this.http.delete(u)}saveLanguageV2(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_language",m={language_id:u,level:c};return this.http.post(r,m)}}class E0{constructor(c=He){this.http=c}searchForQualification(c){let u=z.backendApi+"api/1.1.0/qualifications/type/3/search/"+c;return this.http.get(u)}updateQualification(c,u){let r=z.backendApiV2+"1.0.0/client/candidate_qualification/"+c,m={level:u};return this.http.put(r,m)}saveQualification(c){let u=z.backendApiV2+"1.0.0/client/candidate_qualification",r={level:c.level,qualification_id:c.qualification.id};return this.http.post(u,r)}removeQualification(c){let u=z.backendApiV2+"1.0.0/client/candidate_qualification/"+c;return this.http.delete(u)}getQualificationsOccupationSuggestions(c,u){let r=z.backendApi+"api/1.1.0/qualifications/type/"+u+"/suggestions/occupation/"+c;return this.http.get(r)}addUnknownQualification(c){let u=z.backendApi+"api/1.1.0/qualifications/type/3/fromCandidate",r={name:c,type:3};return this.http.post(u,r)}saveQualificationV2(c){let u=z.backendApiV2+"1.0.0/client/candidate_qualification",r={level:c.level,qualification_id:c.qualification_id};return this.http.post(u,r)}}class w0{constructor(c=He){this.http=c}addUnknownOccupation(c){let u=z.backendApi+"api/1.1.0/occupations/fromCandidate",r={name:c};return this.http.post(u,r)}}class U0{constructor(c=He){this.http=c}saveUnknownInstitution(c){let u=z.backendApiV2+"1.0.0/client/institution/save_unknown_institution",r={institution_name:c};return this.http.post(u,r)}}class O0{constructor(c=new Pa,u=new T0,r=new z0,m=new ys,v=new A0,U=new M0,Y=new E0,R=new _0,b=new C0,V=new D0,T=new tm,q=new w0,Q=new U0,ee=ql){this.candidateService=c,this.cvService=u,this.cvUploadService=r,this.subscriptionService=m,this.aiHandlerService=v,this.educationService=U,this.qualificationService=Y,this.certificationService=R,this.languageService=b,this.driverLicenseService=V,this.escoService=T,this.occupationService=q,this.institutionService=Q,this.localStorageService=ee}escosCache=null;async getSnapshot(){const[c,u,r,m,v,U,Y,R,b,V]=await Promise.allSettled([this.candidateService.getCandidate(),this.candidateService.getCandidatesExperiences(),this.candidateService.getCandidatesEducations(),this.candidateService.getCandidatesQualifications(),this.candidateService.getCandidatesCertifications(),this.candidateService.getCandidatesLanguages(),this.candidateService.getCandidatesDriverLicenses(),this.subscriptionService.getPaymentOverview(),this.cvUploadService.getCvUploadData(),this.aiHandlerService.getMyCvDescriptions()]);return{candidate:c.status==="fulfilled"?c.value:null,experiences:u.status==="fulfilled"?u.value:[],educations:r.status==="fulfilled"?r.value:[],skills:m.status==="fulfilled"?m.value:[],certifications:v.status==="fulfilled"?v.value:[],languages:U.status==="fulfilled"?U.value:[],driverLicenses:Y.status==="fulfilled"?Y.value:[],paymentOverview:R.status==="fulfilled"?R.value:null,cvUploadData:b.status==="fulfilled"?b.value:null,aiGeneratedCVDescription:V.status==="fulfilled"&&V.value?.id?V.value:null}}async setActiveSeeker(c,u,r){const m={...c,isActive:u};return this.candidateService.updateCandidate(m,r)}async updateCandidate(c,u){return this.candidateService.updateCandidate(c,u)}async generateCv(c){await this.cvService.generateCv(c)}async getCvDownloadUrl(c){return(await this.cvService.getMyCvV2(c)).url}async uploadCv(c,u){const r=await this.localStorageService.getAuthToken();if(!r)throw new Error("No auth token found.");await this.cvUploadService.uploadCv({base_64_cv_file:c,cv_file_type:u},r)}async optimizeCv(c){await this.aiHandlerService.updateMyCvDescriptions(c)}async updateExperience(c,u){await this.candidateService.updateExperience(c,u)}async updateEducation(c,u){const r={comments:c.comments,education:c.education,institution:c.institution,fromDate:new Date(c.fromDate),toDate:new Date(c.toDate),isCurrent:c.isCurrent};await this.educationService.updateEducation(c.id,r,u)}async updateCertification(c){await this.certificationService.updateCertification(c)}async updateLanguage(c){const u={id:c.language.id,isO639:c.language.isO639,name:c.language.name,ownName:c.language.ownName,priority:c.language.priority};await this.languageService.updateLanguage(c.id,c.level,u)}async removeExperience(c){await this.candidateService.removeExperience(c)}async removeEducation(c){await this.educationService.removeEducation(c)}async removeQualification(c){await this.qualificationService.removeQualification(c)}async removeCertification(c){await this.certificationService.removeCertification(c)}async removeLanguage(c){await this.languageService.removeLanguage(c)}async removeDriverLicense(c){await this.driverLicenseService.removeLanguage(c)}async getEscoSuggestions(c,u=25){this.escosCache||(this.escosCache=await this.escoService.listAllEscos());const r=c.trim().toLowerCase();return r?this.escosCache.filter(m=>m.preferedLabelDa.toLowerCase().includes(r)).slice(0,u):this.escosCache.slice(0,u)}async getLanguageOptions(){return(await this.languageService.getAllLanguages()).allLanguages??[]}async getDriverLicenseOptions(){return this.driverLicenseService.getAllDriverLicenses()}async createExperience(c,u){let r=c.escoId??null;if(!r&&c.occupationName?.trim()&&(r=(await this.occupationService.addUnknownOccupation(c.occupationName.trim())).id),!r)throw new Error("Vælg eller opret en stilling først.");await this.candidateService.saveExperienceV2({companyName:c.companyName,comments:c.comments,fromDate:c.fromDate,toDate:c.toDate,isCurrent:c.isCurrent,escoId:r},u)}async createEducation(c,u){let r=c.educationDisced15??null;if(!r&&c.educationName?.trim()&&(r=(await this.educationService.saveUnknownEducation(c.educationName)).disced15),!r)throw new Error("Vælg eller opret en uddannelse først.");let m=c.institutionNumber;!m&&c.institutionName?.trim()&&(m=(await this.institutionService.saveUnknownInstitution(c.institutionName.trim())).inst_number),await this.educationService.saveEducationV2({comments:c.comments,institution_number:m,from_date:c.fromDate,to_date:c.toDate,education_disced_15:r,is_current:c.isCurrent},u)}async createCertification(c){let u=c.certificateId??null;if(!u&&c.certificateName?.trim()&&(u=(await this.certificationService.addUnknownCertificate(c.certificateName.trim())).certificate_id),!u)throw new Error("Vælg eller opret et certifikat først.");await this.certificationService.saveCertification(u)}async createLanguage(c,u){await this.languageService.saveLanguageV2(u,c)}async getQualificationSuggestions(c){const u=c.trim();return u?this.qualificationService.searchForQualification(u):[]}async createQualification(c){let u=c.qualificationId?.trim()||"";if(!u&&c.qualificationName?.trim()&&(u=(await this.qualificationService.addUnknownQualification(c.qualificationName.trim())).id),!u)throw new Error("Vælg eller opret en kvalifikation først.");await this.qualificationService.saveQualificationV2({qualification_id:u,level:c.level})}async getEducationSuggestions(c){const u=c.trim();return u?this.educationService.searchForEducations(u):[]}async getSchoolSuggestions(c){const u=c.trim();return u?this.educationService.searchForSchools(u):[]}async getCertificationSuggestions(c){const u=c.trim();return u?this.certificationService.searchForCertification(u):[]}async createDriverLicense(c,u){await this.driverLicenseService.saveDriverLicenseV2(u,c)}}const L0={candidate:null,experiences:[],educations:[],skills:[],certifications:[],languages:[],driverLicenses:[],paymentOverview:null,cvUploadData:null,aiGeneratedCVDescription:null},R0=[{id:"e1",title:"Senior Frontend-udvikler",company:"Lunar",from:"2020-08-01",to:null,description:"Udvikling og vedligeholdelse af core-features i bankens app samt performance-optimering."},{id:"e2",title:"Web-udvikler",company:"Trustpilot",from:"2017-01-01",to:"2020-07-01",description:"Udviklede dashboards og analysevaerktojer i taet samarbejde med UX-teamet."}],H0=[{id:"ed1",title:"Cand.it i Webudvikling",school:"IT-Universitetet i Kobenhavn",from:"2013-08-01",to:"2015-06-01",description:"Specialisering i webteknologier, databaser og brugercentreret design."},{id:"ed2",title:"Datamatiker",school:"KEA - Kobenhavns Erhvervsakademi",from:"2010-08-01",to:"2013-06-01",description:"Softwarekonstruktion, systemarkitektur og programmering i Java og C#."}];function hs(d){if(!d)return null;const c=d instanceof Date?d:new Date(d);return Number.isNaN(c.getTime())?null:c}function zh(d){const c=hs(d);return c?new Intl.DateTimeFormat("da-DK",{month:"short",year:"numeric"}).format(c):"Ukendt"}function Dh(d,c,u){const r=zh(d),m=u?"Nu":zh(c);return`${r} - ${m}`}function V0(d){const c=hs(d);return c?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"long",year:"numeric"}).format(c):"Ikke angivet"}function Mh(d){return[...d].sort((c,u)=>{const r=hs(c.fromDate)?.getTime()??0;return(hs(u.fromDate)?.getTime()??0)-r})}function q0(d){return d.qualification?.name||"Kvalifikation"}function B0(d){return d.qualification?.name||d.levelName||"Certificering"}function Y0(d){return d.driversLicense?.name||d.levelName||"Korekort"}function J0(d){return d.levelName||"Niveau ukendt"}function G0({onLogout:d,onNavigate:c,onToggleTheme:u,theme:r}){const m=C.useMemo(()=>new O0,[]),[v,U]=C.useState("standard"),[Y,R]=C.useState(L0),[b,V]=C.useState(!0);C.useEffect(()=>{let D=!0;return m.getSnapshot().then(fe=>{D&&R(fe)}).finally(()=>{D&&V(!1)}),()=>{D=!1}},[m]);const T=Y.candidate,q=T?.firstName?.trim()||T?.name?.trim()||"Lasse",Q=T?.firstName||"Lasse",ee=T?.lastName||"Hansen",B=T?.imageUrl||T?.image||"",re=Y.experiences.length>0?Mh(Y.experiences):[],oe=Y.educations.length>0?Mh(Y.educations):[],ge=Y.skills,K=Y.languages,ne=Y.certifications,se=Y.driverLicenses,Z=K.length>0?K.map(D=>({id:D.id,name:D.language?.name||"Sprog",level:J0(D)})):[{id:"da",name:"Dansk",level:"Modersmal"},{id:"en",name:"Engelsk",level:"Flydende"}];return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"cv",onNavigate:c}),n.jsxs("main",{className:`dash-main custom-scrollbar cv-page ${v==="reference"?"cv-design-reference":""}`,children:[n.jsx(sa,{name:q,imageUrl:B||void 0,onLogout:d,theme:r,onToggleTheme:u,actions:n.jsxs("button",{type:"button",className:"cv-design-toggle",onClick:()=>U(D=>D==="standard"?"reference":"standard"),children:[v==="reference"?n.jsx(Zh,{size:16,strokeWidth:1.8}):n.jsx(Kh,{size:16,strokeWidth:1.8}),n.jsx("span",{children:v==="reference"?"Skift til standard design":"Skift til reference design"})]})}),n.jsxs("div",{className:"cv-head",children:[n.jsxs("div",{children:[n.jsx("h1",{children:"Dit CV"}),n.jsx("p",{children:"Handter dine faglige oplysninger, erfaringer og uddannelser."})]}),n.jsxs("button",{type:"button",className:"cv-edit-btn",children:[n.jsx(hv,{size:16,strokeWidth:1.8})," Rediger CV"]})]}),b?n.jsx("p",{className:"dash-loading",children:"Indlaeser CV..."}):null,n.jsxs("div",{className:"cv-layout",children:[n.jsxs("div",{className:"cv-left",children:[n.jsxs("article",{className:"cv-card",children:[n.jsx("div",{className:"cv-avatar-wrap",children:B?n.jsx("img",{src:B,alt:q,className:"cv-avatar"}):n.jsx("div",{className:"cv-avatar cv-avatar-fallback",children:q.slice(0,1).toUpperCase()})}),n.jsxs("div",{className:"cv-section-head",children:[n.jsx(Hl,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Personlige oplysninger"})]}),n.jsxs("div",{className:"cv-personal-list",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Fornavn"}),n.jsx("strong",{children:Q})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Efternavn"}),n.jsx("strong",{children:ee})]}),n.jsxs("div",{children:[n.jsx("span",{children:"E-mail"}),n.jsx("strong",{children:T?.email||"lasse@eksempel.dk"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Telefon"}),n.jsx("strong",{children:T?.phoneNumber||"+45 12 34 56 78"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Fodselsdato"}),n.jsx("strong",{children:V0(T?.birthday)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kon"}),n.jsx("strong",{children:T?.gender||"Mand"})]})]})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(Ph,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Kvalifikationer"})]}),n.jsx("div",{className:"cv-chip-wrap",children:(ge.length>0?ge.map(q0):["HTML & CSS","Tailwind CSS","JavaScript","React","UI/UX Design"]).slice(0,12).map(D=>n.jsx("span",{className:"cv-chip",children:D},D))})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(gs,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Sprog"})]}),n.jsx("div",{className:"cv-language-list",children:Z.map(D=>n.jsxs("div",{children:[n.jsx("strong",{children:D.name}),n.jsx("span",{children:D.level})]},D.id))})]}),n.jsxs("div",{className:"cv-mini-grid",children:[n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(Yh,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Certificeringer"})]}),n.jsxs("ul",{className:"cv-list",children:[(ne.length>0?ne:[]).slice(0,4).map(D=>n.jsxs("li",{children:[n.jsx(tt,{size:15,strokeWidth:1.8})," ",B0(D)]},D.id)),ne.length===0?n.jsxs(n.Fragment,{children:[n.jsxs("li",{children:[n.jsx(tt,{size:15,strokeWidth:1.8})," AWS Certified Developer"]}),n.jsxs("li",{children:[n.jsx(tt,{size:15,strokeWidth:1.8})," Certificeret Scrum Master"]})]}):null]})]}),n.jsxs("article",{className:"cv-card",children:[n.jsxs("div",{className:"cv-section-head",children:[n.jsx(Gh,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Korekort"})]}),n.jsx("div",{className:"cv-chip-wrap",children:(se.length>0?se.map(Y0):["B (Almindelig bil)","A (Motorcykel)"]).map(D=>n.jsx("span",{className:"cv-chip",children:D},D))})]})]})]}),n.jsxs("div",{className:"cv-right",children:[n.jsxs("section",{children:[n.jsxs("div",{className:"cv-timeline-head",children:[n.jsx("div",{className:"cv-timeline-icon",children:n.jsx(sr,{size:19,strokeWidth:1.8})}),n.jsx("h2",{children:"Erhvervserfaring"})]}),n.jsx("div",{className:"cv-timeline",children:(re.length>0?re:R0).map((D,fe)=>{const je="occupation"in D?D.occupation?.name||"Stilling":D.title,Se="companyName"in D?D.companyName:D.company,H="comments"in D?D.comments:D.description,J="fromDate"in D?D.fromDate:D.from,ae="toDate"in D?D.toDate:D.to,P="isCurrent"in D?!!D.isCurrent:!1;return n.jsxs("article",{className:"cv-timeline-item",children:[n.jsx("div",{className:"cv-timeline-dot",children:n.jsx(ar,{size:15,strokeWidth:1.8})}),n.jsxs("div",{className:"cv-timeline-card",children:[n.jsx("h3",{children:je}),n.jsxs("div",{className:"cv-meta",children:[n.jsx("strong",{children:Se}),n.jsx("span",{children:Dh(J,ae,P)})]}),n.jsx("p",{children:H||"Ingen beskrivelse."})]})]},"id"in D?String(D.id):`exp-${fe}`)})})]}),n.jsx("div",{className:"cv-divider"}),n.jsxs("section",{children:[n.jsxs("div",{className:"cv-timeline-head",children:[n.jsx("div",{className:"cv-timeline-icon",children:n.jsx(Xh,{size:19,strokeWidth:1.8})}),n.jsx("h2",{children:"Uddannelse"})]}),n.jsx("div",{className:"cv-timeline",children:(oe.length>0?oe:H0).map((D,fe)=>{const je="education"in D?D.education?.name||"Uddannelse":D.title,Se="institution"in D?D.institution?.name||"Institution":D.school,H="comments"in D?D.comments:D.description,J="fromDate"in D?D.fromDate:D.from,ae="toDate"in D?D.toDate:D.to,P="isCurrent"in D?!!D.isCurrent:!1;return n.jsxs("article",{className:"cv-timeline-item",children:[n.jsx("div",{className:"cv-timeline-dot",children:n.jsx(ar,{size:15,strokeWidth:1.8})}),n.jsxs("div",{className:"cv-timeline-card",children:[n.jsx("h3",{children:je}),n.jsxs("div",{className:"cv-meta",children:[n.jsx("strong",{children:Se}),n.jsx("span",{children:Dh(J,ae,P)})]}),n.jsx("p",{children:H||"Ingen beskrivelse."})]})]},"id"in D?String(D.id):`edu-${fe}`)})})]})]})]})]})]})}class Q0{constructor(c=He){this.http=c}getNotificationSetting(){const c=z.backendApiV2+"2.0.0/client/notification/settings";return this.http.get(c)}createNotificationSetting(c){const u=z.backendApiV2+"2.0.0/client/notification/settings";return this.http.post(u,c)}updateNotificationSetting(c,u){const r=z.backendApiV2+"2.0.0/client/notification/settings/"+c;return this.http.put(r,u)}deleteNotificationSetting(c){const u=z.backendApiV2+"2.0.0/client/notification/settings/"+c;return this.http.delete(u)}getNewNotificationCount(){let c=z.backendApiV2+"1.0.0/client/notification/unseen_notifications";return this.http.get(c)}getNotifications(c,u){let r=z.backendApiV2+"1.0.0/client/notification/"+c+"/"+u;return this.http.get(r)}notificationSeenByUser(c){let u=z.backendApiV2+"1.0.0/client/notification/seen_by_user/"+c,r={};return this.http.put(u,r)}}class lm{constructor(c=He,u=ql){this.http=c,this.localStorage=u}listSimulationPersonalities(){let c=z.backendApiV2+"client/simulation/1.0.0/list_simulation_personalities",u=new Ia().set("language","da");return this.http.get(c,{params:u})}getInterviewEvaluation(c){const u=z.backendApiV2+`client/simulation/1.0.0/interview_evaluation/${c}`;return this.http.get(u)}listInterviews(c=20,u=0){const r=z.backendApiV2+"client/job_simulator/1.0.0/list_interviews",m=new Ia().set("limit",c.toString()).set("offset",u.toString());return this.http.get(r,{params:m})}submitEvaluationRating(c,u,r){const m=z.backendApiV2+"client/simulation/1.0.0/evaluation_rating",v={interview_id:c,rating:u,rating_text:r};return this.http.post(m,v)}submitInterviewRating(c,u,r){const m=z.backendApiV2+"client/simulation/1.0.0/interview_rating",v={interview_id:c,rating:u,rating_text:r};return this.http.post(m,v)}}class X0{constructor(c=He){this.http=c}chatMessageThreads=[];getChatMessages(){let c=z.backendApi+"api/1.1.0/chatMessages/forCandidate/";return this.http.get(c)}sendMessage(c){let u=z.backendApi+"api/1.1.0/chatMessages/"+c.threadId+"/fromCandidate";return this.http.post(u,c)}markThreadRead(c){let u=z.backendApi+"api/1.1.0/chatMessages/markRead/"+c;return this.http.get(u)}}class Z0{constructor(c=He){this.http=c}getUnreadMessages(){let c=z.backendApi+"api/1.1.0/chatMessages/getUnreadCount";return this.http.get(c)}}function fs(d){if(!d)return 0;const u=(d instanceof Date?d:new Date(d)).getTime();return Number.isNaN(u)?0:u}function Ku(d,c){const u=d?.timeSent?new Date(d.timeSent):new Date,r=d?.seen?new Date(d.seen):void 0;return{id:d?.id,threadId:d?.threadId??c,timeSent:u,fromCandidate:!!d?.fromCandidate,text:d?.text??"",seen:r}}class nm{constructor(c=new X0,u=new Z0,r=new Pa){this.chatMessagesService=c,this.messageService=u,this.candidateService=r}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate(),u=c.firstName?.trim()||c.name?.trim()||"Lasse",r=c.imageUrl||c.image||void 0;return{name:u,imageUrl:r}}catch{return{name:"Lasse"}}}async getThreads(){return(await this.chatMessagesService.getChatMessages()??[]).map(u=>{const r=(u.allMessages??[]).map(v=>Ku(v,u.id));r.sort((v,U)=>fs(v.timeSent)-fs(U.timeSent));const m=u.latestMessage?Ku(u.latestMessage,u.id):r[r.length-1]??Ku(void 0,u.id);return{...u,allMessages:r,latestMessage:m}}).sort((u,r)=>fs(r.latestMessage?.timeSent)-fs(u.latestMessage?.timeSent))}async getUnreadCount(){const c=await this.messageService.getUnreadMessages();return Number(c?.unreadCount??0)}async sendMessage(c,u){const r={threadId:c,text:u.trim(),fromCandidate:!0,timeSent:new Date};return this.chatMessagesService.sendMessage(r)}async markThreadReadByMessageId(c){c&&await this.chatMessagesService.markThreadRead(c)}}function Jn(d){return typeof d=="object"&&d!==null?d:null}function wt(d){return typeof d=="string"?d:""}function K0(d){return typeof d=="number"?d:null}function W0(d){const c=Jn(d);if(!c)return null;const r=Jn(c.jobPosting)??c,m=wt(r.id);return m?{id:m,title:wt(r.title),companyName:wt(r.companyName),address:wt(r.address),applicationDeadline:wt(r.applicationDeadline),candidateDistance:K0(r.candidateDistance),fromJobnet:!!r.fromJobnet,logoUrl:wt(r.logoUrl),companyLogoImage:wt(r.companyLogoImage)}:null}function F0(d){const c=Jn(d);return(Array.isArray(c?.interviews)?c.interviews:[]).map(r=>{const m=Jn(r);if(!m)return null;const v=wt(m.id);return v?{id:v,jobName:wt(m.job_name)||"Interview",companyName:wt(m.company_name)||null,interviewDate:wt(m.interview_date)||null,recommendation:wt(m.recommendation)||null,isCompleted:!!m.is_completed}:null}).filter(r=>!!r).sort((r,m)=>{const v=r.interviewDate?new Date(r.interviewDate).getTime():0;return(m.interviewDate?new Date(m.interviewDate).getTime():0)-v}).slice(0,5)}function $0(d){const c=Jn(d);return c?Array.isArray(c.searchList)?c.searchList:[]:[]}class I0{constructor(c=new Pa,u=new Q0,r=new cr,m=new ys,v=new lm,U=new nm){this.candidateService=c,this.notificationService=u,this.jobService=r,this.subscriptionService=m,this.simulationService=v,this.messagesViewModel=U}async loadInitialData(){const[c,u,r,m,v,U]=await Promise.allSettled([this.candidateService.getCandidate(),this.notificationService.getNotifications(0,5),this.messagesViewModel.getThreads(),this.loadBestJobs(),this.subscriptionService.getPaymentOverview(),this.simulationService.listInterviews(5,0)]);return{candidate:c.status==="fulfilled"?c.value:null,notifications:u.status==="fulfilled"?u.value.slice(0,5):[],messages:r.status==="fulfilled"?r.value.slice(0,5):[],bestJobs:m.status==="fulfilled"?m.value:[],subscription:v.status==="fulfilled"?v.value:null,evaluations:U.status==="fulfilled"?F0(U.value):[]}}async loadBestJobs(){const c=await this.jobService.getJobsV2(10,0,5,[]);return $0(c).map(r=>W0(r)).filter(r=>!!r).slice(0,5)}}const P0={bestJobs:[],candidate:null,evaluations:[],messages:[],notifications:[],subscription:null};function Ch(d){return d.trim().slice(0,1).toUpperCase()||"A"}function ey({onLogout:d,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:m}){const v=C.useMemo(()=>new I0,[]),[U,Y]=C.useState(P0),[R,b]=C.useState(!0);C.useEffect(()=>{let q=!0;return v.loadInitialData().then(Q=>{q&&Y(Q)}).finally(()=>{q&&b(!1)}),()=>{q=!1}},[v]);const V=U.candidate?.firstName?.trim()||U.candidate?.name?.trim()||"Lasse",T=U.candidate?.imageUrl||U.candidate?.image||"";return n.jsxs("section",{className:`dash-root ${m==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"dashboard",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(sa,{name:V,imageUrl:T||void 0,onLogout:d,theme:m,onToggleTheme:r}),n.jsxs("div",{className:"dash-welcome",children:[n.jsxs("h1",{children:["Velkommen tilbage ",V," ",n.jsx("span",{children:"👋"})]}),n.jsx("p",{children:"Her er, hvad der sker med din jobsøgning i dag."})]}),R?n.jsx("p",{className:"dash-loading",children:"Indlaeser dashboard..."}):null,n.jsxs("div",{className:"dash-grid",children:[n.jsxs("div",{className:"dash-grid-main",children:[n.jsxs("article",{className:"dash-card",children:[n.jsx("div",{className:"dash-card-head",children:n.jsx("h2",{children:"Anbefalet til dig"})}),n.jsx("div",{className:"dash-job-list",children:(U.bestJobs.length>0?U.bestJobs:[{id:"d1",title:"Senior Frontend-udvikler",companyName:"Lunar",address:"Kobenhavn, DK",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""},{id:"d2",title:"React-udvikler",companyName:"Pleo",address:"Remote",applicationDeadline:"",candidateDistance:null,fromJobnet:!1,logoUrl:"",companyLogoImage:""}]).slice(0,5).map(q=>n.jsxs("div",{className:"dash-job-item",role:"button",tabIndex:0,onClick:()=>u(q.id,!!q.fromJobnet,"dashboard"),onKeyDown:Q=>{(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),u(q.id,!!q.fromJobnet,"dashboard"))},children:[n.jsxs("div",{className:"dash-job-left",children:[n.jsx("div",{className:"dash-company-chip",children:Ch(q.companyName)}),n.jsxs("div",{children:[n.jsx("h4",{children:q.title}),n.jsxs("p",{children:[q.companyName," • ",q.address||"Lokation ikke angivet"]})]})]}),n.jsx("button",{type:"button",className:"dash-job-arrow-btn","aria-label":"Se job",onClick:Q=>{Q.stopPropagation(),u(q.id,!!q.fromJobnet,"dashboard")},children:n.jsx($a,{size:16,strokeWidth:1.8})})]},q.id))})]}),n.jsxs("div",{className:"dash-split-grid",children:[n.jsxs("article",{className:"dash-card",children:[n.jsx("h3",{children:"Seneste beskeder"}),n.jsxs("div",{className:"dash-message-list",children:[(U.messages.length>0?U.messages:[]).slice(0,5).map(q=>n.jsxs("div",{className:"dash-message-item",children:[n.jsx("div",{className:"dash-avatar",children:Ch(q.companyName||"A")}),n.jsxs("div",{children:[n.jsx("h4",{children:q.companyName||"Samtale"}),n.jsx("p",{children:q.latestMessage?.text||"Ingen besked endnu"})]})]},q.id)),U.messages.length===0?n.jsx("p",{className:"dash-muted",children:"Ingen beskeder endnu."}):null]})]}),n.jsxs("article",{className:"dash-card",children:[n.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[n.jsx("h3",{children:"Seneste simuleringer"}),n.jsx("button",{type:"button",className:"dash-icon-btn",children:n.jsx(bv,{size:16,strokeWidth:1.8})})]}),n.jsxs("div",{className:"dash-sim-list",children:[n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon teal",children:n.jsx(er,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Teknisk samtale"}),n.jsx("p",{children:"Frontend-fokus"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"92/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"92%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon purple",children:n.jsx(Fv,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Kulturelt match"}),n.jsx("p",{children:"Lunar Bank"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"88/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"88%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon amber",children:n.jsx(xv,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Systemdesign"}),n.jsx("p",{children:"Arkitektur"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{className:"warn",children:"65/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{className:"warn",style:{width:"65%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon blue",children:n.jsx(er,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"Live-kodning"}),n.jsx("p",{children:"React.js"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{children:"95/100"}),n.jsx("div",{className:"dash-progress",children:n.jsx("span",{style:{width:"95%"}})})]})]}),n.jsxs("div",{className:"dash-sim-item",children:[n.jsxs("div",{className:"dash-sim-left",children:[n.jsx("span",{className:"dash-sim-icon gray",children:n.jsx(Fh,{size:16,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h4",{children:"HR-screening"}),n.jsx("p",{children:"Generelt"})]})]}),n.jsxs("div",{className:"dash-sim-right",children:[n.jsx("strong",{className:"na",children:"N/A"}),n.jsx("div",{className:"dash-progress"})]})]})]})]})]})]}),n.jsxs("div",{className:"dash-grid-side",children:[n.jsxs("article",{className:"dash-card dash-ai-card dash-ai-card-group",children:[n.jsx("div",{className:"dash-ai-peel"}),n.jsxs("div",{className:"dash-ai-content",children:[n.jsxs("div",{className:"dash-ai-head",children:[n.jsx(Gn,{size:22,strokeWidth:1.8}),n.jsx("h3",{children:"AI-indsigter til dit CV"})]}),n.jsx("p",{children:"Vi analyserede dit seneste CV op imod dine målroller."}),n.jsxs("ul",{className:"dash-ai-list",children:[n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(tp,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Kvantificer dine resultater"}),n.jsx("small",{children:'Tilføj tal til din rolle hos TechCorp (f.eks. \\"Forbedrede loadhastighed med 40%\\").'})]})]}),n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(Ig,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Omorganiser dine færdigheder"}),n.jsx("small",{children:"Flyt React & TypeScript til toppen baseret på aktive Jobagenter."})]})]}),n.jsxs("li",{className:"dash-ai-item",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(Ep,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Tilføj manglende nøgleord"}),n.jsx("small",{children:'Inkluder \\"Tailwind CSS\\" for at matche 85% af dine anbefalede jobs.'})]})]}),n.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx(Ih,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Omskriv dit resumé"}),n.jsx("small",{children:"Gør din målsætning mere handlingsorienteret."})]})]}),n.jsxs("li",{className:"dash-ai-item dash-ai-xl-only",children:[n.jsx("span",{className:"dash-ai-item-icon",children:n.jsx($p,{size:13,strokeWidth:2})}),n.jsxs("div",{children:[n.jsx("strong",{children:"Opdater porteføljelink"}),n.jsx("small",{children:"Dit GitHub-link gav en 404-fejl i vores test."})]})]})]}),n.jsx("button",{type:"button",children:"Anvend alle ændringer"})]})]}),n.jsxs("article",{className:"dash-card",children:[n.jsxs("div",{className:"dash-card-head dash-card-head-inline",children:[n.jsx("h3",{children:"Aktive Jobagenter"}),n.jsx("button",{type:"button",className:"dash-icon-btn",children:n.jsx($h,{size:16,strokeWidth:1.8})})]}),n.jsxs("div",{className:"dash-agent-list",children:[n.jsxs("div",{className:"dash-agent-item",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsxs("small",{children:[n.jsx(Yn,{size:13,strokeWidth:1.8})," Kobenhavn"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox",defaultChecked:!0}),n.jsx("span",{})]})]}),n.jsxs("div",{className:"dash-agent-item",children:[n.jsxs("div",{children:[n.jsx("span",{children:"React-udvikler"}),n.jsxs("small",{children:[n.jsx(lr,{size:13,strokeWidth:1.8})," Remote (EU)"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox",defaultChecked:!0}),n.jsx("span",{})]})]}),n.jsxs("div",{className:"dash-agent-item muted",children:[n.jsxs("div",{children:[n.jsx("span",{children:"UI/UX-designer"}),n.jsxs("small",{children:[n.jsx(Yn,{size:13,strokeWidth:1.8})," Aarhus"]})]}),n.jsxs("label",{className:"dash-switch",children:[n.jsx("input",{type:"checkbox"}),n.jsx("span",{})]})]})]}),n.jsx("button",{type:"button",className:"dash-outline-btn",children:"Opret ny agent"})]})]})]})]})]})}function Bn(d){return d instanceof Date?d.toISOString():typeof d=="string"?d:""}function Eh(d){const c=[d.road,d.houseNum,d.zip,d.zipName].filter(u=>typeof u=="string"&&u.trim().length>0).join(" ");return{id:d.id,title:d.title??"Job",companyName:d.hiringCompanyName??"Ukendt virksomhed",occupationName:d.occupation?.name??"",address:c||d.zipName||"Ukendt adresse",description:d.description??"",applicationDeadline:Bn(d.applicationDeadline),websiteUrl:d.applicationUrl||d.hiringCompanyUrl||"",logoUrl:d.logoUrl||"",fromJobnet:!0,isSaved:!1,isApplied:!!d.applied,isFullTime:typeof d.isFullTime=="boolean"?d.isFullTime:null,workTimes:Array.isArray(d.workTimes)?d.workTimes:[],contactName:d.contactName??"",hiringCompanyName:d.hiringCompanyName??"",datePosted:Bn(d.datePosted),employmentDate:Bn(d.employmentDate),startAsSoonAsPossible:typeof d.startAsSoonAsPossible=="boolean"?d.startAsSoonAsPossible:null,numberOfPositions:typeof d.numberOfPositions=="number"?d.numberOfPositions:null}}function wh(d,c){return{id:d,title:c.title??"Job",companyName:c.companyName??"Ukendt virksomhed",occupationName:c.position??"",address:"",description:[c.descriptionIntro,c.descriptionPosition,c.descriptionOffer].filter(u=>typeof u=="string"&&u.trim().length>0).join(` `),applicationDeadline:Bn(c.applicationDeadline),websiteUrl:c.website??"",logoUrl:"",fromJobnet:!1,isSaved:!1,isApplied:!!c.appliedJob,isFullTime:null,workTimes:Array.isArray(c.workTimes)?c.workTimes:[],contactName:"",hiringCompanyName:c.companyName??"",datePosted:"",employmentDate:Bn(c.fromDate),startAsSoonAsPossible:null,numberOfPositions:typeof c.numberOfPositions=="number"?c.numberOfPositions:null}}class ty{constructor(c=new cr){this.jobService=c}async getDetail(c,u){if(u)try{const r=await this.jobService.getJobNetJobDetail(c);return Eh(r)}catch{const r=await this.jobService.getJobDetail(c);return wh(c,r)}try{const r=await this.jobService.getJobDetail(c);return wh(c,r)}catch{const r=await this.jobService.getJobNetJobDetail(c);return Eh(r)}}async toggleBookmark(c,u,r){const m=u?"star":"arbejd.com";await this.jobService.bookmarkJobV2(c,r,m)}async markAsApplied(c,u){if(u){await this.jobService.toggleApplyJobnetjob(c,!0);return}await this.jobService.applyJob(c)}}function ay(d){return d.trim().slice(0,1).toUpperCase()||"A"}function Wu(d){if(!d)return"Ikke angivet";const c=new Date(d);return Number.isNaN(c.getTime())?d:new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(c)}function ly(d){if(!d.trim())return"";if(typeof window>"u")return d;const u=new DOMParser().parseFromString(d,"text/html");u.querySelectorAll("script, style, iframe, object, embed, link, meta").forEach(r=>r.remove());for(const r of Array.from(u.body.querySelectorAll("*")))for(const m of Array.from(r.attributes)){const v=m.name.toLowerCase(),Y=m.value.trim().toLowerCase();if(v.startsWith("on")){r.removeAttribute(m.name);continue}if((v==="href"||v==="src")&&Y.startsWith("javascript:")){r.removeAttribute(m.name);continue}(v==="style"||v==="srcdoc")&&r.removeAttribute(m.name)}return u.body.innerHTML}function ny(d){return d.isFullTime===!0?"Fuldtid":d.isFullTime===!1?"Deltid":d.workTimes.length>0?"Fleksibel arbejdstid":"Ikke oplyst"}function iy({fromJobnet:d,jobId:c,onBack:u,onLogout:r,onNavigate:m,onToggleTheme:v,theme:U}){const Y=C.useMemo(()=>new ty,[]),R=C.useMemo(()=>new bs,[]),[b,V]=C.useState({name:"Lasse"}),[T,q]=C.useState(null),[Q,ee]=C.useState(!0),[B,re]=C.useState(""),[oe,ge]=C.useState(!1),[K,ne]=C.useState(!1),[se,Z]=C.useState(!1),[D,fe]=C.useState(!1);C.useEffect(()=>{let J=!0;async function ae(){ee(!0),re("");const[P,W]=await Promise.allSettled([R.getCandidateProfile(),Y.getDetail(c,d)]);J&&(P.status==="fulfilled"&&V(P.value),W.status==="fulfilled"?(q(W.value),ge(!!W.value.isSaved),ne(!!W.value.isApplied)):(q(null),re("Kunne ikke hente jobdetaljer. Proev igen.")),ee(!1))}return ae(),()=>{J=!1}},[Y,d,c,R]);async function je(){if(!(!T||se)){Z(!0);try{await Y.toggleBookmark(T.id,T.fromJobnet,!oe),ge(J=>!J)}finally{Z(!1)}}}async function Se(){if(!(!T||K||D)){fe(!0);try{await Y.markAsApplied(T.id,T.fromJobnet),ne(!0)}finally{fe(!1)}}}const H=C.useMemo(()=>ly(T?.description??""),[T?.description]);return n.jsxs("section",{className:`dash-root ${U==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"jobs",onNavigate:m}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(sa,{name:b.name,imageUrl:b.imageUrl,onLogout:r,theme:U,onToggleTheme:v}),n.jsx("div",{className:"job-detail-back-row",children:n.jsxs("button",{type:"button",className:"job-detail-back-btn",onClick:u,children:[n.jsx(Bh,{size:15,strokeWidth:1.8}),n.jsx("span",{children:"Tilbage til jobs"})]})}),Q?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobdetaljer..."}):null,!Q&&B?n.jsx("p",{className:"dash-loading",children:B}):null,!Q&&T?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"job-detail-header",children:[n.jsx("div",{className:"job-detail-logo-wrap",children:T.logoUrl?n.jsx("img",{src:T.logoUrl,alt:T.companyName,className:"job-detail-logo-image"}):n.jsx("div",{className:"job-detail-logo-fallback",children:ay(T.companyName)})}),n.jsxs("div",{className:"job-detail-heading",children:[n.jsx("h1",{children:T.title||"Jobdetaljer"}),n.jsxs("div",{className:"job-detail-meta",children:[n.jsxs("span",{children:[n.jsx(Iu,{size:14,strokeWidth:1.8})," ",T.companyName||"Virksomhed"]}),n.jsxs("span",{children:[n.jsx(Yn,{size:14,strokeWidth:1.8})," ",T.address||"Lokation ikke angivet"]}),n.jsxs("span",{children:[n.jsx(Pu,{size:14,strokeWidth:1.8})," ",ny(T)]})]})]})]}),n.jsxs("div",{className:"job-detail-grid",children:[n.jsxs("section",{className:"job-detail-main-card dash-card",children:[n.jsxs("div",{className:"job-detail-section",children:[n.jsx("h2",{children:"Om rollen"}),H?n.jsx("div",{className:"job-detail-rich-html",dangerouslySetInnerHTML:{__html:H}}):n.jsx("p",{children:"Ingen jobbeskrivelse er tilgaengelig endnu."})]}),n.jsxs("div",{className:"job-detail-section",children:[n.jsx("h3",{children:"Jobinformation"}),n.jsxs("div",{className:"job-detail-info-grid",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Ansøgningsfrist"}),n.jsx("strong",{children:Wu(T.applicationDeadline)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Opslået"}),n.jsx("strong",{children:Wu(T.datePosted)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Startdato"}),n.jsx("strong",{children:Wu(T.employmentDate)})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Stillinger"}),n.jsx("strong",{children:T.numberOfPositions??"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kontaktperson"}),n.jsx("strong",{children:T.contactName||"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Kilde"}),n.jsx("strong",{children:T.fromJobnet?"Jobnet":"Arbejd.com"})]})]})]})]}),n.jsxs("aside",{className:"job-detail-side-col",children:[n.jsxs("article",{className:"dash-card job-detail-actions-card",children:[n.jsx("h2",{children:"Handlinger"}),n.jsxs("button",{type:"button",className:"job-detail-action-primary",children:[n.jsxs("span",{children:[n.jsx(Gn,{size:16,strokeWidth:1.8})," Generer ansøgning"]}),n.jsx($a,{size:14,strokeWidth:1.8})]}),n.jsxs("button",{type:"button",className:"job-detail-action-secondary",children:[n.jsxs("span",{children:[n.jsx(Tv,{size:16,strokeWidth:1.8})," Simuler jobsamtale"]}),n.jsx($a,{size:14,strokeWidth:1.8})]}),n.jsx("div",{className:"job-detail-action-divider"}),n.jsxs("button",{type:"button",className:"job-detail-text-action",onClick:()=>{je()},disabled:se,children:[n.jsx(lp,{size:16,strokeWidth:1.8}),oe?"Fjern fra gemte jobs":"Gem job"]}),n.jsxs("button",{type:"button",className:"job-detail-text-action",children:[n.jsx(ps,{size:16,strokeWidth:1.8}),"Del via email"]}),T.websiteUrl?n.jsxs("a",{href:T.websiteUrl,target:"_blank",rel:"noreferrer",className:"job-detail-text-action link",children:[n.jsx(gs,{size:16,strokeWidth:1.8}),"Åbn på nettet"]}):null,n.jsxs("button",{type:"button",className:K?"job-detail-text-action success is-done":"job-detail-text-action success",onClick:()=>{Se()},disabled:K||D,children:[n.jsx(tt,{size:16,strokeWidth:1.8}),K?"Markeret som søgt":"Marker som søgt"]})]}),n.jsxs("article",{className:"dash-card job-detail-company-card",children:[n.jsx("h3",{children:"Om virksomheden"}),n.jsxs("div",{className:"job-detail-company-list",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Virksomhed"}),n.jsx("strong",{children:T.hiringCompanyName||T.companyName||"Ukendt"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Stilling"}),n.jsx("strong",{children:T.occupationName||"Ikke angivet"})]}),n.jsxs("div",{children:[n.jsx("span",{children:"Website"}),n.jsx("strong",{children:T.websiteUrl||"Ikke angivet"})]})]})]})]})]})]}):null]})]})}const Uh=[2,4,6,8,10,12,24],sy=[{id:"job-1",title:"Senior Frontend-udvikler",companyName:"Lunar",occupationName:"Frontend",descriptionIntro:"Vi søger en erfaren frontend-udvikler til at lede vores nye team.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:5,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:98},{id:"job-2",title:"UX/UI Designer (Deltid)",companyName:"Pleo",occupationName:"Design",descriptionIntro:"Hjælp os med at skabe brugervenlige flows for vores expense management platform.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:12,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:95},{id:"job-3",title:"React-udvikler",companyName:"Zendesk",occupationName:"Frontend",descriptionIntro:"Bliv en del af vores kerne-team i Kobenhavn og byg software i topklasse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:2,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:89},{id:"job-4",title:"Full Stack Web-udvikler",companyName:"Trustpilot",occupationName:"Full stack",descriptionIntro:"Vi leder efter en passioneret Full Stack Developer (Node.js/React).",address:"Remote",time:"",applicationDeadline:"",candidateDistance:null,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:85},{id:"job-5",title:"Frontend-arkitekt",companyName:"Novo Nordisk",occupationName:"Frontend",descriptionIntro:"Vær med til at designe arkitekturen for interne medicinske data-platforme.",address:"Bagsvaerd",time:"",applicationDeadline:"",candidateDistance:18,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:72},{id:"job-6",title:"Product Designer",companyName:"Podimo",occupationName:"Design",descriptionIntro:"Vi mangler en skarp Product Designer til at forme fremtidens lytteoplevelse.",address:"Kobenhavn",time:"",applicationDeadline:"",candidateDistance:3,logoUrl:"",companyLogoImage:"",fromJobnet:!1,isSaved:!1,matchPercent:68}];function cy(d){return d.trim().slice(0,1).toUpperCase()||"A"}function Oh(d){return d.address.toLowerCase().includes("remote")?"Remote":typeof d.candidateDistance=="number"?`${Math.max(0,Math.round(d.candidateDistance))} km vaek`:d.address||"Lokation ikke angivet"}function uy(d){return d.companyLogoImage||d.logoUrl||""}function Lh({item:d}){const[c,u]=C.useState(!1),r=uy(d);return r.length>0&&!c?n.jsx("div",{className:"jobs-card-logo jobs-card-logo-image-wrap",children:n.jsx("img",{src:r,alt:d.companyName||"Virksomhed",className:"jobs-card-logo-image",onError:()=>u(!0)})}):n.jsx("div",{className:"jobs-card-logo",children:cy(d.companyName)})}function ry(d){return d.workTypePartTime?"deltid":"fast"}function oy({onLogout:d,onNavigate:c,onOpenJobDetail:u,onToggleTheme:r,theme:m}){const v=C.useMemo(()=>new bs,[]),[U,Y]=C.useState({name:"Lasse"}),[R,b]=C.useState(""),[V,T]=C.useState("sidebar"),[q,Q]=C.useState("fast"),[ee,B]=C.useState(15),[re,oe]=C.useState(24),[ge,K]=C.useState(["Frontend-udvikler","UX/UI Designer"]),[ne,se]=C.useState(""),[Z,D]=C.useState([]),[fe,je]=C.useState(!0),[Se,H]=C.useState(6),J=C.useCallback(async()=>{try{const h=await v.getTabItems("jobs");D(h),H(6)}catch{D([]),H(6)}},[v]);C.useEffect(()=>{let h=!0;async function x(){try{const E=await v.getSavedFilter();if(!h)return;Q(ry(E)),B(E.workDistance??15),oe(E.partTimeHours??24),b(E.distanceCenterName??"")}catch{}if(await J(),h){const E=await v.getCandidateProfile();h&&Y(E),je(!1)}}return x(),()=>{h=!1}},[J,v]);async function ae(){const h={escoIds:[],workTypePermanent:q==="fast",workTypePartTime:q==="deltid",workDistance:ee,partTimeHours:q==="deltid"?re:null,distanceCenterName:R,latitude:null,longitude:null};je(!0);try{const x=await v.applyFiltersAndGetJobs(h,{searchText:R,desiredTitles:ge});D(x),H(6)}catch{D([]),H(6)}je(!1)}const P=Z.length>0?Z:sy,W=P.slice(0,Math.min(Se,P.length)),k=Seh==="sidebar"?"top":"sidebar")}function O(h){K(x=>x.filter(E=>E!==h))}function I(h){const x=h.trim();x&&(K(E=>E.includes(x)?E:[...E,x]),se(""))}function ue(){H(h=>Math.min(h+6,P.length))}return n.jsxs("section",{className:`dash-root ${m==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"jobs",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar",children:[n.jsx(sa,{name:U.name,imageUrl:U.imageUrl,onLogout:d,theme:m,onToggleTheme:r,actions:n.jsxs("button",{type:"button",className:"jobs-layout-toggle",onClick:_,children:[V==="sidebar"?n.jsx(Kh,{size:16,strokeWidth:1.8}):n.jsx(Zh,{size:16,strokeWidth:1.8}),n.jsx("span",{children:V==="sidebar"?"Top-layout":"Side-layout"})]})}),n.jsxs("div",{className:"jobs-page-head",children:[n.jsx("h1",{children:"Find dit naeste job"}),n.jsx("p",{children:"Sog og filtrer for at finde det perfekte match til din profil."})]}),V==="sidebar"?n.jsxs("div",{className:"jobs-grid",children:[n.jsxs("aside",{className:"jobs-filter dash-card",children:[n.jsxs("h2",{children:[n.jsx(Iu,{size:18,strokeWidth:1.8})," Filtre"]}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Sog jobtitel eller virksomhed"}),n.jsxs("div",{className:"jobs-search-wrap",children:[n.jsx(nr,{size:16,strokeWidth:1.8}),n.jsx("input",{type:"text",placeholder:"F.eks. Frontend Udvikler...",value:R,onChange:h=>b(h.target.value)})]})]}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Onskede jobtitler"}),n.jsxs("div",{className:"jobs-title-picker",children:[n.jsxs("div",{className:"jobs-title-input-wrap",children:[ge.map(h=>n.jsxs("span",{className:"jobs-title-chip",children:[h,n.jsx("button",{type:"button",onClick:()=>O(h),"aria-label":`Fjern ${h}`,children:n.jsx(kh,{size:12,strokeWidth:2})})]},h)),n.jsx("input",{type:"text",value:ne,onChange:h=>se(h.target.value),onKeyDown:h=>{h.key==="Enter"&&(h.preventDefault(),I(ne))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),n.jsxs("div",{className:"jobs-title-suggestions",children:[n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>I("Frontend-udvikler"),children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsx(tt,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Backend-udvikler"),children:n.jsx("span",{children:"Backend-udvikler"})}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Full Stack-udvikler"),children:n.jsx("span",{children:"Full Stack-udvikler"})}),n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>I("UX/UI Designer"),children:[n.jsx("span",{children:"UX/UI Designer"}),n.jsx(tt,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Product Manager"),children:n.jsx("span",{children:"Product Manager"})})]})]})]}),n.jsx("div",{className:"jobs-separator"}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Ansaettelsestype"}),n.jsxs("div",{className:"jobs-radio-grid",children:[n.jsx("button",{type:"button",className:q==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>Q("fast"),children:"Fast (Fuldtid)"}),n.jsx("button",{type:"button",className:q==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>Q("deltid"),children:"Deltid"})]})]}),n.jsxs("div",{className:"jobs-filter-block jobs-range-block",children:[n.jsxs("div",{className:"jobs-range-head",children:[n.jsx("label",{children:"Maks. afstand"}),n.jsxs("span",{children:[ee," km"]})]}),n.jsx("input",{type:"range",min:0,max:50,value:ee,onChange:h=>B(Number(h.target.value))}),n.jsxs("div",{className:"jobs-range-labels",children:[n.jsx("span",{children:"0 km"}),n.jsx("span",{children:"50+ km"})]})]}),n.jsx("div",{className:"jobs-separator"}),n.jsxs("div",{className:"jobs-filter-block",children:[n.jsx("label",{children:"Timer (ved deltid)"}),n.jsx("p",{children:"Vaelg onsket timeantal pr. uge"}),n.jsx("div",{className:"jobs-hours-grid",children:Uh.map(h=>n.jsx("button",{type:"button",className:re===h?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>oe(h),children:h},h))})]}),n.jsx("button",{type:"button",className:"jobs-apply-btn",onClick:()=>{ae()},children:"Opdater resultater"})]}),n.jsxs("section",{className:"jobs-content",children:[n.jsxs("div",{className:"jobs-content-head",children:[n.jsx("h2",{children:"Seneste jobs"}),n.jsxs("span",{children:["Viser ",Z.length>0?Z.length:142," resultater"]})]}),fe?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,n.jsx("div",{className:"jobs-cards",children:W.map(h=>n.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>u(h.id,h.fromJobnet,"jobs"),onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),u(h.id,h.fromJobnet,"jobs"))},children:[n.jsx("div",{className:"jobs-card-top",children:n.jsx(Lh,{item:h})}),n.jsxs("div",{className:"jobs-card-title",children:[n.jsx("h3",{children:h.title||"Stilling"}),n.jsx("p",{children:h.companyName||"Virksomhed"})]}),n.jsx("p",{className:"jobs-card-description",children:h.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),n.jsxs("div",{className:"jobs-card-bottom",children:[n.jsxs("div",{className:"jobs-card-distance",children:[h.address.toLowerCase().includes("remote")?n.jsx(lr,{size:15,strokeWidth:1.8}):n.jsx(Sh,{size:15,strokeWidth:1.8}),n.jsx("span",{children:Oh(h)})]}),n.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:x=>{x.stopPropagation(),u(h.id,h.fromJobnet,"jobs")},children:n.jsx($a,{size:16,strokeWidth:1.8})})]})]},h.id))}),n.jsx("div",{className:"jobs-load-more-wrap",children:n.jsx("button",{type:"button",className:"jobs-load-more",onClick:ue,disabled:!k,children:k?"Indlaes flere jobs":"Alle jobs er vist"})})]})]}):n.jsxs("section",{className:"jobs-top-layout",children:[n.jsxs("div",{className:"jobs-top-filters dash-card",children:[n.jsxs("div",{className:"jobs-top-filter-title",children:[n.jsx(Iu,{size:18,strokeWidth:1.8}),n.jsx("h2",{children:"Filtre"})]}),n.jsxs("div",{className:"jobs-top-controls",children:[n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Sog noegleord eller virksomhed"}),n.jsxs("div",{className:"jobs-search-wrap",children:[n.jsx(nr,{size:16,strokeWidth:1.8}),n.jsx("input",{type:"text",placeholder:"F.eks. Lunar, React...",value:R,onChange:h=>b(h.target.value)})]})]}),n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Ansaettelsestype"}),n.jsxs("div",{className:"jobs-radio-grid",children:[n.jsx("button",{type:"button",className:q==="fast"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>Q("fast"),children:"Fast"}),n.jsx("button",{type:"button",className:q==="deltid"?"jobs-radio-btn active":"jobs-radio-btn",onClick:()=>Q("deltid"),children:"Deltid"})]})]}),n.jsxs("div",{className:"jobs-filter-block no-margin jobs-top-range",children:[n.jsxs("div",{className:"jobs-range-head",children:[n.jsx("label",{children:"Maks. afstand"}),n.jsxs("span",{children:[ee," km"]})]}),n.jsx("input",{type:"range",min:0,max:50,value:ee,onChange:h=>B(Number(h.target.value))})]}),n.jsx("button",{type:"button",className:"jobs-apply-btn jobs-top-apply",onClick:()=>{ae()},children:"Opdater resultater"})]}),n.jsxs("div",{className:"jobs-filter-block no-margin",children:[n.jsx("label",{children:"Onskede jobtitler"}),n.jsxs("div",{className:"jobs-title-picker",children:[n.jsxs("div",{className:"jobs-title-input-wrap",children:[ge.map(h=>n.jsxs("span",{className:"jobs-title-chip",children:[h,n.jsx("button",{type:"button",onClick:()=>O(h),"aria-label":`Fjern ${h}`,children:n.jsx(kh,{size:12,strokeWidth:2})})]},h)),n.jsx("input",{type:"text",value:ne,onChange:h=>se(h.target.value),onKeyDown:h=>{h.key==="Enter"&&(h.preventDefault(),I(ne))},placeholder:"Sog og tilfoj flere jobtitler..."})]}),n.jsxs("div",{className:"jobs-title-suggestions",children:[n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>I("Frontend-udvikler"),children:[n.jsx("span",{children:"Frontend-udvikler"}),n.jsx(tt,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Backend-udvikler"),children:n.jsx("span",{children:"Backend-udvikler"})}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Full Stack-udvikler"),children:n.jsx("span",{children:"Full Stack-udvikler"})}),n.jsxs("button",{type:"button",className:"jobs-title-option active",onClick:()=>I("UX/UI Designer"),children:[n.jsx("span",{children:"UX/UI Designer"}),n.jsx(tt,{size:16,strokeWidth:1.8})]}),n.jsx("button",{type:"button",className:"jobs-title-option",onClick:()=>I("Product Manager"),children:n.jsx("span",{children:"Product Manager"})})]})]})]}),n.jsx("div",{className:"jobs-separator top-margin"}),n.jsxs("div",{className:"jobs-hours-row",children:[n.jsxs("div",{children:[n.jsx("label",{children:"Timer (ved deltid)"}),n.jsx("p",{children:"Vaelg onsket timeantal pr. uge"})]}),n.jsx("div",{className:"jobs-hours-grid",children:Uh.map(h=>n.jsx("button",{type:"button",className:re===h?"jobs-hour-btn active":"jobs-hour-btn",onClick:()=>oe(h),children:h},h))})]})]}),n.jsxs("section",{className:"jobs-content",children:[n.jsxs("div",{className:"jobs-content-head",children:[n.jsx("h2",{children:"Seneste jobs"}),n.jsxs("span",{children:["Viser ",Z.length>0?Z.length:142," resultater"]})]}),fe?n.jsx("p",{className:"dash-loading",children:"Indlaeser jobs..."}):null,n.jsx("div",{className:"jobs-cards jobs-cards-top",children:W.map(h=>n.jsxs("article",{className:"jobs-card",role:"button",tabIndex:0,onClick:()=>u(h.id,h.fromJobnet,"jobs"),onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),u(h.id,h.fromJobnet,"jobs"))},children:[n.jsx("div",{className:"jobs-card-top",children:n.jsx(Lh,{item:h})}),n.jsxs("div",{className:"jobs-card-title",children:[n.jsx("h3",{children:h.title||"Stilling"}),n.jsx("p",{children:h.companyName||"Virksomhed"})]}),n.jsx("p",{className:"jobs-card-description",children:h.descriptionIntro||"Beskrivelse er ikke tilgaengelig endnu."}),n.jsxs("div",{className:"jobs-card-bottom",children:[n.jsxs("div",{className:"jobs-card-distance",children:[h.address.toLowerCase().includes("remote")?n.jsx(lr,{size:15,strokeWidth:1.8}):n.jsx(Sh,{size:15,strokeWidth:1.8}),n.jsx("span",{children:Oh(h)})]}),n.jsx("button",{type:"button",className:"jobs-card-arrow","aria-label":"Se job",onClick:x=>{x.stopPropagation(),u(h.id,h.fromJobnet,"jobs")},children:n.jsx($a,{size:16,strokeWidth:1.8})})]})]},h.id))}),n.jsx("div",{className:"jobs-load-more-wrap",children:n.jsx("button",{type:"button",className:"jobs-load-more",onClick:ue,disabled:!k,children:k?"Indlaes flere jobs":"Alle jobs er vist"})})]})]})]})]})}function ms(d){if(!d)return 0;const u=(d instanceof Date?d:new Date(d)).getTime();return Number.isNaN(u)?0:u}function im(d){if(!d)return"--:--";const c=d instanceof Date?d:new Date(d);return Number.isNaN(c.getTime())?"--:--":new Intl.DateTimeFormat("da-DK",{hour:"2-digit",minute:"2-digit"}).format(c)}function dy(d){if(!d)return"";const c=d instanceof Date?d:new Date(d);if(Number.isNaN(c.getTime()))return"";const u=new Date,r=1440*60*1e3,m=Math.floor((new Date(u.getFullYear(),u.getMonth(),u.getDate()).getTime()-new Date(c.getFullYear(),c.getMonth(),c.getDate()).getTime())/r);return m===0?im(c):m===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(c)}function fy(d){const c=new Date,u=new Date(d.getFullYear(),d.getMonth(),d.getDate()),r=new Date(c.getFullYear(),c.getMonth(),c.getDate()),m=Math.floor((r.getTime()-u.getTime())/(1440*60*1e3));return m===0?"I dag":m===1?"I går":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short"}).format(d)}function Vn(d){return!d.fromCandidate&&!d.seen}function Rh(d){return d.allMessages.filter(Vn).length}function Rn(d){return d.companyLogoUrl||d.companyLogo||""}function hy(d){return{...d,allMessages:[...d.allMessages??[]].sort((c,u)=>ms(c.timeSent)-ms(u.timeSent))}}function Hh(){const d=new Date,c=new Date(d.getTime()-600*1e3),u=new Date(d.getTime()-7200*1e3),r=(U,Y,R,b,V)=>({threadId:U,text:Y,fromCandidate:R,timeSent:b,seen:V}),m=[r("thread-techcorp","Hej Lasse! Mange tak for din ansøgning.",!1,u),r("thread-techcorp","Mange tak, det lyder rigtig spændende.",!0,new Date(u.getTime()+1200*1e3),new Date(u.getTime()+1800*1e3)),r("thread-techcorp","Vi vil gerne invitere dig til samtale.",!1,c)],v=[r("thread-lunar","Mange tak for din opdaterede portefølje.",!1,new Date(d.getTime()-1560*60*1e3),new Date(d.getTime()-1500*60*1e3))];return[{id:"thread-techcorp",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=33",companyName:"TechCorp A/S",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:m,latestMessage:m[m.length-1],title:"Frontend Udvikler",messagesLoaded:!0,jobPostingId:"job-1",jobPosting:void 0,isFromSupport:!1},{id:"thread-lunar",companyLogo:"",companyLogoUrl:"https://i.pravatar.cc/150?img=12",companyName:"Lunar Bank",candidateFirstName:"Lasse",candidateLastName:"Hansen",candidateImage:"https://i.pravatar.cc/150?img=11",allMessages:v,latestMessage:v[v.length-1],title:"Senior UX Designer",messagesLoaded:!0,jobPostingId:"job-2",jobPosting:void 0,isFromSupport:!1}]}function my({onLogout:d,onNavigate:c,onToggleTheme:u,theme:r}){const m=C.useMemo(()=>new nm,[]),[v,U]=C.useState("Lasse"),[Y,R]=C.useState(void 0),[b,V]=C.useState([]),[T,q]=C.useState(!0),[Q,ee]=C.useState(""),[B,re]=C.useState("all"),[oe,ge]=C.useState(""),[K,ne]=C.useState("");C.useEffect(()=>{let H=!0;async function J(){q(!0);try{const ae=await m.getCandidateProfile();H&&(U(ae.name),R(ae.imageUrl));const P=await m.getThreads();if(!H)return;const W=(P.length>0?P:Hh()).map(hy);V(W),ge(W[0]?.id||"")}catch{if(!H)return;const ae=Hh();V(ae),ge(ae[0]?.id||"")}finally{H&&q(!1)}}return J(),()=>{H=!1}},[m]);const se=C.useMemo(()=>{const H=Q.trim().toLowerCase();return b.filter(J=>B==="unread"&&Rh(J)===0||B==="companies"&&J.isFromSupport?!1:H?J.companyName.toLowerCase().includes(H)||(J.latestMessage?.text||"").toLowerCase().includes(H):!0)},[B,Q,b]),Z=C.useMemo(()=>b.find(H=>H.id===oe)||se[0],[oe,se,b]),D=C.useMemo(()=>[...Z?.allMessages||[]].sort((H,J)=>ms(H.timeSent)-ms(J.timeSent)),[Z]);async function fe(H){ge(H.id);const J=[...H.allMessages].reverse().find(ae=>Vn(ae));J?.id&&(m.markThreadReadByMessageId(J.id),V(ae=>ae.map(P=>P.id!==H.id?P:{...P,allMessages:P.allMessages.map(W=>Vn(W)?{...W,seen:new Date}:W)})))}async function je(){const H=b.flatMap(J=>J.allMessages).filter(J=>Vn(J)&&!!J.id);await Promise.all(H.map(J=>m.markThreadReadByMessageId(J.id))),V(J=>J.map(ae=>({...ae,allMessages:ae.allMessages.map(P=>Vn(P)?{...P,seen:new Date}:P)})))}async function Se(){const H=K.trim();if(!Z||!H)return;const J={threadId:Z.id,text:H,fromCandidate:!0,timeSent:new Date};ne(""),V(ae=>ae.map(P=>{if(P.id!==Z.id)return P;const W=[...P.allMessages,J];return{...P,allMessages:W,latestMessage:J}}));try{const ae=await m.sendMessage(Z.id,H);V(P=>P.map(W=>{if(W.id!==Z.id)return W;const _=[...W.allMessages.filter(O=>O!==J),ae];return{...W,allMessages:_,latestMessage:ae}}))}catch{}}return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"messages",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar msg-main",children:[n.jsx(sa,{name:v,imageUrl:Y,onLogout:d,theme:r,onToggleTheme:u}),n.jsxs("div",{className:"msg-head",children:[n.jsxs("div",{children:[n.jsx("h1",{children:"Beskeder"}),n.jsx("p",{children:"Kommuniker med virksomheder og hold styr på dine ansøgninger."})]}),n.jsxs("button",{type:"button",className:"msg-mark-btn",onClick:()=>{je()},children:[n.jsx(dp,{size:16,strokeWidth:1.8})," Marker alle som læst"]})]}),n.jsxs("div",{className:"msg-layout",children:[n.jsxs("section",{className:"msg-threads",children:[n.jsxs("div",{className:"msg-threads-head",children:[n.jsxs("div",{className:"msg-search-wrap",children:[n.jsx(nr,{size:16,strokeWidth:1.8}),n.jsx("input",{value:Q,onChange:H=>ee(H.target.value),type:"text",placeholder:"Søg i beskeder..."})]}),n.jsxs("div",{className:"msg-filter-row",children:[n.jsx("button",{type:"button",className:B==="all"?"active":"",onClick:()=>re("all"),children:"Alle"}),n.jsx("button",{type:"button",className:B==="unread"?"active":"",onClick:()=>re("unread"),children:"Ulæste"}),n.jsx("button",{type:"button",className:B==="companies"?"active":"",onClick:()=>re("companies"),children:"Virksomheder"})]})]}),n.jsxs("div",{className:"msg-thread-list custom-scrollbar",children:[T?n.jsx("p",{className:"dash-loading",children:"Indlaeser beskeder..."}):null,!T&&se.length===0?n.jsx("p",{className:"dash-loading",children:"Ingen tråde fundet."}):null,se.map(H=>{const J=Rh(H),ae=Z?.id===H.id,P=Rn(H);return n.jsxs("button",{type:"button",className:ae?"msg-thread-item active":"msg-thread-item",onClick:()=>{fe(H)},children:[n.jsxs("div",{className:"msg-thread-avatar-wrap",children:[P?n.jsx("img",{src:P,alt:H.companyName,className:"msg-thread-avatar"}):n.jsx("div",{className:"msg-thread-avatar-fallback",children:H.companyName.slice(0,1).toUpperCase()}),n.jsx("span",{className:"msg-thread-online"})]}),n.jsxs("div",{className:"msg-thread-content",children:[n.jsxs("div",{className:"msg-thread-row",children:[n.jsx("h3",{children:H.companyName}),n.jsx("span",{children:dy(H.latestMessage?.timeSent)})]}),n.jsx("p",{className:J>0?"unread":"",children:H.latestMessage?.text||"Ingen beskeder endnu"}),n.jsx("small",{children:H.title||"Stilling"})]}),J>0?n.jsx("div",{className:"msg-thread-unread",children:J}):null]},H.id)})]})]}),n.jsxs("section",{className:"msg-chat",children:[n.jsx("div",{className:"msg-chat-head",children:Z?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"msg-chat-company",children:[Rn(Z)?n.jsx("img",{src:Rn(Z),alt:Z.companyName,className:"msg-chat-avatar"}):n.jsx("div",{className:"msg-chat-avatar-fallback",children:Z.companyName.slice(0,1).toUpperCase()}),n.jsxs("div",{children:[n.jsx("h2",{children:Z.companyName}),n.jsx("p",{children:Z.title||"Rekruttering"})]})]}),n.jsxs("div",{className:"msg-chat-actions",children:[n.jsx("button",{type:"button","aria-label":"Ring",children:n.jsx(gv,{size:16,strokeWidth:1.8})}),n.jsx("button",{type:"button","aria-label":"Info",children:n.jsx(Jp,{size:16,strokeWidth:1.8})})]})]}):n.jsx("h2",{children:"Vælg en samtale"})}),n.jsx("div",{className:"msg-chat-body custom-scrollbar",children:D.map((H,J)=>{const ae=H.timeSent instanceof Date?H.timeSent:new Date(H.timeSent),P=J>0?D[J-1]:void 0,W=P?.timeSent instanceof Date?P.timeSent:P?.timeSent?new Date(P.timeSent):void 0,k=!W||ae.toDateString()!==W.toDateString();return n.jsxs("div",{children:[k?n.jsx("div",{className:"msg-day-sep",children:fy(ae)}):null,n.jsxs("div",{className:H.fromCandidate?"msg-bubble-row mine":"msg-bubble-row",children:[H.fromCandidate?null:Rn(Z)?n.jsx("img",{src:Rn(Z),alt:Z.companyName,className:"msg-mini-avatar"}):n.jsx("div",{className:"msg-mini-avatar msg-mini-avatar-fallback",children:Z.companyName.slice(0,1).toUpperCase()}),n.jsxs("div",{className:"msg-bubble-wrap",children:[n.jsx("span",{className:"msg-time",children:im(H.timeSent)}),n.jsx("div",{className:H.fromCandidate?"msg-bubble mine":"msg-bubble",children:H.text})]})]})]},`${H.threadId}-${J}`)})}),n.jsx("div",{className:"msg-input-area",children:n.jsxs("div",{className:"msg-input-wrap",children:[n.jsx("button",{type:"button","aria-label":"Vedhæft",children:n.jsx(dv,{size:18,strokeWidth:1.8})}),n.jsx("textarea",{rows:1,value:K,onChange:H=>ne(H.target.value),onKeyDown:H=>{H.key==="Enter"&&!H.shiftKey&&(H.preventDefault(),Se())},placeholder:"Skriv din besked her..."}),n.jsx("button",{type:"button","aria-label":"Emoji",children:n.jsx(Hv,{size:18,strokeWidth:1.8})}),n.jsxs("button",{type:"button",className:"msg-send-btn",onClick:()=>{Se()},children:["Send ",n.jsx(wv,{size:15,strokeWidth:1.8})]})]})})]})]})]})]})}function sm(d){return typeof d=="object"&&d!==null?d:null}function ft(d){return typeof d=="string"?d:""}function Fu(d){return typeof d=="number"?d:null}function $u(d){if(typeof d=="boolean")return d;if(typeof d=="string"){const c=d.toLowerCase();if(c==="completed"||c==="done"||c==="true")return!0;if(c==="incomplete"||c==="pending"||c==="false")return!1}return null}function gy(d){if(!d)return"";const c=new Date(d);return Number.isNaN(c.getTime())?"":new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"short",year:"numeric"}).format(c)}function py(d,c){const u=sm(d);if(!u)return null;const r=ft(u.id)||ft(u.interview_id)||`interview-${c}`,m=ft(u.job_name)||ft(u.job_title)||ft(u.title)||"Interview",v=ft(u.company_name)||ft(u.companyName)||"Ukendt virksomhed",U=ft(u.interview_date)||ft(u.created_at)||ft(u.updated_at)||ft(u.date),Y=$u(u.is_completed)??$u(u.completed)??$u(u.status)??!0,R=Fu(u.duration_minutes)??Fu(u.duration)??Fu(u.length_minutes),b=ft(u.personality_name)||ft(u.simulation_personality_name)||ft(u.personality)||"Professionel";return{id:r,title:m,companyName:v,dateLabel:gy(U),completed:Y,durationMinutes:R,personality:b}}class vy{constructor(c=new bs,u=new lm){this.jobsViewModel=c,this.simulationService=u}async getCandidateProfile(){return this.jobsViewModel.getCandidateProfile()}async getJobs(){try{return await this.jobsViewModel.getTabItems("jobs")}catch{return[]}}async getPersonalities(){try{const c=await this.simulationService.listSimulationPersonalities();return Array.isArray(c)?c:[]}catch{return[]}}async getInterviews(c=12){try{const u=await this.simulationService.listInterviews(c,0),r=sm(u);return(Array.isArray(r?.interviews)?r.interviews:Array.isArray(u)?u:[]).map((v,U)=>py(v,U)).filter(v=>!!v)}catch{return[]}}}const yy=[{id:"sim-1",title:"Senior Frontend-udvikler",companyName:"Lunar",completed:!0,durationMinutes:15,personality:"Professionel",dateLabel:"12. okt 2023"},{id:"sim-2",title:"Fullstack Developer",companyName:"Pleo",completed:!1,durationMinutes:20,personality:"Afslappet",dateLabel:"10. okt 2023"},{id:"sim-3",title:"UX Designer",companyName:"Trustpilot",completed:!0,durationMinutes:10,personality:"Sarkastisk",dateLabel:"05. okt 2023"},{id:"sim-4",title:"Product Manager",companyName:"Danske Bank",completed:!0,durationMinutes:5,personality:"Stress-test",dateLabel:"01. okt 2023"}];function by(d){return{id:d.id,title:d.title,companyName:d.companyName,completed:d.completed,durationMinutes:d.durationMinutes??15,personality:d.personality||"Professionel",dateLabel:d.dateLabel||"Nyligt"}}function jy(d){return`${d.title||"Stilling"}${d.companyName?` · ${d.companyName}`:""}`}function xy({onLogout:d,onNavigate:c,onToggleTheme:u,theme:r}){const m=C.useMemo(()=>new vy,[]),[v,U]=C.useState("Lasse"),[Y,R]=C.useState(void 0),[b,V]=C.useState([]),[T,q]=C.useState([]),[Q,ee]=C.useState([]),[B,re]=C.useState(!0),[oe,ge]=C.useState(""),[K,ne]=C.useState(""),[se,Z]=C.useState("Dansk"),[D,fe]=C.useState("15"),[je,Se]=C.useState(!1);C.useEffect(()=>{let _=!0;async function O(){re(!0);const[I,ue,h,x]=await Promise.all([m.getCandidateProfile(),m.getJobs(),m.getInterviews(),m.getPersonalities()]);_&&(U(I.name),R(I.imageUrl),V(ue),q(h.map(by)),ee(x.map(E=>({id:E.id,name:E.name}))),ue.length>0&&ge(E=>E||ue[0].id),x.length>0&&ne(E=>E||String(x[0].id)),re(!1))}return O(),()=>{_=!1}},[m]);const H=T.length>0?T:yy,J={id:"fallback-job",title:"Senior Frontend-udvikler",companyName:"Lunar"},ae=b.length>0?b:[J],P=ae.find(_=>_.id===oe)||ae[0],W=Q.find(_=>String(_.id)===K)?.name||"Professionel & Grundig",k=[{id:"ai-1",sender:"ai",text:`Hej Lasse, og velkommen til! Vi er rigtig glade for at have dig til samtalen omkring rollen som ${P.title||"Senior Frontend-udvikler"}. Kan du fortælle om et nyligt projekt, hvor din erfaring med React gjorde en stor forskel for slutresultatet?`},{id:"me-1",sender:"me",text:"I mit seneste projekt migrerede vi en stor dashboard-løsning til Next.js. Jeg implementerede virtualisering og strammere state management med Zustand, hvilket reducerede load-tid med over 60%."},{id:"ai-2",sender:"ai",text:"Det lyder som en rigtig solid forbedring. Når du nævner Zustand frem for Redux, hvad var overvejelserne bag det valg i jeres use-case?"}];return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"simulator",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar sim-main",children:[n.jsx(sa,{name:v,imageUrl:Y,onLogout:d,theme:r,onToggleTheme:u,actions:je?n.jsxs("button",{type:"button",className:"sim-leave-btn",onClick:()=>Se(!1),children:[n.jsx(Bh,{size:15,strokeWidth:1.8}),n.jsx("span",{children:"Forlad simulering"})]}):void 0}),je?n.jsxs("div",{className:"sim-live-wrap",children:[n.jsxs("div",{className:"sim-live-head",children:[n.jsx("h1",{children:"Live Jobsamtale"}),n.jsx("p",{children:"Du er i øjeblikket i en simuleret teknisk samtale. Brug mikrofonen til at svare."})]}),n.jsxs("div",{className:"sim-live-grid",children:[n.jsxs("section",{className:"sim-live-chat-card",children:[n.jsxs("div",{className:"sim-live-chat-head",children:[n.jsxs("div",{className:"sim-live-ai-row",children:[n.jsx("div",{className:"sim-live-ai-avatar",children:n.jsx(Hl,{size:18,strokeWidth:1.8})}),n.jsxs("div",{children:[n.jsx("h3",{children:"Sarah (AI Interviewer)"}),n.jsxs("p",{children:[n.jsx(Av,{size:12,strokeWidth:1.8})," Venter på dit svar..."]})]})]}),n.jsx("button",{type:"button",className:"sim-live-more-btn",children:n.jsx(Mp,{size:16,strokeWidth:1.8})})]}),n.jsx("div",{className:"sim-live-chat-scroll custom-scrollbar",children:k.map(_=>n.jsxs("div",{className:_.sender==="ai"?"sim-live-msg-row ai":"sim-live-msg-row me",children:[n.jsx("div",{className:_.sender==="ai"?"sim-live-msg-avatar ai":"sim-live-msg-avatar me",children:_.sender==="ai"?n.jsx(Hl,{size:13,strokeWidth:1.8}):Y?n.jsx("img",{src:Y,alt:v}):n.jsx("span",{children:v.slice(0,1).toUpperCase()})}),n.jsx("div",{className:_.sender==="ai"?"sim-live-msg-bubble ai":"sim-live-msg-bubble me",children:n.jsx("p",{children:_.text})})]},_.id))}),n.jsxs("div",{className:"sim-live-voice",children:[n.jsxs("div",{className:"sim-live-time-row",children:[n.jsxs("div",{className:"sim-live-time",children:[n.jsx("small",{children:"Tid gået"}),n.jsx("strong",{children:"04:23"})]}),n.jsx("div",{className:"sim-live-wave",children:Array.from({length:7}).map((_,O)=>n.jsx("span",{style:{animationDelay:`${O*.14}s`}},`wave-${O}`))}),n.jsxs("div",{className:"sim-live-time",children:[n.jsx("small",{children:"Tilbage"}),n.jsx("strong",{children:"10:37"})]})]}),n.jsx("button",{type:"button",className:"sim-live-mic-btn",children:n.jsx(iv,{size:22,strokeWidth:1.8})}),n.jsx("p",{children:"Optager dit svar..."})]})]}),n.jsxs("aside",{className:"sim-live-side custom-scrollbar",children:[n.jsxs("article",{className:"sim-live-side-card",children:[n.jsx("h2",{children:"Session Status"}),n.jsxs("div",{className:"sim-live-side-list",children:[n.jsxs("div",{children:[n.jsx("small",{children:"Stilling"}),n.jsxs("p",{children:[P.title||"Senior Frontend-udvikler"," @ ",P.companyName||"Lunar"]})]}),n.jsxs("div",{children:[n.jsx("small",{children:"Samtaletype"}),n.jsxs("p",{children:[n.jsx(er,{size:14,strokeWidth:1.8})," Teknisk Dybde"]})]}),n.jsxs("div",{children:[n.jsx("small",{children:"Interviewer stil"}),n.jsxs("p",{children:[n.jsx(Hl,{size:14,strokeWidth:1.8})," ",W]})]}),n.jsxs("div",{children:[n.jsxs("div",{className:"sim-live-progress-head",children:[n.jsx("small",{children:"Fremgang"}),n.jsx("strong",{children:"Spørgsmål 2 af 5"})]}),n.jsx("div",{className:"sim-live-progress-track",children:n.jsx("span",{})})]})]})]}),n.jsxs("article",{className:"sim-live-coach-card",children:[n.jsxs("h2",{children:[n.jsx(Wp,{size:15,strokeWidth:1.8})," Live Coach"]}),n.jsxs("div",{className:"sim-live-coach-list",children:[n.jsxs("div",{children:[n.jsx(tt,{size:14,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Godt brug af STAR-metoden"}),n.jsx("p",{children:"Dit forrige svar beskrev situationen og resultatet meget tydeligt."})]})]}),n.jsxs("div",{children:[n.jsx(vs,{size:14,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Næste skridt"}),n.jsx("p",{children:"Uddyb hvorfor Zustand var bedre end Redux i jeres specifikke use-case."})]})]})]})]}),n.jsx("article",{className:"sim-live-side-card",children:n.jsxs("div",{className:"sim-live-actions",children:[n.jsxs("button",{type:"button",children:[n.jsx(vp,{size:16,strokeWidth:1.8})," Sæt på pause"]}),n.jsxs("button",{type:"button",className:"stop",children:[n.jsx(Np,{size:16,strokeWidth:1.8})," Afslut & Få Feedback"]})]})})]})]})]}):n.jsxs("div",{className:"sim-wrap",children:[n.jsxs("section",{className:"sim-hero-card",children:[n.jsx("div",{className:"sim-hero-glow"}),n.jsxs("div",{className:"sim-hero-left",children:[n.jsx("h1",{children:"Job Interview Simulator"}),n.jsx("p",{children:"Ov dig pa jobsamtaler med vores AI-drevne simulator. Du far skraeddersyede sporgsmal baseret pa den jobtype, du soger, og modtager detaljeret feedback pa dine svar."}),n.jsxs("ul",{className:"sim-benefits",children:[n.jsxs("li",{children:[n.jsx(tt,{size:16,strokeWidth:1.8})," Personaliserede interviewsporgsmal"]}),n.jsxs("li",{children:[n.jsx(tt,{size:16,strokeWidth:1.8})," Ojeblikkelig AI-feedback pa dine svar"]}),n.jsxs("li",{children:[n.jsx(tt,{size:16,strokeWidth:1.8})," Detaljeret evaluering efter interviewet"]}),n.jsxs("li",{children:[n.jsx(tt,{size:16,strokeWidth:1.8})," Gem og gennemga tidligere interviews"]})]}),n.jsxs("button",{type:"button",className:"sim-start-btn",onClick:()=>Se(!0),children:[n.jsx(bp,{size:18,strokeWidth:1.8}),"Start ny simulering"]})]}),n.jsxs("div",{className:"sim-config-card",children:[n.jsxs("div",{className:"sim-config-head",children:[n.jsx("h3",{children:"Simuleringsindstillinger"}),n.jsx("p",{children:"Vaelg dine praeferencer for start"})]}),n.jsxs("label",{children:["Gemt job",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(sr,{size:16,strokeWidth:1.8}),n.jsx("select",{value:oe,onChange:_=>ge(_.target.value),children:ae.map(_=>n.jsx("option",{value:_.id,children:jy(_)},_.id))}),n.jsx(Hn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("label",{children:["Personlighed (AI)",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(Hl,{size:16,strokeWidth:1.8}),n.jsx("select",{value:K,onChange:_=>ne(_.target.value),children:(Q.length>0?Q:[{id:1,name:"Professionel & Grundig"}]).map(_=>n.jsx("option",{value:String(_.id),children:_.name},_.id))}),n.jsx(Hn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("div",{className:"sim-mini-grid",children:[n.jsxs("label",{children:["Sprog",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(gs,{size:16,strokeWidth:1.8}),n.jsxs("select",{value:se,onChange:_=>Z(_.target.value),children:[n.jsx("option",{children:"Dansk"}),n.jsx("option",{children:"Engelsk"})]}),n.jsx(Hn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]}),n.jsxs("label",{children:["Varighed",n.jsxs("div",{className:"sim-select-wrap",children:[n.jsx(Pu,{size:16,strokeWidth:1.8}),n.jsxs("select",{value:D,onChange:_=>fe(_.target.value),children:[n.jsx("option",{value:"5",children:"5 min"}),n.jsx("option",{value:"10",children:"10 min"}),n.jsx("option",{value:"15",children:"15 min"}),n.jsx("option",{value:"20",children:"20 min"})]}),n.jsx(Hn,{size:15,strokeWidth:1.8,className:"sim-caret"})]})]})]})]})]}),n.jsxs("div",{className:"sim-history-head",children:[n.jsx("h2",{children:"Tidligere simuleringer"}),n.jsxs("button",{type:"button",children:[n.jsx(Qh,{size:15,strokeWidth:1.8})," Filtrer"]})]}),B?n.jsx("p",{className:"dash-loading",children:"Indlaeser simuleringer..."}):null,n.jsx("section",{className:"sim-history-grid",children:H.map(_=>n.jsxs("article",{className:_.completed?"sim-card done":"sim-card draft",children:[n.jsxs("div",{className:"sim-card-head",children:[n.jsxs("div",{children:[n.jsx("h3",{children:_.title}),n.jsx("p",{children:_.companyName})]}),n.jsx("span",{className:_.completed?"sim-status done":"sim-status draft",children:_.completed?"Faerdig":"Ikke faerdig"})]}),n.jsxs("div",{className:"sim-tags",children:[n.jsxs("span",{children:[n.jsx(Pu,{size:13,strokeWidth:1.8})," ",_.durationMinutes," min"]}),n.jsxs("span",{children:[n.jsx(Hl,{size:13,strokeWidth:1.8})," ",_.personality]})]}),n.jsxs("div",{className:"sim-card-foot",children:[n.jsx("small",{children:_.dateLabel}),_.completed?n.jsxs("button",{type:"button",className:"sim-link-btn",children:["Se evaluering ",n.jsx($a,{size:14,strokeWidth:1.8})]}):n.jsxs("button",{type:"button",className:"sim-link-btn",children:["Fortsæt ",n.jsx(vv,{size:14,strokeWidth:1.8})]})]})]},_.id))})]})]})]})}class Sy{constructor(c=new Pa,u=new ys){this.candidateService=c,this.subscriptionService=u}async getCandidateProfile(){try{const c=await this.candidateService.getCandidate();return{name:c.firstName?.trim()||c.name?.trim()||"Lasse",imageUrl:c.imageUrl||c.image||void 0}}catch{return{name:"Lasse"}}}async getSnapshot(){const[c,u]=await Promise.allSettled([this.subscriptionService.getPaymentOverview(),this.subscriptionService.getSubscriptionProducts()]);return{paymentOverview:c.status==="fulfilled"?c.value:null,products:u.status==="fulfilled"?u.value:null}}async redeemCode(c){await this.subscriptionService.redeemCode(c)}}const Vh=["Download et professionelt CV - Klar til brug med et enkelt klik","Karriereagent med personlige anbefalinger","Øget synlighed – bliv fundet af virksomheder","Lad systemet lave din ansøgning for dig","Optimer dit CV med intelligente forslag","Job simulatoren – træn til din næste jobsamtale"];function cm(d){if(!d)return null;const c=d instanceof Date?d:new Date(d);return Number.isNaN(c.getTime())?null:c}function Ny(d){const c=cm(d);return c?new Intl.DateTimeFormat("da-DK",{day:"2-digit",month:"2-digit",year:"numeric"}).format(c):"Ukendt dato"}function ky(d){if(!d)return!1;const c=cm(d.activeToDate);return c?c.getTime()>Date.now():!1}function Ay(d){const c=d?.premium_30?.price??49,u=d?.premium_90?.price??99,r=d?.premium_365?.price??249;return{30:{title:"30 dage",priceText:`${c} kr.`,dailyText:"Svarer til 1.63 kr. pr. dag",description:"Månedlig adgang til alle premium-funktioner"},90:{title:"90 dage",priceText:`${u} kr.`,dailyText:"Svarer til 1.10 kr. pr. dag",savings:"Spar 33%",description:"Mest populære valg med ekstra besparelse"},365:{title:"365 dage",priceText:`${r} kr.`,dailyText:"Svarer til 0.68 kr. pr. dag",savings:"Spar 58%",description:"Inkluderer gavekode til 3 måneders premium"}}}function _y({onLogout:d,onNavigate:c,onToggleTheme:u,theme:r}){const m=C.useMemo(()=>new Sy,[]),[v,U]=C.useState("Lasse"),[Y,R]=C.useState(void 0),[b,V]=C.useState(null),[T,q]=C.useState(null),[Q,ee]=C.useState(!0),[B,re]=C.useState("90"),[oe,ge]=C.useState(!1),[K,ne]=C.useState(""),[se,Z]=C.useState(""),[D,fe]=C.useState(!1),[je,Se]=C.useState(null);C.useEffect(()=>{let W=!0;async function k(){ee(!0);const[_,O]=await Promise.all([m.getCandidateProfile(),m.getSnapshot()]);W&&(U(_.name),R(_.imageUrl),V(O.paymentOverview),q(O.products),ee(!1))}return k(),()=>{W=!1}},[m]);const H=C.useMemo(()=>Ay(T),[T]),J=ky(b),ae=je??J;async function P(){const W=K.trim();if(!(!W||D)){Z(""),fe(!0);try{await m.redeemCode(W),Z("Koden blev indløst. Opdaterer abonnement...");const k=await m.getSnapshot();V(k.paymentOverview),q(k.products),ne("")}catch{Z("Kunne ikke indløse kode. Prøv igen.")}finally{fe(!1)}}}return n.jsxs("section",{className:`dash-root ${r==="dark"?"theme-dark":""}`,children:[n.jsx("div",{className:"dash-orb dash-orb-1"}),n.jsx("div",{className:"dash-orb dash-orb-2"}),n.jsx("div",{className:"dash-orb dash-orb-3"}),n.jsx(ia,{active:"subscription",onNavigate:c}),n.jsxs("main",{className:"dash-main custom-scrollbar sub-main",children:[n.jsx(sa,{name:v,imageUrl:Y,onLogout:d,theme:r,onToggleTheme:u,actions:n.jsxs("div",{className:"sub-top-actions",children:[n.jsxs("div",{className:"sub-crumb-pill",children:[n.jsx(tr,{size:15,strokeWidth:1.8})," Abonnement"]}),n.jsx("button",{type:"button",className:"sub-toggle-btn",onClick:()=>Se(W=>W===null?!J:!W),children:ae?'Vis "Unsubscribed" state':'Vis "Subscribed" state'})]})}),n.jsxs("div",{className:"sub-head",children:[n.jsxs("div",{className:"sub-head-title-row",children:[n.jsx("div",{className:"sub-head-icon",children:n.jsx(tr,{size:18,strokeWidth:1.8})}),n.jsx("h1",{children:"Dit Abonnement"})]}),n.jsx("p",{children:"Administrer dit medlemskab og lås op for alle de intelligente værktøjer, der gør din jobsøgning nemmere."})]}),n.jsxs("div",{className:"sub-wrap",children:[n.jsxs("section",{className:"sub-redeem-card",children:[n.jsxs("div",{className:"sub-redeem-head",children:[n.jsx("span",{children:"🎟️"}),n.jsx("h2",{children:"Indløs kode"})]}),n.jsx("p",{children:"Har du en rabatkode eller gavekode? Indtast den her og få den aktiveret med det samme"}),n.jsxs("div",{className:"sub-redeem-row",children:[n.jsx("input",{type:"text",value:K,onChange:W=>ne(W.target.value),placeholder:"Indtast kode her..."}),n.jsx("button",{type:"button",onClick:()=>{P()},disabled:D,children:D?"Indløser...":"Indløs"})]}),se?n.jsx("small",{children:se}):null]}),Q?n.jsx("p",{className:"dash-loading",children:"Indlaeser abonnement..."}):null,!Q&&!ae?n.jsxs(n.Fragment,{children:[n.jsx("section",{className:"sub-plan-grid",children:["30","90","365"].map(W=>{const k=H[W],_=B===W,O=W==="90",I=W==="365";return n.jsxs("label",{className:["sub-plan-card",_?"selected":"",O?"popular":"",I?"yearly":""].join(" ").trim(),children:[O?n.jsx("div",{className:"sub-popular-badge",children:"Mest populær"}):null,n.jsx("input",{type:"radio",name:"pricing-plan",checked:_,onChange:()=>re(W)}),n.jsx("div",{className:"sub-radio-indicator",children:n.jsx("i",{})}),n.jsxs("div",{className:"sub-plan-content",children:[n.jsxs("div",{className:"sub-plan-title-row",children:[n.jsx("h3",{children:k.title}),k.savings?n.jsx("span",{children:k.savings}):null]}),n.jsx("div",{className:"sub-price",children:k.priceText}),n.jsx("p",{className:"sub-price-daily",children:k.dailyText}),I?n.jsxs("div",{className:"sub-gift-box",children:[n.jsx(Hp,{size:17,strokeWidth:1.8}),n.jsxs("div",{children:[n.jsx("strong",{children:"Giv en gave"}),n.jsx("small",{children:"Få en gratis 3-måneders Premium-kode med i købet til en ven."})]})]}):null,n.jsx("div",{className:"sub-divider"}),n.jsx("ul",{children:Vh.map(ue=>n.jsxs("li",{children:[n.jsx(tt,{size:15,strokeWidth:1.8}),n.jsx("span",{children:ue})]},`${W}-${ue}`))})]})]},W)})}),n.jsxs("section",{className:"sub-checkout-card",children:[n.jsxs("div",{children:[n.jsx("h3",{children:"Klar til at opgradere?"}),n.jsx("p",{children:"Vælg en plan ovenfor og få adgang til alle Premium-funktioner med det samme."})]}),n.jsxs("div",{className:"sub-checkout-actions",children:[n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:oe,onChange:W=>ge(W.target.checked)}),n.jsx("span",{className:"sub-checkbox",children:n.jsx(hp,{size:13,strokeWidth:2.2})}),n.jsx("span",{children:"Jeg accepterer handelsbetingelser"})]}),n.jsx("button",{type:"button",disabled:!oe,children:"Gå til betaling"})]})]})]}):null,!Q&&ae?n.jsxs("div",{className:"sub-active-wrap",children:[n.jsxs("section",{className:"sub-gift-alert",children:[n.jsx("div",{className:"sub-gift-glow"}),n.jsx("div",{className:"sub-gift-icon",children:"🎁"}),n.jsxs("div",{children:[n.jsx("h2",{children:"Din gave venter!"}),n.jsx("p",{children:"Klik på gaven nedenfor for at se indholdet"})]}),n.jsx("button",{type:"button",children:"Åbn gave"})]}),n.jsxs("section",{className:"sub-active-card",children:[n.jsxs("div",{className:"sub-active-head",children:[n.jsx("span",{children:"👑"}),n.jsx("h2",{children:"Premium abonnement"})]}),n.jsxs("div",{className:"sub-active-grid",children:[n.jsx("div",{className:"sub-active-features",children:n.jsx("ul",{children:Vh.map(W=>n.jsxs("li",{children:[n.jsx(tt,{size:16,strokeWidth:1.8}),n.jsx("span",{children:W})]},`active-${W}`))})}),n.jsxs("div",{className:"sub-active-status-col",children:[n.jsxs("div",{className:"sub-active-status-box",children:[n.jsx("div",{className:"sub-active-check",children:n.jsx(tt,{size:34,strokeWidth:1.8})}),n.jsx("h3",{children:"Dit abonnement er aktivt"}),n.jsxs("strong",{children:[H[B].priceText," for ",H[B].title]}),n.jsx("p",{children:H[B].dailyText}),n.jsxs("div",{className:"sub-renew-pill",children:[n.jsx(up,{size:16,strokeWidth:1.8}),"Fornyes d. ",Ny(b?.renewDate)]})]}),n.jsx("button",{type:"button",className:"sub-manage-link",children:"Administrer betalingsoplysninger"})]})]})]})]}):null]})]})]})}function Ty(){const d=C.useMemo(()=>!!window.localStorage.getItem("token"),[]),c=C.useMemo(()=>window.localStorage.getItem("theme")==="dark"?"dark":"light",[]),[u,r]=C.useState(d),[m,v]=C.useState(c),[U,Y]=C.useState("dashboard"),[R,b]=C.useState(null);function V(B){(B==="dashboard"||B==="jobs"||B==="cv"||B==="messages"||B==="agents"||B==="ai-agent"||B==="simulator"||B==="subscription")&&Y(B)}function T(B,re,oe="jobs"){b({id:B,fromJobnet:re,returnPage:oe}),Y("job-detail")}function q(){Y(R?.returnPage??"jobs")}async function Q(){await ql.clearCredentials(),Y("dashboard"),b(null),r(!1)}function ee(){v(B=>{const re=B==="light"?"dark":"light";return window.localStorage.setItem("theme",re),re})}return u?U==="jobs"?n.jsx(oy,{onLogout:Q,onNavigate:V,onOpenJobDetail:T,theme:m,onToggleTheme:ee}):U==="cv"?n.jsx(G0,{onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):U==="messages"?n.jsx(my,{onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):U==="agents"?n.jsx(b0,{onLogout:Q,onNavigate:V,onOpenJobDetail:T,theme:m,onToggleTheme:ee}):U==="ai-agent"?n.jsx(k0,{onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):U==="simulator"?n.jsx(xy,{onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):U==="subscription"?n.jsx(_y,{onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):U==="job-detail"&&R?n.jsx(iy,{jobId:R.id,fromJobnet:R.fromJobnet,onBack:q,onLogout:Q,onNavigate:V,theme:m,onToggleTheme:ee}):n.jsx(ey,{onLogout:Q,onNavigate:V,onOpenJobDetail:T,theme:m,onToggleTheme:ee}):n.jsx(c0,{onAuthenticated:()=>r(!0)})}qg.createRoot(document.getElementById("root")).render(n.jsx(C.StrictMode,{children:n.jsx(Ty,{})}));