@neuctra/authix 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neuctra-authix.es.js +466 -458
- package/dist/neuctra-authix.umd.js +50 -50
- package/dist/react/SignedIn.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
(function(ee,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],S):(ee=typeof globalThis<"u"?globalThis:ee||self,S(ee.NeuctraAuthix={},ee.React))})(this,(function(ee,S){"use strict";function lt(t,e){return function(){return t.apply(e,arguments)}}const{toString:sr}=Object.prototype,{getPrototypeOf:We}=Object,{iterator:_e,toStringTag:ct}=Symbol,Re=(t=>e=>{const n=sr.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),se=t=>(t=t.toLowerCase(),e=>Re(e)===t),ze=t=>e=>typeof e===t,{isArray:ge}=Array,ye=ze("undefined");function ve(t){return t!==null&&!ye(t)&&t.constructor!==null&&!ye(t.constructor)&&te(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const dt=se("ArrayBuffer");function ir(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&dt(t.buffer),e}const or=ze("string"),te=ze("function"),ut=ze("number"),Ee=t=>t!==null&&typeof t=="object",ar=t=>t===!0||t===!1,Ae=t=>{if(Re(t)!=="object")return!1;const e=We(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ct in t)&&!(_e in t)},lr=t=>{if(!Ee(t)||ve(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},cr=se("Date"),dr=se("File"),ur=se("Blob"),pr=se("FileList"),fr=t=>Ee(t)&&te(t.pipe),xr=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||te(t.append)&&((e=Re(t))==="formdata"||e==="object"&&te(t.toString)&&t.toString()==="[object FormData]"))},hr=se("URLSearchParams"),[mr,gr,yr,br]=["ReadableStream","Request","Response","Headers"].map(se),wr=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ke(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let s,i;if(typeof t!="object"&&(t=[t]),ge(t))for(s=0,i=t.length;s<i;s++)e.call(null,t[s],s,t);else{if(ve(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),a=o.length;let c;for(s=0;s<a;s++)c=o[s],e.call(null,t[c],c,t)}}function pt(t,e){if(ve(t))return null;e=e.toLowerCase();const n=Object.keys(t);let s=n.length,i;for(;s-- >0;)if(i=n[s],e===i.toLowerCase())return i;return null}const fe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ft=t=>!ye(t)&&t!==fe;function Be(){const{caseless:t,skipUndefined:e}=ft(this)&&this||{},n={},s=(i,o)=>{const a=t&&pt(n,o)||o;Ae(n[a])&&Ae(i)?n[a]=Be(n[a],i):Ae(i)?n[a]=Be({},i):ge(i)?n[a]=i.slice():(!e||!ye(i))&&(n[a]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&ke(arguments[i],s);return n}const Sr=(t,e,n,{allOwnKeys:s}={})=>(ke(e,(i,o)=>{n&&te(i)?t[o]=lt(i,n):t[o]=i},{allOwnKeys:s}),t),jr=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),vr=(t,e,n,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Er=(t,e,n,s)=>{let i,o,a;const c={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),o=i.length;o-- >0;)a=i[o],(!s||s(a,t,e))&&!c[a]&&(e[a]=t[a],c[a]=!0);t=n!==!1&&We(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kr=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const s=t.indexOf(e,n);return s!==-1&&s===n},Tr=t=>{if(!t)return null;if(ge(t))return t;let e=t.length;if(!ut(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},Cr=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&We(Uint8Array)),Pr=(t,e)=>{const s=(t&&t[_e]).call(t);let i;for(;(i=s.next())&&!i.done;){const o=i.value;e.call(t,o[0],o[1])}},Or=(t,e)=>{let n;const s=[];for(;(n=t.exec(e))!==null;)s.push(n);return s},Ir=se("HTMLFormElement"),_r=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,i){return s.toUpperCase()+i}),xt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Rr=se("RegExp"),ht=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),s={};ke(n,(i,o)=>{let a;(a=e(i,o,t))!==!1&&(s[o]=a||i)}),Object.defineProperties(t,s)},zr=t=>{ht(t,(e,n)=>{if(te(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=t[n];if(te(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ar=(t,e)=>{const n={},s=i=>{i.forEach(o=>{n[o]=!0})};return ge(t)?s(t):s(String(t).split(e)),n},$r=()=>{},Nr=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Ur(t){return!!(t&&te(t.append)&&t[ct]==="FormData"&&t[_e])}const Dr=t=>{const e=new Array(10),n=(s,i)=>{if(Ee(s)){if(e.indexOf(s)>=0)return;if(ve(s))return s;if(!("toJSON"in s)){e[i]=s;const o=ge(s)?[]:{};return ke(s,(a,c)=>{const d=n(a,i+1);!ye(d)&&(o[c]=d)}),e[i]=void 0,o}}return s};return n(t,0)},Fr=se("AsyncFunction"),Lr=t=>t&&(Ee(t)||te(t))&&te(t.then)&&te(t.catch),mt=((t,e)=>t?setImmediate:e?((n,s)=>(fe.addEventListener("message",({source:i,data:o})=>{i===fe&&o===n&&s.length&&s.shift()()},!1),i=>{s.push(i),fe.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",te(fe.postMessage)),qr=typeof queueMicrotask<"u"?queueMicrotask.bind(fe):typeof process<"u"&&process.nextTick||mt,f={isArray:ge,isArrayBuffer:dt,isBuffer:ve,isFormData:xr,isArrayBufferView:ir,isString:or,isNumber:ut,isBoolean:ar,isObject:Ee,isPlainObject:Ae,isEmptyObject:lr,isReadableStream:mr,isRequest:gr,isResponse:yr,isHeaders:br,isUndefined:ye,isDate:cr,isFile:dr,isBlob:ur,isRegExp:Rr,isFunction:te,isStream:fr,isURLSearchParams:hr,isTypedArray:Cr,isFileList:pr,forEach:ke,merge:Be,extend:Sr,trim:wr,stripBOM:jr,inherits:vr,toFlatObject:Er,kindOf:Re,kindOfTest:se,endsWith:kr,toArray:Tr,forEachEntry:Pr,matchAll:Or,isHTMLForm:Ir,hasOwnProperty:xt,hasOwnProp:xt,reduceDescriptors:ht,freezeMethods:zr,toObjectSet:Ar,toCamelCase:_r,noop:$r,toFiniteNumber:Nr,findKey:pt,global:fe,isContextDefined:ft,isSpecCompliantForm:Ur,toJSONObject:Dr,isAsyncFn:Fr,isThenable:Lr,setImmediate:mt,asap:qr,isIterable:t=>t!=null&&te(t[_e])};function N(t,e,n,s,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i,this.status=i.status?i.status:null)}f.inherits(N,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:f.toJSONObject(this.config),code:this.code,status:this.status}}});const gt=N.prototype,yt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{yt[t]={value:t}}),Object.defineProperties(N,yt),Object.defineProperty(gt,"isAxiosError",{value:!0}),N.from=(t,e,n,s,i,o)=>{const a=Object.create(gt);f.toFlatObject(t,a,function(x){return x!==Error.prototype},u=>u!=="isAxiosError");const c=t&&t.message?t.message:"Error",d=e==null&&t?t.code:e;return N.call(a,c,d,n,s,i),t&&a.cause==null&&Object.defineProperty(a,"cause",{value:t,configurable:!0}),a.name=t&&t.name||"Error",o&&Object.assign(a,o),a};const Mr=null;function He(t){return f.isPlainObject(t)||f.isArray(t)}function bt(t){return f.endsWith(t,"[]")?t.slice(0,-2):t}function wt(t,e,n){return t?t.concat(e).map(function(i,o){return i=bt(i),!n&&o?"["+i+"]":i}).join(n?".":""):e}function Wr(t){return f.isArray(t)&&!t.some(He)}const Br=f.toFlatObject(f,{},null,function(e){return/^is[A-Z]/.test(e)});function $e(t,e,n){if(!f.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=f.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,h){return!f.isUndefined(h[w])});const s=n.metaTokens,i=n.visitor||x,o=n.dots,a=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&f.isSpecCompliantForm(e);if(!f.isFunction(i))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(f.isDate(p))return p.toISOString();if(f.isBoolean(p))return p.toString();if(!d&&f.isBlob(p))throw new N("Blob is not supported. Use a Buffer instead.");return f.isArrayBuffer(p)||f.isTypedArray(p)?d&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function x(p,w,h){let I=p;if(p&&!h&&typeof p=="object"){if(f.endsWith(w,"{}"))w=s?w:w.slice(0,-2),p=JSON.stringify(p);else if(f.isArray(p)&&Wr(p)||(f.isFileList(p)||f.endsWith(w,"[]"))&&(I=f.toArray(p)))return w=bt(w),I.forEach(function(g,z){!(f.isUndefined(g)||g===null)&&e.append(a===!0?wt([w],z,o):a===null?w:w+"[]",u(g))}),!1}return He(p)?!0:(e.append(wt(h,w,o),u(p)),!1)}const y=[],k=Object.assign(Br,{defaultVisitor:x,convertValue:u,isVisitable:He});function T(p,w){if(!f.isUndefined(p)){if(y.indexOf(p)!==-1)throw Error("Circular reference detected in "+w.join("."));y.push(p),f.forEach(p,function(I,C){(!(f.isUndefined(I)||I===null)&&i.call(e,I,f.isString(C)?C.trim():C,w,k))===!0&&T(I,w?w.concat(C):[C])}),y.pop()}}if(!f.isObject(t))throw new TypeError("data must be an object");return T(t),e}function St(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function Ve(t,e){this._pairs=[],t&&$e(t,this,e)}const jt=Ve.prototype;jt.append=function(e,n){this._pairs.push([e,n])},jt.toString=function(e){const n=e?function(s){return e.call(this,s,St)}:St;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Hr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function vt(t,e,n){if(!e)return t;const s=n&&n.encode||Hr;f.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let o;if(i?o=i(e,n):o=f.isURLSearchParams(e)?e.toString():new Ve(e,n).toString(s),o){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Et{constructor(){this.handlers=[]}use(e,n,s){return this.handlers.push({fulfilled:e,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){f.forEach(this.handlers,function(s){s!==null&&e(s)})}}const kt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Vr={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Ve,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Ye=typeof window<"u"&&typeof document<"u",Je=typeof navigator=="object"&&navigator||void 0,Yr=Ye&&(!Je||["ReactNative","NativeScript","NS"].indexOf(Je.product)<0),Jr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Kr=Ye&&window.location.href||"http://localhost",Z={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ye,hasStandardBrowserEnv:Yr,hasStandardBrowserWebWorkerEnv:Jr,navigator:Je,origin:Kr},Symbol.toStringTag,{value:"Module"})),...Vr};function Gr(t,e){return $e(t,new Z.classes.URLSearchParams,{visitor:function(n,s,i,o){return Z.isNode&&f.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function Xr(t){return f.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Zr(t){const e={},n=Object.keys(t);let s;const i=n.length;let o;for(s=0;s<i;s++)o=n[s],e[o]=t[o];return e}function Tt(t){function e(n,s,i,o){let a=n[o++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),d=o>=n.length;return a=!a&&f.isArray(i)?i.length:a,d?(f.hasOwnProp(i,a)?i[a]=[i[a],s]:i[a]=s,!c):((!i[a]||!f.isObject(i[a]))&&(i[a]=[]),e(n,s,i[a],o)&&f.isArray(i[a])&&(i[a]=Zr(i[a])),!c)}if(f.isFormData(t)&&f.isFunction(t.entries)){const n={};return f.forEachEntry(t,(s,i)=>{e(Xr(s),i,n,0)}),n}return null}function Qr(t,e,n){if(f.isString(t))try{return(e||JSON.parse)(t),f.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(t)}const Te={transitional:kt,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const s=n.getContentType()||"",i=s.indexOf("application/json")>-1,o=f.isObject(e);if(o&&f.isHTMLForm(e)&&(e=new FormData(e)),f.isFormData(e))return i?JSON.stringify(Tt(e)):e;if(f.isArrayBuffer(e)||f.isBuffer(e)||f.isStream(e)||f.isFile(e)||f.isBlob(e)||f.isReadableStream(e))return e;if(f.isArrayBufferView(e))return e.buffer;if(f.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Gr(e,this.formSerializer).toString();if((c=f.isFileList(e))||s.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return $e(c?{"files[]":e}:e,d&&new d,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),Qr(e)):e}],transformResponse:[function(e){const n=this.transitional||Te.transitional,s=n&&n.forcedJSONParsing,i=this.responseType==="json";if(f.isResponse(e)||f.isReadableStream(e))return e;if(e&&f.isString(e)&&(s&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?N.from(c,N.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Z.classes.FormData,Blob:Z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};f.forEach(["delete","get","head","post","put","patch"],t=>{Te.headers[t]={}});const en=f.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),tn=t=>{const e={};let n,s,i;return t&&t.split(`
|
|
2
|
-
`).forEach(function(a){i=a.indexOf(":"),n=a.substring(0,i).trim().toLowerCase(),s=a.substring(i+1).trim(),!(!n||e[n]&&en[n])&&(n==="set-cookie"?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)}),e},Ct=Symbol("internals");function Ce(t){return t&&String(t).trim().toLowerCase()}function Ne(t){return t===!1||t==null?t:
|
|
3
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const s=new this(e);return n.forEach(i=>s.set(i)),s}static accessor(e){const s=(this[Ct]=this[Ct]={accessors:{}}).accessors,i=this.prototype;function o(a){const c=Ce(a);s[c]||(on(i,a),s[c]=!0)}return f.isArray(e)?e.forEach(o):o(e),this}};re.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),f.reduceDescriptors(re.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[n]=s}}}),f.freezeMethods(re);function Ge(t,e){const n=this||Te,s=e||n,i=re.from(s.headers);let o=s.data;return f.forEach(t,function(c){o=c.call(n,o,i.normalize(),e?e.status:void 0)}),i.normalize(),o}function Pt(t){return!!(t&&t.__CANCEL__)}function be(t,e,n){N.call(this,t??"canceled",N.ERR_CANCELED,e,n),this.name="CanceledError"}f.inherits(be,N,{__CANCEL__:!0});function Ot(t,e,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?t(n):e(new N("Request failed with status code "+n.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function an(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function ln(t,e){t=t||10;const n=new Array(t),s=new Array(t);let i=0,o=0,a;return e=e!==void 0?e:1e3,function(d){const u=Date.now(),x=s[o];a||(a=u),n[i]=d,s[i]=u;let y=o,k=0;for(;y!==i;)k+=n[y++],y=y%t;if(i=(i+1)%t,i===o&&(o=(o+1)%t),u-a<e)return;const T=x&&u-x;return T?Math.round(k*1e3/T):void 0}}function cn(t,e){let n=0,s=1e3/e,i,o;const a=(u,x=Date.now())=>{n=x,i=null,o&&(clearTimeout(o),o=null),t(...u)};return[(...u)=>{const x=Date.now(),y=x-n;y>=s?a(u,x):(i=u,o||(o=setTimeout(()=>{o=null,a(i)},s-y)))},()=>i&&a(i)]}const Ue=(t,e,n=3)=>{let s=0;const i=ln(50,250);return cn(o=>{const a=o.loaded,c=o.lengthComputable?o.total:void 0,d=a-s,u=i(d),x=a<=c;s=a;const y={loaded:a,total:c,progress:c?a/c:void 0,bytes:d,rate:u||void 0,estimated:u&&c&&x?(c-a)/u:void 0,event:o,lengthComputable:c!=null,[e?"download":"upload"]:!0};t(y)},n)},It=(t,e)=>{const n=t!=null;return[s=>e[0]({lengthComputable:n,total:t,loaded:s}),e[1]]},_t=t=>(...e)=>f.asap(()=>t(...e)),dn=Z.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Z.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Z.origin),Z.navigator&&/(msie|trident)/i.test(Z.navigator.userAgent)):()=>!0,un=Z.hasStandardBrowserEnv?{write(t,e,n,s,i,o){const a=[t+"="+encodeURIComponent(e)];f.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),f.isString(s)&&a.push("path="+s),f.isString(i)&&a.push("domain="+i),o===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function pn(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function fn(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Rt(t,e,n){let s=!pn(e);return t&&(s||n==!1)?fn(t,e):e}const zt=t=>t instanceof re?{...t}:t;function xe(t,e){e=e||{};const n={};function s(u,x,y,k){return f.isPlainObject(u)&&f.isPlainObject(x)?f.merge.call({caseless:k},u,x):f.isPlainObject(x)?f.merge({},x):f.isArray(x)?x.slice():x}function i(u,x,y,k){if(f.isUndefined(x)){if(!f.isUndefined(u))return s(void 0,u,y,k)}else return s(u,x,y,k)}function o(u,x){if(!f.isUndefined(x))return s(void 0,x)}function a(u,x){if(f.isUndefined(x)){if(!f.isUndefined(u))return s(void 0,u)}else return s(void 0,x)}function c(u,x,y){if(y in e)return s(u,x);if(y in t)return s(void 0,u)}const d={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(u,x,y)=>i(zt(u),zt(x),y,!0)};return f.forEach(Object.keys({...t,...e}),function(x){const y=d[x]||i,k=y(t[x],e[x],x);f.isUndefined(k)&&y!==c||(n[x]=k)}),n}const At=t=>{const e=xe({},t);let{data:n,withXSRFToken:s,xsrfHeaderName:i,xsrfCookieName:o,headers:a,auth:c}=e;if(e.headers=a=re.from(a),e.url=vt(Rt(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),f.isFormData(n)){if(Z.hasStandardBrowserEnv||Z.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(f.isFunction(n.getHeaders)){const d=n.getHeaders(),u=["content-type","content-length"];Object.entries(d).forEach(([x,y])=>{u.includes(x.toLowerCase())&&a.set(x,y)})}}if(Z.hasStandardBrowserEnv&&(s&&f.isFunction(s)&&(s=s(e)),s||s!==!1&&dn(e.url))){const d=i&&o&&un.read(o);d&&a.set(i,d)}return e},xn=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,s){const i=At(t);let o=i.data;const a=re.from(i.headers).normalize();let{responseType:c,onUploadProgress:d,onDownloadProgress:u}=i,x,y,k,T,p;function w(){T&&T(),p&&p(),i.cancelToken&&i.cancelToken.unsubscribe(x),i.signal&&i.signal.removeEventListener("abort",x)}let h=new XMLHttpRequest;h.open(i.method.toUpperCase(),i.url,!0),h.timeout=i.timeout;function I(){if(!h)return;const g=re.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:g,config:t,request:h};Ot(function(j){n(j),w()},function(j){s(j),w()},D),h=null}"onloadend"in h?h.onloadend=I:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(I)},h.onabort=function(){h&&(s(new N("Request aborted",N.ECONNABORTED,t,h)),h=null)},h.onerror=function(z){const D=z&&z.message?z.message:"Network Error",b=new N(D,N.ERR_NETWORK,t,h);b.event=z||null,s(b),h=null},h.ontimeout=function(){let z=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const D=i.transitional||kt;i.timeoutErrorMessage&&(z=i.timeoutErrorMessage),s(new N(z,D.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,t,h)),h=null},o===void 0&&a.setContentType(null),"setRequestHeader"in h&&f.forEach(a.toJSON(),function(z,D){h.setRequestHeader(D,z)}),f.isUndefined(i.withCredentials)||(h.withCredentials=!!i.withCredentials),c&&c!=="json"&&(h.responseType=i.responseType),u&&([k,p]=Ue(u,!0),h.addEventListener("progress",k)),d&&h.upload&&([y,T]=Ue(d),h.upload.addEventListener("progress",y),h.upload.addEventListener("loadend",T)),(i.cancelToken||i.signal)&&(x=g=>{h&&(s(!g||g.type?new be(null,t,h):g),h.abort(),h=null)},i.cancelToken&&i.cancelToken.subscribe(x),i.signal&&(i.signal.aborted?x():i.signal.addEventListener("abort",x)));const C=an(i.url);if(C&&Z.protocols.indexOf(C)===-1){s(new N("Unsupported protocol "+C+":",N.ERR_BAD_REQUEST,t));return}h.send(o||null)})},hn=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let s=new AbortController,i;const o=function(u){if(!i){i=!0,c();const x=u instanceof Error?u:this.reason;s.abort(x instanceof N?x:new be(x instanceof Error?x.message:x))}};let a=e&&setTimeout(()=>{a=null,o(new N(`timeout ${e} of ms exceeded`,N.ETIMEDOUT))},e);const c=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),t=null)};t.forEach(u=>u.addEventListener("abort",o));const{signal:d}=s;return d.unsubscribe=()=>f.asap(c),d}},mn=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let s=0,i;for(;s<n;)i=s+e,yield t.slice(s,i),s=i},gn=async function*(t,e){for await(const n of yn(t))yield*mn(n,e)},yn=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:s}=await e.read();if(n)break;yield s}}finally{await e.cancel()}},$t=(t,e,n,s)=>{const i=gn(t,e);let o=0,a,c=d=>{a||(a=!0,s&&s(d))};return new ReadableStream({async pull(d){try{const{done:u,value:x}=await i.next();if(u){c(),d.close();return}let y=x.byteLength;if(n){let k=o+=y;n(k)}d.enqueue(new Uint8Array(x))}catch(u){throw c(u),u}},cancel(d){return c(d),i.return()}},{highWaterMark:2})},Nt=64*1024,{isFunction:De}=f,bn=(({Request:t,Response:e})=>({Request:t,Response:e}))(f.global),{ReadableStream:Ut,TextEncoder:Dt}=f.global,Ft=(t,...e)=>{try{return!!t(...e)}catch{return!1}},wn=t=>{t=f.merge.call({skipUndefined:!0},bn,t);const{fetch:e,Request:n,Response:s}=t,i=e?De(e):typeof fetch=="function",o=De(n),a=De(s);if(!i)return!1;const c=i&&De(Ut),d=i&&(typeof Dt=="function"?(p=>w=>p.encode(w))(new Dt):async p=>new Uint8Array(await new n(p).arrayBuffer())),u=o&&c&&Ft(()=>{let p=!1;const w=new n(Z.origin,{body:new Ut,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!w}),x=a&&c&&Ft(()=>f.isReadableStream(new s("").body)),y={stream:x&&(p=>p.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!y[p]&&(y[p]=(w,h)=>{let I=w&&w[p];if(I)return I.call(w);throw new N(`Response type '${p}' is not supported`,N.ERR_NOT_SUPPORT,h)})});const k=async p=>{if(p==null)return 0;if(f.isBlob(p))return p.size;if(f.isSpecCompliantForm(p))return(await new n(Z.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(f.isArrayBufferView(p)||f.isArrayBuffer(p))return p.byteLength;if(f.isURLSearchParams(p)&&(p=p+""),f.isString(p))return(await d(p)).byteLength},T=async(p,w)=>{const h=f.toFiniteNumber(p.getContentLength());return h??k(w)};return async p=>{let{url:w,method:h,data:I,signal:C,cancelToken:g,timeout:z,onDownloadProgress:D,onUploadProgress:b,responseType:j,headers:q,withCredentials:_="same-origin",fetchOptions:X}=At(p),W=e||fetch;j=j?(j+"").toLowerCase():"text";let P=hn([C,g&&g.toAbortSignal()],z),G=null;const O=P&&P.unsubscribe&&(()=>{P.unsubscribe()});let R;try{if(b&&u&&h!=="get"&&h!=="head"&&(R=await T(q,I))!==0){let l=new n(w,{method:"POST",body:I,duplex:"half"}),m;if(f.isFormData(I)&&(m=l.headers.get("content-type"))&&q.setContentType(m),l.body){const[E,U]=It(R,Ue(_t(b)));I=$t(l.body,Nt,E,U)}}f.isString(_)||(_=_?"include":"omit");const M=o&&"credentials"in n.prototype,K={...X,signal:P,method:h.toUpperCase(),headers:q.normalize().toJSON(),body:I,duplex:"half",credentials:M?_:void 0};G=o&&new n(w,K);let H=await(o?W(G,X):W(w,K));const F=x&&(j==="stream"||j==="response");if(x&&(D||F&&O)){const l={};["status","statusText","headers"].forEach(ne=>{l[ne]=H[ne]});const m=f.toFiniteNumber(H.headers.get("content-length")),[E,U]=D&&It(m,Ue(_t(D),!0))||[];H=new s($t(H.body,Nt,E,()=>{U&&U(),O&&O()}),l)}j=j||"text";let J=await y[f.findKey(y,j)||"text"](H,p);return!F&&O&&O(),await new Promise((l,m)=>{Ot(l,m,{data:J,headers:re.from(H.headers),status:H.status,statusText:H.statusText,config:p,request:G})})}catch(M){throw O&&O(),M&&M.name==="TypeError"&&/Load failed|fetch/i.test(M.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,p,G),{cause:M.cause||M}):N.from(M,M&&M.code,p,G)}}},Sn=new Map,Lt=t=>{let e=t?t.env:{};const{fetch:n,Request:s,Response:i}=e,o=[s,i,n];let a=o.length,c=a,d,u,x=Sn;for(;c--;)d=o[c],u=x.get(d),u===void 0&&x.set(d,u=c?new Map:wn(e)),x=u;return u};Lt();const Xe={http:Mr,xhr:xn,fetch:{get:Lt}};f.forEach(Xe,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const qt=t=>`- ${t}`,jn=t=>f.isFunction(t)||t===null||t===!1,Mt={getAdapter:(t,e)=>{t=f.isArray(t)?t:[t];const{length:n}=t;let s,i;const o={};for(let a=0;a<n;a++){s=t[a];let c;if(i=s,!jn(s)&&(i=Xe[(c=String(s)).toLowerCase()],i===void 0))throw new N(`Unknown adapter '${c}'`);if(i&&(f.isFunction(i)||(i=i.get(e))))break;o[c||"#"+a]=i}if(!i){const a=Object.entries(o).map(([d,u])=>`adapter ${d} `+(u===!1?"is not supported by the environment":"is not available in the build"));let c=n?a.length>1?`since :
|
|
1
|
+
(function(ee,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],S):(ee=typeof globalThis<"u"?globalThis:ee||self,S(ee.NeuctraAuthix={},ee.React))})(this,(function(ee,S){"use strict";function lt(t,e){return function(){return t.apply(e,arguments)}}const{toString:sr}=Object.prototype,{getPrototypeOf:We}=Object,{iterator:Ie,toStringTag:ct}=Symbol,Re=(t=>e=>{const n=sr.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),se=t=>(t=t.toLowerCase(),e=>Re(e)===t),ze=t=>e=>typeof e===t,{isArray:ge}=Array,ye=ze("undefined");function ve(t){return t!==null&&!ye(t)&&t.constructor!==null&&!ye(t.constructor)&&te(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const dt=se("ArrayBuffer");function ir(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&dt(t.buffer),e}const or=ze("string"),te=ze("function"),ut=ze("number"),Ee=t=>t!==null&&typeof t=="object",ar=t=>t===!0||t===!1,Ae=t=>{if(Re(t)!=="object")return!1;const e=We(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ct in t)&&!(Ie in t)},lr=t=>{if(!Ee(t)||ve(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},cr=se("Date"),dr=se("File"),ur=se("Blob"),pr=se("FileList"),fr=t=>Ee(t)&&te(t.pipe),xr=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||te(t.append)&&((e=Re(t))==="formdata"||e==="object"&&te(t.toString)&&t.toString()==="[object FormData]"))},hr=se("URLSearchParams"),[mr,gr,yr,br]=["ReadableStream","Request","Response","Headers"].map(se),wr=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ke(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let s,i;if(typeof t!="object"&&(t=[t]),ge(t))for(s=0,i=t.length;s<i;s++)e.call(null,t[s],s,t);else{if(ve(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),a=o.length;let c;for(s=0;s<a;s++)c=o[s],e.call(null,t[c],c,t)}}function pt(t,e){if(ve(t))return null;e=e.toLowerCase();const n=Object.keys(t);let s=n.length,i;for(;s-- >0;)if(i=n[s],e===i.toLowerCase())return i;return null}const xe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ft=t=>!ye(t)&&t!==xe;function Be(){const{caseless:t,skipUndefined:e}=ft(this)&&this||{},n={},s=(i,o)=>{const a=t&&pt(n,o)||o;Ae(n[a])&&Ae(i)?n[a]=Be(n[a],i):Ae(i)?n[a]=Be({},i):ge(i)?n[a]=i.slice():(!e||!ye(i))&&(n[a]=i)};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&ke(arguments[i],s);return n}const Sr=(t,e,n,{allOwnKeys:s}={})=>(ke(e,(i,o)=>{n&&te(i)?t[o]=lt(i,n):t[o]=i},{allOwnKeys:s}),t),jr=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),vr=(t,e,n,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Er=(t,e,n,s)=>{let i,o,a;const c={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),o=i.length;o-- >0;)a=i[o],(!s||s(a,t,e))&&!c[a]&&(e[a]=t[a],c[a]=!0);t=n!==!1&&We(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kr=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const s=t.indexOf(e,n);return s!==-1&&s===n},Tr=t=>{if(!t)return null;if(ge(t))return t;let e=t.length;if(!ut(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},Cr=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&We(Uint8Array)),Pr=(t,e)=>{const s=(t&&t[Ie]).call(t);let i;for(;(i=s.next())&&!i.done;){const o=i.value;e.call(t,o[0],o[1])}},Or=(t,e)=>{let n;const s=[];for(;(n=t.exec(e))!==null;)s.push(n);return s},_r=se("HTMLFormElement"),Ir=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,i){return s.toUpperCase()+i}),xt=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Rr=se("RegExp"),ht=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),s={};ke(n,(i,o)=>{let a;(a=e(i,o,t))!==!1&&(s[o]=a||i)}),Object.defineProperties(t,s)},zr=t=>{ht(t,(e,n)=>{if(te(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=t[n];if(te(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ar=(t,e)=>{const n={},s=i=>{i.forEach(o=>{n[o]=!0})};return ge(t)?s(t):s(String(t).split(e)),n},$r=()=>{},Nr=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Ur(t){return!!(t&&te(t.append)&&t[ct]==="FormData"&&t[Ie])}const Dr=t=>{const e=new Array(10),n=(s,i)=>{if(Ee(s)){if(e.indexOf(s)>=0)return;if(ve(s))return s;if(!("toJSON"in s)){e[i]=s;const o=ge(s)?[]:{};return ke(s,(a,c)=>{const d=n(a,i+1);!ye(d)&&(o[c]=d)}),e[i]=void 0,o}}return s};return n(t,0)},Lr=se("AsyncFunction"),Fr=t=>t&&(Ee(t)||te(t))&&te(t.then)&&te(t.catch),mt=((t,e)=>t?setImmediate:e?((n,s)=>(xe.addEventListener("message",({source:i,data:o})=>{i===xe&&o===n&&s.length&&s.shift()()},!1),i=>{s.push(i),xe.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",te(xe.postMessage)),qr=typeof queueMicrotask<"u"?queueMicrotask.bind(xe):typeof process<"u"&&process.nextTick||mt,p={isArray:ge,isArrayBuffer:dt,isBuffer:ve,isFormData:xr,isArrayBufferView:ir,isString:or,isNumber:ut,isBoolean:ar,isObject:Ee,isPlainObject:Ae,isEmptyObject:lr,isReadableStream:mr,isRequest:gr,isResponse:yr,isHeaders:br,isUndefined:ye,isDate:cr,isFile:dr,isBlob:ur,isRegExp:Rr,isFunction:te,isStream:fr,isURLSearchParams:hr,isTypedArray:Cr,isFileList:pr,forEach:ke,merge:Be,extend:Sr,trim:wr,stripBOM:jr,inherits:vr,toFlatObject:Er,kindOf:Re,kindOfTest:se,endsWith:kr,toArray:Tr,forEachEntry:Pr,matchAll:Or,isHTMLForm:_r,hasOwnProperty:xt,hasOwnProp:xt,reduceDescriptors:ht,freezeMethods:zr,toObjectSet:Ar,toCamelCase:Ir,noop:$r,toFiniteNumber:Nr,findKey:pt,global:xe,isContextDefined:ft,isSpecCompliantForm:Ur,toJSONObject:Dr,isAsyncFn:Lr,isThenable:Fr,setImmediate:mt,asap:qr,isIterable:t=>t!=null&&te(t[Ie])};function N(t,e,n,s,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),s&&(this.request=s),i&&(this.response=i,this.status=i.status?i.status:null)}p.inherits(N,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:p.toJSONObject(this.config),code:this.code,status:this.status}}});const gt=N.prototype,yt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{yt[t]={value:t}}),Object.defineProperties(N,yt),Object.defineProperty(gt,"isAxiosError",{value:!0}),N.from=(t,e,n,s,i,o)=>{const a=Object.create(gt);p.toFlatObject(t,a,function(x){return x!==Error.prototype},f=>f!=="isAxiosError");const c=t&&t.message?t.message:"Error",d=e==null&&t?t.code:e;return N.call(a,c,d,n,s,i),t&&a.cause==null&&Object.defineProperty(a,"cause",{value:t,configurable:!0}),a.name=t&&t.name||"Error",o&&Object.assign(a,o),a};const Mr=null;function He(t){return p.isPlainObject(t)||p.isArray(t)}function bt(t){return p.endsWith(t,"[]")?t.slice(0,-2):t}function wt(t,e,n){return t?t.concat(e).map(function(i,o){return i=bt(i),!n&&o?"["+i+"]":i}).join(n?".":""):e}function Wr(t){return p.isArray(t)&&!t.some(He)}const Br=p.toFlatObject(p,{},null,function(e){return/^is[A-Z]/.test(e)});function $e(t,e,n){if(!p.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=p.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,h){return!p.isUndefined(h[w])});const s=n.metaTokens,i=n.visitor||x,o=n.dots,a=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&p.isSpecCompliantForm(e);if(!p.isFunction(i))throw new TypeError("visitor must be a function");function f(u){if(u===null)return"";if(p.isDate(u))return u.toISOString();if(p.isBoolean(u))return u.toString();if(!d&&p.isBlob(u))throw new N("Blob is not supported. Use a Buffer instead.");return p.isArrayBuffer(u)||p.isTypedArray(u)?d&&typeof Blob=="function"?new Blob([u]):Buffer.from(u):u}function x(u,w,h){let _=u;if(u&&!h&&typeof u=="object"){if(p.endsWith(w,"{}"))w=s?w:w.slice(0,-2),u=JSON.stringify(u);else if(p.isArray(u)&&Wr(u)||(p.isFileList(u)||p.endsWith(w,"[]"))&&(_=p.toArray(u)))return w=bt(w),_.forEach(function(g,z){!(p.isUndefined(g)||g===null)&&e.append(a===!0?wt([w],z,o):a===null?w:w+"[]",f(g))}),!1}return He(u)?!0:(e.append(wt(h,w,o),f(u)),!1)}const y=[],k=Object.assign(Br,{defaultVisitor:x,convertValue:f,isVisitable:He});function T(u,w){if(!p.isUndefined(u)){if(y.indexOf(u)!==-1)throw Error("Circular reference detected in "+w.join("."));y.push(u),p.forEach(u,function(_,C){(!(p.isUndefined(_)||_===null)&&i.call(e,_,p.isString(C)?C.trim():C,w,k))===!0&&T(_,w?w.concat(C):[C])}),y.pop()}}if(!p.isObject(t))throw new TypeError("data must be an object");return T(t),e}function St(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function Ve(t,e){this._pairs=[],t&&$e(t,this,e)}const jt=Ve.prototype;jt.append=function(e,n){this._pairs.push([e,n])},jt.toString=function(e){const n=e?function(s){return e.call(this,s,St)}:St;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Hr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function vt(t,e,n){if(!e)return t;const s=n&&n.encode||Hr;p.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let o;if(i?o=i(e,n):o=p.isURLSearchParams(e)?e.toString():new Ve(e,n).toString(s),o){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Et{constructor(){this.handlers=[]}use(e,n,s){return this.handlers.push({fulfilled:e,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){p.forEach(this.handlers,function(s){s!==null&&e(s)})}}const kt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Vr={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Ve,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Ye=typeof window<"u"&&typeof document<"u",Je=typeof navigator=="object"&&navigator||void 0,Yr=Ye&&(!Je||["ReactNative","NativeScript","NS"].indexOf(Je.product)<0),Jr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Kr=Ye&&window.location.href||"http://localhost",Z={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ye,hasStandardBrowserEnv:Yr,hasStandardBrowserWebWorkerEnv:Jr,navigator:Je,origin:Kr},Symbol.toStringTag,{value:"Module"})),...Vr};function Gr(t,e){return $e(t,new Z.classes.URLSearchParams,{visitor:function(n,s,i,o){return Z.isNode&&p.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}function Xr(t){return p.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Zr(t){const e={},n=Object.keys(t);let s;const i=n.length;let o;for(s=0;s<i;s++)o=n[s],e[o]=t[o];return e}function Tt(t){function e(n,s,i,o){let a=n[o++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),d=o>=n.length;return a=!a&&p.isArray(i)?i.length:a,d?(p.hasOwnProp(i,a)?i[a]=[i[a],s]:i[a]=s,!c):((!i[a]||!p.isObject(i[a]))&&(i[a]=[]),e(n,s,i[a],o)&&p.isArray(i[a])&&(i[a]=Zr(i[a])),!c)}if(p.isFormData(t)&&p.isFunction(t.entries)){const n={};return p.forEachEntry(t,(s,i)=>{e(Xr(s),i,n,0)}),n}return null}function Qr(t,e,n){if(p.isString(t))try{return(e||JSON.parse)(t),p.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(t)}const Te={transitional:kt,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const s=n.getContentType()||"",i=s.indexOf("application/json")>-1,o=p.isObject(e);if(o&&p.isHTMLForm(e)&&(e=new FormData(e)),p.isFormData(e))return i?JSON.stringify(Tt(e)):e;if(p.isArrayBuffer(e)||p.isBuffer(e)||p.isStream(e)||p.isFile(e)||p.isBlob(e)||p.isReadableStream(e))return e;if(p.isArrayBufferView(e))return e.buffer;if(p.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return Gr(e,this.formSerializer).toString();if((c=p.isFileList(e))||s.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return $e(c?{"files[]":e}:e,d&&new d,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),Qr(e)):e}],transformResponse:[function(e){const n=this.transitional||Te.transitional,s=n&&n.forcedJSONParsing,i=this.responseType==="json";if(p.isResponse(e)||p.isReadableStream(e))return e;if(e&&p.isString(e)&&(s&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?N.from(c,N.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Z.classes.FormData,Blob:Z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};p.forEach(["delete","get","head","post","put","patch"],t=>{Te.headers[t]={}});const en=p.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),tn=t=>{const e={};let n,s,i;return t&&t.split(`
|
|
2
|
+
`).forEach(function(a){i=a.indexOf(":"),n=a.substring(0,i).trim().toLowerCase(),s=a.substring(i+1).trim(),!(!n||e[n]&&en[n])&&(n==="set-cookie"?e[n]?e[n].push(s):e[n]=[s]:e[n]=e[n]?e[n]+", "+s:s)}),e},Ct=Symbol("internals");function Ce(t){return t&&String(t).trim().toLowerCase()}function Ne(t){return t===!1||t==null?t:p.isArray(t)?t.map(Ne):String(t)}function rn(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(t);)e[s[1]]=s[2];return e}const nn=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Ke(t,e,n,s,i){if(p.isFunction(s))return s.call(this,e,n);if(i&&(e=n),!!p.isString(e)){if(p.isString(s))return e.indexOf(s)!==-1;if(p.isRegExp(s))return s.test(e)}}function sn(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,s)=>n.toUpperCase()+s)}function on(t,e){const n=p.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(t,s+n,{value:function(i,o,a){return this[s].call(this,e,i,o,a)},configurable:!0})})}let re=class{constructor(e){e&&this.set(e)}set(e,n,s){const i=this;function o(c,d,f){const x=Ce(d);if(!x)throw new Error("header name must be a non-empty string");const y=p.findKey(i,x);(!y||i[y]===void 0||f===!0||f===void 0&&i[y]!==!1)&&(i[y||d]=Ne(c))}const a=(c,d)=>p.forEach(c,(f,x)=>o(f,x,d));if(p.isPlainObject(e)||e instanceof this.constructor)a(e,n);else if(p.isString(e)&&(e=e.trim())&&!nn(e))a(tn(e),n);else if(p.isObject(e)&&p.isIterable(e)){let c={},d,f;for(const x of e){if(!p.isArray(x))throw TypeError("Object iterator must return a key-value pair");c[f=x[0]]=(d=c[f])?p.isArray(d)?[...d,x[1]]:[d,x[1]]:x[1]}a(c,n)}else e!=null&&o(n,e,s);return this}get(e,n){if(e=Ce(e),e){const s=p.findKey(this,e);if(s){const i=this[s];if(!n)return i;if(n===!0)return rn(i);if(p.isFunction(n))return n.call(this,i,s);if(p.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ce(e),e){const s=p.findKey(this,e);return!!(s&&this[s]!==void 0&&(!n||Ke(this,this[s],s,n)))}return!1}delete(e,n){const s=this;let i=!1;function o(a){if(a=Ce(a),a){const c=p.findKey(s,a);c&&(!n||Ke(s,s[c],c,n))&&(delete s[c],i=!0)}}return p.isArray(e)?e.forEach(o):o(e),i}clear(e){const n=Object.keys(this);let s=n.length,i=!1;for(;s--;){const o=n[s];(!e||Ke(this,this[o],o,e,!0))&&(delete this[o],i=!0)}return i}normalize(e){const n=this,s={};return p.forEach(this,(i,o)=>{const a=p.findKey(s,o);if(a){n[a]=Ne(i),delete n[o];return}const c=e?sn(o):String(o).trim();c!==o&&delete n[o],n[c]=Ne(i),s[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return p.forEach(this,(s,i)=>{s!=null&&s!==!1&&(n[i]=e&&p.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const s=new this(e);return n.forEach(i=>s.set(i)),s}static accessor(e){const s=(this[Ct]=this[Ct]={accessors:{}}).accessors,i=this.prototype;function o(a){const c=Ce(a);s[c]||(on(i,a),s[c]=!0)}return p.isArray(e)?e.forEach(o):o(e),this}};re.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),p.reduceDescriptors(re.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[n]=s}}}),p.freezeMethods(re);function Ge(t,e){const n=this||Te,s=e||n,i=re.from(s.headers);let o=s.data;return p.forEach(t,function(c){o=c.call(n,o,i.normalize(),e?e.status:void 0)}),i.normalize(),o}function Pt(t){return!!(t&&t.__CANCEL__)}function be(t,e,n){N.call(this,t??"canceled",N.ERR_CANCELED,e,n),this.name="CanceledError"}p.inherits(be,N,{__CANCEL__:!0});function Ot(t,e,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?t(n):e(new N("Request failed with status code "+n.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function an(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function ln(t,e){t=t||10;const n=new Array(t),s=new Array(t);let i=0,o=0,a;return e=e!==void 0?e:1e3,function(d){const f=Date.now(),x=s[o];a||(a=f),n[i]=d,s[i]=f;let y=o,k=0;for(;y!==i;)k+=n[y++],y=y%t;if(i=(i+1)%t,i===o&&(o=(o+1)%t),f-a<e)return;const T=x&&f-x;return T?Math.round(k*1e3/T):void 0}}function cn(t,e){let n=0,s=1e3/e,i,o;const a=(f,x=Date.now())=>{n=x,i=null,o&&(clearTimeout(o),o=null),t(...f)};return[(...f)=>{const x=Date.now(),y=x-n;y>=s?a(f,x):(i=f,o||(o=setTimeout(()=>{o=null,a(i)},s-y)))},()=>i&&a(i)]}const Ue=(t,e,n=3)=>{let s=0;const i=ln(50,250);return cn(o=>{const a=o.loaded,c=o.lengthComputable?o.total:void 0,d=a-s,f=i(d),x=a<=c;s=a;const y={loaded:a,total:c,progress:c?a/c:void 0,bytes:d,rate:f||void 0,estimated:f&&c&&x?(c-a)/f:void 0,event:o,lengthComputable:c!=null,[e?"download":"upload"]:!0};t(y)},n)},_t=(t,e)=>{const n=t!=null;return[s=>e[0]({lengthComputable:n,total:t,loaded:s}),e[1]]},It=t=>(...e)=>p.asap(()=>t(...e)),dn=Z.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Z.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Z.origin),Z.navigator&&/(msie|trident)/i.test(Z.navigator.userAgent)):()=>!0,un=Z.hasStandardBrowserEnv?{write(t,e,n,s,i,o){const a=[t+"="+encodeURIComponent(e)];p.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),p.isString(s)&&a.push("path="+s),p.isString(i)&&a.push("domain="+i),o===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function pn(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function fn(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Rt(t,e,n){let s=!pn(e);return t&&(s||n==!1)?fn(t,e):e}const zt=t=>t instanceof re?{...t}:t;function he(t,e){e=e||{};const n={};function s(f,x,y,k){return p.isPlainObject(f)&&p.isPlainObject(x)?p.merge.call({caseless:k},f,x):p.isPlainObject(x)?p.merge({},x):p.isArray(x)?x.slice():x}function i(f,x,y,k){if(p.isUndefined(x)){if(!p.isUndefined(f))return s(void 0,f,y,k)}else return s(f,x,y,k)}function o(f,x){if(!p.isUndefined(x))return s(void 0,x)}function a(f,x){if(p.isUndefined(x)){if(!p.isUndefined(f))return s(void 0,f)}else return s(void 0,x)}function c(f,x,y){if(y in e)return s(f,x);if(y in t)return s(void 0,f)}const d={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(f,x,y)=>i(zt(f),zt(x),y,!0)};return p.forEach(Object.keys({...t,...e}),function(x){const y=d[x]||i,k=y(t[x],e[x],x);p.isUndefined(k)&&y!==c||(n[x]=k)}),n}const At=t=>{const e=he({},t);let{data:n,withXSRFToken:s,xsrfHeaderName:i,xsrfCookieName:o,headers:a,auth:c}=e;if(e.headers=a=re.from(a),e.url=vt(Rt(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),p.isFormData(n)){if(Z.hasStandardBrowserEnv||Z.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(p.isFunction(n.getHeaders)){const d=n.getHeaders(),f=["content-type","content-length"];Object.entries(d).forEach(([x,y])=>{f.includes(x.toLowerCase())&&a.set(x,y)})}}if(Z.hasStandardBrowserEnv&&(s&&p.isFunction(s)&&(s=s(e)),s||s!==!1&&dn(e.url))){const d=i&&o&&un.read(o);d&&a.set(i,d)}return e},xn=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,s){const i=At(t);let o=i.data;const a=re.from(i.headers).normalize();let{responseType:c,onUploadProgress:d,onDownloadProgress:f}=i,x,y,k,T,u;function w(){T&&T(),u&&u(),i.cancelToken&&i.cancelToken.unsubscribe(x),i.signal&&i.signal.removeEventListener("abort",x)}let h=new XMLHttpRequest;h.open(i.method.toUpperCase(),i.url,!0),h.timeout=i.timeout;function _(){if(!h)return;const g=re.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:g,config:t,request:h};Ot(function(j){n(j),w()},function(j){s(j),w()},D),h=null}"onloadend"in h?h.onloadend=_:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(_)},h.onabort=function(){h&&(s(new N("Request aborted",N.ECONNABORTED,t,h)),h=null)},h.onerror=function(z){const D=z&&z.message?z.message:"Network Error",b=new N(D,N.ERR_NETWORK,t,h);b.event=z||null,s(b),h=null},h.ontimeout=function(){let z=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const D=i.transitional||kt;i.timeoutErrorMessage&&(z=i.timeoutErrorMessage),s(new N(z,D.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,t,h)),h=null},o===void 0&&a.setContentType(null),"setRequestHeader"in h&&p.forEach(a.toJSON(),function(z,D){h.setRequestHeader(D,z)}),p.isUndefined(i.withCredentials)||(h.withCredentials=!!i.withCredentials),c&&c!=="json"&&(h.responseType=i.responseType),f&&([k,u]=Ue(f,!0),h.addEventListener("progress",k)),d&&h.upload&&([y,T]=Ue(d),h.upload.addEventListener("progress",y),h.upload.addEventListener("loadend",T)),(i.cancelToken||i.signal)&&(x=g=>{h&&(s(!g||g.type?new be(null,t,h):g),h.abort(),h=null)},i.cancelToken&&i.cancelToken.subscribe(x),i.signal&&(i.signal.aborted?x():i.signal.addEventListener("abort",x)));const C=an(i.url);if(C&&Z.protocols.indexOf(C)===-1){s(new N("Unsupported protocol "+C+":",N.ERR_BAD_REQUEST,t));return}h.send(o||null)})},hn=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let s=new AbortController,i;const o=function(f){if(!i){i=!0,c();const x=f instanceof Error?f:this.reason;s.abort(x instanceof N?x:new be(x instanceof Error?x.message:x))}};let a=e&&setTimeout(()=>{a=null,o(new N(`timeout ${e} of ms exceeded`,N.ETIMEDOUT))},e);const c=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(f=>{f.unsubscribe?f.unsubscribe(o):f.removeEventListener("abort",o)}),t=null)};t.forEach(f=>f.addEventListener("abort",o));const{signal:d}=s;return d.unsubscribe=()=>p.asap(c),d}},mn=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let s=0,i;for(;s<n;)i=s+e,yield t.slice(s,i),s=i},gn=async function*(t,e){for await(const n of yn(t))yield*mn(n,e)},yn=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:s}=await e.read();if(n)break;yield s}}finally{await e.cancel()}},$t=(t,e,n,s)=>{const i=gn(t,e);let o=0,a,c=d=>{a||(a=!0,s&&s(d))};return new ReadableStream({async pull(d){try{const{done:f,value:x}=await i.next();if(f){c(),d.close();return}let y=x.byteLength;if(n){let k=o+=y;n(k)}d.enqueue(new Uint8Array(x))}catch(f){throw c(f),f}},cancel(d){return c(d),i.return()}},{highWaterMark:2})},Nt=64*1024,{isFunction:De}=p,bn=(({Request:t,Response:e})=>({Request:t,Response:e}))(p.global),{ReadableStream:Ut,TextEncoder:Dt}=p.global,Lt=(t,...e)=>{try{return!!t(...e)}catch{return!1}},wn=t=>{t=p.merge.call({skipUndefined:!0},bn,t);const{fetch:e,Request:n,Response:s}=t,i=e?De(e):typeof fetch=="function",o=De(n),a=De(s);if(!i)return!1;const c=i&&De(Ut),d=i&&(typeof Dt=="function"?(u=>w=>u.encode(w))(new Dt):async u=>new Uint8Array(await new n(u).arrayBuffer())),f=o&&c&&Lt(()=>{let u=!1;const w=new n(Z.origin,{body:new Ut,method:"POST",get duplex(){return u=!0,"half"}}).headers.has("Content-Type");return u&&!w}),x=a&&c&&Lt(()=>p.isReadableStream(new s("").body)),y={stream:x&&(u=>u.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(u=>{!y[u]&&(y[u]=(w,h)=>{let _=w&&w[u];if(_)return _.call(w);throw new N(`Response type '${u}' is not supported`,N.ERR_NOT_SUPPORT,h)})});const k=async u=>{if(u==null)return 0;if(p.isBlob(u))return u.size;if(p.isSpecCompliantForm(u))return(await new n(Z.origin,{method:"POST",body:u}).arrayBuffer()).byteLength;if(p.isArrayBufferView(u)||p.isArrayBuffer(u))return u.byteLength;if(p.isURLSearchParams(u)&&(u=u+""),p.isString(u))return(await d(u)).byteLength},T=async(u,w)=>{const h=p.toFiniteNumber(u.getContentLength());return h??k(w)};return async u=>{let{url:w,method:h,data:_,signal:C,cancelToken:g,timeout:z,onDownloadProgress:D,onUploadProgress:b,responseType:j,headers:q,withCredentials:I="same-origin",fetchOptions:X}=At(u),W=e||fetch;j=j?(j+"").toLowerCase():"text";let P=hn([C,g&&g.toAbortSignal()],z),G=null;const O=P&&P.unsubscribe&&(()=>{P.unsubscribe()});let R;try{if(b&&f&&h!=="get"&&h!=="head"&&(R=await T(q,_))!==0){let l=new n(w,{method:"POST",body:_,duplex:"half"}),m;if(p.isFormData(_)&&(m=l.headers.get("content-type"))&&q.setContentType(m),l.body){const[E,U]=_t(R,Ue(It(b)));_=$t(l.body,Nt,E,U)}}p.isString(I)||(I=I?"include":"omit");const M=o&&"credentials"in n.prototype,K={...X,signal:P,method:h.toUpperCase(),headers:q.normalize().toJSON(),body:_,duplex:"half",credentials:M?I:void 0};G=o&&new n(w,K);let H=await(o?W(G,X):W(w,K));const L=x&&(j==="stream"||j==="response");if(x&&(D||L&&O)){const l={};["status","statusText","headers"].forEach(ne=>{l[ne]=H[ne]});const m=p.toFiniteNumber(H.headers.get("content-length")),[E,U]=D&&_t(m,Ue(It(D),!0))||[];H=new s($t(H.body,Nt,E,()=>{U&&U(),O&&O()}),l)}j=j||"text";let J=await y[p.findKey(y,j)||"text"](H,u);return!L&&O&&O(),await new Promise((l,m)=>{Ot(l,m,{data:J,headers:re.from(H.headers),status:H.status,statusText:H.statusText,config:u,request:G})})}catch(M){throw O&&O(),M&&M.name==="TypeError"&&/Load failed|fetch/i.test(M.message)?Object.assign(new N("Network Error",N.ERR_NETWORK,u,G),{cause:M.cause||M}):N.from(M,M&&M.code,u,G)}}},Sn=new Map,Ft=t=>{let e=t?t.env:{};const{fetch:n,Request:s,Response:i}=e,o=[s,i,n];let a=o.length,c=a,d,f,x=Sn;for(;c--;)d=o[c],f=x.get(d),f===void 0&&x.set(d,f=c?new Map:wn(e)),x=f;return f};Ft();const Xe={http:Mr,xhr:xn,fetch:{get:Ft}};p.forEach(Xe,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const qt=t=>`- ${t}`,jn=t=>p.isFunction(t)||t===null||t===!1,Mt={getAdapter:(t,e)=>{t=p.isArray(t)?t:[t];const{length:n}=t;let s,i;const o={};for(let a=0;a<n;a++){s=t[a];let c;if(i=s,!jn(s)&&(i=Xe[(c=String(s)).toLowerCase()],i===void 0))throw new N(`Unknown adapter '${c}'`);if(i&&(p.isFunction(i)||(i=i.get(e))))break;o[c||"#"+a]=i}if(!i){const a=Object.entries(o).map(([d,f])=>`adapter ${d} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=n?a.length>1?`since :
|
|
4
4
|
`+a.map(qt).join(`
|
|
5
|
-
`):" "+qt(a[0]):"as no adapter specified";throw new N("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return i},adapters:Xe};function Ze(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new be(null,t)}function Wt(t){return Ze(t),t.headers=re.from(t.headers),t.data=Ge.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Mt.getAdapter(t.adapter||Te.adapter,t)(t).then(function(s){return Ze(t),s.data=Ge.call(t,t.transformResponse,s),s.headers=re.from(s.headers),s},function(s){return Pt(s)||(Ze(t),s&&s.response&&(s.response.data=Ge.call(t,t.transformResponse,s.response),s.response.headers=re.from(s.response.headers))),Promise.reject(s)})}const Bt="1.12.2",
|
|
6
|
-
`+o):s.stack=o}catch{}}throw s}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=xe(this.defaults,n);const{transitional:s,paramsSerializer:i,headers:o}=n;s!==void 0&&Le.assertOptions(s,{silentJSONParsing:ae.transitional(ae.boolean),forcedJSONParsing:ae.transitional(ae.boolean),clarifyTimeoutError:ae.transitional(ae.boolean)},!1),i!=null&&(f.isFunction(i)?n.paramsSerializer={serialize:i}:Le.assertOptions(i,{encode:ae.function,serialize:ae.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Le.assertOptions(n,{baseUrl:ae.spelling("baseURL"),withXsrfToken:ae.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&f.merge(o.common,o[n.method]);o&&f.forEach(["delete","get","head","post","put","patch","common"],p=>{delete o[p]}),n.headers=re.concat(a,o);const c=[];let d=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(d=d&&w.synchronous,c.unshift(w.fulfilled,w.rejected))});const u=[];this.interceptors.response.forEach(function(w){u.push(w.fulfilled,w.rejected)});let x,y=0,k;if(!d){const p=[Wt.bind(this),void 0];for(p.unshift(...c),p.push(...u),k=p.length,x=Promise.resolve(n);y<k;)x=x.then(p[y++],p[y++]);return x}k=c.length;let T=n;for(;y<k;){const p=c[y++],w=c[y++];try{T=p(T)}catch(h){w.call(this,h);break}}try{x=Wt.call(this,T)}catch(p){return Promise.reject(p)}for(y=0,k=u.length;y<k;)x=x.then(u[y++],u[y++]);return x}getUri(e){e=xe(this.defaults,e);const n=Rt(e.baseURL,e.url,e.allowAbsoluteUrls);return vt(n,e.params,e.paramsSerializer)}};f.forEach(["delete","get","head","options"],function(e){he.prototype[e]=function(n,s){return this.request(xe(s||{},{method:e,url:n,data:(s||{}).data}))}}),f.forEach(["post","put","patch"],function(e){function n(s){return function(o,a,c){return this.request(xe(c||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}he.prototype[e]=n(),he.prototype[e+"Form"]=n(!0)});let En=class nr{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const s=this;this.promise.then(i=>{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](i);s._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(c=>{s.subscribe(c),o=c}).then(i);return a.cancel=function(){s.unsubscribe(o)},a},e(function(o,a,c){s.reason||(s.reason=new be(o,a,c),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=s=>{e.abort(s)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new nr(function(i){e=i}),cancel:e}}};function kn(t){return function(n){return t.apply(null,n)}}function Tn(t){return f.isObject(t)&&t.isAxiosError===!0}const Qe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qe).forEach(([t,e])=>{Qe[e]=t});function Vt(t){const e=new he(t),n=lt(he.prototype.request,e);return f.extend(n,he.prototype,e,{allOwnKeys:!0}),f.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Vt(xe(t,i))},n}const Y=Vt(Te);Y.Axios=he,Y.CanceledError=be,Y.CancelToken=En,Y.isCancel=Pt,Y.VERSION=Bt,Y.toFormData=$e,Y.AxiosError=N,Y.Cancel=Y.CanceledError,Y.all=function(e){return Promise.all(e)},Y.spread=kn,Y.isAxiosError=Tn,Y.mergeConfig=xe,Y.AxiosHeaders=re,Y.formToJSON=t=>Tt(f.isHTMLForm(t)?new FormData(t):t),Y.getAdapter=Mt.getAdapter,Y.HttpStatusCode=Qe,Y.default=Y;const{Axios:xs,AxiosError:hs,CanceledError:ms,isCancel:gs,CancelToken:ys,VERSION:bs,all:ws,Cancel:Ss,isAxiosError:js,spread:vs,toFormData:Es,AxiosHeaders:ks,HttpStatusCode:Ts,formToJSON:Cs,getAdapter:Ps,mergeConfig:Os}=Y;class Cn{baseUrl;apiKey;appId;client;constructor(e){if(!e||!e.baseUrl)throw new Error("NeuctraAuthixClient: 'baseUrl' is required in config");this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey||null,this.appId=e.appId||null,this.client=Y.create({baseURL:this.baseUrl,headers:{"Content-Type":"application/json",...this.apiKey?{"x-api-key":this.apiKey}:{}},timeout:3e4,withCredentials:!0})}async request(e,n,s,i={},o=!1){try{const a={...this.appId?{appId:this.appId}:{},...s||{}};return(await this.client.request({url:n,method:e,data:a,headers:i,withCredentials:o})).data}catch(a){throw Y.isAxiosError(a)?{message:a.response?.data?.message||a.message||"Request failed",status:a.response?.status??0}:{message:a.message||"Unexpected error occurred"}}}async signupUser(e){const{name:n,email:s,password:i}=e;if(!n||!s||!i)throw new Error("signup: 'name', 'email', and 'password' are required");return await this.request("POST","/users/signup",e,{},!0)}async loginUser(e){const{email:n,password:s}=e;if(!n||!s)throw new Error("login: 'email' and 'password' are required");try{return await this.request("POST","/users/login",{email:n,password:s},{},!0)}catch(i){throw new Error(i.message||"Login failed due to an unknown error")}}async logoutUser(){try{const e=await this.request("POST","/users/logout",{},{},!0);if(e&&e.success){if(typeof document<"u"){const n=new Date(0).toUTCString();document.cookie=`a_s_b=; path=/; Max-Age=${n}; SameSite=Lax`}return{success:!0}}return{success:!1}}catch(e){throw new Error(e.message||"Logout failed due to an unknown error")}}async changePassword(e){const{userId:n,currentPassword:s,newPassword:i}=e;if(!n)throw new Error("changePassword: 'userId' is required");if(!s||!i)throw new Error("changePassword: both 'currentPassword' and 'newPassword' are required");return await this.request("PUT",`/users/change-password/${n}`,{currentPassword:s,newPassword:i},{},!0)}async requestEmailVerificationOTP(e){const{userId:n,email:s}=e;if(!n)throw{message:"requestEmailVerificationOTP: 'userId' is required",status:400};if(!s)throw{message:"requestEmailVerificationOTP: 'email' is required",status:400};try{return await this.request("POST",`/users/send-verify-otp/${encodeURIComponent(n)}`,{email:s},{},!0)}catch(i){throw console.error("requestEmailVerificationOTP Error:",i),{message:i?.message||"Failed to send verification OTP",status:i?.status||500}}}async verifyEmail(e){const{email:n,otp:s}=e;if(!n)throw new Error("verifyEmail: 'email' is required");if(!s)throw new Error("verifyEmail: 'otp' is required");try{return await this.request("POST","/users/verify-email",{email:n,otp:s},{},!0)}catch(i){throw{message:i.message||"Failed to verify email",status:i.status||500}}}async checkUserSession(){if(typeof window>"u")return{authenticated:!1};try{return await this.request("GET","/users/session",void 0,{},!0)}catch{return{authenticated:!1}}}async updateUser(e){const{userId:n}=e;if(!n)throw new Error("updateUser: 'userId' is required");return await this.request("PUT",`/users/update/${n}`,{...e},{},!0)}async deleteUser(e){const{userId:n}=e;if(!n)throw new Error("deleteUser: 'userId' is required");return await this.request("DELETE",`/users/delete/${n}`,{},{},!0)}async getUserProfile(e){const{userId:n}=e;if(!n)throw new Error("getProfile: 'userId' and 'appId' are required");try{return await this.request("POST","/users/profile",{userId:n},{},!0)}catch(s){throw{message:s.message||"Failed to fetch profile",status:s.status||500}}}async requestResetUserPasswordOTP(e){const{email:n}=e;if(!n)throw new Error("forgotPassword: 'email' is required");return await this.request("POST","/users/forgot-password",{email:n})}async resetUserPassword(e){const{email:n,otp:s,newPassword:i}=e;if(!n||!s||!i)throw new Error("resetPassword: 'email', 'otp' and 'newPassword' are required");return await this.request("POST","/users/reset-password",{email:n,otp:s,newPassword:i})}async checkIfUserExists(e){if(!e)throw new Error("checkUser: 'userId' is required");return await this.request("GET",`/users/check-user/${e}?appId=${this.appId}`)}async searchUserData(e){const{userId:n,...s}=e;if(!n)throw new Error("userId required");const i=new URLSearchParams(s).toString();return await this.request("GET",`/users/${n}/data/search?${i}`,void 0,{},!1)}async searchUserDataByKeys(e){const{userId:n,...s}=e;if(!n)throw new Error("searchUserDataByKeys: 'userId' is required");const i=new URLSearchParams(Object.entries(s).reduce((o,[a,c])=>(c!=null&&(o[a]=String(c)),o),{})).toString();return await this.request("GET",`/users/${n}/data/searchbyref?${i}`,void 0,{},!1)}async getUserData(e){const{userId:n}=e;if(!n)throw new Error("getUserData: 'userId' is required");return await this.request("GET",`/users/${n}/data`,void 0,{},!1)}async getSingleUserData(e){const{userId:n,dataId:s}=e;if(!n||!s)throw new Error("getSingleUserData: 'userId' and 'dataId' are required");return await this.request("GET",`/users/${n}/data/${s}`,void 0,{},!1)}async addUserData(e){const{userId:n,dataCategory:s,data:i}=e;if(!n)throw new Error("addUserData: 'userId' is required");if(!s)throw new Error("addUserData: 'dataCategory' is required");if(!i)throw new Error("addUserData: 'data' is required");return await this.request("POST",`/users/${n}/data`,{dataCategory:s,...i},{},!1)}async updateUserData(e){const{userId:n,dataId:s,data:i}=e;if(!n||!s)throw new Error("updateUserData: 'userId' and 'dataId' are required");if(!i)throw new Error("updateUserData: 'data' is required");return await this.request("PUT",`/users/${n}/data/${s}`,i,{},!1)}async deleteUserData(e){const{userId:n,dataId:s}=e;if(!n||!s)throw new Error("deleteUserData: 'userId' and 'dataId' are required");return await this.request("DELETE",`/users/${n}/data/${s}`,void 0,{},!1)}async getAppData(e){const n=this.appId;if(!n)throw new Error("getAppData: 'appId' is required");const s=e?`?category=${encodeURIComponent(e)}`:"";return await this.request("GET",`/app/${n}/data${s}`,void 0,{},!1)}async getSingleAppData(e){const n=this.appId;if(!n)throw new Error("getSingleAppData: 'appId' is required");if(!e.dataId)throw new Error("getSingleAppData: 'dataId' is required");return await this.request("GET",`/app/${n}/data/${e.dataId}`,void 0,{},!1)}async searchAppDataByKeys(e){const n=this.appId;if(!n)throw new Error("searchAppDataByKeys: 'appId' is required");if(!e||typeof e!="object")throw new Error("searchAppDataByKeys: params object is required");return await this.request("POST",`/app/${encodeURIComponent(n)}/data/search/bykeys`,e,{},!1)}async addAppData(e){const n=this.appId;if(!n)throw new Error("addAppData: 'appId' is required");const{dataCategory:s,data:i}=e;if(!s)throw new Error("addAppData: 'dataCategory' is required");if(!i||typeof i!="object")throw new Error("addAppData: 'data' is required");return await this.request("POST",`/app/${n}/data/${encodeURIComponent(s)}`,{item:i},{},!1)}async updateAppData(e){const n=this.appId;if(!n)throw new Error("updateAppData: 'appId' is required");if(!e.dataId)throw new Error("updateAppData: 'dataId' is required");if(!e.data)throw new Error("updateAppData: 'data' is required");return await this.request("PATCH",`/app/${n}/data/${e.dataId}`,e.data,{},!1)}async deleteAppData(e){const n=this.appId;if(!n)throw new Error("deleteAppData: 'appId' is required");if(!e.dataId)throw new Error("deleteAppData: 'dataId' is required");return await this.request("DELETE",`/app/${n}/data/${e.dataId}`,void 0,{},!1)}}var qe={exports:{}},Pe={};/**
|
|
5
|
+
`):" "+qt(a[0]):"as no adapter specified";throw new N("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return i},adapters:Xe};function Ze(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new be(null,t)}function Wt(t){return Ze(t),t.headers=re.from(t.headers),t.data=Ge.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Mt.getAdapter(t.adapter||Te.adapter,t)(t).then(function(s){return Ze(t),s.data=Ge.call(t,t.transformResponse,s),s.headers=re.from(s.headers),s},function(s){return Pt(s)||(Ze(t),s&&s.response&&(s.response.data=Ge.call(t,t.transformResponse,s.response),s.response.headers=re.from(s.response.headers))),Promise.reject(s)})}const Bt="1.12.2",Le={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Le[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const Ht={};Le.transitional=function(e,n,s){function i(o,a){return"[Axios v"+Bt+"] Transitional option '"+o+"'"+a+(s?". "+s:"")}return(o,a,c)=>{if(e===!1)throw new N(i(a," has been removed"+(n?" in "+n:"")),N.ERR_DEPRECATED);return n&&!Ht[a]&&(Ht[a]=!0,console.warn(i(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,a,c):!0}},Le.spelling=function(e){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${e}`),!0)};function vn(t,e,n){if(typeof t!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let i=s.length;for(;i-- >0;){const o=s[i],a=e[o];if(a){const c=t[o],d=c===void 0||a(c,o,t);if(d!==!0)throw new N("option "+o+" must be "+d,N.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new N("Unknown option "+o,N.ERR_BAD_OPTION)}}const Fe={assertOptions:vn,validators:Le},ae=Fe.validators;let me=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Et,response:new Et}}async request(e,n){try{return await this._request(e,n)}catch(s){if(s instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const o=i.stack?i.stack.replace(/^.+\n/,""):"";try{s.stack?o&&!String(s.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(s.stack+=`
|
|
6
|
+
`+o):s.stack=o}catch{}}throw s}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=he(this.defaults,n);const{transitional:s,paramsSerializer:i,headers:o}=n;s!==void 0&&Fe.assertOptions(s,{silentJSONParsing:ae.transitional(ae.boolean),forcedJSONParsing:ae.transitional(ae.boolean),clarifyTimeoutError:ae.transitional(ae.boolean)},!1),i!=null&&(p.isFunction(i)?n.paramsSerializer={serialize:i}:Fe.assertOptions(i,{encode:ae.function,serialize:ae.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Fe.assertOptions(n,{baseUrl:ae.spelling("baseURL"),withXsrfToken:ae.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&p.merge(o.common,o[n.method]);o&&p.forEach(["delete","get","head","post","put","patch","common"],u=>{delete o[u]}),n.headers=re.concat(a,o);const c=[];let d=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(d=d&&w.synchronous,c.unshift(w.fulfilled,w.rejected))});const f=[];this.interceptors.response.forEach(function(w){f.push(w.fulfilled,w.rejected)});let x,y=0,k;if(!d){const u=[Wt.bind(this),void 0];for(u.unshift(...c),u.push(...f),k=u.length,x=Promise.resolve(n);y<k;)x=x.then(u[y++],u[y++]);return x}k=c.length;let T=n;for(;y<k;){const u=c[y++],w=c[y++];try{T=u(T)}catch(h){w.call(this,h);break}}try{x=Wt.call(this,T)}catch(u){return Promise.reject(u)}for(y=0,k=f.length;y<k;)x=x.then(f[y++],f[y++]);return x}getUri(e){e=he(this.defaults,e);const n=Rt(e.baseURL,e.url,e.allowAbsoluteUrls);return vt(n,e.params,e.paramsSerializer)}};p.forEach(["delete","get","head","options"],function(e){me.prototype[e]=function(n,s){return this.request(he(s||{},{method:e,url:n,data:(s||{}).data}))}}),p.forEach(["post","put","patch"],function(e){function n(s){return function(o,a,c){return this.request(he(c||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}me.prototype[e]=n(),me.prototype[e+"Form"]=n(!0)});let En=class nr{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const s=this;this.promise.then(i=>{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](i);s._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(c=>{s.subscribe(c),o=c}).then(i);return a.cancel=function(){s.unsubscribe(o)},a},e(function(o,a,c){s.reason||(s.reason=new be(o,a,c),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=s=>{e.abort(s)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new nr(function(i){e=i}),cancel:e}}};function kn(t){return function(n){return t.apply(null,n)}}function Tn(t){return p.isObject(t)&&t.isAxiosError===!0}const Qe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qe).forEach(([t,e])=>{Qe[e]=t});function Vt(t){const e=new me(t),n=lt(me.prototype.request,e);return p.extend(n,me.prototype,e,{allOwnKeys:!0}),p.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Vt(he(t,i))},n}const Y=Vt(Te);Y.Axios=me,Y.CanceledError=be,Y.CancelToken=En,Y.isCancel=Pt,Y.VERSION=Bt,Y.toFormData=$e,Y.AxiosError=N,Y.Cancel=Y.CanceledError,Y.all=function(e){return Promise.all(e)},Y.spread=kn,Y.isAxiosError=Tn,Y.mergeConfig=he,Y.AxiosHeaders=re,Y.formToJSON=t=>Tt(p.isHTMLForm(t)?new FormData(t):t),Y.getAdapter=Mt.getAdapter,Y.HttpStatusCode=Qe,Y.default=Y;const{Axios:xs,AxiosError:hs,CanceledError:ms,isCancel:gs,CancelToken:ys,VERSION:bs,all:ws,Cancel:Ss,isAxiosError:js,spread:vs,toFormData:Es,AxiosHeaders:ks,HttpStatusCode:Ts,formToJSON:Cs,getAdapter:Ps,mergeConfig:Os}=Y;class Cn{baseUrl;apiKey;appId;client;constructor(e){if(!e||!e.baseUrl)throw new Error("NeuctraAuthixClient: 'baseUrl' is required in config");this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey||null,this.appId=e.appId||null,this.client=Y.create({baseURL:this.baseUrl,headers:{"Content-Type":"application/json",...this.apiKey?{"x-api-key":this.apiKey}:{}},timeout:3e4,withCredentials:!0})}async request(e,n,s,i={},o=!1){try{const a={...this.appId?{appId:this.appId}:{},...s||{}};return(await this.client.request({url:n,method:e,data:a,headers:i,withCredentials:o})).data}catch(a){throw Y.isAxiosError(a)?{message:a.response?.data?.message||a.message||"Request failed",status:a.response?.status??0}:{message:a.message||"Unexpected error occurred"}}}async signupUser(e){const{name:n,email:s,password:i}=e;if(!n||!s||!i)throw new Error("signup: 'name', 'email', and 'password' are required");return await this.request("POST","/users/signup",e,{},!0)}async loginUser(e){const{email:n,password:s}=e;if(!n||!s)throw new Error("login: 'email' and 'password' are required");try{return await this.request("POST","/users/login",{email:n,password:s},{},!0)}catch(i){throw new Error(i.message||"Login failed due to an unknown error")}}async logoutUser(){try{const e=await this.request("POST","/users/logout",{},{},!0);if(e&&e.success){if(typeof document<"u"){const n=new Date(0).toUTCString();document.cookie=`a_s_b=; path=/; Max-Age=${n}; SameSite=Lax`}return{success:!0}}return{success:!1}}catch(e){throw new Error(e.message||"Logout failed due to an unknown error")}}async changePassword(e){const{userId:n,currentPassword:s,newPassword:i}=e;if(!n)throw new Error("changePassword: 'userId' is required");if(!s||!i)throw new Error("changePassword: both 'currentPassword' and 'newPassword' are required");return await this.request("PUT",`/users/change-password/${n}`,{currentPassword:s,newPassword:i},{},!0)}async requestEmailVerificationOTP(e){const{userId:n,email:s}=e;if(!n)throw{message:"requestEmailVerificationOTP: 'userId' is required",status:400};if(!s)throw{message:"requestEmailVerificationOTP: 'email' is required",status:400};try{return await this.request("POST",`/users/send-verify-otp/${encodeURIComponent(n)}`,{email:s},{},!0)}catch(i){throw console.error("requestEmailVerificationOTP Error:",i),{message:i?.message||"Failed to send verification OTP",status:i?.status||500}}}async verifyEmail(e){const{email:n,otp:s}=e;if(!n)throw new Error("verifyEmail: 'email' is required");if(!s)throw new Error("verifyEmail: 'otp' is required");try{return await this.request("POST","/users/verify-email",{email:n,otp:s},{},!0)}catch(i){throw{message:i.message||"Failed to verify email",status:i.status||500}}}async checkUserSession(){if(typeof window>"u")return{authenticated:!1};try{return await this.request("GET","/users/session",void 0,{},!0)}catch{return{authenticated:!1}}}async updateUser(e){const{userId:n}=e;if(!n)throw new Error("updateUser: 'userId' is required");return await this.request("PUT",`/users/update/${n}`,{...e},{},!0)}async deleteUser(e){const{userId:n}=e;if(!n)throw new Error("deleteUser: 'userId' is required");return await this.request("DELETE",`/users/delete/${n}`,{},{},!0)}async getUserProfile(e){const{userId:n}=e;if(!n)throw new Error("getProfile: 'userId' and 'appId' are required");try{return await this.request("POST","/users/profile",{userId:n},{},!0)}catch(s){throw{message:s.message||"Failed to fetch profile",status:s.status||500}}}async requestResetUserPasswordOTP(e){const{email:n}=e;if(!n)throw new Error("forgotPassword: 'email' is required");return await this.request("POST","/users/forgot-password",{email:n})}async resetUserPassword(e){const{email:n,otp:s,newPassword:i}=e;if(!n||!s||!i)throw new Error("resetPassword: 'email', 'otp' and 'newPassword' are required");return await this.request("POST","/users/reset-password",{email:n,otp:s,newPassword:i})}async checkIfUserExists(e){if(!e)throw new Error("checkUser: 'userId' is required");return await this.request("GET",`/users/check-user/${e}?appId=${this.appId}`)}async searchUserData(e){const{userId:n,...s}=e;if(!n)throw new Error("userId required");const i=new URLSearchParams(s).toString();return await this.request("GET",`/users/${n}/data/search?${i}`,void 0,{},!1)}async searchUserDataByKeys(e){const{userId:n,...s}=e;if(!n)throw new Error("searchUserDataByKeys: 'userId' is required");const i=new URLSearchParams(Object.entries(s).reduce((o,[a,c])=>(c!=null&&(o[a]=String(c)),o),{})).toString();return await this.request("GET",`/users/${n}/data/searchbyref?${i}`,void 0,{},!1)}async getUserData(e){const{userId:n}=e;if(!n)throw new Error("getUserData: 'userId' is required");return await this.request("GET",`/users/${n}/data`,void 0,{},!1)}async getSingleUserData(e){const{userId:n,dataId:s}=e;if(!n||!s)throw new Error("getSingleUserData: 'userId' and 'dataId' are required");return await this.request("GET",`/users/${n}/data/${s}`,void 0,{},!1)}async addUserData(e){const{userId:n,dataCategory:s,data:i}=e;if(!n)throw new Error("addUserData: 'userId' is required");if(!s)throw new Error("addUserData: 'dataCategory' is required");if(!i)throw new Error("addUserData: 'data' is required");return await this.request("POST",`/users/${n}/data`,{dataCategory:s,...i},{},!1)}async updateUserData(e){const{userId:n,dataId:s,data:i}=e;if(!n||!s)throw new Error("updateUserData: 'userId' and 'dataId' are required");if(!i)throw new Error("updateUserData: 'data' is required");return await this.request("PUT",`/users/${n}/data/${s}`,i,{},!1)}async deleteUserData(e){const{userId:n,dataId:s}=e;if(!n||!s)throw new Error("deleteUserData: 'userId' and 'dataId' are required");return await this.request("DELETE",`/users/${n}/data/${s}`,void 0,{},!1)}async getAppData(e){const n=this.appId;if(!n)throw new Error("getAppData: 'appId' is required");const s=e?`?category=${encodeURIComponent(e)}`:"";return await this.request("GET",`/app/${n}/data${s}`,void 0,{},!1)}async getSingleAppData(e){const n=this.appId;if(!n)throw new Error("getSingleAppData: 'appId' is required");if(!e.dataId)throw new Error("getSingleAppData: 'dataId' is required");return await this.request("GET",`/app/${n}/data/${e.dataId}`,void 0,{},!1)}async searchAppDataByKeys(e){const n=this.appId;if(!n)throw new Error("searchAppDataByKeys: 'appId' is required");if(!e||typeof e!="object")throw new Error("searchAppDataByKeys: params object is required");return await this.request("POST",`/app/${encodeURIComponent(n)}/data/search/bykeys`,e,{},!1)}async addAppData(e){const n=this.appId;if(!n)throw new Error("addAppData: 'appId' is required");const{dataCategory:s,data:i}=e;if(!s)throw new Error("addAppData: 'dataCategory' is required");if(!i||typeof i!="object")throw new Error("addAppData: 'data' is required");return await this.request("POST",`/app/${n}/data/${encodeURIComponent(s)}`,{item:i},{},!1)}async updateAppData(e){const n=this.appId;if(!n)throw new Error("updateAppData: 'appId' is required");if(!e.dataId)throw new Error("updateAppData: 'dataId' is required");if(!e.data)throw new Error("updateAppData: 'data' is required");return await this.request("PATCH",`/app/${n}/data/${e.dataId}`,e.data,{},!1)}async deleteAppData(e){const n=this.appId;if(!n)throw new Error("deleteAppData: 'appId' is required");if(!e.dataId)throw new Error("deleteAppData: 'dataId' is required");return await this.request("DELETE",`/app/${n}/data/${e.dataId}`,void 0,{},!1)}}var qe={exports:{}},Pe={};/**
|
|
7
7
|
* @license React
|
|
8
8
|
* react-jsx-runtime.production.js
|
|
9
9
|
*
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
*
|
|
20
20
|
* This source code is licensed under the MIT license found in the
|
|
21
21
|
* LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/var Jt;function On(){return Jt||(Jt=1,process.env.NODE_ENV!=="production"&&(function(){function t(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===W?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case h:return"Fragment";case C:return"Profiler";case
|
|
22
|
+
*/var Jt;function On(){return Jt||(Jt=1,process.env.NODE_ENV!=="production"&&(function(){function t(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===W?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case h:return"Fragment";case C:return"Profiler";case _:return"StrictMode";case b:return"Suspense";case j:return"SuspenseList";case X:return"Activity"}if(typeof l=="object")switch(typeof l.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),l.$$typeof){case w:return"Portal";case z:return l.displayName||"Context";case g:return(l._context.displayName||"Context")+".Consumer";case D:var m=l.render;return l=l.displayName,l||(l=m.displayName||m.name||"",l=l!==""?"ForwardRef("+l+")":"ForwardRef"),l;case q:return m=l.displayName||null,m!==null?m:t(l.type)||"Memo";case I:m=l._payload,l=l._init;try{return t(l(m))}catch{}}return null}function e(l){return""+l}function n(l){try{e(l);var m=!1}catch{m=!0}if(m){m=console;var E=m.error,U=typeof Symbol=="function"&&Symbol.toStringTag&&l[Symbol.toStringTag]||l.constructor.name||"Object";return E.call(m,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",U),e(l)}}function s(l){if(l===h)return"<>";if(typeof l=="object"&&l!==null&&l.$$typeof===I)return"<...>";try{var m=t(l);return m?"<"+m+">":"<...>"}catch{return"<...>"}}function i(){var l=P.A;return l===null?null:l.getOwner()}function o(){return Error("react-stack-top-frame")}function a(l){if(G.call(l,"key")){var m=Object.getOwnPropertyDescriptor(l,"key").get;if(m&&m.isReactWarning)return!1}return l.key!==void 0}function c(l,m){function E(){M||(M=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",m))}E.isReactWarning=!0,Object.defineProperty(l,"key",{get:E,configurable:!0})}function d(){var l=t(this.type);return K[l]||(K[l]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),l=this.props.ref,l!==void 0?l:null}function f(l,m,E,U,ne,le){var B=E.ref;return l={$$typeof:u,type:l,key:m,props:E,_owner:U},(B!==void 0?B:null)!==null?Object.defineProperty(l,"ref",{enumerable:!1,get:d}):Object.defineProperty(l,"ref",{enumerable:!1,value:null}),l._store={},Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(l,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(l,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ne}),Object.defineProperty(l,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:le}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}function x(l,m,E,U,ne,le){var B=m.children;if(B!==void 0)if(U)if(O(B)){for(U=0;U<B.length;U++)y(B[U]);Object.freeze&&Object.freeze(B)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else y(B);if(G.call(m,"key")){B=t(l);var ce=Object.keys(m).filter(function(A){return A!=="key"});U=0<ce.length?"{key: someKey, "+ce.join(": ..., ")+": ...}":"{key: someKey}",J[B+U]||(ce=0<ce.length?"{"+ce.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
23
23
|
let props = %s;
|
|
24
24
|
<%s {...props} />
|
|
25
25
|
React keys must be passed directly to JSX without using spread:
|
|
26
26
|
let props = %s;
|
|
27
|
-
<%s key={someKey} {...props} />`,U,B,ce,B),J[B+U]=!0)}if(B=null,E!==void 0&&(n(E),B=""+E),a(m)&&(n(m.key),B=""+m.key),"key"in m){E={};for(var je in m)je!=="key"&&(E[je]=m[je])}else E=m;return B&&c(E,typeof l=="function"?l.displayName||l.name||"Unknown":l),
|
|
27
|
+
<%s key={someKey} {...props} />`,U,B,ce,B),J[B+U]=!0)}if(B=null,E!==void 0&&(n(E),B=""+E),a(m)&&(n(m.key),B=""+m.key),"key"in m){E={};for(var je in m)je!=="key"&&(E[je]=m[je])}else E=m;return B&&c(E,typeof l=="function"?l.displayName||l.name||"Unknown":l),f(l,B,E,i(),ne,le)}function y(l){k(l)?l._store&&(l._store.validated=1):typeof l=="object"&&l!==null&&l.$$typeof===I&&(l._payload.status==="fulfilled"?k(l._payload.value)&&l._payload.value._store&&(l._payload.value._store.validated=1):l._store&&(l._store.validated=1))}function k(l){return typeof l=="object"&&l!==null&&l.$$typeof===u}var T=S,u=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),g=Symbol.for("react.consumer"),z=Symbol.for("react.context"),D=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),q=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),W=Symbol.for("react.client.reference"),P=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=Object.prototype.hasOwnProperty,O=Array.isArray,R=console.createTask?console.createTask:function(){return null};T={react_stack_bottom_frame:function(l){return l()}};var M,K={},H=T.react_stack_bottom_frame.bind(T,o)(),L=R(s(o)),J={};Oe.Fragment=h,Oe.jsx=function(l,m,E){var U=1e4>P.recentlyCreatedOwnerStacks++;return x(l,m,E,!1,U?Error("react-stack-top-frame"):H,U?R(s(l)):L)},Oe.jsxs=function(l,m,E){var U=1e4>P.recentlyCreatedOwnerStacks++;return x(l,m,E,!0,U?Error("react-stack-top-frame"):H,U?R(s(l)):L)}})()),Oe}var Kt;function _n(){return Kt||(Kt=1,process.env.NODE_ENV==="production"?qe.exports=Pn():qe.exports=On()),qe.exports}var r=_n();/**
|
|
28
28
|
* @license lucide-react v0.544.0 - ISC
|
|
29
29
|
*
|
|
30
30
|
* This source code is licensed under the ISC license.
|
|
31
31
|
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
-
*/const
|
|
32
|
+
*/const In=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Rn=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,n,s)=>s?s.toUpperCase():n.toLowerCase()),Gt=t=>{const e=Rn(t);return e.charAt(0).toUpperCase()+e.slice(1)},Xt=(...t)=>t.filter((e,n,s)=>!!e&&e.trim()!==""&&s.indexOf(e)===n).join(" ").trim(),zn=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};/**
|
|
33
33
|
* @license lucide-react v0.544.0 - ISC
|
|
34
34
|
*
|
|
35
35
|
* This source code is licensed under the ISC license.
|
|
@@ -39,177 +39,177 @@ React keys must be passed directly to JSX without using spread:
|
|
|
39
39
|
*
|
|
40
40
|
* This source code is licensed under the ISC license.
|
|
41
41
|
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
-
*/const $n=S.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:i="",children:o,iconNode:a,...c},d)=>S.createElement("svg",{ref:d,...An,width:e,height:e,stroke:t,strokeWidth:s?Number(n)*24/Number(e):n,className:Xt("lucide",i),...!o&&!zn(c)&&{"aria-hidden":"true"},...c},[...a.map(([
|
|
42
|
+
*/const $n=S.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:i="",children:o,iconNode:a,...c},d)=>S.createElement("svg",{ref:d,...An,width:e,height:e,stroke:t,strokeWidth:s?Number(n)*24/Number(e):n,className:Xt("lucide",i),...!o&&!zn(c)&&{"aria-hidden":"true"},...c},[...a.map(([f,x])=>S.createElement(f,x)),...Array.isArray(o)?o:[o]]));/**
|
|
43
43
|
* @license lucide-react v0.544.0 - ISC
|
|
44
44
|
*
|
|
45
45
|
* This source code is licensed under the ISC license.
|
|
46
46
|
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
-
*/const
|
|
47
|
+
*/const F=(t,e)=>{const n=S.forwardRef(({className:s,...i},o)=>S.createElement($n,{ref:o,iconNode:e,className:Xt(`lucide-${In(Gt(t))}`,`lucide-${t}`,s),...i}));return n.displayName=Gt(t),n};/**
|
|
48
48
|
* @license lucide-react v0.544.0 - ISC
|
|
49
49
|
*
|
|
50
50
|
* This source code is licensed under the ISC license.
|
|
51
51
|
* See the LICENSE file in the root directory of this source tree.
|
|
52
|
-
*/const Nn=
|
|
52
|
+
*/const Nn=F("badge-check",[["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"}]]);/**
|
|
53
53
|
* @license lucide-react v0.544.0 - ISC
|
|
54
54
|
*
|
|
55
55
|
* This source code is licensed under the ISC license.
|
|
56
56
|
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
-
*/const et=
|
|
57
|
+
*/const et=F("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
|
|
58
58
|
* @license lucide-react v0.544.0 - ISC
|
|
59
59
|
*
|
|
60
60
|
* This source code is licensed under the ISC license.
|
|
61
61
|
* See the LICENSE file in the root directory of this source tree.
|
|
62
|
-
*/const Un=
|
|
62
|
+
*/const Un=F("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
63
63
|
* @license lucide-react v0.544.0 - ISC
|
|
64
64
|
*
|
|
65
65
|
* This source code is licensed under the ISC license.
|
|
66
66
|
* See the LICENSE file in the root directory of this source tree.
|
|
67
|
-
*/const ie=
|
|
67
|
+
*/const ie=F("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
|
|
68
68
|
* @license lucide-react v0.544.0 - ISC
|
|
69
69
|
*
|
|
70
70
|
* This source code is licensed under the ISC license.
|
|
71
71
|
* See the LICENSE file in the root directory of this source tree.
|
|
72
|
-
*/const de=
|
|
72
|
+
*/const de=F("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
|
|
73
73
|
* @license lucide-react v0.544.0 - ISC
|
|
74
74
|
*
|
|
75
75
|
* This source code is licensed under the ISC license.
|
|
76
76
|
* See the LICENSE file in the root directory of this source tree.
|
|
77
|
-
*/const tt=
|
|
77
|
+
*/const tt=F("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
|
|
78
78
|
* @license lucide-react v0.544.0 - ISC
|
|
79
79
|
*
|
|
80
80
|
* This source code is licensed under the ISC license.
|
|
81
81
|
* See the LICENSE file in the root directory of this source tree.
|
|
82
|
-
*/const Dn=
|
|
82
|
+
*/const Dn=F("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
|
|
83
83
|
* @license lucide-react v0.544.0 - ISC
|
|
84
84
|
*
|
|
85
85
|
* This source code is licensed under the ISC license.
|
|
86
86
|
* See the LICENSE file in the root directory of this source tree.
|
|
87
|
-
*/const
|
|
87
|
+
*/const Ln=F("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);/**
|
|
88
88
|
* @license lucide-react v0.544.0 - ISC
|
|
89
89
|
*
|
|
90
90
|
* This source code is licensed under the ISC license.
|
|
91
91
|
* See the LICENSE file in the root directory of this source tree.
|
|
92
|
-
*/const rt=
|
|
92
|
+
*/const rt=F("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
|
|
93
93
|
* @license lucide-react v0.544.0 - ISC
|
|
94
94
|
*
|
|
95
95
|
* This source code is licensed under the ISC license.
|
|
96
96
|
* See the LICENSE file in the root directory of this source tree.
|
|
97
|
-
*/const nt=
|
|
97
|
+
*/const nt=F("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
|
98
98
|
* @license lucide-react v0.544.0 - ISC
|
|
99
99
|
*
|
|
100
100
|
* This source code is licensed under the ISC license.
|
|
101
101
|
* See the LICENSE file in the root directory of this source tree.
|
|
102
|
-
*/const
|
|
102
|
+
*/const Fn=F("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);/**
|
|
103
103
|
* @license lucide-react v0.544.0 - ISC
|
|
104
104
|
*
|
|
105
105
|
* This source code is licensed under the ISC license.
|
|
106
106
|
* See the LICENSE file in the root directory of this source tree.
|
|
107
|
-
*/const Zt=
|
|
107
|
+
*/const Zt=F("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/**
|
|
108
108
|
* @license lucide-react v0.544.0 - ISC
|
|
109
109
|
*
|
|
110
110
|
* This source code is licensed under the ISC license.
|
|
111
111
|
* See the LICENSE file in the root directory of this source tree.
|
|
112
|
-
*/const Qt=
|
|
112
|
+
*/const Qt=F("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);/**
|
|
113
113
|
* @license lucide-react v0.544.0 - ISC
|
|
114
114
|
*
|
|
115
115
|
* This source code is licensed under the ISC license.
|
|
116
116
|
* See the LICENSE file in the root directory of this source tree.
|
|
117
|
-
*/const st=
|
|
117
|
+
*/const st=F("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/**
|
|
118
118
|
* @license lucide-react v0.544.0 - ISC
|
|
119
119
|
*
|
|
120
120
|
* This source code is licensed under the ISC license.
|
|
121
121
|
* See the LICENSE file in the root directory of this source tree.
|
|
122
|
-
*/const qn=
|
|
122
|
+
*/const qn=F("link-2",[["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"}]]);/**
|
|
123
123
|
* @license lucide-react v0.544.0 - ISC
|
|
124
124
|
*
|
|
125
125
|
* This source code is licensed under the ISC license.
|
|
126
126
|
* See the LICENSE file in the root directory of this source tree.
|
|
127
|
-
*/const oe=
|
|
127
|
+
*/const oe=F("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
|
|
128
128
|
* @license lucide-react v0.544.0 - ISC
|
|
129
129
|
*
|
|
130
130
|
* This source code is licensed under the ISC license.
|
|
131
131
|
* See the LICENSE file in the root directory of this source tree.
|
|
132
|
-
*/const Mn=
|
|
132
|
+
*/const Mn=F("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);/**
|
|
133
133
|
* @license lucide-react v0.544.0 - ISC
|
|
134
134
|
*
|
|
135
135
|
* This source code is licensed under the ISC license.
|
|
136
136
|
* See the LICENSE file in the root directory of this source tree.
|
|
137
|
-
*/const we=
|
|
137
|
+
*/const we=F("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
|
|
138
138
|
* @license lucide-react v0.544.0 - ISC
|
|
139
139
|
*
|
|
140
140
|
* This source code is licensed under the ISC license.
|
|
141
141
|
* See the LICENSE file in the root directory of this source tree.
|
|
142
|
-
*/const it=
|
|
142
|
+
*/const it=F("log-out",[["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"}]]);/**
|
|
143
143
|
* @license lucide-react v0.544.0 - ISC
|
|
144
144
|
*
|
|
145
145
|
* This source code is licensed under the ISC license.
|
|
146
146
|
* See the LICENSE file in the root directory of this source tree.
|
|
147
|
-
*/const pe=
|
|
147
|
+
*/const pe=F("mail",[["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"}]]);/**
|
|
148
148
|
* @license lucide-react v0.544.0 - ISC
|
|
149
149
|
*
|
|
150
150
|
* This source code is licensed under the ISC license.
|
|
151
151
|
* See the LICENSE file in the root directory of this source tree.
|
|
152
|
-
*/const Wn=
|
|
152
|
+
*/const Wn=F("map-pin",[["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"}]]);/**
|
|
153
153
|
* @license lucide-react v0.544.0 - ISC
|
|
154
154
|
*
|
|
155
155
|
* This source code is licensed under the ISC license.
|
|
156
156
|
* See the LICENSE file in the root directory of this source tree.
|
|
157
|
-
*/const Bn=
|
|
157
|
+
*/const Bn=F("pen-line",[["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"}]]);/**
|
|
158
158
|
* @license lucide-react v0.544.0 - ISC
|
|
159
159
|
*
|
|
160
160
|
* This source code is licensed under the ISC license.
|
|
161
161
|
* See the LICENSE file in the root directory of this source tree.
|
|
162
|
-
*/const Hn=
|
|
162
|
+
*/const Hn=F("phone",[["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"}]]);/**
|
|
163
163
|
* @license lucide-react v0.544.0 - ISC
|
|
164
164
|
*
|
|
165
165
|
* This source code is licensed under the ISC license.
|
|
166
166
|
* See the LICENSE file in the root directory of this source tree.
|
|
167
|
-
*/const Vn=
|
|
167
|
+
*/const Vn=F("save",[["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"}]]);/**
|
|
168
168
|
* @license lucide-react v0.544.0 - ISC
|
|
169
169
|
*
|
|
170
170
|
* This source code is licensed under the ISC license.
|
|
171
171
|
* See the LICENSE file in the root directory of this source tree.
|
|
172
|
-
*/const ot=
|
|
172
|
+
*/const ot=F("send",[["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"}]]);/**
|
|
173
173
|
* @license lucide-react v0.544.0 - ISC
|
|
174
174
|
*
|
|
175
175
|
* This source code is licensed under the ISC license.
|
|
176
176
|
* See the LICENSE file in the root directory of this source tree.
|
|
177
|
-
*/const Yn=
|
|
177
|
+
*/const Yn=F("settings",[["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"}]]);/**
|
|
178
178
|
* @license lucide-react v0.544.0 - ISC
|
|
179
179
|
*
|
|
180
180
|
* This source code is licensed under the ISC license.
|
|
181
181
|
* See the LICENSE file in the root directory of this source tree.
|
|
182
|
-
*/const er=
|
|
182
|
+
*/const er=F("shield",[["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"}]]);/**
|
|
183
183
|
* @license lucide-react v0.544.0 - ISC
|
|
184
184
|
*
|
|
185
185
|
* This source code is licensed under the ISC license.
|
|
186
186
|
* See the LICENSE file in the root directory of this source tree.
|
|
187
|
-
*/const Me=
|
|
187
|
+
*/const Me=F("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/**
|
|
188
188
|
* @license lucide-react v0.544.0 - ISC
|
|
189
189
|
*
|
|
190
190
|
* This source code is licensed under the ISC license.
|
|
191
191
|
* See the LICENSE file in the root directory of this source tree.
|
|
192
|
-
*/const tr=
|
|
192
|
+
*/const tr=F("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
|
|
193
193
|
* @license lucide-react v0.544.0 - ISC
|
|
194
194
|
*
|
|
195
195
|
* This source code is licensed under the ISC license.
|
|
196
196
|
* See the LICENSE file in the root directory of this source tree.
|
|
197
|
-
*/const Jn=
|
|
197
|
+
*/const Jn=F("user-x",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);/**
|
|
198
198
|
* @license lucide-react v0.544.0 - ISC
|
|
199
199
|
*
|
|
200
200
|
* This source code is licensed under the ISC license.
|
|
201
201
|
* See the LICENSE file in the root directory of this source tree.
|
|
202
|
-
*/const Se=
|
|
202
|
+
*/const Se=F("user",[["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"}]]);/**
|
|
203
203
|
* @license lucide-react v0.544.0 - ISC
|
|
204
204
|
*
|
|
205
205
|
* This source code is licensed under the ISC license.
|
|
206
206
|
* See the LICENSE file in the root directory of this source tree.
|
|
207
|
-
*/const
|
|
207
|
+
*/const _e=F("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),rr=S.createContext(null),Kn=({authix:t,children:e})=>r.jsx(rr.Provider,{value:t,children:e}),fe=()=>{const t=S.useContext(rr);if(!t)throw new Error("useAuthix must be used inside <AuthixProvider />");return t},Gn=({logoUrl:t,logoLinkUrl:e,title:n="Create Your Account",subtitle:s="Join our platform today",primaryColor:i="#00C214",gradient:o="linear-gradient(135deg, #22c55e, #00C214)",darkMode:a=!0,showAvatar:c=!1,roles:d=[],showRoleSelector:f=!1,loginUrl:x,onSuccess:y,onError:k})=>{const T=fe(),u={name:"",email:"",password:"",role:d.length?d[0]:"user",...c&&{avatarUrl:""}},[w,h]=S.useState(u),[_,C]=S.useState(!1),[g,z]=S.useState(!1),[D,b]=S.useState(null),[j,q]=S.useState({}),[I,X]=S.useState(!1),W=a?"#ffffff":"#111827",P=a?"#a1a1aa":"#6b7280",G=a?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.02)",O=a?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.1)";S.useEffect(()=>{if(typeof window<"u"){const L=()=>X(window.innerWidth<768);return L(),window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)}},[]);const R=L=>{const{name:J,value:l}=L.target;h(m=>({...m,[J]:l})),j[J]&&q(m=>({...m,[J]:void 0}))},M=()=>{const L={};return w.name.trim()||(L.name="Name is required"),w.email.trim()?/\S+@\S+\.\S+/.test(w.email)||(L.email="Invalid email address"):L.email="Email is required",w.password?w.password.length<6&&(L.password="Password must be at least 6 characters"):L.password="Password is required",q(L),Object.keys(L).length===0},K=async L=>{if(L.preventDefault(),!!M()){z(!0),b(null);try{const J={name:w.name,email:w.email,password:w.password,role:w.role,...w.avatarUrl?{avatarUrl:w.avatarUrl}:{}},l=await T.signupUser(J);l.success?(b({type:"success",text:l.message||"Account created successfully!"}),y?.(l.user)):(b({type:"error",text:l.message||"Signup failed"}),k?.(l))}catch(J){b({type:"error",text:J.message||"Signup failed. Please try again."}),k?.(J)}finally{z(!1)}}},H={width:"100%",padding:I?"10px 14px 10px 44px":"10px 16px 10px 44px",backgroundColor:G,border:`1px solid ${O}`,borderRadius:"10px",color:W,fontSize:"15px",outline:"none",transition:"all 0.2s ease",boxSizing:"border-box"};return r.jsxs("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},children:[r.jsxs("div",{style:{minWidth:I?"320px":"380px",width:"100%",maxWidth:I?"340px":"390px",display:"flex",flexDirection:"column",borderRadius:"10px",fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",backgroundColor:a?"#000000":"#ffffff",padding:I?"30px 24px":"20px 28px"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"10px"},children:[t?r.jsx("a",{href:e||"/",target:"_self",rel:"noopener noreferrer",children:r.jsx("img",{src:t,alt:"Logo",style:{height:"50px",width:"50px",marginBottom:"10px"}})}):r.jsx(Se,{size:40,color:i,style:{marginBottom:"10px"}}),r.jsx("h2",{style:{fontSize:"24px",fontWeight:700,color:W,margin:0},children:n}),r.jsx("p",{style:{fontSize:"14px",color:P},children:s})]}),c&&w.avatarUrl&&r.jsx("div",{style:{display:"flex",justifyContent:"center",marginBottom:"16px"},children:r.jsx("img",{src:w.avatarUrl,alt:"Avatar Preview",style:{width:"60px",height:"60px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${i}30`},onError:L=>{const J=L.target;J.style.display="none"}})}),r.jsxs("form",{onSubmit:K,style:{display:"flex",flexDirection:"column",gap:"14px"},children:[f&&d&&d.length===2&&r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{style:{fontSize:"14px",fontWeight:500,color:W},children:"Select Role"}),r.jsxs("div",{style:{position:"relative",display:"flex",borderRadius:"10px",border:`1px solid ${O}`,backgroundColor:G,overflow:"hidden",cursor:"pointer",height:"42px"},children:[r.jsx("div",{style:{position:"absolute",top:0,left:0,width:"50%",height:"100%",backgroundColor:a?"#000000":"#ffffff",boxShadow:a?"0 1px 3px rgba(255,255,255,0.05)":"0 1px 3px rgba(0,0,0,0.1)",borderRadius:"10px",transition:"transform 0.3s ease, background-color 0.3s ease",transform:w.role===d[1]?"translateX(100%)":"translateX(0)",zIndex:0}}),r.jsx("button",{type:"button",onClick:()=>h(L=>({...L,role:d[0]})),style:{flex:1,zIndex:10,border:"none",background:"transparent",color:w.role===d[0]?i:a?"#9ca3af":"#6b7280",fontWeight:w.role===d[0]?600:500,fontSize:"14px",display:"flex",alignItems:"center",justifyContent:"center",transition:"color 0.2s ease"},children:d[0].charAt(0).toUpperCase()+d[0].slice(1)}),r.jsx("button",{type:"button",onClick:()=>h(L=>({...L,role:d[1]})),style:{flex:1,zIndex:10,border:"none",background:"transparent",color:w.role===d[1]?i:a?"#9ca3af":"#6b7280",fontWeight:w.role===d[1]?600:500,fontSize:"14px",display:"flex",alignItems:"center",justifyContent:"center",transition:"color 0.2s ease"},children:d[1].charAt(0).toUpperCase()+d[1].slice(1)})]})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"signup-name",style:{fontSize:"14px",fontWeight:500,color:W},children:"Full Name"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(Se,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:P}}),r.jsx("input",{id:"signup-name",type:"text",name:"name",placeholder:"Enter your full name",value:w.name,onChange:R,style:{...H,borderColor:j.name?"#ef4444":O}})]}),j.name&&r.jsx("span",{style:{color:"#ef4444",fontSize:"12px",marginTop:"2px"},children:j.name})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"signup-email",style:{fontSize:"14px",fontWeight:500,color:W},children:"Email Address"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(pe,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:P}}),r.jsx("input",{id:"signup-email",type:"email",name:"email",placeholder:"Enter your email address",value:w.email,onChange:R,style:{...H,borderColor:j.email?"#ef4444":O}})]}),j.email&&r.jsx("span",{style:{color:"#ef4444",fontSize:"12px",marginTop:"2px"},children:j.email})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"signup-password",style:{fontSize:"14px",fontWeight:500,color:W},children:"Password"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(we,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:P}}),r.jsx("input",{id:"signup-password",type:_?"text":"password",name:"password",placeholder:"Create a secure password",value:w.password,onChange:R,style:{...H,borderColor:j.password?"#ef4444":O}}),r.jsx("button",{type:"button",onClick:()=>C(!_),style:{position:"absolute",right:"14px",top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",color:P,cursor:"pointer",padding:"4px"},children:_?r.jsx(rt,{size:20}):r.jsx(nt,{size:20})})]}),j.password&&r.jsx("span",{style:{color:"#ef4444",fontSize:"12px",marginTop:"2px"},children:j.password})]}),c&&r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"signup-avatar",style:{fontSize:"14px",fontWeight:500,color:W},children:"Avatar URL (Optional)"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(Zt,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:P}}),r.jsx("input",{id:"signup-avatar",type:"url",name:"avatarUrl",placeholder:"Paste your avatar image URL",value:w.avatarUrl||"",onChange:R,style:H})]})]}),x&&r.jsx("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"},children:r.jsx("a",{href:x,style:{color:i,textDecoration:"none",fontWeight:500},children:"Already have an account?"})}),D&&r.jsxs("div",{style:{padding:"12px",borderRadius:"12px",fontSize:"12px",display:"flex",alignItems:"start",gap:"10px",backgroundColor:D.type==="success"?`${i}15`:"rgba(239,68,68,0.1)",border:D.type==="success"?`1px solid ${i}30`:"1px solid rgba(239,68,68,0.3)",color:D.type==="success"?i:"#ef4444"},children:[D.type==="success"?r.jsx(de,{size:20}):r.jsx(ie,{size:20}),r.jsx("span",{children:D.text})]}),r.jsx("button",{type:"submit",disabled:g,style:{padding:"12px",background:o,color:"#fff",border:"none",borderRadius:"10px",fontSize:"14px",fontWeight:600,cursor:g?"not-allowed":"pointer",opacity:g?.7:1,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px"},children:g?r.jsxs(r.Fragment,{children:[r.jsx(Mn,{size:18,style:{animation:"spin 1s linear infinite"}}),"Creating Account..."]}):"Create Account"})]}),r.jsxs("div",{style:{textAlign:"center",fontSize:"12px",color:P,marginTop:"16px",padding:"0 4px"},children:["Secure authentication powered by"," ",r.jsx("span",{style:{color:i,fontWeight:600},children:"Neuctra Authix"})]})]}),r.jsx("style",{children:`
|
|
208
208
|
@keyframes spin {
|
|
209
209
|
from { transform: rotate(0deg); }
|
|
210
210
|
to { transform: rotate(360deg); }
|
|
211
211
|
}
|
|
212
|
-
`})]})},Xn=({logoUrl:t,logoLinkUrl:e,title:n="Sign In to Your Account",subtitle:s="Welcome back! Please enter your details",primaryColor:i="#00C214",gradient:o="linear-gradient(135deg, #22c55e, #00C214)",darkMode:a=!0,signupUrl:c,onSuccess:d,onError:u})=>{const x=me(),[y,k]=S.useState("login"),[T,p]=S.useState(1),[w,h]=S.useState(!1),[I,C]=S.useState(!1),[g,z]=S.useState(null),[D,b]=S.useState(""),[j,q]=S.useState(""),[_,X]=S.useState({email:"",otp:"",newPassword:""}),[W,P]=S.useState(!1),G=a?"#ffffff":"#111827",O=a?"#a1a1aa":"#6b7280",R=a?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.02)",M=a?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.1)";S.useEffect(()=>{if(typeof window<"u"){const m=()=>P(window.innerWidth<768);return m(),window.addEventListener("resize",m),()=>window.removeEventListener("resize",m)}},[]);const K=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.loginUser({email:D,password:j}),{user:U}=E;if(!U)throw new Error(E.message||"Login failed");if(typeof document<"u"){const ne="a_s_b",le="true",B=new Date;B.setTime(B.getTime()+3600*1e3),document.cookie=`${ne}=${le}; path=/; expires=${B.toUTCString()}; SameSite=Lax`}z({type:"success",text:`Welcome ${U.name}`}),d?.(U)}catch(E){const U=E.message||"Login failed";z({type:"error",text:U}),u?.(E)}finally{C(!1)}},H=m=>{X({..._,[m.target.name]:m.target.value})},F=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.requestResetUserPasswordOTP({email:_.email});E.success?(p(2),z({type:"success",text:E.message||"OTP sent to your email"})):z({type:"error",text:E.message||"Failed to send OTP"})}catch(E){z({type:"error",text:E.message||"Something went wrong"})}finally{C(!1)}},J=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.resetUserPassword({email:_.email,otp:_.otp,newPassword:_.newPassword});E.success?(z({type:"success",text:E.message||"Password reset successfully!"}),p(1),X({email:"",otp:"",newPassword:""}),k("login")):z({type:"error",text:E.message||"Reset failed"})}catch(E){z({type:"error",text:E.message||"Something went wrong"})}finally{C(!1)}},l={width:"100%",padding:W?"10px 14px 10px 44px":"10px 16px 10px 44px",backgroundColor:R,border:`1px solid ${M}`,borderRadius:"10px",color:G,fontSize:"15px",outline:"none",transition:"all 0.2s ease"};return r.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},children:r.jsxs("div",{style:{minWidth:W?"320px":"380px",maxWidth:W?"340px":"390px",width:"100%",display:"flex",flexDirection:"column",borderRadius:"10px",fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",backgroundColor:a?"#000000":"#ffffff",padding:W?"30px 24px":"18px 28px"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"10px"},children:[t?r.jsx("a",{href:e||"/",target:"_self",rel:"noopener noreferrer",children:r.jsx("img",{src:t,alt:"Logo",style:{height:"50px",width:"50px",marginBottom:"10px"}})}):r.jsx(Se,{size:40,color:i,style:{marginBottom:"10px"}}),r.jsx("h2",{style:{fontSize:"24px",fontWeight:700,color:G,margin:0},children:y==="login"?n:T===1?"Forgot Password":"Reset Password"}),r.jsx("p",{style:{fontSize:"14px",color:O},children:y==="login"?s:"Follow the steps to reset your password"})]}),y==="login"&&r.jsxs("form",{onSubmit:K,style:{display:"flex",flexDirection:"column",gap:"14px"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"login-email",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Email Address"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(pe,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"login-email",type:"email",placeholder:"Enter your email",value:D,onChange:m=>b(m.target.value),style:l})]})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"login-password",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Password"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(we,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"login-password",type:w?"text":"password",placeholder:"Enter your password",value:j,onChange:m=>q(m.target.value),style:l}),r.jsx("button",{type:"button",onClick:()=>h(!w),style:{position:"absolute",right:"14px",padding:"4px",top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",color:O,cursor:"pointer"},children:w?r.jsx(rt,{size:20}):r.jsx(nt,{size:20})})]})]}),r.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"},children:[c&&r.jsx("a",{href:c,style:{color:i,textDecoration:"none",fontWeight:500},children:"Create new account"}),r.jsx("button",{type:"button",onClick:()=>k("forgot"),style:{background:"none",border:"none",color:i,fontWeight:500,cursor:"pointer"},children:"Forgot password?"})]}),r.jsx("button",{type:"submit",disabled:I,style:{padding:"12px",background:o,color:"#fff",border:"none",borderRadius:"10px",fontSize:"14px",fontWeight:600},children:I?"Signing In...":"Sign In"})]}),y==="forgot"&&r.jsxs("form",{onSubmit:T===1?F:J,style:{display:"flex",flexDirection:"column",gap:"14px"},children:[T===1?r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"forgot-email",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Email Address"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(pe,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"forgot-email",type:"email",name:"email",placeholder:"Enter your email",value:_.email,onChange:H,style:l})]})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[r.jsx("label",{htmlFor:"otp",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"One-Time Password (OTP)"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(Qt,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"otp",type:"text",name:"otp",placeholder:"Enter OTP",value:_.otp,onChange:H,style:l})]})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[r.jsx("label",{htmlFor:"newPassword",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"New Password"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(we,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"newPassword",type:"password",name:"newPassword",placeholder:"Enter new password",value:_.newPassword,onChange:H,style:l})]})]})]}),r.jsx("button",{type:"submit",disabled:I,style:{padding:"12px",background:o,color:"#fff",border:"none",fontSize:"14px",borderRadius:"10px",fontWeight:600},children:I?"Please wait...":T===1?"Send Reset OTP":"Reset Password"}),r.jsx("button",{type:"button",onClick:()=>{k("login"),p(1)},style:{background:"none",border:"none",fontSize:"14px",color:O,marginTop:"6px",cursor:"pointer"},children:"Back to Login"})]}),g&&r.jsxs("div",{style:{marginTop:"16px",padding:"12px",borderRadius:"12px",fontSize:"14px",display:"flex",alignItems:"center",gap:"10px",backgroundColor:g.type==="success"?`${i}15`:"rgba(239,68,68,0.1)",border:g.type==="success"?`1px solid ${i}30`:"1px solid rgba(239,68,68,0.3)",color:g.type==="success"?i:"#ef4444"},children:[g.type==="success"?r.jsx(de,{size:20}):r.jsx(ie,{size:20}),r.jsx("span",{children:g.text})]}),r.jsxs("div",{style:{textAlign:"center",fontSize:"12px",color:O,marginTop:"16px",padding:"0 4px"},children:["Secure authentication powered by"," ",r.jsx("span",{style:{color:i,fontWeight:600},children:"Neuctra Authix"})]})]})})},Zn=({children:t,fallback:e=null})=>{const[n,s]=S.useState(!1),[i,o]=S.useState(null);if(S.useEffect(()=>{s(!0);const d=document.cookie.split(";").map(u=>u.trim()).find(u=>u.startsWith("a_s_b="));o(d?.split("=")[1]==="true")},[]),!n)return null;const a=c=>typeof c=="function"?c():c;return i===null?a(e)??null:i?r.jsx(r.Fragment,{children:t}):a(e)},Qn=({children:t,fallback:e=null})=>{const[n,s]=S.useState(!1),[i,o]=S.useState(null);if(S.useEffect(()=>{s(!0);const d=document.cookie.split(";").map(u=>u.trim()).find(u=>u.startsWith("a_s_b="));o(d?.split("=")[1]!=="true")},[]),!n)return null;const a=c=>typeof c=="function"?c():c;return i===null?a(e)??null:i?r.jsx(r.Fragment,{children:t}):a(e)},es=({isOpen:t,onClose:e,onSuccess:n,onError:s,userId:i,colors:o})=>{const a=me(),[c,d]=S.useState(!1),[u,x]=S.useState(""),[y,k]=S.useState("warning"),[T,p]=S.useState(!1);if(S.useEffect(()=>{if(typeof window>"u")return;const g=()=>{p(window.innerWidth<640)};return g(),window.addEventListener("resize",g),()=>window.removeEventListener("resize",g)},[]),!t)return null;const w=async()=>{d(!0),k("processing");try{const g=await a.deleteUser({userId:i});g.success?(n(g.message||"Account deleted successfully"),k("success"),setTimeout(()=>{localStorage.removeItem("userInfo"),localStorage.removeItem("userToken"),window.location.href="/"},2e3)):(s(g.message||"Failed to delete account"),k("warning"))}catch(g){s(g.response?.data?.message||"Something went wrong"),k("warning")}finally{d(!1)}},h=u.toLowerCase()==="delete my account",I=g=>{g.target===g.currentTarget&&y!=="processing"&&y!=="success"&&e()},C=()=>{switch(y){case"warning":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"24px",gap:"16px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",flex:1},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #ef4444, #dc2626)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(Me,{size:20})}),r.jsx("div",{children:r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Delete Account"})})]}),r.jsx("button",{onClick:e,"aria-label":"Close modal",style:{background:"transparent",border:"none",color:o.textTertiary,cursor:"pointer",padding:"8px",borderRadius:"8px",width:"36px",height:"36px",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.color=o.textPrimary},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.color=o.textTertiary},children:r.jsx(Ie,{size:20})})]}),r.jsxs("div",{style:{display:"flex",gap:"16px",padding:"20px",background:`${o.error}15`,border:`1px solid ${o.error}30`,borderRadius:"12px",marginBottom:"20px"},children:[r.jsx("div",{style:{color:o.error,flexShrink:0,display:"flex",alignItems:"flex-start"},children:r.jsx(tr,{size:24})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h4",{style:{color:o.textPrimary,margin:"0 0 12px 0",fontSize:"16px",fontWeight:600},children:"Before you proceed..."}),r.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[{icon:r.jsx(Dn,{size:16}),text:"All your data will be permanently deleted"},{icon:r.jsx(Jn,{size:16}),text:"This action cannot be reversed"},{icon:r.jsx(it,{size:16}),text:"You will lose access to all services"}].map((g,z)=>r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",fontSize:"14px",color:o.textSecondary},children:[r.jsx("div",{style:{color:o.error,flexShrink:0},children:g.icon}),r.jsx("span",{children:g.text})]},z))})]})]}),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:T?"column-reverse":"row",justifyContent:"flex-end",alignItems:"stretch"},children:[r.jsx("button",{onClick:e,style:{padding:"10px 24px",borderRadius:"10px",border:`1.5px solid ${o.border}`,background:"transparent",color:o.textPrimary,fontSize:"14px",fontWeight:500,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"120px",transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.transform="translateY(-1px)"},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.transform="translateY(0)"},children:"Cancel"}),r.jsxs("button",{onClick:()=>k("confirmation"),style:{padding:"10px 24px",borderRadius:"10px",border:"none",background:"linear-gradient(135deg, #ef4444, #dc2626)",color:"white",fontSize:"14px",fontWeight:600,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"140px",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:"0 4px 12px rgba(239, 68, 68, 0.4)"},onMouseOver:g=>{g.currentTarget.style.transform="translateY(-1px)",g.currentTarget.style.boxShadow="0 6px 20px rgba(239, 68, 68, 0.5)"},onMouseOut:g=>{g.currentTarget.style.transform="translateY(0)",g.currentTarget.style.boxShadow="0 4px 12px rgba(239, 68, 68, 0.4)"},children:[r.jsx(Me,{size:16}),"Continue to Delete"]})]})]});case"confirmation":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #f59e0b, #d97706)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(tr,{size:24})}),r.jsx("div",{style:{flex:1},children:r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Confirm Deletion"})})]}),r.jsxs("div",{style:{marginBottom:"24px"},children:[r.jsxs("p",{style:{color:o.textSecondary,marginBottom:"16px",fontSize:"14px",lineHeight:"1.5"},children:["Type"," ",r.jsx("strong",{style:{color:o.textPrimary},children:'"delete my account"'})," ","to confirm:"]}),r.jsx("input",{type:"text",value:u,onChange:g=>x(g.target.value),placeholder:"delete my account",style:{width:"100%",padding:"14px 16px",borderRadius:"10px",border:`2px solid ${h?o.success:o.error}`,backgroundColor:"transparent",color:o.textPrimary,fontSize:"15px",outline:"none",transition:"all 0.2s ease",boxSizing:"border-box"},onFocus:g=>{g.target.style.boxShadow=`0 0 0 3px ${o.accent}20`},onBlur:g=>{g.target.style.boxShadow="none"},autoFocus:!0}),h&&r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",marginTop:"10px",color:o.success,fontSize:"14px",fontWeight:500},children:[r.jsx(tt,{size:16}),r.jsx("span",{children:"Confirmation accepted"})]})]}),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:"column-reverse",justifyContent:"flex-end",alignItems:"stretch"},children:[r.jsx("button",{onClick:()=>{k("warning"),x("")},style:{padding:"10px 24px",borderRadius:"10px",border:`1.5px solid ${o.border}`,background:"transparent",color:o.textPrimary,fontSize:"14px",fontWeight:500,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"120px",transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.transform="translateY(-1px)"},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.transform="translateY(0)"},children:"Go Back"}),r.jsxs("button",{onClick:w,disabled:!h||c,style:{padding:"10px 24px",borderRadius:"10px",border:"none",background:"linear-gradient(135deg, #ef4444, #dc2626)",color:"white",fontSize:"14px",fontWeight:600,cursor:!h||c?"not-allowed":"pointer",flex:T?"none":1,minWidth:T?"100%":"140px",opacity:!h||c?.6:1,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:!h||c?"none":"0 4px 12px rgba(239, 68, 68, 0.4)"},onMouseOver:g=>{h&&!c&&(g.currentTarget.style.transform="translateY(-1px)",g.currentTarget.style.boxShadow="0 6px 20px rgba(239, 68, 68, 0.5)")},onMouseOut:g=>{h&&!c&&(g.currentTarget.style.transform="translateY(0)",g.currentTarget.style.boxShadow="0 4px 12px rgba(239, 68, 68, 0.4)")},children:[r.jsx(Me,{size:16}),"Yes, Delete My Account"]})]})]});case"processing":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #6b7280, #4b5563)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(oe,{size:20,style:{animation:"spin 1s linear infinite"}})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Deleting Account"}),r.jsx("p",{style:{color:o.textTertiary,margin:"4px 0 0 0",fontSize:"14px",lineHeight:"1.4"},children:"Please wait while we process your request"})]})]}),r.jsx("div",{style:{marginBottom:"20px"},children:r.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[{text:"Removing your data",active:!0},{text:"Closing active sessions",active:!1},{text:"Finalizing deletion",active:!1}].map((g,z)=>r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.active?`${o.accent}10`:"transparent"},children:[r.jsx("div",{style:{width:"8px",height:"8px",borderRadius:"50%",backgroundColor:g.active?o.accent:o.textTertiary,transition:"all 0.3s ease",boxShadow:g.active?`0 0 0 4px ${o.accent}20`:"none"}}),r.jsx("span",{style:{fontSize:"14px",color:g.active?o.textPrimary:o.textSecondary,fontWeight:g.active?500:400},children:g.text})]},z))})}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"16px",background:`${o.accent}10`,borderRadius:"10px",fontSize:"14px",color:o.textSecondary},children:[r.jsx(er,{size:18,style:{color:o.accent,flexShrink:0}}),r.jsx("span",{children:"You will be redirected to the login page shortly"})]})]});case"success":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #10b981, #059669)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(tt,{size:20})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Account Deleted"}),r.jsx("p",{style:{color:o.textTertiary,margin:"4px 0 0 0",fontSize:"14px",lineHeight:"1.4"},children:"Your account has been successfully deleted"})]})]}),r.jsxs("div",{style:{textAlign:"center",padding:"20px",background:`${o.success}10`,border:`1px solid ${o.success}20`,borderRadius:"12px",marginBottom:"24px"},children:[r.jsx(tt,{size:48,style:{color:o.success,marginBottom:"12px",display:"block",margin:"0 auto 12px auto"}}),r.jsx("p",{style:{color:o.textPrimary,fontSize:"16px",fontWeight:600,margin:"0 0 8px 0"},children:"Goodbye!"}),r.jsx("p",{style:{color:o.textSecondary,fontSize:"14px",margin:0,lineHeight:"1.5"},children:"Your account and all associated data have been permanently removed from our systems."})]}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"16px",background:`${o.accent}10`,borderRadius:"10px",fontSize:"14px",color:o.textSecondary,justifyContent:"center"},children:[r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite",color:o.accent}}),r.jsx("span",{children:"Redirecting to login page..."})]})]})}};return r.jsxs("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.8)",backdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:1e4,animation:"fadeIn 0.3s ease-out"},onClick:I,children:[r.jsx("div",{style:{backgroundColor:o.surface,border:`1px solid ${o.border}`,borderRadius:"20px",width:"100%",maxWidth:"480px",padding:"24px",boxShadow:"0 32px 64px rgba(0,0,0,0.4)",animation:"scaleIn 0.3s ease-out"},className:"delete-modal-container",children:C()}),r.jsx("style",{children:`
|
|
212
|
+
`})]})},Xn=({logoUrl:t,logoLinkUrl:e,title:n="Sign In to Your Account",subtitle:s="Welcome back! Please enter your details",primaryColor:i="#00C214",gradient:o="linear-gradient(135deg, #22c55e, #00C214)",darkMode:a=!0,signupUrl:c,onSuccess:d,onError:f})=>{const x=fe(),[y,k]=S.useState("login"),[T,u]=S.useState(1),[w,h]=S.useState(!1),[_,C]=S.useState(!1),[g,z]=S.useState(null),[D,b]=S.useState(""),[j,q]=S.useState(""),[I,X]=S.useState({email:"",otp:"",newPassword:""}),[W,P]=S.useState(!1),G=a?"#ffffff":"#111827",O=a?"#a1a1aa":"#6b7280",R=a?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.02)",M=a?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.1)";S.useEffect(()=>{if(typeof window<"u"){const m=()=>P(window.innerWidth<768);return m(),window.addEventListener("resize",m),()=>window.removeEventListener("resize",m)}},[]);const K=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.loginUser({email:D,password:j}),{user:U}=E;if(!U)throw new Error(E.message||"Login failed");if(typeof document<"u"){const ne="a_s_b",le="true",B=new Date;B.setTime(B.getTime()+3600*1e3),document.cookie=`${ne}=${le}; path=/; expires=${B.toUTCString()}; SameSite=Lax`}z({type:"success",text:`Welcome ${U.name}`}),d?.(U)}catch(E){const U=E.message||"Login failed";z({type:"error",text:U}),f?.(E)}finally{C(!1)}},H=m=>{X({...I,[m.target.name]:m.target.value})},L=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.requestResetUserPasswordOTP({email:I.email});E.success?(u(2),z({type:"success",text:E.message||"OTP sent to your email"})):z({type:"error",text:E.message||"Failed to send OTP"})}catch(E){z({type:"error",text:E.message||"Something went wrong"})}finally{C(!1)}},J=async m=>{m.preventDefault(),C(!0),z(null);try{const E=await x.resetUserPassword({email:I.email,otp:I.otp,newPassword:I.newPassword});E.success?(z({type:"success",text:E.message||"Password reset successfully!"}),u(1),X({email:"",otp:"",newPassword:""}),k("login")):z({type:"error",text:E.message||"Reset failed"})}catch(E){z({type:"error",text:E.message||"Something went wrong"})}finally{C(!1)}},l={width:"100%",padding:W?"10px 14px 10px 44px":"10px 16px 10px 44px",backgroundColor:R,border:`1px solid ${M}`,borderRadius:"10px",color:G,fontSize:"15px",outline:"none",transition:"all 0.2s ease"};return r.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},children:r.jsxs("div",{style:{minWidth:W?"320px":"380px",maxWidth:W?"340px":"390px",width:"100%",display:"flex",flexDirection:"column",borderRadius:"10px",fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",backgroundColor:a?"#000000":"#ffffff",padding:W?"30px 24px":"18px 28px"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"10px"},children:[t?r.jsx("a",{href:e||"/",target:"_self",rel:"noopener noreferrer",children:r.jsx("img",{src:t,alt:"Logo",style:{height:"50px",width:"50px",marginBottom:"10px"}})}):r.jsx(Se,{size:40,color:i,style:{marginBottom:"10px"}}),r.jsx("h2",{style:{fontSize:"24px",fontWeight:700,color:G,margin:0},children:y==="login"?n:T===1?"Forgot Password":"Reset Password"}),r.jsx("p",{style:{fontSize:"14px",color:O},children:y==="login"?s:"Follow the steps to reset your password"})]}),y==="login"&&r.jsxs("form",{onSubmit:K,style:{display:"flex",flexDirection:"column",gap:"14px"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"login-email",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Email Address"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(pe,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"login-email",type:"email",placeholder:"Enter your email",value:D,onChange:m=>b(m.target.value),style:l})]})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"login-password",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Password"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(we,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"login-password",type:w?"text":"password",placeholder:"Enter your password",value:j,onChange:m=>q(m.target.value),style:l}),r.jsx("button",{type:"button",onClick:()=>h(!w),style:{position:"absolute",right:"14px",padding:"4px",top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",color:O,cursor:"pointer"},children:w?r.jsx(rt,{size:20}):r.jsx(nt,{size:20})})]})]}),r.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"},children:[c&&r.jsx("a",{href:c,style:{color:i,textDecoration:"none",fontWeight:500},children:"Create new account"}),r.jsx("button",{type:"button",onClick:()=>k("forgot"),style:{background:"none",border:"none",color:i,fontWeight:500,cursor:"pointer"},children:"Forgot password?"})]}),r.jsx("button",{type:"submit",disabled:_,style:{padding:"12px",background:o,color:"#fff",border:"none",borderRadius:"10px",fontSize:"14px",fontWeight:600},children:_?"Signing In...":"Sign In"})]}),y==="forgot"&&r.jsxs("form",{onSubmit:T===1?L:J,style:{display:"flex",flexDirection:"column",gap:"14px"},children:[T===1?r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[r.jsx("label",{htmlFor:"forgot-email",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"Email Address"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(pe,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"forgot-email",type:"email",name:"email",placeholder:"Enter your email",value:I.email,onChange:H,style:l})]})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[r.jsx("label",{htmlFor:"otp",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"One-Time Password (OTP)"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(Qt,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"otp",type:"text",name:"otp",placeholder:"Enter OTP",value:I.otp,onChange:H,style:l})]})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[r.jsx("label",{htmlFor:"newPassword",style:{fontSize:"14px",fontWeight:500,color:a?"#ffffff":"#000000"},children:"New Password"}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx(we,{size:20,style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:O}}),r.jsx("input",{id:"newPassword",type:"password",name:"newPassword",placeholder:"Enter new password",value:I.newPassword,onChange:H,style:l})]})]})]}),r.jsx("button",{type:"submit",disabled:_,style:{padding:"12px",background:o,color:"#fff",border:"none",fontSize:"14px",borderRadius:"10px",fontWeight:600},children:_?"Please wait...":T===1?"Send Reset OTP":"Reset Password"}),r.jsx("button",{type:"button",onClick:()=>{k("login"),u(1)},style:{background:"none",border:"none",fontSize:"14px",color:O,marginTop:"6px",cursor:"pointer"},children:"Back to Login"})]}),g&&r.jsxs("div",{style:{marginTop:"16px",padding:"12px",borderRadius:"12px",fontSize:"14px",display:"flex",alignItems:"center",gap:"10px",backgroundColor:g.type==="success"?`${i}15`:"rgba(239,68,68,0.1)",border:g.type==="success"?`1px solid ${i}30`:"1px solid rgba(239,68,68,0.3)",color:g.type==="success"?i:"#ef4444"},children:[g.type==="success"?r.jsx(de,{size:20}):r.jsx(ie,{size:20}),r.jsx("span",{children:g.text})]}),r.jsxs("div",{style:{textAlign:"center",fontSize:"12px",color:O,marginTop:"16px",padding:"0 4px"},children:["Secure authentication powered by"," ",r.jsx("span",{style:{color:i,fontWeight:600},children:"Neuctra Authix"})]})]})})},Zn=({children:t,fallback:e=null})=>{const n=fe(),[s,i]=S.useState("loading");S.useEffect(()=>{(async()=>{try{if(!(document.cookie.split(";").map(y=>y.trim()).find(y=>y.startsWith("a_s_b="))?.split("=")[1]==="true")){i("unauthenticated");return}(await n.checkUserSession())?.user?.id?i("authenticated"):(document.cookie="a_s_b=false; path=/; max-age=0; SameSite=Lax",i("unauthenticated"))}catch{document.cookie="a_s_b=false; path=/; max-age=0; SameSite=Lax",i("unauthenticated")}})()},[n]);const o=a=>typeof a=="function"?a():a;return s==="loading"?null:s==="unauthenticated"?o(e)??null:r.jsx(r.Fragment,{children:t})},Qn=({children:t,fallback:e=null})=>{const[n,s]=S.useState(!1),[i,o]=S.useState(null);if(S.useEffect(()=>{s(!0);const d=document.cookie.split(";").map(f=>f.trim()).find(f=>f.startsWith("a_s_b="));o(d?.split("=")[1]!=="true")},[]),!n)return null;const a=c=>typeof c=="function"?c():c;return i===null?a(e)??null:i?r.jsx(r.Fragment,{children:t}):a(e)},es=({isOpen:t,onClose:e,onSuccess:n,onError:s,userId:i,colors:o})=>{const a=fe(),[c,d]=S.useState(!1),[f,x]=S.useState(""),[y,k]=S.useState("warning"),[T,u]=S.useState(!1);if(S.useEffect(()=>{if(typeof window>"u")return;const g=()=>{u(window.innerWidth<640)};return g(),window.addEventListener("resize",g),()=>window.removeEventListener("resize",g)},[]),!t)return null;const w=async()=>{d(!0),k("processing");try{const g=await a.deleteUser({userId:i});g.success?(n(g.message||"Account deleted successfully"),k("success"),setTimeout(()=>{localStorage.removeItem("userInfo"),localStorage.removeItem("userToken"),window.location.href="/"},2e3)):(s(g.message||"Failed to delete account"),k("warning"))}catch(g){s(g.response?.data?.message||"Something went wrong"),k("warning")}finally{d(!1)}},h=f.toLowerCase()==="delete my account",_=g=>{g.target===g.currentTarget&&y!=="processing"&&y!=="success"&&e()},C=()=>{switch(y){case"warning":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"24px",gap:"16px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",flex:1},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #ef4444, #dc2626)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(Me,{size:20})}),r.jsx("div",{children:r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Delete Account"})})]}),r.jsx("button",{onClick:e,"aria-label":"Close modal",style:{background:"transparent",border:"none",color:o.textTertiary,cursor:"pointer",padding:"8px",borderRadius:"8px",width:"36px",height:"36px",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.color=o.textPrimary},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.color=o.textTertiary},children:r.jsx(_e,{size:20})})]}),r.jsxs("div",{style:{display:"flex",gap:"16px",padding:"20px",background:`${o.error}15`,border:`1px solid ${o.error}30`,borderRadius:"12px",marginBottom:"20px"},children:[r.jsx("div",{style:{color:o.error,flexShrink:0,display:"flex",alignItems:"flex-start"},children:r.jsx(tr,{size:24})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h4",{style:{color:o.textPrimary,margin:"0 0 12px 0",fontSize:"16px",fontWeight:600},children:"Before you proceed..."}),r.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[{icon:r.jsx(Dn,{size:16}),text:"All your data will be permanently deleted"},{icon:r.jsx(Jn,{size:16}),text:"This action cannot be reversed"},{icon:r.jsx(it,{size:16}),text:"You will lose access to all services"}].map((g,z)=>r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",fontSize:"14px",color:o.textSecondary},children:[r.jsx("div",{style:{color:o.error,flexShrink:0},children:g.icon}),r.jsx("span",{children:g.text})]},z))})]})]}),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:T?"column-reverse":"row",justifyContent:"flex-end",alignItems:"stretch"},children:[r.jsx("button",{onClick:e,style:{padding:"10px 24px",borderRadius:"10px",border:`1.5px solid ${o.border}`,background:"transparent",color:o.textPrimary,fontSize:"14px",fontWeight:500,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"120px",transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.transform="translateY(-1px)"},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.transform="translateY(0)"},children:"Cancel"}),r.jsxs("button",{onClick:()=>k("confirmation"),style:{padding:"10px 24px",borderRadius:"10px",border:"none",background:"linear-gradient(135deg, #ef4444, #dc2626)",color:"white",fontSize:"14px",fontWeight:600,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"140px",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:"0 4px 12px rgba(239, 68, 68, 0.4)"},onMouseOver:g=>{g.currentTarget.style.transform="translateY(-1px)",g.currentTarget.style.boxShadow="0 6px 20px rgba(239, 68, 68, 0.5)"},onMouseOut:g=>{g.currentTarget.style.transform="translateY(0)",g.currentTarget.style.boxShadow="0 4px 12px rgba(239, 68, 68, 0.4)"},children:[r.jsx(Me,{size:16}),"Continue to Delete"]})]})]});case"confirmation":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #f59e0b, #d97706)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(tr,{size:24})}),r.jsx("div",{style:{flex:1},children:r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Confirm Deletion"})})]}),r.jsxs("div",{style:{marginBottom:"24px"},children:[r.jsxs("p",{style:{color:o.textSecondary,marginBottom:"16px",fontSize:"14px",lineHeight:"1.5"},children:["Type"," ",r.jsx("strong",{style:{color:o.textPrimary},children:'"delete my account"'})," ","to confirm:"]}),r.jsx("input",{type:"text",value:f,onChange:g=>x(g.target.value),placeholder:"delete my account",style:{width:"100%",padding:"14px 16px",borderRadius:"10px",border:`2px solid ${h?o.success:o.error}`,backgroundColor:"transparent",color:o.textPrimary,fontSize:"15px",outline:"none",transition:"all 0.2s ease",boxSizing:"border-box"},onFocus:g=>{g.target.style.boxShadow=`0 0 0 3px ${o.accent}20`},onBlur:g=>{g.target.style.boxShadow="none"},autoFocus:!0}),h&&r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",marginTop:"10px",color:o.success,fontSize:"14px",fontWeight:500},children:[r.jsx(tt,{size:16}),r.jsx("span",{children:"Confirmation accepted"})]})]}),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:"column-reverse",justifyContent:"flex-end",alignItems:"stretch"},children:[r.jsx("button",{onClick:()=>{k("warning"),x("")},style:{padding:"10px 24px",borderRadius:"10px",border:`1.5px solid ${o.border}`,background:"transparent",color:o.textPrimary,fontSize:"14px",fontWeight:500,cursor:"pointer",flex:T?"none":1,minWidth:T?"100%":"120px",transition:"all 0.2s ease"},onMouseOver:g=>{g.currentTarget.style.backgroundColor=o.border,g.currentTarget.style.transform="translateY(-1px)"},onMouseOut:g=>{g.currentTarget.style.backgroundColor="transparent",g.currentTarget.style.transform="translateY(0)"},children:"Go Back"}),r.jsxs("button",{onClick:w,disabled:!h||c,style:{padding:"10px 24px",borderRadius:"10px",border:"none",background:"linear-gradient(135deg, #ef4444, #dc2626)",color:"white",fontSize:"14px",fontWeight:600,cursor:!h||c?"not-allowed":"pointer",flex:T?"none":1,minWidth:T?"100%":"140px",opacity:!h||c?.6:1,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:!h||c?"none":"0 4px 12px rgba(239, 68, 68, 0.4)"},onMouseOver:g=>{h&&!c&&(g.currentTarget.style.transform="translateY(-1px)",g.currentTarget.style.boxShadow="0 6px 20px rgba(239, 68, 68, 0.5)")},onMouseOut:g=>{h&&!c&&(g.currentTarget.style.transform="translateY(0)",g.currentTarget.style.boxShadow="0 4px 12px rgba(239, 68, 68, 0.4)")},children:[r.jsx(Me,{size:16}),"Yes, Delete My Account"]})]})]});case"processing":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #6b7280, #4b5563)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(oe,{size:20,style:{animation:"spin 1s linear infinite"}})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Deleting Account"}),r.jsx("p",{style:{color:o.textTertiary,margin:"4px 0 0 0",fontSize:"14px",lineHeight:"1.4"},children:"Please wait while we process your request"})]})]}),r.jsx("div",{style:{marginBottom:"20px"},children:r.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[{text:"Removing your data",active:!0},{text:"Closing active sessions",active:!1},{text:"Finalizing deletion",active:!1}].map((g,z)=>r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"8px",transition:"all 0.2s ease",backgroundColor:g.active?`${o.accent}10`:"transparent"},children:[r.jsx("div",{style:{width:"8px",height:"8px",borderRadius:"50%",backgroundColor:g.active?o.accent:o.textTertiary,transition:"all 0.3s ease",boxShadow:g.active?`0 0 0 4px ${o.accent}20`:"none"}}),r.jsx("span",{style:{fontSize:"14px",color:g.active?o.textPrimary:o.textSecondary,fontWeight:g.active?500:400},children:g.text})]},z))})}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"16px",background:`${o.accent}10`,borderRadius:"10px",fontSize:"14px",color:o.textSecondary},children:[r.jsx(er,{size:18,style:{color:o.accent,flexShrink:0}}),r.jsx("span",{children:"You will be redirected to the login page shortly"})]})]});case"success":return r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"24px"},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"12px",background:"linear-gradient(135deg, #10b981, #059669)",display:"flex",alignItems:"center",justifyContent:"center",color:"white",flexShrink:0},children:r.jsx(tt,{size:20})}),r.jsxs("div",{style:{flex:1},children:[r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Account Deleted"}),r.jsx("p",{style:{color:o.textTertiary,margin:"4px 0 0 0",fontSize:"14px",lineHeight:"1.4"},children:"Your account has been successfully deleted"})]})]}),r.jsxs("div",{style:{textAlign:"center",padding:"20px",background:`${o.success}10`,border:`1px solid ${o.success}20`,borderRadius:"12px",marginBottom:"24px"},children:[r.jsx(tt,{size:48,style:{color:o.success,marginBottom:"12px",display:"block",margin:"0 auto 12px auto"}}),r.jsx("p",{style:{color:o.textPrimary,fontSize:"16px",fontWeight:600,margin:"0 0 8px 0"},children:"Goodbye!"}),r.jsx("p",{style:{color:o.textSecondary,fontSize:"14px",margin:0,lineHeight:"1.5"},children:"Your account and all associated data have been permanently removed from our systems."})]}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"16px",background:`${o.accent}10`,borderRadius:"10px",fontSize:"14px",color:o.textSecondary,justifyContent:"center"},children:[r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite",color:o.accent}}),r.jsx("span",{children:"Redirecting to login page..."})]})]})}};return r.jsxs("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.8)",backdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:1e4,animation:"fadeIn 0.3s ease-out"},onClick:_,children:[r.jsx("div",{style:{backgroundColor:o.surface,border:`1px solid ${o.border}`,borderRadius:"20px",width:"100%",maxWidth:"480px",padding:"24px",boxShadow:"0 32px 64px rgba(0,0,0,0.4)",animation:"scaleIn 0.3s ease-out"},className:"delete-modal-container",children:C()}),r.jsx("style",{children:`
|
|
213
213
|
@keyframes fadeIn {
|
|
214
214
|
from { opacity: 0; }
|
|
215
215
|
to { opacity: 1; }
|
|
@@ -263,7 +263,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
263
263
|
animation: none !important;
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
`})]})},ts=({isOpen:t,onClose:e,onUpdate:n,colors:s})=>{const[i,o]=S.useState(""),[a,c]=S.useState(!1),[d,
|
|
266
|
+
`})]})},ts=({isOpen:t,onClose:e,onUpdate:n,colors:s})=>{const[i,o]=S.useState(""),[a,c]=S.useState(!1),[d,f]=S.useState(!1),[x,y]=S.useState({isValid:!1,message:"",type:null});if(S.useEffect(()=>{if(typeof window>"u")return;const u=()=>{f(window.innerWidth<640)};return u(),window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]),S.useEffect(()=>{if(!i.trim()){y({isValid:!1,message:"",type:null});return}try{const u=new URL(i),w=/\.(jpg|jpeg|png|gif|webp|svg)$/i.test(u.pathname);y(w?{isValid:!0,message:"Valid image URL",type:"success"}:{isValid:!1,message:"URL should point to an image file",type:"warning"})}catch{y({isValid:!1,message:"Please enter a valid URL",type:"error"})}},[i]),!t)return null;const k=async()=>{if(!(!i||!x.isValid)){c(!0);try{await n(i)&&(o(""),e())}finally{c(!1)}}},T=u=>{u.target===u.currentTarget&&e()};return r.jsxs("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.8)",backdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:1e3},onClick:T,children:[r.jsxs("div",{style:{backgroundColor:s.surface,border:`1px solid ${s.border}`,borderRadius:"20px",width:"100%",maxWidth:"480px",padding:"24px",boxShadow:"0 32px 64px rgba(0,0,0,0.4)",animation:"modalSlideIn 0.3s ease-out"},className:"avatar-modal-container",children:[r.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",marginBottom:"24px",gap:"16px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",flex:1},children:[r.jsx("div",{style:{width:"44px",height:"44px",borderRadius:"12px",background:`linear-gradient(135deg, ${s.accent}20, ${s.accent}40)`,display:"flex",alignItems:"center",justifyContent:"center",color:s.accent,flexShrink:0},children:r.jsx(et,{size:22})}),r.jsx("div",{children:r.jsx("h3",{style:{color:s.textPrimary,margin:0,fontSize:"20px",fontWeight:700,lineHeight:"1.3"},children:"Update Avatar"})})]}),r.jsx("button",{onClick:e,"aria-label":"Close avatar modal",style:{background:"transparent",border:"none",color:s.textTertiary,cursor:"pointer",padding:"8px",borderRadius:"8px",width:"36px",height:"36px",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.2s ease"},onMouseOver:u=>{u.currentTarget.style.backgroundColor=s.border,u.currentTarget.style.color=s.textPrimary},onMouseOut:u=>{u.currentTarget.style.backgroundColor="transparent",u.currentTarget.style.color=s.textTertiary},children:r.jsx(_e,{size:20})})]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"20px"},children:[r.jsxs("div",{children:[r.jsxs("label",{htmlFor:"avatar-url",style:{display:"flex",marginBottom:"8px",color:s.textPrimary,fontSize:"14px",fontWeight:500,alignItems:"center",gap:"6px"},children:[r.jsx(qn,{size:16}),"Avatar URL"]}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx("input",{type:"url",id:"avatar-url",placeholder:"https://example.com/your-avatar.jpg",value:i,onChange:u=>o(u.target.value),style:{width:"100%",padding:"14px 16px",paddingLeft:"44px",borderRadius:"12px",border:`1.5px solid ${x.type==="error"?s.error:x.type==="success"?s.success:s.border}`,backgroundColor:"transparent",color:s.textPrimary,fontSize:"15px",outline:"none",transition:"all 0.2s ease",boxSizing:"border-box"},onFocus:u=>{u.target.style.borderColor=s.accent,u.target.style.boxShadow=`0 0 0 3px ${s.accent}20`},onBlur:u=>{u.target.style.borderColor=x.type==="error"?s.error:x.type==="success"?s.success:s.border,u.target.style.boxShadow="none"},disabled:a}),r.jsx("div",{style:{position:"absolute",left:"16px",top:"50%",transform:"translateY(-50%)",color:s.textTertiary},children:r.jsx(Zt,{size:18})})]}),x.message&&r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",marginTop:"8px",fontSize:"13px",color:x.type==="success"?s.success:x.type==="error"?s.error:s.textTertiary},children:[x.type==="success"&&r.jsx(de,{size:14}),x.type==="error"&&r.jsx(ie,{size:14}),x.type==="warning"&&r.jsx(ie,{size:14}),x.message]})]}),i&&x.type==="success"&&r.jsxs("div",{style:{padding:"16px",backgroundColor:`${s.success}10`,border:`1px solid ${s.success}20`,borderRadius:"12px",textAlign:"center"},children:[r.jsx("p",{style:{color:s.textSecondary,fontSize:"13px",fontWeight:500,margin:"0 0 12px 0"},children:"Preview"}),r.jsx("img",{src:i,alt:"Avatar preview",style:{width:"80px",height:"80px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${s.success}40`,margin:"0 auto"},onError:u=>{u.currentTarget.style.display="none"}})]})]}),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:d?"column-reverse":"row",justifyContent:"flex-end",alignItems:"stretch",marginTop:"24px"},children:[r.jsx("button",{onClick:e,disabled:a,style:{padding:"10px 24px",borderRadius:"10px",border:`1.5px solid ${s.border}`,background:"transparent",color:s.textPrimary,fontSize:"14px",fontWeight:500,cursor:a?"not-allowed":"pointer",flex:d?"none":1,minWidth:d?"100%":"120px",opacity:a?.6:1,transition:"all 0.2s ease"},onMouseOver:u=>{a||(u.currentTarget.style.backgroundColor=s.border,u.currentTarget.style.transform="translateY(-1px)")},onMouseOut:u=>{a||(u.currentTarget.style.backgroundColor="transparent",u.currentTarget.style.transform="translateY(0)")},children:"Cancel"}),r.jsx("button",{onClick:k,disabled:a||!x.isValid,style:{padding:"10px 24px",borderRadius:"10px",border:"none",background:`linear-gradient(135deg, ${s.accent}, ${s.accent}E6)`,color:"#fff",fontSize:"14px",fontWeight:600,cursor:a||!x.isValid?"not-allowed":"pointer",flex:d?"none":1,minWidth:d?"100%":"140px",opacity:a||!x.isValid?.6:1,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:a||!x.isValid?"none":`0 4px 12px ${s.accent}40`},onMouseOver:u=>{!a&&x.isValid&&(u.currentTarget.style.transform="translateY(-1px)",u.currentTarget.style.boxShadow=`0 6px 20px ${s.accent}60`)},onMouseOut:u=>{!a&&x.isValid&&(u.currentTarget.style.transform="translateY(0)",u.currentTarget.style.boxShadow=`0 4px 12px ${s.accent}40`)},children:a?r.jsxs(r.Fragment,{children:[r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite"}}),"Updating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(et,{size:16}),"Update Avatar"]})})]})]}),r.jsx("style",{children:`
|
|
267
267
|
@keyframes modalSlideIn {
|
|
268
268
|
from {
|
|
269
269
|
opacity: 0;
|
|
@@ -311,7 +311,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
311
311
|
transition: none !important;
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
-
`})]})},rs=({isOpen:t,onClose:e,onSuccess:n,onError:s,userId:i,colors:o})=>{const a=
|
|
314
|
+
`})]})},rs=({isOpen:t,onClose:e,onSuccess:n,onError:s,userId:i,colors:o})=>{const a=fe(),[c,d]=S.useState({currentPassword:"",newPassword:"",confirmPassword:""}),[f,x]=S.useState({}),[y,k]=S.useState(!1),[T,u]=S.useState({currentPassword:!1,newPassword:!1,confirmPassword:!1}),[w,h]=S.useState(!1);if(S.useEffect(()=>{if(typeof window>"u")return;const b=()=>{h(window.innerWidth<640)};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]),!t)return null;const _=b=>{const{name:j,value:q}=b.target;d(I=>({...I,[j]:q})),f[j]&&x(I=>({...I,[j]:""}))},C=b=>{u(j=>({...j,[b]:!j[b]}))},g=()=>{const b={};return c.currentPassword||(b.currentPassword="Current password is required"),c.newPassword?c.newPassword.length<6&&(b.newPassword="Password must be at least 6 characters"):b.newPassword="New password is required",c.newPassword!==c.confirmPassword&&(b.confirmPassword="Passwords do not match"),x(b),Object.keys(b).length===0},z=async b=>{if(b.preventDefault(),!!g()){k(!0);try{const{data:j}=await a.changePassword({currentPassword:c.currentPassword,newPassword:c.newPassword,userId:i});j.success?(n(j.message||"Password updated successfully"),d({currentPassword:"",newPassword:"",confirmPassword:""}),e()):s(j.message||"Failed to update password")}catch(j){s(j.response?.data?.message||"Something went wrong")}finally{k(!1)}}},D=[{field:"currentPassword",label:"Current Password",icon:r.jsx(st,{size:18})},{field:"newPassword",label:"New Password",icon:r.jsx(we,{size:18})},{field:"confirmPassword",label:"Confirm Password",icon:r.jsx(we,{size:18})}];return r.jsx("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",backdropFilter:"blur(6px)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:1e3},children:r.jsxs("div",{style:{backgroundColor:o.surface,border:`1px solid ${o.border}`,borderRadius:"16px",maxWidth:"440px",width:"100%",padding:"24px",boxShadow:"0 20px 60px rgba(0,0,0,0.4)",maxHeight:"90vh",overflowY:"auto"},className:"change-password-modal",children:[r.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"24px",gap:"12px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",flex:1},children:[r.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"10px",background:`linear-gradient(135deg, ${o.accent}20, ${o.accent}40)`,display:"flex",alignItems:"center",justifyContent:"center",color:o.accent,flexShrink:0},children:r.jsx(we,{size:20})}),r.jsx("div",{children:r.jsx("h3",{style:{color:o.textPrimary,margin:0,fontSize:"18px",fontWeight:600,lineHeight:"1.4"},children:"Change Password"})})]}),r.jsx("button",{onClick:e,"aria-label":"Close password change modal",style:{background:"transparent",border:"none",color:o.textTertiary,cursor:"pointer",padding:"8px",borderRadius:"8px",flexShrink:0,width:"36px",height:"36px",display:"flex",alignItems:"center",justifyContent:"center"},onMouseOver:b=>{b.currentTarget.style.backgroundColor=o.border,b.currentTarget.style.color=o.textPrimary},onMouseOut:b=>{b.currentTarget.style.backgroundColor="transparent",b.currentTarget.style.color=o.textTertiary},children:r.jsx(_e,{size:20})})]}),r.jsxs("form",{onSubmit:z,children:[D.map(({field:b,label:j,icon:q})=>r.jsxs("div",{style:{marginBottom:"20px",position:"relative"},children:[r.jsx("label",{htmlFor:b,style:{display:"block",marginBottom:"8px",color:o.textPrimary,fontSize:"14px",fontWeight:500,lineHeight:"1.4"},children:j}),r.jsxs("div",{style:{position:"relative"},children:[r.jsx("div",{style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",color:o.textTertiary,zIndex:2},children:q}),r.jsx("input",{type:T[b]?"text":"password",id:b,name:b,placeholder:`Enter ${j.toLowerCase()}`,value:c[b],onChange:_,style:{width:"100%",padding:"14px 48px 14px 44px",borderRadius:"10px",border:`1.5px solid ${f[b]?o.error:o.border}`,backgroundColor:"transparent",color:o.textPrimary,fontSize:"15px",outline:"none",transition:"all 0.2s ease",boxSizing:"border-box"},onFocus:I=>{I.target.style.borderColor=o.accent,I.target.style.boxShadow=`0 0 0 3px ${o.accent}20`},onBlur:I=>{I.target.style.borderColor=f[b]?o.error:o.border,I.target.style.boxShadow="none"}}),r.jsx("button",{type:"button",onClick:()=>C(b),style:{position:"absolute",right:"14px",top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",cursor:"pointer",color:o.textTertiary,padding:"4px",borderRadius:"4px",width:"32px",height:"32px",display:"flex",alignItems:"center",justifyContent:"center"},onMouseOver:I=>{I.currentTarget.style.backgroundColor=o.border,I.currentTarget.style.color=o.textPrimary},onMouseOut:I=>{I.currentTarget.style.backgroundColor="transparent",I.currentTarget.style.color=o.textTertiary},children:T[b]?r.jsx(rt,{size:18}):r.jsx(nt,{size:18})})]}),f[b]&&r.jsxs("div",{style:{fontSize:"13px",color:o.error,marginTop:"6px",display:"flex",alignItems:"center",gap:"6px"},children:[r.jsx("span",{style:{fontSize:"16px"},children:"⚠"}),f[b]]})]},b)),r.jsxs("div",{style:{display:"flex",gap:"12px",flexDirection:w?"column-reverse":"row",justifyContent:"flex-end",alignItems:"stretch"},children:[r.jsx("button",{type:"button",onClick:e,disabled:y,style:{padding:"14px 24px",borderRadius:"10px",border:`1.5px solid ${o.border}`,background:"transparent",color:o.textPrimary,fontSize:"14px",fontWeight:500,cursor:y?"not-allowed":"pointer",flex:w?"none":1,minWidth:w?"100%":"120px",opacity:y?.6:1,transition:"all 0.2s ease"},onMouseOver:b=>{y||(b.currentTarget.style.backgroundColor=o.border,b.currentTarget.style.transform="translateY(-1px)")},onMouseOut:b=>{y||(b.currentTarget.style.backgroundColor="transparent",b.currentTarget.style.transform="translateY(0)")},children:"Cancel"}),r.jsx("button",{type:"submit",disabled:y,style:{padding:"14px 24px",borderRadius:"10px",border:"none",background:`linear-gradient(135deg, ${o.accent}, ${o.accent}E6)`,color:"#fff",fontSize:"14px",fontWeight:600,cursor:y?"not-allowed":"pointer",flex:w?"none":1,minWidth:w?"100%":"140px",opacity:y?.8:1,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",transition:"all 0.2s ease",boxShadow:y?"none":`0 4px 12px ${o.accent}40`},onMouseOver:b=>{y||(b.currentTarget.style.transform="translateY(-1px)",b.currentTarget.style.boxShadow=`0 6px 20px ${o.accent}60`)},onMouseOut:b=>{y||(b.currentTarget.style.transform="translateY(0)",b.currentTarget.style.boxShadow=`0 4px 12px ${o.accent}40`)},children:y?r.jsxs(r.Fragment,{children:[r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite"}}),"Updating..."]}):"Update Password"})]})]}),r.jsx("style",{children:`
|
|
315
315
|
@keyframes spin {
|
|
316
316
|
from { transform: rotate(0deg); }
|
|
317
317
|
to { transform: rotate(360deg); }
|
|
@@ -349,7 +349,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
349
349
|
padding: 16px 12px;
|
|
350
350
|
}
|
|
351
351
|
}
|
|
352
|
-
`})]})})},ns=({isOpen:t,onClose:e,onVerify:n,onSendOTP:s,verifyFormData:i,setVerifyFormData:o,otpSent:a,verifying:c,user:d,colors:
|
|
352
|
+
`})]})})},ns=({isOpen:t,onClose:e,onVerify:n,onSendOTP:s,verifyFormData:i,setVerifyFormData:o,otpSent:a,verifying:c,user:d,colors:f,darkMode:x})=>{if(!t)return null;const y=()=>{e(),o({email:d?.email||"",otp:""})};return r.jsxs("div",{className:"modal-overlay",style:{backgroundColor:x?"rgba(0, 0, 0, 0.8)":"rgba(0, 0, 0, 0.5)"},children:[r.jsxs("div",{className:"verify-email-modal",style:{backgroundColor:f.surface,border:`1px solid ${f.border}`},children:[r.jsxs("div",{className:"modal-header",children:[r.jsx("h3",{style:{color:f.textPrimary},children:"Verify Your Email"}),r.jsx("button",{onClick:y,className:"close-btn",style:{color:f.textTertiary},"aria-label":"Close verification modal",children:r.jsx(_e,{size:20,"aria-hidden":"true"})})]}),r.jsxs("form",{className:"verify-form",onSubmit:n,children:[r.jsxs("div",{className:"form-group",children:[r.jsx("label",{style:{color:f.textSecondary},children:"Email"}),r.jsxs("div",{className:"input-container",children:[r.jsx(pe,{size:18,style:{color:f.textTertiary},"aria-hidden":"true"}),r.jsx("input",{type:"email",value:i.email,onChange:k=>o(T=>({...T,email:k.target.value})),placeholder:"Enter your email",style:{backgroundColor:f.surfaceLight,color:f.textPrimary,borderColor:f.border},required:!0,"aria-required":"true","aria-label":"Email address"})]})]}),a&&r.jsxs("div",{className:"form-group",children:[r.jsx("label",{style:{color:f.textSecondary},children:"OTP"}),r.jsxs("div",{className:"input-container",children:[r.jsx(Qt,{size:18,style:{color:f.textTertiary},"aria-hidden":"true"}),r.jsx("input",{type:"text",value:i.otp,onChange:k=>o(T=>({...T,otp:k.target.value})),placeholder:"Enter OTP",style:{backgroundColor:f.surfaceLight,color:f.textPrimary,borderColor:f.border},required:!0,"aria-required":"true","aria-label":"One-time password"})]})]}),r.jsx("div",{className:"modal-actions",children:a?r.jsxs("button",{type:"submit",disabled:c,className:"btn-primary",style:{background:`linear-gradient(to right, ${f.accent}, ${f.accentHover})`,opacity:c?.7:1},"aria-label":c?"Verifying email":"Verify email",children:[c?r.jsx(oe,{size:16,className:"spinner","aria-hidden":"true"}):r.jsx(de,{size:16,"aria-hidden":"true"}),c?"Verifying...":"Verify Email"]}):r.jsxs("button",{type:"button",onClick:s,disabled:c,className:"btn-primary",style:{background:`linear-gradient(to right, ${f.accent}, ${f.accentHover})`,opacity:c?.7:1},"aria-label":c?"Sending OTP":"Send OTP",children:[c?r.jsx(oe,{size:16,className:"spinner","aria-hidden":"true"}):r.jsx(ot,{size:16,"aria-hidden":"true"}),c?"Sending...":"Send OTP"]})})]})]}),r.jsx("style",{children:`
|
|
353
353
|
.modal-overlay {
|
|
354
354
|
position: fixed;
|
|
355
355
|
top: 0;
|
|
@@ -442,8 +442,8 @@ React keys must be passed directly to JSX without using spread:
|
|
|
442
442
|
}
|
|
443
443
|
|
|
444
444
|
.input-container input:focus {
|
|
445
|
-
border-color: ${
|
|
446
|
-
box-shadow: 0 0 0 3px ${
|
|
445
|
+
border-color: ${f.accent};
|
|
446
|
+
box-shadow: 0 0 0 3px ${f.accent}20;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
.modal-actions {
|
|
@@ -496,7 +496,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
496
496
|
animation: none;
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
`})]})},ss=({darkMode:t=!0,homeUrl:e,onLogout:n,onVerify:s,primaryColor:i="#00C212"})=>{const o=me(),[a,c]=S.useState(null),[d,u]=S.useState(),[x,y]=S.useState(!0),[k,T]=S.useState(!1),[p,w]=S.useState(!1),[h,I]=S.useState(!1),[C,g]=S.useState(!1),[z,D]=S.useState(!1),[b,j]=S.useState(!1),[q,_]=S.useState(!1),[X,W]=S.useState(!1),[P,G]=S.useState(null),[O,R]=S.useState(!1),[M,K]=S.useState({email:"",otp:""}),[H,F]=S.useState(!1),[J,l]=S.useState(!1);S.useEffect(()=>{if(typeof window<"u"){const v=()=>c(window.innerWidth);return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)}},[]);const m=(v,$)=>{G({type:v,message:$}),setTimeout(()=>G(null),3e3)},E=()=>{W(!0);const v=setTimeout(()=>{_(!1),W(!1)},150);return()=>clearTimeout(v)};S.useEffect(()=>{const v=$=>{const V=document.querySelector(".dropdown-container");V&&!V.contains($.target)&&E()};return q&&document.addEventListener("mousedown",v),()=>{document.removeEventListener("mousedown",v)}},[q]);const U=async()=>{if(!M.email||!/\S+@\S+\.\S+/.test(M.email)){m("error","Please enter a valid email");return}if(!d?.id){m("error","User not found. Cannot send OTP.");return}try{l(!0);const v=await o.requestEmailVerificationOTP({userId:d.id,email:M.email}),$=v?.data?.success??v?.success,V=v?.data?.message??v?.message;$?(m("success",V||"OTP sent to email!"),F(!0)):m("error",V||"Failed to send OTP")}catch(v){const $=v?.response?.data?.message||v?.message||"Server error";m("error",$)}finally{l(!1)}},ne=async v=>{if(v.preventDefault(),!M.email||!M.otp){m("error","Please fill in all fields");return}if(!d){m("error","User not found");return}try{l(!0);const $=await o.verifyEmail({email:M.email,otp:M.otp}),V=$?.data?.success??$?.success,Q=$?.data?.message??$?.message;if(V){m("success",Q||"Email verified!");const ue={...d,isVerified:!0};u(ue),typeof s=="function"&&s(ue),K({email:ue.email,otp:""}),F(!1),j?.(!1)}else m("error",Q||"Verification failed")}catch($){const V=$?.response?.data?.message||$?.message||"Something went wrong";m("error",V)}finally{l(!1)}},le=async v=>{if(!d)return!1;try{const $=await o.updateUser({userId:d.id,avatarUrl:v});if($?.success){const V={...d,...$.user,avatarUrl:v};return u(V),m("success","Avatar updated successfully!"),!0}return m("error",$?.message||"Failed to update avatar"),!1}catch($){return console.error("Avatar update error:",$),m("error","Failed to update avatar"),!1}},B=async()=>{if(d){w(!0);try{const v=d.email,$=await o.updateUser({userId:d.id,...d});if($.success&&$.user){const V=$.user.email!==v,Q={...d,...$.user,isVerified:V?!1:d.isVerified};u(Q),localStorage.setItem("userInfo",JSON.stringify(Q)),m("success",V?"Email updated. Please verify your new email.":"Profile updated successfully"),T(!1)}else m("error",$.message||"Update failed")}catch(v){console.error(v),m("error","Update failed")}finally{w(!1)}}},ce=async v=>{try{const $=await o.checkIfUserExists(v);$?.success===!0&&$?.exists===!1&&(console.warn("❌ User does not exist on server. Clearing session..."),localStorage.removeItem("userInfo"),u(null))}catch($){console.error("⚠️ User validation request failed:",$)}};S.useEffect(()=>{(async()=>{try{y(!0);const $=await o.checkUserSession();if($.user?.id){const V=$.user.id,Q=await o.getUserProfile({userId:V});if(Q.user){const ue=Q.user;u(ue),ce(V)}else u(null),localStorage.removeItem("userInfo")}else u(null),localStorage.removeItem("userInfo")}catch($){console.error("User init failed:",$),u(null),localStorage.removeItem("userInfo")}finally{y(!1)}})()},[]),S.useEffect(()=>{d?.email&&K(v=>({...v,email:d.email}))},[d?.email]);const je=(v,$)=>{let V=parseInt(v.replace("#",""),16),Q=(V>>16)+$,ue=(V>>8&255)+$,at=(V&255)+$;return Q=Math.min(255,Math.max(0,Q)),ue=Math.min(255,Math.max(0,ue)),at=Math.min(255,Math.max(0,at)),`#${(at|ue<<8|Q<<16).toString(16).padStart(6,"0")}`},A=t?{background:"#000000",surface:"#09090b",surfaceLight:"#27272a",surfaceLighter:"#3f3f46",textPrimary:"#ffffff",textSecondary:"#d4d4d8",textTertiary:"#a1a1aa",accent:i,accentHover:je(i,-15),success:"#10b981",error:"#ef4444",border:"#27272a",warning:"#f59e0b"}:{background:"#ffffff",surface:"#fafafa",surfaceLight:"#f4f4f5",surfaceLighter:"#e4e4e7",textPrimary:"#18181b",textSecondary:"#52525b",textTertiary:"#71717a",accent:i,accentHover:je(i,-15),success:"#10b981",error:"#ef4444",border:"#e4e4e7",warning:"#d97706"};if(x)return r.jsx("div",{style:{width:"100%",minHeight:"400px",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif"},children:r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"16px",textAlign:"center"},children:[r.jsx(oe,{size:40,color:A.accent,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}),r.jsx("p",{style:{color:A.textTertiary,margin:0},children:"Loading your profile..."})]})});if(!d)return r.jsx("div",{style:{width:"100%",minHeight:"400px",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif"},children:r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"12px",textAlign:"center"},children:[r.jsx(ie,{size:40,color:A.error,"aria-hidden":"true"}),r.jsx("p",{style:{color:A.textTertiary,margin:0},children:"No profile found. Please log in again."})]})});const as=[{label:"Full Name",value:d.name,name:"name",type:"text",icon:Se},{label:"Email Address",value:d.email,name:"email",type:"email",icon:pe},{label:"Phone Number",value:d.phone||"Not set",name:"phone",type:"tel",icon:Hn},{label:"Address",value:d.address||"Not provided",name:"address",type:"text",icon:Wn}];return r.jsxs("div",{style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif",lineHeight:1.5,minHeight:"80vh"},children:[P&&r.jsxs("div",{style:{position:"fixed",top:"20px",right:"20px",padding:"12px 24px",borderRadius:"12px",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25)",backdropFilter:"blur(8px)",border:"1px solid",zIndex:1e3,display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",fontWeight:500,maxWidth:"400px",animation:"slideIn 0.3s ease-out",...P.type==="success"?{backgroundColor:t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)",borderColor:t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)",color:t?"#34d399":"#059669"}:{backgroundColor:t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)",borderColor:t?"rgba(239, 68, 68, 0.3)":"rgba(239, 68, 68, 0.2)",color:t?"#f87171":"#dc2626"}},role:"alert","aria-live":"polite",children:[P.type==="success"?r.jsx(de,{size:20,"aria-hidden":"true"}):r.jsx(ie,{size:20,"aria-hidden":"true"}),P.message]}),r.jsx("div",{style:{maxWidth:"1200px",margin:"0 auto",width:"100%",boxSizing:"border-box"},children:r.jsxs("div",{style:{display:"grid",gap:"24px",gridTemplateColumns:"1fr",...a&&window.innerWidth>=1024&&{gridTemplateColumns:"1fr 2fr",gap:"10px"},...a&&window.innerWidth>=768&&a&&window.innerWidth<1024&&{gap:"10px"},...a&&window.innerWidth>=600&&a&&window.innerWidth<768&&{gap:"28px"}},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px",height:"100%"},children:[r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",position:"relative",padding:"24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)",textAlign:"center",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",flex:1,minHeight:"300px"},children:[e&&r.jsx("a",{href:e||"/",target:"_self",rel:"noopener noreferrer",style:{position:"absolute",top:"18px",left:"18px"},children:r.jsx(Ln,{size:20,style:{color:t?"#ffffff":"#000000"}})}),r.jsxs("div",{style:{position:"relative",display:"inline-block",marginBottom:"16px"},children:[r.jsx("img",{src:d.avatarUrl||`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(d.name)}`,alt:`Profile avatar of ${d.name}`,style:{width:"128px",height:"128px",borderRadius:"50%",objectFit:"cover",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.3)",border:`3px solid ${A.border}`},width:128,height:128,loading:"eager"}),r.jsx("button",{onClick:()=>I(!0),style:{position:"absolute",bottom:"8px",right:"8px",backgroundColor:A.accent,color:"white",padding:"8px",borderRadius:"50%",border:"none",cursor:"pointer",transition:"all 0.2s ease",display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px"},"aria-label":"Change profile picture",children:r.jsx(et,{size:16,"aria-hidden":"true"})})]}),r.jsx("h2",{style:{fontSize:"24px",fontWeight:600,margin:"0 0 4px 0",color:A.textPrimary},children:d.name}),r.jsx("p",{style:{color:A.textTertiary,margin:"0 0 8px 0"},children:d.email}),r.jsxs("div",{style:{backgroundColor:d.isVerified?t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)":t?"rgba(245, 158, 11, 0.1)":"rgba(245, 158, 11, 0.05)",color:d.isVerified?A.success:A.warning,border:`1px solid ${d.isVerified?t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)":t?"rgba(245, 158, 11, 0.3)":"rgba(245, 158, 11, 0.2)"}`,padding:"6px 12px",borderRadius:"20px",fontSize:"12px",fontWeight:500,display:"inline-flex",alignItems:"center",gap:"6px",marginTop:"8px"},children:[d.isVerified?r.jsx(de,{size:16,"aria-hidden":"true"}):r.jsx(ie,{size:16,"aria-hidden":"true"}),d.isVerified?"Email Verified":"Not Verified"]})]}),r.jsx("nav",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:k?r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>T(!1),style:{backgroundColor:A.surfaceLight,border:`1px solid ${A.border}`,color:A.textPrimary,padding:"10px 20px",borderRadius:"6px",borderStyle:"solid",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[r.jsx(Ie,{size:16,"aria-hidden":"true"}),"Cancel"]}),r.jsxs("button",{onClick:B,disabled:p,style:{background:`linear-gradient(to right, ${A.accent}, ${A.accentHover})`,opacity:p?.7:1,color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:p?"not-allowed":"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[p?r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}):r.jsx(Vn,{size:16,"aria-hidden":"true"}),p?"Saving...":"Save Changes"]})]}):r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>T(!0),style:{background:`linear-gradient(to right, ${A.accent}, ${A.accentHover})`,color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[r.jsx(Bn,{size:16,"aria-hidden":"true"}),"Edit Profile"]}),!d.isVerified&&r.jsxs("button",{onClick:()=>j(!0),disabled:O,style:{background:"linear-gradient(to right, #fbbf24, #f59e0b)",color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:O?"not-allowed":"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"36px",opacity:O?.7:1,flex:a&&window.innerWidth<1024?"1":"auto"},children:[O?r.jsx(oe,{size:14,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}):r.jsx(ot,{size:14,"aria-hidden":"true"}),O?"Sending...":"Verify Email"]}),r.jsxs("div",{style:{position:"relative"},children:[r.jsxs("button",{style:{backgroundColor:A.surfaceLight,color:A.textPrimary,padding:"10px 20px",borderRadius:"6px",border:"none",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",width:"100%",boxSizing:"border-box"},onClick:()=>_(!q),children:[r.jsx(Fn,{size:16,"aria-hidden":"true"}),"More Actions"]}),q&&r.jsxs("div",{className:`dropdown-container ${X?"closing":""}`,style:{position:"absolute",bottom:"100%",left:0,right:0,backgroundColor:A.surface,border:`1px solid ${A.border}`,borderRadius:"12px 12px 0 0",boxShadow:"0 -8px 24px rgba(0, 0, 0, 0.25)",zIndex:200,marginBottom:"6px",overflow:"hidden",animation:`${X?"drawerSlideDown":"drawerSlideUp"} 0.25s ease-out forwards`},children:[r.jsxs("button",{onClick:()=>{g(!0),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:A.textPrimary,cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>v.currentTarget.style.backgroundColor=A.surfaceLight,onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(st,{size:14,"aria-hidden":"true"}),"Change Password"]}),n&&r.jsxs("button",{onClick:()=>{n(),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:t?"#fca5a5":"#dc2626",cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>{v.currentTarget.style.backgroundColor=t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)"},onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(it,{size:14,"aria-hidden":"true"}),"Logout"]}),r.jsxs("button",{onClick:()=>{D(!0),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:"#ef4444",cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>{v.currentTarget.style.backgroundColor=t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)"},onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(Me,{size:14,"aria-hidden":"true"}),"Delete Account"]})]})]})]})})]}),r.jsxs("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:"12px"},children:[r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",padding:"24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},children:[r.jsxs("h2",{style:{fontSize:"20px",fontWeight:600,margin:"0 0 24px 0",color:A.textSecondary,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(Se,{size:20,"aria-hidden":"true"}),"Personal Information"]}),r.jsx("div",{style:{display:"grid",gap:"20px",gridTemplateColumns:"1fr",...a&&window.innerWidth>=600&&{gridTemplateColumns:"1fr 1fr",gap:"20px"}},children:as.map(v=>{const $=v.icon;return r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[r.jsxs("label",{style:{color:A.textTertiary,fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx($,{size:16,"aria-hidden":"true"}),v.label]}),k?r.jsx("input",{type:v.type,name:v.name,value:d[v.name],onChange:V=>u(Q=>Q&&{...Q,[V.target.name]:V.target.value}),style:{padding:"12px",borderRadius:"8px",border:`1px solid ${i}`,backgroundColor:"transparent",color:A.textPrimary,fontSize:"12px",outline:"none",transition:"border-color 0.2s ease",minHeight:"44px",width:"100%",boxSizing:"border-box"},placeholder:`Enter ${v.label.toLowerCase()}`,"aria-label":v.label}):r.jsx("div",{style:{padding:"12px",borderRadius:"8px",border:"1px solid transparent",fontSize:"12px",minHeight:"44px",display:"flex",alignItems:"center",boxSizing:"border-box",color:A.textPrimary,backgroundColor:t?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.05)"},children:v.value})]},v.name)})})]}),r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",padding:"30px 24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},children:[r.jsxs("h2",{style:{fontSize:"20px",fontWeight:600,margin:"0 0 24px 0",color:A.textSecondary,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(er,{size:20,"aria-hidden":"true"}),"Security Status"]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 0"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",color:A.textSecondary},children:[r.jsx(pe,{size:16,"aria-hidden":"true"}),r.jsx("span",{children:"Email Verification"})]}),r.jsx("div",{style:{padding:"6px 12px",borderRadius:"8px",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",gap:"6px",...d.isVerified?{backgroundColor:t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)",color:A.success,border:`1px solid ${t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)"}`}:{backgroundColor:t?"rgba(245, 158, 11, 0.1)":"rgba(245, 158, 11, 0.05)",color:A.warning,border:`1px solid ${t?"rgba(245, 158, 11, 0.3)":"rgba(245, 158, 11, 0.2)"}`}},children:d.isVerified?r.jsxs(r.Fragment,{children:[r.jsx(de,{size:16,"aria-hidden":"true"}),"Verified"]}):r.jsxs(r.Fragment,{children:[r.jsx(ie,{size:16,"aria-hidden":"true"}),"Not Verified"]})})]}),!d.isVerified&&r.jsx("div",{style:{padding:"12px",borderRadius:"8px",backgroundColor:t?"rgba(100, 100, 100, 0.1)":"rgba(0, 0, 0, 0.05)"},children:r.jsx("p",{style:{color:A.textTertiary,fontSize:"12px",margin:0},children:"Verify your email to unlock all features and enhance your account security."})})]})]})]})]})}),r.jsx(ts,{isOpen:h,onClose:()=>{I(!1)},onUpdate:le,colors:A}),r.jsx(rs,{userId:d.id,isOpen:C,onClose:()=>g(!1),onSuccess:v=>m("success",v),onError:v=>m("error",v),colors:A}),r.jsx(es,{userId:d.id,isOpen:z,onClose:()=>D(!1),onSuccess:v=>m("success",v),onError:v=>m("error",v),colors:A}),r.jsx(ns,{isOpen:b,onClose:()=>{j(!1),F(!1),K({email:d?.email||"",otp:""})},onVerify:ne,onSendOTP:U,verifyFormData:M,setVerifyFormData:K,otpSent:H,verifying:J,user:d,colors:A,darkMode:t}),r.jsx("style",{children:`
|
|
499
|
+
`})]})},ss=({darkMode:t=!0,homeUrl:e,onLogout:n,onVerify:s,primaryColor:i="#00C212"})=>{const o=fe(),[a,c]=S.useState(null),[d,f]=S.useState(),[x,y]=S.useState(!0),[k,T]=S.useState(!1),[u,w]=S.useState(!1),[h,_]=S.useState(!1),[C,g]=S.useState(!1),[z,D]=S.useState(!1),[b,j]=S.useState(!1),[q,I]=S.useState(!1),[X,W]=S.useState(!1),[P,G]=S.useState(null),[O,R]=S.useState(!1),[M,K]=S.useState({email:"",otp:""}),[H,L]=S.useState(!1),[J,l]=S.useState(!1);S.useEffect(()=>{if(typeof window<"u"){const v=()=>c(window.innerWidth);return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)}},[]);const m=(v,$)=>{G({type:v,message:$}),setTimeout(()=>G(null),3e3)},E=()=>{W(!0);const v=setTimeout(()=>{I(!1),W(!1)},150);return()=>clearTimeout(v)};S.useEffect(()=>{const v=$=>{const V=document.querySelector(".dropdown-container");V&&!V.contains($.target)&&E()};return q&&document.addEventListener("mousedown",v),()=>{document.removeEventListener("mousedown",v)}},[q]);const U=async()=>{if(!M.email||!/\S+@\S+\.\S+/.test(M.email)){m("error","Please enter a valid email");return}if(!d?.id){m("error","User not found. Cannot send OTP.");return}try{l(!0);const v=await o.requestEmailVerificationOTP({userId:d.id,email:M.email}),$=v?.data?.success??v?.success,V=v?.data?.message??v?.message;$?(m("success",V||"OTP sent to email!"),L(!0)):m("error",V||"Failed to send OTP")}catch(v){const $=v?.response?.data?.message||v?.message||"Server error";m("error",$)}finally{l(!1)}},ne=async v=>{if(v.preventDefault(),!M.email||!M.otp){m("error","Please fill in all fields");return}if(!d){m("error","User not found");return}try{l(!0);const $=await o.verifyEmail({email:M.email,otp:M.otp}),V=$?.data?.success??$?.success,Q=$?.data?.message??$?.message;if(V){m("success",Q||"Email verified!");const ue={...d,isVerified:!0};f(ue),typeof s=="function"&&s(ue),K({email:ue.email,otp:""}),L(!1),j?.(!1)}else m("error",Q||"Verification failed")}catch($){const V=$?.response?.data?.message||$?.message||"Something went wrong";m("error",V)}finally{l(!1)}},le=async v=>{if(!d)return!1;try{const $=await o.updateUser({userId:d.id,avatarUrl:v});if($?.success){const V={...d,...$.user,avatarUrl:v};return f(V),m("success","Avatar updated successfully!"),!0}return m("error",$?.message||"Failed to update avatar"),!1}catch($){return console.error("Avatar update error:",$),m("error","Failed to update avatar"),!1}},B=async()=>{if(d){w(!0);try{const v=d.email,$=await o.updateUser({userId:d.id,...d});if($.success&&$.user){const V=$.user.email!==v,Q={...d,...$.user,isVerified:V?!1:d.isVerified};f(Q),localStorage.setItem("userInfo",JSON.stringify(Q)),m("success",V?"Email updated. Please verify your new email.":"Profile updated successfully"),T(!1)}else m("error",$.message||"Update failed")}catch(v){console.error(v),m("error","Update failed")}finally{w(!1)}}},ce=async v=>{try{const $=await o.checkIfUserExists(v);$?.success===!0&&$?.exists===!1&&(console.warn("❌ User does not exist on server. Clearing session..."),localStorage.removeItem("userInfo"),f(null))}catch($){console.error("⚠️ User validation request failed:",$)}};S.useEffect(()=>{(async()=>{try{y(!0);const $=await o.checkUserSession();if($.user?.id){const V=$.user.id,Q=await o.getUserProfile({userId:V});if(Q.user){const ue=Q.user;f(ue),ce(V)}else f(null),localStorage.removeItem("userInfo")}else f(null),localStorage.removeItem("userInfo")}catch($){console.error("User init failed:",$),f(null),localStorage.removeItem("userInfo")}finally{y(!1)}})()},[]),S.useEffect(()=>{d?.email&&K(v=>({...v,email:d.email}))},[d?.email]);const je=(v,$)=>{let V=parseInt(v.replace("#",""),16),Q=(V>>16)+$,ue=(V>>8&255)+$,at=(V&255)+$;return Q=Math.min(255,Math.max(0,Q)),ue=Math.min(255,Math.max(0,ue)),at=Math.min(255,Math.max(0,at)),`#${(at|ue<<8|Q<<16).toString(16).padStart(6,"0")}`},A=t?{background:"#000000",surface:"#09090b",surfaceLight:"#27272a",surfaceLighter:"#3f3f46",textPrimary:"#ffffff",textSecondary:"#d4d4d8",textTertiary:"#a1a1aa",accent:i,accentHover:je(i,-15),success:"#10b981",error:"#ef4444",border:"#27272a",warning:"#f59e0b"}:{background:"#ffffff",surface:"#fafafa",surfaceLight:"#f4f4f5",surfaceLighter:"#e4e4e7",textPrimary:"#18181b",textSecondary:"#52525b",textTertiary:"#71717a",accent:i,accentHover:je(i,-15),success:"#10b981",error:"#ef4444",border:"#e4e4e7",warning:"#d97706"};if(x)return r.jsx("div",{style:{width:"100%",minHeight:"400px",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif"},children:r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"16px",textAlign:"center"},children:[r.jsx(oe,{size:40,color:A.accent,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}),r.jsx("p",{style:{color:A.textTertiary,margin:0},children:"Loading your profile..."})]})});if(!d)return r.jsx("div",{style:{width:"100%",minHeight:"400px",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif"},children:r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"12px",textAlign:"center"},children:[r.jsx(ie,{size:40,color:A.error,"aria-hidden":"true"}),r.jsx("p",{style:{color:A.textTertiary,margin:0},children:"No profile found. Please log in again."})]})});const as=[{label:"Full Name",value:d.name,name:"name",type:"text",icon:Se},{label:"Email Address",value:d.email,name:"email",type:"email",icon:pe},{label:"Phone Number",value:d.phone||"Not set",name:"phone",type:"tel",icon:Hn},{label:"Address",value:d.address||"Not provided",name:"address",type:"text",icon:Wn}];return r.jsxs("div",{style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:A.textPrimary,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, sans-serif",lineHeight:1.5,minHeight:"80vh"},children:[P&&r.jsxs("div",{style:{position:"fixed",top:"20px",right:"20px",padding:"12px 24px",borderRadius:"12px",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25)",backdropFilter:"blur(8px)",border:"1px solid",zIndex:1e3,display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",fontWeight:500,maxWidth:"400px",animation:"slideIn 0.3s ease-out",...P.type==="success"?{backgroundColor:t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)",borderColor:t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)",color:t?"#34d399":"#059669"}:{backgroundColor:t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)",borderColor:t?"rgba(239, 68, 68, 0.3)":"rgba(239, 68, 68, 0.2)",color:t?"#f87171":"#dc2626"}},role:"alert","aria-live":"polite",children:[P.type==="success"?r.jsx(de,{size:20,"aria-hidden":"true"}):r.jsx(ie,{size:20,"aria-hidden":"true"}),P.message]}),r.jsx("div",{style:{maxWidth:"1200px",margin:"0 auto",width:"100%",boxSizing:"border-box"},children:r.jsxs("div",{style:{display:"grid",gap:"24px",gridTemplateColumns:"1fr",...a&&window.innerWidth>=1024&&{gridTemplateColumns:"1fr 2fr",gap:"10px"},...a&&window.innerWidth>=768&&a&&window.innerWidth<1024&&{gap:"10px"},...a&&window.innerWidth>=600&&a&&window.innerWidth<768&&{gap:"28px"}},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px",height:"100%"},children:[r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",position:"relative",padding:"24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)",textAlign:"center",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",flex:1,minHeight:"300px"},children:[e&&r.jsx("a",{href:e||"/",target:"_self",rel:"noopener noreferrer",style:{position:"absolute",top:"18px",left:"18px"},children:r.jsx(Fn,{size:20,style:{color:t?"#ffffff":"#000000"}})}),r.jsxs("div",{style:{position:"relative",display:"inline-block",marginBottom:"16px"},children:[r.jsx("img",{src:d.avatarUrl||`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(d.name)}`,alt:`Profile avatar of ${d.name}`,style:{width:"128px",height:"128px",borderRadius:"50%",objectFit:"cover",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.3)",border:`3px solid ${A.border}`},width:128,height:128,loading:"eager"}),r.jsx("button",{onClick:()=>_(!0),style:{position:"absolute",bottom:"8px",right:"8px",backgroundColor:A.accent,color:"white",padding:"8px",borderRadius:"50%",border:"none",cursor:"pointer",transition:"all 0.2s ease",display:"flex",alignItems:"center",justifyContent:"center",width:"32px",height:"32px"},"aria-label":"Change profile picture",children:r.jsx(et,{size:16,"aria-hidden":"true"})})]}),r.jsx("h2",{style:{fontSize:"24px",fontWeight:600,margin:"0 0 4px 0",color:A.textPrimary},children:d.name}),r.jsx("p",{style:{color:A.textTertiary,margin:"0 0 8px 0"},children:d.email}),r.jsxs("div",{style:{backgroundColor:d.isVerified?t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)":t?"rgba(245, 158, 11, 0.1)":"rgba(245, 158, 11, 0.05)",color:d.isVerified?A.success:A.warning,border:`1px solid ${d.isVerified?t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)":t?"rgba(245, 158, 11, 0.3)":"rgba(245, 158, 11, 0.2)"}`,padding:"6px 12px",borderRadius:"20px",fontSize:"12px",fontWeight:500,display:"inline-flex",alignItems:"center",gap:"6px",marginTop:"8px"},children:[d.isVerified?r.jsx(de,{size:16,"aria-hidden":"true"}):r.jsx(ie,{size:16,"aria-hidden":"true"}),d.isVerified?"Email Verified":"Not Verified"]})]}),r.jsx("nav",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:k?r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>T(!1),style:{backgroundColor:A.surfaceLight,border:`1px solid ${A.border}`,color:A.textPrimary,padding:"10px 20px",borderRadius:"6px",borderStyle:"solid",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[r.jsx(_e,{size:16,"aria-hidden":"true"}),"Cancel"]}),r.jsxs("button",{onClick:B,disabled:u,style:{background:`linear-gradient(to right, ${A.accent}, ${A.accentHover})`,opacity:u?.7:1,color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:u?"not-allowed":"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[u?r.jsx(oe,{size:16,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}):r.jsx(Vn,{size:16,"aria-hidden":"true"}),u?"Saving...":"Save Changes"]})]}):r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>T(!0),style:{background:`linear-gradient(to right, ${A.accent}, ${A.accentHover})`,color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",flex:a&&window.innerWidth<1024?"1":"auto"},children:[r.jsx(Bn,{size:16,"aria-hidden":"true"}),"Edit Profile"]}),!d.isVerified&&r.jsxs("button",{onClick:()=>j(!0),disabled:O,style:{background:"linear-gradient(to right, #fbbf24, #f59e0b)",color:"white",padding:"10px 20px",borderRadius:"6px",border:"none",cursor:O?"not-allowed":"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"36px",opacity:O?.7:1,flex:a&&window.innerWidth<1024?"1":"auto"},children:[O?r.jsx(oe,{size:14,style:{animation:"spin 1s linear infinite"},"aria-hidden":"true"}):r.jsx(ot,{size:14,"aria-hidden":"true"}),O?"Sending...":"Verify Email"]}),r.jsxs("div",{style:{position:"relative"},children:[r.jsxs("button",{style:{backgroundColor:A.surfaceLight,color:A.textPrimary,padding:"10px 20px",borderRadius:"6px",border:"none",cursor:"pointer",transition:"all 0.2s ease",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",textDecoration:"none",minHeight:"36px",width:"100%",boxSizing:"border-box"},onClick:()=>I(!q),children:[r.jsx(Ln,{size:16,"aria-hidden":"true"}),"More Actions"]}),q&&r.jsxs("div",{className:`dropdown-container ${X?"closing":""}`,style:{position:"absolute",bottom:"100%",left:0,right:0,backgroundColor:A.surface,border:`1px solid ${A.border}`,borderRadius:"12px 12px 0 0",boxShadow:"0 -8px 24px rgba(0, 0, 0, 0.25)",zIndex:200,marginBottom:"6px",overflow:"hidden",animation:`${X?"drawerSlideDown":"drawerSlideUp"} 0.25s ease-out forwards`},children:[r.jsxs("button",{onClick:()=>{g(!0),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:A.textPrimary,cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>v.currentTarget.style.backgroundColor=A.surfaceLight,onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(st,{size:14,"aria-hidden":"true"}),"Change Password"]}),n&&r.jsxs("button",{onClick:()=>{n(),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:t?"#fca5a5":"#dc2626",cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>{v.currentTarget.style.backgroundColor=t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)"},onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(it,{size:14,"aria-hidden":"true"}),"Logout"]}),r.jsxs("button",{onClick:()=>{D(!0),E()},style:{width:"100%",padding:"14px 18px",backgroundColor:"transparent",border:"none",color:"#ef4444",cursor:"pointer",transition:"all 0.2s ease",fontSize:"13px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px",textAlign:"left"},onMouseEnter:v=>{v.currentTarget.style.backgroundColor=t?"rgba(239, 68, 68, 0.1)":"rgba(239, 68, 68, 0.05)"},onMouseLeave:v=>v.currentTarget.style.backgroundColor="transparent",children:[r.jsx(Me,{size:14,"aria-hidden":"true"}),"Delete Account"]})]})]})]})})]}),r.jsxs("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:"12px"},children:[r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",padding:"24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},children:[r.jsxs("h2",{style:{fontSize:"20px",fontWeight:600,margin:"0 0 24px 0",color:A.textSecondary,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(Se,{size:20,"aria-hidden":"true"}),"Personal Information"]}),r.jsx("div",{style:{display:"grid",gap:"20px",gridTemplateColumns:"1fr",...a&&window.innerWidth>=600&&{gridTemplateColumns:"1fr 1fr",gap:"20px"}},children:as.map(v=>{const $=v.icon;return r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[r.jsxs("label",{style:{color:A.textTertiary,fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx($,{size:16,"aria-hidden":"true"}),v.label]}),k?r.jsx("input",{type:v.type,name:v.name,value:d[v.name],onChange:V=>f(Q=>Q&&{...Q,[V.target.name]:V.target.value}),style:{padding:"12px",borderRadius:"8px",border:`1px solid ${i}`,backgroundColor:"transparent",color:A.textPrimary,fontSize:"12px",outline:"none",transition:"border-color 0.2s ease",minHeight:"44px",width:"100%",boxSizing:"border-box"},placeholder:`Enter ${v.label.toLowerCase()}`,"aria-label":v.label}):r.jsx("div",{style:{padding:"12px",borderRadius:"8px",border:"1px solid transparent",fontSize:"12px",minHeight:"44px",display:"flex",alignItems:"center",boxSizing:"border-box",color:A.textPrimary,backgroundColor:t?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.05)"},children:v.value})]},v.name)})})]}),r.jsxs("section",{style:{backgroundColor:A.surface,borderRadius:"16px",padding:"30px 24px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},children:[r.jsxs("h2",{style:{fontSize:"20px",fontWeight:600,margin:"0 0 24px 0",color:A.textSecondary,display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(er,{size:20,"aria-hidden":"true"}),"Security Status"]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 0"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px",color:A.textSecondary},children:[r.jsx(pe,{size:16,"aria-hidden":"true"}),r.jsx("span",{children:"Email Verification"})]}),r.jsx("div",{style:{padding:"6px 12px",borderRadius:"8px",fontSize:"12px",fontWeight:500,display:"flex",alignItems:"center",gap:"6px",...d.isVerified?{backgroundColor:t?"rgba(16, 185, 129, 0.1)":"rgba(16, 185, 129, 0.05)",color:A.success,border:`1px solid ${t?"rgba(16, 185, 129, 0.3)":"rgba(16, 185, 129, 0.2)"}`}:{backgroundColor:t?"rgba(245, 158, 11, 0.1)":"rgba(245, 158, 11, 0.05)",color:A.warning,border:`1px solid ${t?"rgba(245, 158, 11, 0.3)":"rgba(245, 158, 11, 0.2)"}`}},children:d.isVerified?r.jsxs(r.Fragment,{children:[r.jsx(de,{size:16,"aria-hidden":"true"}),"Verified"]}):r.jsxs(r.Fragment,{children:[r.jsx(ie,{size:16,"aria-hidden":"true"}),"Not Verified"]})})]}),!d.isVerified&&r.jsx("div",{style:{padding:"12px",borderRadius:"8px",backgroundColor:t?"rgba(100, 100, 100, 0.1)":"rgba(0, 0, 0, 0.05)"},children:r.jsx("p",{style:{color:A.textTertiary,fontSize:"12px",margin:0},children:"Verify your email to unlock all features and enhance your account security."})})]})]})]})]})}),r.jsx(ts,{isOpen:h,onClose:()=>{_(!1)},onUpdate:le,colors:A}),r.jsx(rs,{userId:d.id,isOpen:C,onClose:()=>g(!1),onSuccess:v=>m("success",v),onError:v=>m("error",v),colors:A}),r.jsx(es,{userId:d.id,isOpen:z,onClose:()=>D(!1),onSuccess:v=>m("success",v),onError:v=>m("error",v),colors:A}),r.jsx(ns,{isOpen:b,onClose:()=>{j(!1),L(!1),K({email:d?.email||"",otp:""})},onVerify:ne,onSendOTP:U,verifyFormData:M,setVerifyFormData:K,otpSent:H,verifying:J,user:d,colors:A,darkMode:t}),r.jsx("style",{children:`
|
|
500
500
|
@keyframes slideIn {
|
|
501
501
|
from {
|
|
502
502
|
transform: translateX(100%);
|
|
@@ -584,4 +584,4 @@ React keys must be passed directly to JSX without using spread:
|
|
|
584
584
|
transition-duration: 0.01ms !important;
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
|
-
`})]})},is=({darkMode:t=!0,primaryColor:e="#3b82f6",onLogout:n,varient:s="classic",propUser:i,className:o="",profileUrl:a,settingsUrl:c,showProfileMenuItem:d=!0,showSettingsMenuItem:u=!0,showViewProfileMenuItem:x=!0,profileLabel:y="My Profile",settingsLabel:k="Settings",viewProfileLabel:T="View Profile",logoutLabel:p="Sign Out"})=>{const w=me(),[h,I]=S.useState(!1),[C,g]=S.useState(null),[z,D]=S.useState(!0),[b,j]=S.useState(null),q=S.useRef(null),_=S.useRef(null),[X,W]=S.useState(!1),[P,G]=S.useState(!1);S.useEffect(()=>{if(typeof window>"u")return;const l=()=>{G(window.innerWidth<768)};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[]),S.useEffect(()=>{let l=!0;return(async()=>{try{if(D(!0),j(null),i){if(!i.id||!i.name||!i.email)throw new Error("Invalid user data provided");l&&g(i);return}const E=await w.checkUserSession();if(!l)return;if(!E?.authenticated||!E.user){g(null);return}const U={id:E.user.id,email:E.user.email,name:E.user.email.split("@")[0]};g(U)}catch(E){console.error("User initialization failed:",E),l&&(g(null),j(E.message||"Failed to load user"))}finally{l&&D(!1)}})(),()=>{l=!1}},[i,w]),S.useEffect(()=>{if(typeof window>"u")return;const l=()=>{if(!h||!_.current)return;const m=_.current.getBoundingClientRect(),E=window.innerWidth,U=window.innerHeight,ne=280,le=E-m.right,B=m.left;U-m.bottom;const ce=le>=ne||le>B;W(ce)};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[h]),S.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const l=U=>{q.current&&!q.current.contains(U.target)&&!_.current?.contains(U.target)&&I(!1)},m=U=>{U.key==="Escape"&&I(!1)},E=()=>{h&&I(!1)};return h&&(document.addEventListener("mousedown",l),document.addEventListener("keydown",m),window.addEventListener("scroll",E)),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",m),window.removeEventListener("scroll",E)}},[h]);const O=t?{surface:"#000000",surfaceElevated:"#000000",surfaceHover:"#262626",border:"#262626",borderLight:"#404040",textPrimary:"#ffffff",textSecondary:"#a3a3a3",textTertiary:"#737373",accent:e,accentHover:`${e}e6`,error:"#ef4444"}:{surface:"#ffffff",surfaceElevated:"#fafafa",surfaceHover:"#f5f5f5",border:"#e5e5e5",borderLight:"#f0f0f0",textPrimary:"#171717",textSecondary:"#525252",textTertiary:"#a3a3a3",accent:e,accentHover:`${e}e6`,error:"#ef4444"},R={wrapper:{position:"relative",display:"inline-block"},avatarButton:{display:"flex",alignItems:"center",gap:P?"6px":"8px",padding:P?"6px 10px 6px 6px":"8px 12px 8px 8px",borderRadius:"24px",backgroundColor:O.surface,cursor:"pointer",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",minWidth:P?"auto":"140px",maxWidth:P?"200px":"none",outline:"none"},avatarImage:{width:P?"28px":"32px",height:P?"28px":"32px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},userInfo:{display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1,minWidth:0,overflow:"hidden"},userName:{fontSize:P?"13px":"14px",fontWeight:600,color:O.textPrimary,lineHeight:"1.2",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:P?"80px":"120px"},userEmail:{fontSize:P?"11px":"12px",color:O.textTertiary,lineHeight:"1.2",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:P?"80px":"120px"},chevron:{transition:"transform 0.2s ease",transform:h?"rotate(180deg)":"rotate(0deg)",color:O.textTertiary,flexShrink:0},dropdown:{position:"absolute",top:"100%",marginTop:"8px",[X?"left":"right"]:"0",backgroundColor:O.surfaceElevated,border:`1px solid ${O.border}`,borderRadius:"12px",boxShadow:"0 20px 40px rgba(0,0,0,0.15), 0 4px 12px rgba(0,0,0,0.1)",width:"min(280px, 90vw)",maxWidth:"calc(100vw - 20px)",padding:"6px 6px 16px 6px",zIndex:1e3,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",opacity:h?1:0,pointerEvents:h?"auto":"none",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",transform:h?"translateY(0) scale(1)":"translateY(-8px) scale(0.95)",overflow:"hidden"},dropdownSection:{padding:P?"10px 12px":"0px 16px","&:last-child":{borderBottom:"none"}},userSection:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"14px":"16px"},dropdownAvatar:{width:P?"40px":"48px",height:P?"40px":"48px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},dropdownUserInfo:{display:"flex",flexDirection:"column",flex:1,minWidth:0},dropdownUserName:{fontSize:P?"15px":"16px",fontWeight:600,color:O.textPrimary,lineHeight:"1.2",marginBottom:"2px",overflow:"hidden",textOverflow:"ellipsis"},dropdownUserEmail:{fontSize:P?"13px":"14px",color:O.textSecondary,lineHeight:"1.2",overflow:"hidden",textOverflow:"ellipsis"},menuItem:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"10px 12px":"12px 16px",borderRadius:"8px",cursor:"pointer",transition:"all 0.15s ease",color:O.textPrimary,textDecoration:"none",border:"none",background:"none",width:"100%",fontSize:P?"13px":"14px",textAlign:"left",outline:"none"},menuItemText:{flex:1},icon:{width:P?"16px":"18px",height:P?"16px":"18px",color:O.textSecondary,flexShrink:0},logoutButton:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"10px 12px":"12px 16px",borderRadius:"8px",cursor:"pointer",transition:"all 0.15s ease",background:"none",border:"none",width:"100%",fontSize:P?"13px":"14px",color:O.error,textAlign:"left",outline:"none"},loadingText:{padding:P?"16px 12px":"20px 16px",textAlign:"center",color:O.textSecondary,fontSize:P?"13px":"14px"},errorState:{padding:P?"16px 12px":"20px 16px",textAlign:"center",color:O.textSecondary,fontSize:P?"13px":"14px",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",flexDirection:"column"},retryButton:{marginTop:"8px",padding:"8px 16px",backgroundColor:O.accent,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:500,transition:"background-color 0.2s ease"}},M=async()=>{j(null),D(!0);try{if(i){if(!i.id||!i.name||!i.email)throw new Error("Invalid user data provided");g(i);return}const l=await w.checkUserSession();if(!l?.authenticated||!l.user){g(null),j("User is not authenticated");return}const m={id:l.user.id,email:l.user.email,name:l.user.email.split("@")[0]};g(m)}catch(l){console.error("Retry failed:",l),g(null),j(l.message||"Failed to reload user")}finally{D(!1)}},K=(l,m)=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),m())},H=()=>a||C?.profileUrl,F=()=>{const l=H();l&&window.open(l,"_self","noopener,noreferrer")},J=()=>{c&&window.open(c,"_self","noopener,noreferrer")};return r.jsxs("div",{style:R.wrapper,ref:q,className:o,role:"menu","aria-label":"User menu",children:[s==="classic"?r.jsx("div",{ref:_,onClick:()=>I(l=>!l),onKeyDown:l=>K(l,()=>I(m=>!m)),tabIndex:0,role:"button","aria-haspopup":"true","aria-expanded":h,"aria-label":"Toggle user menu",children:C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C?.name||"User"}'s avatar`,style:{width:P?"34px":"36px",height:P?"34px":"36px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},loading:"lazy",onError:l=>{const m=l.target;m.onerror=null,m.src=`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(C?.name||"User")}`}}):r.jsx("img",{src:`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(C?.name||"User")}`,alt:"Default user avatar",style:{width:P?"34px":"40px",height:P?"34px":"40px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},loading:"lazy"})}):r.jsxs("div",{ref:_,style:R.avatarButton,onClick:()=>I(l=>!l),onKeyDown:l=>K(l,()=>I(m=>!m)),tabIndex:0,role:"button","aria-haspopup":"true","aria-expanded":h,"aria-label":"Toggle user menu",onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover,l.currentTarget.style.boxShadow="0 4px 12px rgba(0,0,0,0.15)"},onMouseOut:l=>{l.currentTarget.style.backgroundColor=O.surface,l.currentTarget.style.boxShadow="none"},onBlur:l=>{l.currentTarget.style.outline="none"},children:[C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C.name}'s avatar`,style:R.avatarImage,loading:"lazy",onError:l=>{const m=l.target;m.src="https://api.dicebear.com/9.x/glass/svg?seed=Kingston"}}):r.jsx("img",{src:"https://api.dicebear.com/9.x/glass/svg?seed=Kingston",alt:"Default user avatar",style:R.avatarImage,loading:"lazy"}),!P&&r.jsxs("div",{style:R.userInfo,children:[r.jsx("div",{style:R.userName,title:C?.name,children:C?.name||"Guest"}),C?.email&&r.jsx("div",{style:R.userEmail,title:C.email,children:C.email})]}),r.jsx(Un,{size:P?14:16,style:R.chevron,"aria-hidden":"true"})]}),h&&r.jsx("div",{style:R.dropdown,role:"menu","aria-label":"User options",children:z?r.jsx("div",{style:R.loadingText,role:"status","aria-live":"polite",children:"Loading user information..."}):C?r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:R.userSection,children:[C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C.name}'s profile picture`,style:R.dropdownAvatar,loading:"lazy",onError:l=>{const m=l.target;m.src=`https://api.dicebear.com/9.x/initials/svg?seed=${C.name}`}}):r.jsx("img",{src:`https://api.dicebear.com/9.x/initials/svg?seed=${C.name}`,alt:`${C.name}'s default avatar`,style:R.dropdownAvatar,loading:"lazy"}),r.jsxs("div",{style:R.dropdownUserInfo,children:[r.jsx("div",{style:R.dropdownUserName,title:C.name,children:C.name}),r.jsx("div",{style:R.dropdownUserEmail,title:C.email,children:C.email})]})]}),r.jsxs("div",{style:R.dropdownSection,children:[d&&H()&&r.jsxs("button",{style:R.menuItem,onClick:F,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,F),role:"menuitem",tabIndex:0,children:[r.jsx(Se,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:y})]}),u&&c&&r.jsxs("button",{style:R.menuItem,onClick:J,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,J),role:"menuitem",tabIndex:0,children:[r.jsx(Yn,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:k})]}),x&&C.profileUrl&&r.jsxs("a",{href:C.profileUrl,target:"_self",rel:"noopener noreferrer",style:R.menuItem,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},role:"menuitem",tabIndex:0,children:[r.jsx(pe,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:T})]})]}),r.jsx("div",{style:R.dropdownSection,children:r.jsxs("button",{style:R.logoutButton,onClick:n,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,n),role:"menuitem",tabIndex:0,children:[r.jsx(it,{style:{...R.icon,color:O.error},"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:p})]})})]}):r.jsxs("div",{style:R.errorState,role:"alert",children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(ie,{size:16,"aria-hidden":"true"}),r.jsx("span",{children:b||"Not signed in"})]}),b&&b!=="Not signed in"&&r.jsx("button",{style:R.retryButton,onClick:M,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.accentHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor=O.accent},children:"Try Again"})]})})]})},os=({user:t,darkMode:e=!0,primaryColor:n="#00C212",onVerify:s})=>{const i=me();if(!t)return r.jsxs("div",{style:{width:"100%",maxWidth:400,padding:24,borderRadius:12,backgroundColor:e?"#000000":"#f4f4f5",color:e?"#fff":"#18181b",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",gap:5},children:[r.jsx(ie,{size:24,style:{marginBottom:8}}),r.jsx("p",{style:{margin:0},children:"User data is required to verify email."})]});const[o,a]=S.useState(!1),[c,d]=S.useState({email:t?.email||"",otp:""}),[u,x]=S.useState(!1),[y,k]=S.useState(!1),[T,p]=S.useState(null);S.useEffect(()=>{if(typeof window<"u"){const b=()=>a(window.innerWidth<768);return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)}},[]);const w=(b,j)=>{let q=parseInt(b.replace("#",""),16),_=(q>>16)+j,X=(q>>8&255)+j,W=(q&255)+j;return _=Math.min(255,Math.max(0,_)),X=Math.min(255,Math.max(0,X)),W=Math.min(255,Math.max(0,W)),`#${(W|X<<8|_<<16).toString(16).padStart(6,"0")}`},h=e?{surface:"#000000",textPrimary:"#ffffff",textSecondary:"#d4d4d8",textTertiary:"#a1a1aa",border:"#27272a",accent:n,accentHover:w(n,-15),success:w(n,0),warning:"#f59e0b"}:{surface:"#fafafa",textPrimary:"#18181b",textSecondary:"#52525b",textTertiary:"#71717a",border:"#e4e4e7",accent:n,accentHover:w(n,-15),success:w(n,0),warning:"#d97706"};S.useEffect(()=>{t?.email&&d(b=>({...b,email:t.email}))},[t?.email]);const I=(b,j)=>{p({type:b,message:j}),setTimeout(()=>p(null),3e3)},C=async()=>{if(!c.email||!/\S+@\S+\.\S+/.test(c.email)){I("error","Please enter a valid email");return}if(!t?.id){I("error","User ID missing");return}try{k(!0);const b=await i.requestEmailVerificationOTP({userId:t.id,email:c.email});if(console.log("Send OTP response:",b),b.success||b.data?.success){const j=b.message||b.data?.message||"OTP sent!";I("success",j),x(!0)}else{const j=b.message||b.data?.message||"Failed to send OTP";I("error",j)}}catch(b){console.error("Send OTP error:",b),I("error",b.message||"Server error")}finally{k(!1)}},g=async b=>{if(b.preventDefault(),!c.email||!c.otp){I("error","Please fill in all fields");return}try{k(!0);const j=await i.verifyEmail({email:c.email,otp:c.otp});if(j.success){const q={...t,isVerified:!0};s?.(q),I("success",j.message||"Email verified!"),x(!1),d({email:t.email,otp:""})}else I("error",j.message||"Verification failed")}catch(j){I("error",j.message||"Server error")}finally{k(!1)}},z={width:"100%",padding:"12px 12px 12px 40px",borderRadius:8,border:`1px solid ${h.border}`,backgroundColor:e?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.02)",color:h.textPrimary,fontSize:14,outline:"none"},D=(b=!1)=>({flex:1,padding:12,borderRadius:8,color:"#fff",fontWeight:500,cursor:b?"not-allowed":"pointer",background:`linear-gradient(to right, ${h.accent}, ${h.accentHover})`,opacity:b?.7:1,display:"flex",alignItems:"center",justifyContent:"center",gap:8,fontSize:14,border:"none"});return r.jsxs("form",{onSubmit:g,style:{width:"100%",maxWidth:o?"340px":"400px",display:"flex",flexDirection:"column",gap:20,backgroundColor:h.surface,padding:24,borderRadius:10,border:`1px solid ${h.border}`,boxShadow:e?"0 6px 24px rgba(0,0,0,0.4)":"0 6px 24px rgba(0,0,0,0.08)"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[r.jsx(Nn,{size:32,color:h.accent}),r.jsx("h2",{style:{margin:0,fontSize:20,fontWeight:600,color:h.textPrimary},children:"Verify Your Email"}),r.jsx("p",{style:{margin:0,fontSize:13,color:h.textSecondary,textAlign:"center"},children:"Enter your email and OTP to confirm your account"})]}),T&&r.jsxs("div",{style:{padding:"12px 20px",borderRadius:12,fontSize:13,fontWeight:500,color:T.type==="success"?h.success:h.warning,border:`1px solid ${T.type==="success"?h.success:h.warning}`,backgroundColor:T.type==="success"?`${h.success}20`:`${h.warning}20`,display:"flex",alignItems:"center",gap:8},children:[T.type==="success"?r.jsx(de,{size:16}):r.jsx(ie,{size:16}),T.message]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[r.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[r.jsx(pe,{size:18,style:{position:"absolute",left:12,color:h.textTertiary,pointerEvents:"none"}}),r.jsx("input",{type:"email",value:c.email,onChange:b=>d(j=>({...j,email:b.target.value})),placeholder:"Enter your email",style:{...z,paddingLeft:40,height:40,borderRadius:8,boxShadow:e?"0 2px 6px rgba(0,0,0,0.3)":"0 2px 6px rgba(0,0,0,0.08)"},required:!0})]}),r.jsx("small",{style:{fontSize:11,color:h.textTertiary,marginTop:2},children:"We'll send a verification code to this email"})]}),u&&r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[r.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[r.jsx(st,{size:18,style:{position:"absolute",left:12,color:h.textTertiary,pointerEvents:"none"}}),r.jsx("input",{type:"text",value:c.otp,onChange:b=>d(j=>({...j,otp:b.target.value})),placeholder:"Enter OTP",style:{...z,paddingLeft:40,height:40,borderRadius:8,boxShadow:e?"0 2px 6px rgba(0,0,0,0.3)":"0 2px 6px rgba(0,0,0,0.08)"},required:!0})]}),r.jsx("small",{style:{fontSize:11,color:h.textTertiary,marginTop:2},children:"Check your inbox for the 6-digit code"})]}),r.jsx("div",{style:{display:"flex",gap:12},children:u?r.jsxs("button",{type:"submit",disabled:y,style:{...D(y),borderRadius:12,padding:"12px 16px",fontSize:14},children:[y?r.jsx(oe,{size:16,className:"spinner"}):r.jsx(de,{size:16}),y?"Verifying...":"Verify Email"]}):r.jsxs("button",{type:"button",onClick:C,disabled:y||!t?.id,style:{...D(y),borderRadius:12,padding:"12px 16px",fontSize:14},children:[y?r.jsx(oe,{size:16,className:"spinner"}):r.jsx(ot,{size:16}),y?"Sending...":"Send OTP"]})})]})};ee.AuthixProvider=Kn,ee.NeuctraAuthix=Cn,ee.ReactEmailVerification=os,ee.ReactSignedIn=Zn,ee.ReactSignedOut=Qn,ee.ReactUserButton=is,ee.ReactUserLogin=Xn,ee.ReactUserProfile=ss,ee.ReactUserSignUp=Gn,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})}));
|
|
587
|
+
`})]})},is=({darkMode:t=!0,primaryColor:e="#3b82f6",onLogout:n,varient:s="classic",propUser:i,className:o="",profileUrl:a,settingsUrl:c,showProfileMenuItem:d=!0,showSettingsMenuItem:f=!0,showViewProfileMenuItem:x=!0,profileLabel:y="My Profile",settingsLabel:k="Settings",viewProfileLabel:T="View Profile",logoutLabel:u="Sign Out"})=>{const w=fe(),[h,_]=S.useState(!1),[C,g]=S.useState(null),[z,D]=S.useState(!0),[b,j]=S.useState(null),q=S.useRef(null),I=S.useRef(null),[X,W]=S.useState(!1),[P,G]=S.useState(!1);S.useEffect(()=>{if(typeof window>"u")return;const l=()=>{G(window.innerWidth<768)};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[]),S.useEffect(()=>{let l=!0;return(async()=>{try{if(D(!0),j(null),i){if(!i.id||!i.name||!i.email)throw new Error("Invalid user data provided");l&&g(i);return}const E=await w.checkUserSession();if(!l)return;if(!E?.authenticated||!E.user){g(null);return}const U={id:E.user.id,email:E.user.email,name:E.user.email.split("@")[0]};g(U)}catch(E){console.error("User initialization failed:",E),l&&(g(null),j(E.message||"Failed to load user"))}finally{l&&D(!1)}})(),()=>{l=!1}},[i,w]),S.useEffect(()=>{if(typeof window>"u")return;const l=()=>{if(!h||!I.current)return;const m=I.current.getBoundingClientRect(),E=window.innerWidth,U=window.innerHeight,ne=280,le=E-m.right,B=m.left;U-m.bottom;const ce=le>=ne||le>B;W(ce)};return l(),window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[h]),S.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const l=U=>{q.current&&!q.current.contains(U.target)&&!I.current?.contains(U.target)&&_(!1)},m=U=>{U.key==="Escape"&&_(!1)},E=()=>{h&&_(!1)};return h&&(document.addEventListener("mousedown",l),document.addEventListener("keydown",m),window.addEventListener("scroll",E)),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",m),window.removeEventListener("scroll",E)}},[h]);const O=t?{surface:"#000000",surfaceElevated:"#000000",surfaceHover:"#262626",border:"#262626",borderLight:"#404040",textPrimary:"#ffffff",textSecondary:"#a3a3a3",textTertiary:"#737373",accent:e,accentHover:`${e}e6`,error:"#ef4444"}:{surface:"#ffffff",surfaceElevated:"#fafafa",surfaceHover:"#f5f5f5",border:"#e5e5e5",borderLight:"#f0f0f0",textPrimary:"#171717",textSecondary:"#525252",textTertiary:"#a3a3a3",accent:e,accentHover:`${e}e6`,error:"#ef4444"},R={wrapper:{position:"relative",display:"inline-block"},avatarButton:{display:"flex",alignItems:"center",gap:P?"6px":"8px",padding:P?"6px 10px 6px 6px":"8px 12px 8px 8px",borderRadius:"24px",backgroundColor:O.surface,cursor:"pointer",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",minWidth:P?"auto":"140px",maxWidth:P?"200px":"none",outline:"none"},avatarImage:{width:P?"28px":"32px",height:P?"28px":"32px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},userInfo:{display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1,minWidth:0,overflow:"hidden"},userName:{fontSize:P?"13px":"14px",fontWeight:600,color:O.textPrimary,lineHeight:"1.2",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:P?"80px":"120px"},userEmail:{fontSize:P?"11px":"12px",color:O.textTertiary,lineHeight:"1.2",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:P?"80px":"120px"},chevron:{transition:"transform 0.2s ease",transform:h?"rotate(180deg)":"rotate(0deg)",color:O.textTertiary,flexShrink:0},dropdown:{position:"absolute",top:"100%",marginTop:"8px",[X?"left":"right"]:"0",backgroundColor:O.surfaceElevated,border:`1px solid ${O.border}`,borderRadius:"12px",boxShadow:"0 20px 40px rgba(0,0,0,0.15), 0 4px 12px rgba(0,0,0,0.1)",width:"min(280px, 90vw)",maxWidth:"calc(100vw - 20px)",padding:"6px 6px 16px 6px",zIndex:1e3,fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",opacity:h?1:0,pointerEvents:h?"auto":"none",transition:"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",transform:h?"translateY(0) scale(1)":"translateY(-8px) scale(0.95)",overflow:"hidden"},dropdownSection:{padding:P?"10px 12px":"0px 16px","&:last-child":{borderBottom:"none"}},userSection:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"14px":"16px"},dropdownAvatar:{width:P?"40px":"48px",height:P?"40px":"48px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},dropdownUserInfo:{display:"flex",flexDirection:"column",flex:1,minWidth:0},dropdownUserName:{fontSize:P?"15px":"16px",fontWeight:600,color:O.textPrimary,lineHeight:"1.2",marginBottom:"2px",overflow:"hidden",textOverflow:"ellipsis"},dropdownUserEmail:{fontSize:P?"13px":"14px",color:O.textSecondary,lineHeight:"1.2",overflow:"hidden",textOverflow:"ellipsis"},menuItem:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"10px 12px":"12px 16px",borderRadius:"8px",cursor:"pointer",transition:"all 0.15s ease",color:O.textPrimary,textDecoration:"none",border:"none",background:"none",width:"100%",fontSize:P?"13px":"14px",textAlign:"left",outline:"none"},menuItemText:{flex:1},icon:{width:P?"16px":"18px",height:P?"16px":"18px",color:O.textSecondary,flexShrink:0},logoutButton:{display:"flex",alignItems:"center",gap:P?"10px":"12px",padding:P?"10px 12px":"12px 16px",borderRadius:"8px",cursor:"pointer",transition:"all 0.15s ease",background:"none",border:"none",width:"100%",fontSize:P?"13px":"14px",color:O.error,textAlign:"left",outline:"none"},loadingText:{padding:P?"16px 12px":"20px 16px",textAlign:"center",color:O.textSecondary,fontSize:P?"13px":"14px"},errorState:{padding:P?"16px 12px":"20px 16px",textAlign:"center",color:O.textSecondary,fontSize:P?"13px":"14px",display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",flexDirection:"column"},retryButton:{marginTop:"8px",padding:"8px 16px",backgroundColor:O.accent,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:500,transition:"background-color 0.2s ease"}},M=async()=>{j(null),D(!0);try{if(i){if(!i.id||!i.name||!i.email)throw new Error("Invalid user data provided");g(i);return}const l=await w.checkUserSession();if(!l?.authenticated||!l.user){g(null),j("User is not authenticated");return}const m={id:l.user.id,email:l.user.email,name:l.user.email.split("@")[0]};g(m)}catch(l){console.error("Retry failed:",l),g(null),j(l.message||"Failed to reload user")}finally{D(!1)}},K=(l,m)=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),m())},H=()=>a||C?.profileUrl,L=()=>{const l=H();l&&window.open(l,"_self","noopener,noreferrer")},J=()=>{c&&window.open(c,"_self","noopener,noreferrer")};return r.jsxs("div",{style:R.wrapper,ref:q,className:o,role:"menu","aria-label":"User menu",children:[s==="classic"?r.jsx("div",{ref:I,onClick:()=>_(l=>!l),onKeyDown:l=>K(l,()=>_(m=>!m)),tabIndex:0,role:"button","aria-haspopup":"true","aria-expanded":h,"aria-label":"Toggle user menu",children:C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C?.name||"User"}'s avatar`,style:{width:P?"34px":"36px",height:P?"34px":"36px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},loading:"lazy",onError:l=>{const m=l.target;m.onerror=null,m.src=`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(C?.name||"User")}`}}):r.jsx("img",{src:`https://api.dicebear.com/9.x/initials/svg?seed=${encodeURIComponent(C?.name||"User")}`,alt:"Default user avatar",style:{width:P?"34px":"40px",height:P?"34px":"40px",borderRadius:"50%",objectFit:"cover",border:`2px solid ${O.borderLight}`,flexShrink:0},loading:"lazy"})}):r.jsxs("div",{ref:I,style:R.avatarButton,onClick:()=>_(l=>!l),onKeyDown:l=>K(l,()=>_(m=>!m)),tabIndex:0,role:"button","aria-haspopup":"true","aria-expanded":h,"aria-label":"Toggle user menu",onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover,l.currentTarget.style.boxShadow="0 4px 12px rgba(0,0,0,0.15)"},onMouseOut:l=>{l.currentTarget.style.backgroundColor=O.surface,l.currentTarget.style.boxShadow="none"},onBlur:l=>{l.currentTarget.style.outline="none"},children:[C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C.name}'s avatar`,style:R.avatarImage,loading:"lazy",onError:l=>{const m=l.target;m.src="https://api.dicebear.com/9.x/glass/svg?seed=Kingston"}}):r.jsx("img",{src:"https://api.dicebear.com/9.x/glass/svg?seed=Kingston",alt:"Default user avatar",style:R.avatarImage,loading:"lazy"}),!P&&r.jsxs("div",{style:R.userInfo,children:[r.jsx("div",{style:R.userName,title:C?.name,children:C?.name||"Guest"}),C?.email&&r.jsx("div",{style:R.userEmail,title:C.email,children:C.email})]}),r.jsx(Un,{size:P?14:16,style:R.chevron,"aria-hidden":"true"})]}),h&&r.jsx("div",{style:R.dropdown,role:"menu","aria-label":"User options",children:z?r.jsx("div",{style:R.loadingText,role:"status","aria-live":"polite",children:"Loading user information..."}):C?r.jsxs(r.Fragment,{children:[r.jsxs("div",{style:R.userSection,children:[C?.avatarUrl?r.jsx("img",{src:C.avatarUrl,alt:`${C.name}'s profile picture`,style:R.dropdownAvatar,loading:"lazy",onError:l=>{const m=l.target;m.src=`https://api.dicebear.com/9.x/initials/svg?seed=${C.name}`}}):r.jsx("img",{src:`https://api.dicebear.com/9.x/initials/svg?seed=${C.name}`,alt:`${C.name}'s default avatar`,style:R.dropdownAvatar,loading:"lazy"}),r.jsxs("div",{style:R.dropdownUserInfo,children:[r.jsx("div",{style:R.dropdownUserName,title:C.name,children:C.name}),r.jsx("div",{style:R.dropdownUserEmail,title:C.email,children:C.email})]})]}),r.jsxs("div",{style:R.dropdownSection,children:[d&&H()&&r.jsxs("button",{style:R.menuItem,onClick:L,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,L),role:"menuitem",tabIndex:0,children:[r.jsx(Se,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:y})]}),f&&c&&r.jsxs("button",{style:R.menuItem,onClick:J,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,J),role:"menuitem",tabIndex:0,children:[r.jsx(Yn,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:k})]}),x&&C.profileUrl&&r.jsxs("a",{href:C.profileUrl,target:"_self",rel:"noopener noreferrer",style:R.menuItem,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},role:"menuitem",tabIndex:0,children:[r.jsx(pe,{style:R.icon,"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:T})]})]}),r.jsx("div",{style:R.dropdownSection,children:r.jsxs("button",{style:R.logoutButton,onClick:n,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.surfaceHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor="transparent"},onKeyDown:l=>K(l,n),role:"menuitem",tabIndex:0,children:[r.jsx(it,{style:{...R.icon,color:O.error},"aria-hidden":"true"}),r.jsx("span",{style:R.menuItemText,children:u})]})})]}):r.jsxs("div",{style:R.errorState,role:"alert",children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[r.jsx(ie,{size:16,"aria-hidden":"true"}),r.jsx("span",{children:b||"Not signed in"})]}),b&&b!=="Not signed in"&&r.jsx("button",{style:R.retryButton,onClick:M,onMouseOver:l=>{l.currentTarget.style.backgroundColor=O.accentHover},onMouseOut:l=>{l.currentTarget.style.backgroundColor=O.accent},children:"Try Again"})]})})]})},os=({user:t,darkMode:e=!0,primaryColor:n="#00C212",onVerify:s})=>{const i=fe();if(!t)return r.jsxs("div",{style:{width:"100%",maxWidth:400,padding:24,borderRadius:12,backgroundColor:e?"#000000":"#f4f4f5",color:e?"#fff":"#18181b",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",gap:5},children:[r.jsx(ie,{size:24,style:{marginBottom:8}}),r.jsx("p",{style:{margin:0},children:"User data is required to verify email."})]});const[o,a]=S.useState(!1),[c,d]=S.useState({email:t?.email||"",otp:""}),[f,x]=S.useState(!1),[y,k]=S.useState(!1),[T,u]=S.useState(null);S.useEffect(()=>{if(typeof window<"u"){const b=()=>a(window.innerWidth<768);return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)}},[]);const w=(b,j)=>{let q=parseInt(b.replace("#",""),16),I=(q>>16)+j,X=(q>>8&255)+j,W=(q&255)+j;return I=Math.min(255,Math.max(0,I)),X=Math.min(255,Math.max(0,X)),W=Math.min(255,Math.max(0,W)),`#${(W|X<<8|I<<16).toString(16).padStart(6,"0")}`},h=e?{surface:"#000000",textPrimary:"#ffffff",textSecondary:"#d4d4d8",textTertiary:"#a1a1aa",border:"#27272a",accent:n,accentHover:w(n,-15),success:w(n,0),warning:"#f59e0b"}:{surface:"#fafafa",textPrimary:"#18181b",textSecondary:"#52525b",textTertiary:"#71717a",border:"#e4e4e7",accent:n,accentHover:w(n,-15),success:w(n,0),warning:"#d97706"};S.useEffect(()=>{t?.email&&d(b=>({...b,email:t.email}))},[t?.email]);const _=(b,j)=>{u({type:b,message:j}),setTimeout(()=>u(null),3e3)},C=async()=>{if(!c.email||!/\S+@\S+\.\S+/.test(c.email)){_("error","Please enter a valid email");return}if(!t?.id){_("error","User ID missing");return}try{k(!0);const b=await i.requestEmailVerificationOTP({userId:t.id,email:c.email});if(console.log("Send OTP response:",b),b.success||b.data?.success){const j=b.message||b.data?.message||"OTP sent!";_("success",j),x(!0)}else{const j=b.message||b.data?.message||"Failed to send OTP";_("error",j)}}catch(b){console.error("Send OTP error:",b),_("error",b.message||"Server error")}finally{k(!1)}},g=async b=>{if(b.preventDefault(),!c.email||!c.otp){_("error","Please fill in all fields");return}try{k(!0);const j=await i.verifyEmail({email:c.email,otp:c.otp});if(j.success){const q={...t,isVerified:!0};s?.(q),_("success",j.message||"Email verified!"),x(!1),d({email:t.email,otp:""})}else _("error",j.message||"Verification failed")}catch(j){_("error",j.message||"Server error")}finally{k(!1)}},z={width:"100%",padding:"12px 12px 12px 40px",borderRadius:8,border:`1px solid ${h.border}`,backgroundColor:e?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.02)",color:h.textPrimary,fontSize:14,outline:"none"},D=(b=!1)=>({flex:1,padding:12,borderRadius:8,color:"#fff",fontWeight:500,cursor:b?"not-allowed":"pointer",background:`linear-gradient(to right, ${h.accent}, ${h.accentHover})`,opacity:b?.7:1,display:"flex",alignItems:"center",justifyContent:"center",gap:8,fontSize:14,border:"none"});return r.jsxs("form",{onSubmit:g,style:{width:"100%",maxWidth:o?"340px":"400px",display:"flex",flexDirection:"column",gap:20,backgroundColor:h.surface,padding:24,borderRadius:10,border:`1px solid ${h.border}`,boxShadow:e?"0 6px 24px rgba(0,0,0,0.4)":"0 6px 24px rgba(0,0,0,0.08)"},children:[r.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[r.jsx(Nn,{size:32,color:h.accent}),r.jsx("h2",{style:{margin:0,fontSize:20,fontWeight:600,color:h.textPrimary},children:"Verify Your Email"}),r.jsx("p",{style:{margin:0,fontSize:13,color:h.textSecondary,textAlign:"center"},children:"Enter your email and OTP to confirm your account"})]}),T&&r.jsxs("div",{style:{padding:"12px 20px",borderRadius:12,fontSize:13,fontWeight:500,color:T.type==="success"?h.success:h.warning,border:`1px solid ${T.type==="success"?h.success:h.warning}`,backgroundColor:T.type==="success"?`${h.success}20`:`${h.warning}20`,display:"flex",alignItems:"center",gap:8},children:[T.type==="success"?r.jsx(de,{size:16}):r.jsx(ie,{size:16}),T.message]}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[r.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[r.jsx(pe,{size:18,style:{position:"absolute",left:12,color:h.textTertiary,pointerEvents:"none"}}),r.jsx("input",{type:"email",value:c.email,onChange:b=>d(j=>({...j,email:b.target.value})),placeholder:"Enter your email",style:{...z,paddingLeft:40,height:40,borderRadius:8,boxShadow:e?"0 2px 6px rgba(0,0,0,0.3)":"0 2px 6px rgba(0,0,0,0.08)"},required:!0})]}),r.jsx("small",{style:{fontSize:11,color:h.textTertiary,marginTop:2},children:"We'll send a verification code to this email"})]}),f&&r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[r.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[r.jsx(st,{size:18,style:{position:"absolute",left:12,color:h.textTertiary,pointerEvents:"none"}}),r.jsx("input",{type:"text",value:c.otp,onChange:b=>d(j=>({...j,otp:b.target.value})),placeholder:"Enter OTP",style:{...z,paddingLeft:40,height:40,borderRadius:8,boxShadow:e?"0 2px 6px rgba(0,0,0,0.3)":"0 2px 6px rgba(0,0,0,0.08)"},required:!0})]}),r.jsx("small",{style:{fontSize:11,color:h.textTertiary,marginTop:2},children:"Check your inbox for the 6-digit code"})]}),r.jsx("div",{style:{display:"flex",gap:12},children:f?r.jsxs("button",{type:"submit",disabled:y,style:{...D(y),borderRadius:12,padding:"12px 16px",fontSize:14},children:[y?r.jsx(oe,{size:16,className:"spinner"}):r.jsx(de,{size:16}),y?"Verifying...":"Verify Email"]}):r.jsxs("button",{type:"button",onClick:C,disabled:y||!t?.id,style:{...D(y),borderRadius:12,padding:"12px 16px",fontSize:14},children:[y?r.jsx(oe,{size:16,className:"spinner"}):r.jsx(ot,{size:16}),y?"Sending...":"Send OTP"]})})]})};ee.AuthixProvider=Kn,ee.NeuctraAuthix=Cn,ee.ReactEmailVerification=os,ee.ReactSignedIn=Zn,ee.ReactSignedOut=Qn,ee.ReactUserButton=is,ee.ReactUserLogin=Xn,ee.ReactUserProfile=ss,ee.ReactUserSignUp=Gn,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})}));
|