vendor: 20,406 bytes, lines 1-3
1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ee(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function P(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:ee,forEach:function(e,t,n){ee(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ee(e,function(){t++}),t},toArray:function(e){return ee(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:P}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.4`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function ee(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ee(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var P=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L={pending:!1,data:null,method:null,action:null},te=[],ne=-1;function R(e){return{current:e}}function z(e){0>ne||(e.current=te[ne],te[ne]=null,ne--)}function B(e,t){ne++,te[ne]=e.current,e.current=t}var V=R(null),H=R(null),U=R(null),W=R(null);function re(e,t){switch(B(U,t),B(H,e),B(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}z(V),B(V,e)}function G(){z(V),z(H),z(U)}function ie(e){e.memoizedState!==null&&B(W,e);var t=V.current,n=Hd(t,e.type);t!==n&&(B(H,e),B(V,n))}function ae(e){H.current===e&&(z(V),z(H)),W.current===e&&(z(W),Qf._currentValue=L)}var oe,se;function ce(e){if(oe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);oe=t&&t[1]||``,se=-1<e.stack.indexOf(` 2 at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return` 3`+oe+e+se}var le=!1;function ue(e,t){if(!e||le)return``;le=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}
vendor: 20,306 bytes, lines 3-8
3else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(` 4`),l=s.split(` 5`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=` 6`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{le=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ce(n):``}function K(e,t){switch(e.tag){case 26:case 27:case 5:return ce(e.type);case 16:return ce(`Lazy`);case 13:return e.child!==t&&t!==null?ce(`Suspense Fallback`):ce(`Suspense`);case 19:return ce(`SuspenseList`);case 0:case 15:return ue(e.type,!1);case 11:return ue(e.type.render,!1);case 1:return ue(e.type,!0);case 31:return ce(`Activity`);default:return``}}function de(e){try{var t=``,n=null;do t+=K(e,n),n=e,e=e.return;while(e);return t}catch(e){return` 7Error generating stack: `+e.message+` 8`+e.stack}}var q=Object.prototype.hasOwnProperty,fe=t.unstable_scheduleCallback,pe=t.unstable_cancelCallback,me=t.unstable_shouldYield,he=t.unstable_requestPaint,J=t.unstable_now,Y=t.unstable_getCurrentPriorityLevel,X=t.unstable_ImmediatePriority,ge=t.unstable_UserBlockingPriority,_e=t.unstable_NormalPriority,ve=t.unstable_LowPriority,ye=t.unstable_IdlePriority,be=t.log,Z=t.unstable_setDisableYieldValue,xe=null,Se=null;function Ce(e){if(typeof be==`function`&&Z(e),Se&&typeof Se.setStrictMode==`function`)try{Se.setStrictMode(xe,e)}catch{}}var we=Math.clz32?Math.clz32:De,Te=Math.log,Ee=Math.LN2;function De(e){return e>>>=0,e===0?32:31-(Te(e)/Ee|0)|0}var Oe=256,ke=262144,Ae=4194304;function je(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Me(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=je(n))):i=je(o):i=je(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=je(n))):i=je(o)):i=je(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ne(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Pe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fe(){var e=Ae;return Ae<<=1,!(Ae&62914560)&&(Ae=4194304),e}function Ie(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Q(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Le(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-we(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&Re(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Re(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-we(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ze(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-we(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Be(e,t){var n=t&-t;return n=n&42?1:Ve(n),(n&(e.suspendedLanes|t))===0?n:0}function Ve(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function He(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function Ue(){var e=I.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function We(e,t){var n=I.p;try{return I.p=e,t()}finally{I.p=n}}var $=Math.random().toString(36).slice(2),Ge=`__reactFiber$`+$,Ke=`__reactProps$`+$,qe=`__reactContainer$`+$,Je=`__reactEvents$`+$,Ye=`__reactListeners$`+$,Xe=`__reactHandles$`+$,Ze=`__reactResources$`+$,Qe=`__reactMarker$`+$;function $e(e){delete e[Ge],delete e[Ke],delete e[Je],delete e[Ye],delete e[Xe]}function et(e){var t=e[Ge];if(t)return t;for(var n=e.parentNode;n;){if(t=n[qe]||n[Ge]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[Ge])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function tt(e){if(e=e[Ge]||e[qe]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function nt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function rt(e){var t=e[Ze];return t||=e[Ze]={hoistableStyles:new Map,hoistableScripts:new Map},t}function it(e){e[Qe]=!0}var at=new Set,ot={};function st(e,t){ct(e,t),ct(e+`Capture`,t)}function ct(e,t){for(ot[e]=t,e=0;e<t.length;e++)at.add(t[e])}var lt=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),ut={},dt={};function ft(e){return q.call(dt,e)?!0:q.call(ut,e)?!1:lt.test(e)?dt[e]=!0:(ut[e]=!0,!1)}function pt(e,t,n){if(ft(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}}function mt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function ht(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function gt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function _t(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function vt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yt(e){if(!e._valueTracker){var t=_t(e)?`checked`:`value`;e._valueTracker=vt(e,t,``+e[t])}}function bt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=_t(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function xt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var St=/[\n"\\]/g;function Ct(e){return e.replace(St,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function wt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+gt(t)):e.value!==``+gt(t)&&(e.value=``+gt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Et(e,o,gt(n)):Et(e,o,gt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+gt(s):e.removeAttribute(`name`)}function Tt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){yt(e);return}n=n==null?``:``+gt(n),t=t==null?n:``+gt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),yt(e)}function Et(e,t,n){t===`number`&&xt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Dt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+gt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Ot(e,t,n){if(t!=null&&(t=``+gt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+gt(n)}function kt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(P(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=gt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),yt(e)}function At(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var jt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function Mt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||jt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Nt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&Mt(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&Mt(e,o,t[o])}function Pt(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Ft=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),It=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Lt(e){return It.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Rt(){}var zt=null;function Bt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Vt=null,Ht=null;function Ut(e){var t=tt(e);if(t&&(e=t.stateNode)){var n=e[Ke]||null;a:switch(e=t.stateNode,t.type){case`input`:if(wt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Ct(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[Ke]||null;if(!a)throw Error(i(90));wt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&bt(r)}break a;case`textarea`:Ot(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Dt(e,!!n.multiple,t,!1)}}}var Wt=!1;function Gt(e,t,n){if(Wt)return e(t,n);Wt=!0;try{return e(t)}finally{if(Wt=!1,(Vt!==null||Ht!==null)&&(_u(),Vt&&(t=Vt,e=Ht,Ht=Vt=null,Ut(t),e)))for(t=0;t<e.length;t++)Ut(e[t])}}function Kt(e,t){var n=e.stateNode;if(n===null)return null;var r=n[Ke]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var qt=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),Jt=!1;if(qt)try{var Yt={};Object.defineProperty(Yt,"passive",{get:function(){Jt=!0}}),window.addEventListener(`test`,Yt,Yt),window.removeEventListener(`test`,Yt,Yt)}catch{Jt=!1}var Xt=null,Zt=null,Qt=null;function $t(){if(Qt)return Qt;var e,t=Zt,n=t.length,r,i=`value`in Xt?Xt.value:Xt.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Qt=i.slice(e,1<r?1-r:void 0)}function en(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function tn(){return!0}function nn(){return!1}function rn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?tn:nn,this.isPropagationStopped=nn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=tn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=tn)},persist:function(){},isPersistent:tn}),t}var an={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},on=rn(an),sn=h({},an,{view:0,detail:0}),cn=rn(sn),ln,un,dn,fn=h({},sn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==dn&&(dn&&e.type===`mousemove`?(ln=e.screenX-dn.screenX,un=e.screenY-dn.screenY):un=ln=0,dn=e),ln)},movementY:function(e){return`movementY`in e?e.movementY:un}}),pn=rn(fn),mn=rn(h({},fn,{dataTransfer:0})),hn=rn(h({},sn,{relatedTarget:0})),gn=rn(h({},an,{animationName:0,elapsedTime:0,pseudoElement:0})),_n=rn(h({},an,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),vn=rn(h({},an,{data:0})),yn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},bn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F
85`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},xn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Sn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=xn[e])?!!t[e]:!1}function Cn(){return Sn}var wn=rn(h({},sn,{key:function(e){if(e.key){var t=yn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=en(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?bn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return e.type===`keypress`?en(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?en(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Tn=rn(h({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),En=rn(h({},sn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Dn=rn(h({},an,{propertyName:0,elapsedTime:0,pseudoElement:0})),On=rn(h({},fn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),kn=rn(h({},an,{newState:0,oldState:0})),An=[9,13,27,32],jn=qt&&`CompositionEvent`in window,Mn=null;qt&&`documentMode`in document&&(Mn=document.documentMode);var Nn=qt&&`TextEvent`in window&&!Mn,Pn=qt&&(!jn||Mn&&8<Mn&&11>=Mn),Fn=` `,In=!1;function Ln(e,t){switch(e){case`keyup`:return An.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Rn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var zn=!1;function Bn(e,t){switch(e){case`compositionend`:return Rn(t);case`keypress`:return t.which===32?(In=!0,Fn):null;case`textInput`:return e=t.data,e===Fn&&In?null:e;default:return null}}function Vn(e,t){if(zn)return e===`compositionend`||!jn&&Ln(e,t)?(e=$t(),Qt=Zt=Xt=null,zn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Pn&&t.locale!==`ko`?null:t.data;default:return null}}var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Un(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Hn[e.type]:t===`textarea`}function Wn(e,t,n,r){Vt?Ht?Ht.push(r):Ht=[r]:Vt=r,t=Td(t,`onChange`),0<t.length&&(n=new on(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Kn=null;function qn(e){_d(e,0)}function Jn(e){if(bt(nt(e)))return e}function Yn(e,t){if(e===`change`)return t}var Xn=!1;if(qt){var Zn;if(qt){var Qn=`oninput`in document;if(!Qn){var $n=document.createElement(`div`);$n.setAttribute(`oninput`,`return;`),Qn=typeof $n.oninput==`function`}Zn=Qn}else Zn=!1;Xn=Zn&&(!document.documentMode||9<document.documentMode)}function er(){Gn&&(Gn.detachEvent(`onpropertychange`,tr),Kn=Gn=null)}function tr(e){if(e.propertyName===`value`&&Jn(Kn)){var t=[];Wn(t,Kn,e,Bt(e)),Gt(qn,t)}}function nr(e,t,n){e===`focusin`?(er(),Gn=t,Kn=n,Gn.attachEvent(`onpropertychange`,tr)):e===`focusout`&&er()}function rr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Jn(Kn)}function ir(e,t){if(e===`click`)return Jn(t)}function ar(e,t){if(e===`input`||e===`change`)return Jn(t)}function or(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var sr=typeof Object.is==`function`?Object.is:or;function cr(e,t){if(sr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!q.call(t,i)||!sr(e[i],t[i]))return!1}return!0}function lr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n=lr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=lr(n)}}function dr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?dr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function fr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=xt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=xt(e.document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var mr=qt&&`documentMode`in document&&11>=document.documentMode,hr=null,gr=null,_r=null,vr=!1;function yr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;vr||hr==null||hr!==xt(r)||(r=hr,`selectionStart`in r&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focu
vendor: 76,701 bytes, line 8
8sNode:r.focusNode,focusOffset:r.focusOffset}),_r&&cr(_r,r)||(_r=r,r=Td(gr,`onSelect`),0<r.length&&(t=new on(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function br(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var xr={animationend:br(`Animation`,`AnimationEnd`),animationiteration:br(`Animation`,`AnimationIteration`),animationstart:br(`Animation`,`AnimationStart`),transitionrun:br(`Transition`,`TransitionRun`),transitionstart:br(`Transition`,`TransitionStart`),transitioncancel:br(`Transition`,`TransitionCancel`),transitionend:br(`Transition`,`TransitionEnd`)},Sr={},Cr={};qt&&(Cr=document.createElement(`div`).style,`AnimationEvent`in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),`TransitionEvent`in window||delete xr.transitionend.transition);function wr(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t=xr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Cr)return Sr[e]=t[n];return e}var Tr=wr(`animationend`),Er=wr(`animationiteration`),Dr=wr(`animationstart`),Or=wr(`transitionrun`),kr=wr(`transitionstart`),Ar=wr(`transitioncancel`),jr=wr(`transitionend`),Mr=new Map,Nr=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);Nr.push(`scrollEnd`);function Pr(e,t){Mr.set(e,t),st(t,[e])}var Fr=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Ir=[],Lr=0,Rr=0;function zr(){for(var e=Lr,t=Rr=Lr=0;t<e;){var n=Ir[t];Ir[t++]=null;var r=Ir[t];Ir[t++]=null;var i=Ir[t];Ir[t++]=null;var a=Ir[t];if(Ir[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Ur(n,i,a)}}function Br(e,t,n,r){Ir[Lr++]=e,Ir[Lr++]=t,Ir[Lr++]=n,Ir[Lr++]=r,Rr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Vr(e,t,n,r){return Br(e,t,n,r),Wr(e)}function Hr(e,t){return Br(e,null,null,t),Wr(e)}function Ur(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-we(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Wr(e){if(50<cu)throw cu=0,lu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Gr={};function Kr(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qr(e,t,n,r){return new Kr(e,t,n,r)}function Jr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Yr(e,t){var n=e.alternate;return n===null?(n=qr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Xr(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Zr(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)Jr(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,V.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case k:return e=qr(31,n,t,a),e.elementType=k,e.lanes=o,e;case y:return Qr(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=qr(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=qr(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=qr(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=qr(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function Qr(e,t,n,r){return e=qr(7,e,r,t),e.lanes=n,e}function $r(e,t,n){return e=qr(6,e,null,t),e.lanes=n,e}function ei(e){var t=qr(18,null,null,0);return t.stateNode=e,t}function ti(e,t,n){return t=qr(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ni=new WeakMap;function ri(e,t){if(typeof e==`object`&&e){var n=ni.get(e);return n===void 0?(t={value:e,source:t,stack:de(t)},ni.set(e,t),t):n}return{value:e,source:t,stack:de(t)}}var ii=[],ai=0,oi=null,si=0,ci=[],li=0,ui=null,di=1,fi=``;function pi(e,t){ii[ai++]=si,ii[ai++]=oi,oi=e,si=t}function mi(e,t,n){ci[li++]=di,ci[li++]=fi,ci[li++]=ui,ui=e;var r=di;e=fi;var i=32-we(r)-1;r&=~(1<<i),n+=1;var a=32-we(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,di=1<<32-we(t)+i|n<<i|r,fi=a+e}else di=1<<a|n<<i|r,fi=e}function hi(e){e.return!==null&&(pi(e,1),mi(e,1,0))}function gi(e){for(;e===oi;)oi=ii[--ai],ii[ai]=null,si=ii[--ai],ii[ai]=null;for(;e===ui;)ui=ci[--li],ci[li]=null,fi=ci[--li],ci[li]=null,di=ci[--li],ci[li]=null}function _i(e,t){ci[li++]=di,ci[li++]=fi,ci[li++]=ui,di=t.id,fi=t.overflow,ui=e}var vi=null,yi=null,bi=!1,xi=null,Si=!1,Ci=Error(i(519));function wi(e){throw Ai(ri(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ci}function Ti(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Ge]=e,t[Ke]=r,n){case`dialog`:vd(`cancel`,t),vd(`close`,t);break;case`iframe`:case`object`:case`embed`:vd(`load`,t);break;case`video`:case`audio`:for(n=0;n<hd.length;n++)vd(hd[n],t);break;case`source`:vd(`error`,t);break;case`img`:case`image`:case`link`:vd(`error`,t),vd(`load`,t);break;case`details`:vd(`toggle`,t);break;case`input`:vd(`invalid`,t),Tt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:vd(`invalid`,t);break;case`textarea`:vd(`invalid`,t),kt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||jd(t.textContent,n)?(r.popover!=null&&(vd(`beforetoggle`,t),vd(`toggle`,t)),r.onScroll!=null&&vd(`scroll`,t),r.onScrollEnd!=null&&vd(`scrollend`,t),r.onClick!=null&&(t.onclick=Rt),t=!0):t=!1,t||wi(e,!0)}function Ei(e){for(vi=e.return;vi;)switch(vi.tag){case 5:case 31:case 13:Si=!1;return;case 27:case 3:Si=!0;return;default:vi=vi.return}}function Di(e){if(e!==vi)return!1;if(!bi)return Ei(e),bi=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||Ud(e.type,e.memoizedProps)),n=!n),n&&yi&&wi(e),Ei(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));yi=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));yi=uf(e)}else t===27?(t=yi,Zd(e.type)?(e=lf,lf=null,yi=e):yi=t):yi=vi?cf(e.stateNode.nextSibling):null;return!0}function Oi(){yi=vi=null,bi=!1}function ki(){var e=xi;return e!==null&&(Jl===null?Jl=e:Jl.push.apply(Jl,e),xi=null),e}function Ai(e){xi===null?xi=[e]:xi.push(e)}var ji=R(null),Mi=null,Ni=null;function Pi(e,t,n){B(ji,t._currentValue),t._currentValue=n}function Fi(e){e._currentValue=ji.current,z(ji)}function Ii(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Li(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Ii(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Ii(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Ri(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;sr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===W.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&Li(t,e,n,r),t.flags|=262144}function zi(e){for(e=e.firstContext;e!==null;){if(!sr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Bi(e){Mi=e,Ni=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Vi(e){return Ui(Mi,e)}function Hi(e,t){return Mi===null&&Bi(e),Ui(e,t)}function Ui(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Ni===null){if(e===null)throw Error(i(308));Ni=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ni=Ni.next=t;return n}var Wi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Gi=t.unstable_scheduleCallback,Ki=t.unstable_NormalPriority,qi={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ji(){return{controller:new Wi,data:new Map,refCount:0}}function Yi(e){e.refCount--,e.refCount===0&&Gi(Ki,function(){e.controller.abort()})}var Xi=null,Zi=0,Qi=0,$i=null;function ea(e,t){if(Xi===null){var n=Xi=[];Zi=0,Qi=ld(),$i={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return Zi++,t.then(ta,ta),t}function ta(){if(--Zi===0&&Xi!==null){$i!==null&&($i.status=`fulfilled`);var e=Xi;Xi=null,Qi=0,$i=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function na(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ra=F.S;F.S=function(e,t){Zl=J(),typeof t==`object`&&t&&typeof t.then==`function`&&ea(e,t),ra!==null&&ra(e,t)};var ia=R(null);function aa(){var e=ia.current;return e===null?Ml.pooledCache:e}function oa(e,t){t===null?B(ia,ia.current):B(ia,t.pool)}function sa(){var e=aa();return e===null?null:{parent:qi._currentValue,pool:e}}var ca=Error(i(460)),la=Error(i(474)),ua=Error(i(542)),da={then:function(){}};function fa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function pa(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Rt,Rt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,_a(e),e;default:if(typeof t.status==`string`)t.then(Rt,Rt);else{if(e=Ml,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,_a(e),e}throw ha=t,ca}}function ma(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ha=e,ca):e}}var ha=null;function ga(){if(ha===null)throw Error(i(459));var e=ha;return ha=null,e}function _a(e){if(e===ca||e===ua)throw Error(i(483))}var va=null,ya=0;function ba(e){var t=ya;return ya+=1,va===null&&(va=[]),pa(va,e,t)}function xa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Sa(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ca(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=Yr(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=$r(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===O&&ma(i)===t.type)?(t=a(t,n.props),xa(t,n),t.return=e,t):(t=Zr(n.type,n.key,n.props,null,e.mode,r),xa(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=ti(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Qr(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=$r(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=Zr(t.type,t.key,t.props,null,e.mode,n),xa(n,t),n.return=e,n;case v:return t=ti(t,e.mode,n),t.return=e,t;case O:return t=ma(t),f(e,t,n)}if(P(t)||M(t))return t=Qr(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,ba(t),n);if(t.$$typeof===C)return f(e,Hi(e,t),n);Sa(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=ma(n),p(e,t,n,r)}if(P(n)||M(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,ba(n),r);if(n.$$typeof===C)return p(e,t,Hi(e,n),r);Sa(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=ma(r),m(e,t,n,r,i)}if(P(r)||M(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,ba(r),i);if(r.$$typeof===C)return m(e,t,n,Hi(t,r),i);Sa(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),bi&&pi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return bi&&pi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),bi&&pi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),bi&&pi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return bi&&pi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),bi&&pi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&ma(l)===r.type){n(e,r.sibling),c=a(r,o.props),xa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=Qr(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=Zr(o.type,o.key,o.props,null,e.mode,c),xa(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=ti(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=ma(o),b(e,r,o,c)}if(P(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ba(o),c);if(o.$$typeof===C)return b(e,r,Hi(e,o),c);Sa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=$r(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ya=0;var i=b(e,t,n,r);return va=null,i}catch(t){if(t===ca||t===ua)throw t;var a=qr(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var wa=Ca(!0),Ta=Ca(!1),Ea=!1;function Da(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Oa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ka(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Aa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,jl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Wr(e),Ur(e,null,n),t}return Br(e,r,t,n),Wr(e)}function ja(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ze(e,n)}}function Ma(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Na=!1;function Pa(){if(Na){var e=$i;if(e!==null)throw e}}function Fa(e,t,n,r){Na=!1;var i=e.updateQueue;Ea=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Pl&f)===f:(r&f)===f){f!==0&&f===Qi&&(Na=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Ea=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Hl|=o,e.lanes=o,e.memoizedState=d}}function Ia(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function La(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Ia(n[e],t)}var Ra=R(null),za=R(0);function Ba(e,t){e=Bl,B(za,e),B(Ra,t),Bl=e|t.baseLanes}function Va(){B(za,Bl),B(Ra,Ra.current)}function Ha(){Bl=za.current,z(Ra),z(za)}var Ua=R(null),Wa=null;function Ga(e){var t=e.alternate;B(Xa,Xa.current&1),B(Ua,e),Wa===null&&(t===null||Ra.current!==null||t.memoizedState!==null)&&(Wa=e)}function Ka(e){B(Xa,Xa.current),B(Ua,e),Wa===null&&(Wa=e)}function qa(e){e.tag===22?(B(Xa,Xa.current),B(Ua,e),Wa===null&&(Wa=e)):Ja(e)}function Ja(){B(Xa,Xa.current),B(Ua,Ua.current)}function Ya(e){z(Ua),Wa===e&&(Wa=null),z(Xa)}var Xa=R(0);function Za(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Qa=0,$a=null,eo=null,to=null,no=!1,ro=!1,io=!1,ao=0,oo=0,so=null,co=0;function lo(){throw Error(i(321))}function uo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function fo(e,t,n,r,i,a){return Qa=a,$a=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?ks:As,io=!1,a=n(r,i),io=!1,ro&&(a=mo(t,n,r,i)),po(e),a}function po(e){F.H=Os;var t=eo!==null&&eo.next!==null;if(Qa=0,to=eo=$a=null,no=!1,oo=0,so=null,t)throw Error(i(300));e===null||qs||(e=e.dependencies,e!==null&&zi(e)&&(qs=!0))}function mo(e,t,n,r){$a=e;var a=0;do{if(ro&&(so=null),oo=0,ro=!1,25<=a)throw Error(i(301));if(a+=1,to=eo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}F.H=js,o=t(n,r)}while(ro);return o}function ho(){var e=F.H,t=e.useState()[0];return t=typeof t.then==`function`?So(t):t,e=e.useState()[0],(eo===null?null:eo.memoizedState)!==e&&($a.flags|=1024),t}function go(){var e=ao!==0;return ao=0,e}function _o(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function vo(e){if(no){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}no=!1}Qa=0,to=eo=$a=null,ro=!1,oo=ao=0,so=null}function yo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return to===null?$a.memoizedState=to=e:to=to.next=e,to}function bo(){if(eo===null){var e=$a.alternate;e=e===null?null:e.memoizedState}else e=eo.next;var t=to===null?$a.memoizedState:to.next;if(t!==null)to=t,eo=e;else{if(e===null)throw $a.alternate===null?Error(i(467)):Error(i(310));eo=e,e={memoizedState:eo.memoizedState,baseState:eo.baseState,baseQueue:eo.baseQueue,queue:eo.queue,next:null},to===null?$a.memoizedState=to=e:to=to.next=e}return to}function xo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function So(e){var t=oo;return oo+=1,so===null&&(so=[]),e=pa(so,e,t),t=$a,(to===null?t.memoizedState:to.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?ks:As),e}function Co(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return So(e);if(e.$$typeof===C)return Vi(e)}throw Error(i(438,String(e)))}function wo(e){var t=null,n=$a.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=$a.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=xo(),$a.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=A;return t.index++,n}function To(e,t){return typeof t==`function`?t(e):t}function Eo(e){return Do(bo(),eo,e)}function Do(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(Qa&f)===f:(Pl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Qi&&(d=!0);else if((Qa&p)===p){u=u.next,p===Qi&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,$a.lanes|=p,Hl|=p;f=u.action,io&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,$a.lanes|=f,Hl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!sr(o,e.memoizedState)&&(qs=!0,d&&(n=$i,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Oo(e){var t=bo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);sr(o,t.memoizedState)||(qs=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ko(e,t,n){var r=$a,a=bo(),o=bi;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!sr((eo||a).memoizedState,n);if(s&&(a.memoizedState=n,qs=!0),a=a.queue,es(Mo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||to!==null&&to.memoizedState.tag&1){if(r.flags|=2048,Yo(9,{destroy:void 0},jo.bind(null,r,a,n,t),null),Ml===null)throw Error(i(349));o||Qa&127||Ao(r,t,n)}return n}function Ao(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=$a.updateQueue,t===null?(t=xo(),$a.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function jo(e,t,n,r){t.value=n,t.getSnapshot=r,No(t)&&Po(e)}function Mo(e,t,n){return n(function(){No(t)&&Po(e)})}function No(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch{return!0}}function Po(e){var t=Hr(e,2);t!==null&&fu(t,e,2)}function Fo(e){var t=yo();if(typeof e==`function`){var n=e;if(e=n(),io){Ce(!0);try{n()}finally{Ce(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:e},t}function Io(e,t,n,r){return e.baseState=n,Do(e,eo,typeof r==`function`?r:To)}function Lo(e,t,n,r,a){if(Ts(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};F.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Ro(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Ro(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=F.T,o={};F.T=o;try{var s=n(i,r),c=F.S;c!==null&&c(o,s),zo(e,t,s)}catch(n){Vo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),F.T=a}}else try{a=n(i,r),zo(e,t,a)}catch(n){Vo(e,t,n)}}function zo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Bo(e,t,n)},function(n){return Vo(e,t,n)}):Bo(e,t,n)}function Bo(e,t,n){t.status=`fulfilled`,t.value=n,Ho(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ro(e,n)))}function Vo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Ho(t),t=t.next;while(t!==r)}e.action=null}function Ho(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Uo(e,t){return t}function Wo(e,t){if(bi){var n=Ml.formState;if(n!==null){a:{var r=$a;if(bi){if(yi){b:{for(var i=yi,a=Si;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){yi=cf(i.nextSibling),r=i.data===`F!`;break a}}wi(r)}r=!1}r&&(t=n[0])}}return n=yo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:t},n.queue=r,n=Ss.bind(null,$a,r),r.dispatch=n,r=Fo(!1),a=ws.bind(null,$a,!1,r.queue),r=yo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Lo.bind(null,$a,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Go(e){return Ko(bo(),eo,e)}function Ko(e,t,n){if(t=Do(e,t,Uo)[0],e=Eo(To)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=So(t)}catch(e){throw e===ca?ua:e}else r=t;t=bo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&($a.flags|=2048,Yo(9,{destroy:void 0},qo.bind(null,i,n),null)),[r,a,e]}function qo(e,t){e.action=t}function Jo(e){var t=bo(),n=eo;if(n!==null)return Ko(t,n,e);bo(),t=t.memoizedState,n=bo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Yo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=$a.updateQueue,t===null&&(t=xo(),$a.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Xo(){return bo().memoizedState}function Zo(e,t,n,r){var i=yo();$a.flags|=e,i.memoizedState=Yo(1|t,{destroy:void 0},n,r===void 0?null:r)}function Qo(e,t,n,r){var i=bo();r=r===void 0?null:r;var a=i.memoizedState.inst;eo!==null&&r!==null&&uo(r,eo.memoizedState.deps)?i.memoizedState=Yo(t,a,n,r):($a.flags|=e,i.memoizedState=Yo(1|t,a,n,r))}function $o(e,t){Zo(8390656,8,e,t)}function es(e,t){Qo(2048,8,e,t)}function ts(e){$a.flags|=4;var t=$a.updateQueue;if(t===null)t=xo(),$a.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function ns(e){var t=bo().memoizedState;return ts({ref:t,nextImpl:e}),function(){if(jl&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function rs(e,t){return Qo(4,2,e,t)}function is(e,t){return Qo(4,4,e,t)}function as(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function os(e,t,n){n=n==null?null:n.concat([e]),Qo(4,4,as.bind(null,t,e),n)}function ss(){}function cs(e,t){var n=bo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&uo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ls(e,t){var n=bo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&uo(t,r[1]))return r[0];if(r=e(),io){Ce(!0);try{e()}finally{Ce(!1)}}return n.memoizedState=[r,t],r}function us(e,t,n){return n===void 0||Qa&1073741824&&!(Pl&261930)?e.memoizedState=t:(e.memoizedState=n,e=du(),$a.lanes|=e,Hl|=e,n)}function ds(e,t,n,r){return sr(n,t)?n:Ra.current===null?!(Qa&42)||Qa&1073741824&&!(Pl&261930)?(qs=!0,e.memoizedState=n):(e=du(),$a.lanes|=e,Hl|=e,t):(e=us(e,n,r),sr(e,t)||(qs=!0),e)}function fs(e,t,n,r,i){var a=I.p;I.p=a!==0&&8>a?a:8;var o=F.T,s={};F.T=s,ws(e,!1,t,n);try{var c=i(),l=F.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Cs(e,t,na(c,r),uu(e)):Cs(e,t,r,uu(e))}catch(n){Cs(e,t,{then:function(){},status:`rejected`,reason:n},uu())}finally{I.p=a,o!==null&&s.types!==null&&(o.types=s.types),F.T=o}}function ps(){}function ms(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=hs(e).queue;fs(e,a,t,L,n===null?ps:function(){return gs(e),n(r)})}function hs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:L,baseState:L,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:L},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:To,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function gs(e){var t=hs(e);t.next===null&&(t=e.alternate.memoizedState),Cs(e,t.next.queue,{},uu())}function _s(){return Vi(Qf)}function vs(){return bo().memoizedState}function ys(){return bo().memoizedState}function bs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=uu();e=ka(n);var r=Aa(t,e,n);r!==null&&(fu(r,t,n),ja(r,t,n)),t={cache:Ji()},e.payload=t;return}t=t.return}}function xs(e,t,n){var r=uu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ts(e)?Es(t,n):(n=Vr(e,t,n,r),n!==null&&(fu(n,e,r),Ds(n,t,r)))}function Ss(e,t,n){Cs(e,t,n,uu())}function Cs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ts(e))Es(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,sr(s,o))return Br(e,t,i,0),Ml===null&&zr(),!1}catch{}if(n=Vr(e,t,i,r),n!==null)return fu(n,e,r),Ds(n,t,r),!0}return!1}function ws(e,t,n,r){if(r={lane:2,revertLane:ld(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ts(e)){if(t)throw Error(i(479))}else t=Vr(e,n,r,2),t!==null&&fu(t,e,2)}function Ts(e){var t=e.alternate;return e===$a||t!==null&&t===$a}function Es(e,t){ro=no=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ds(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ze(e,n)}}var Os={readContext:Vi,use:Co,useCallback:lo,useContext:lo,useEffect:lo,useImperativeHandle:lo,useLayoutEffect:lo,useInsertionEffect:lo,useMemo:lo,useReducer:lo,useRef:lo,useState:lo,useDebugValue:lo,useDeferredValue:lo,useTransition:lo,useSyncExternalStore:lo,useId:lo,useHostTransitionStatus:lo,useFormState:lo,useActionState:lo,useOptimistic:lo,useMemoCache:lo,useCacheRefresh:lo};Os.useEffectEvent=lo;var ks={readContext:Vi,use:Co,useCallback:function(e,t){return yo().memoizedState=[e,t===void 0?null:t],e},useContext:Vi,useEffect:$o,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Zo(4194308,4,as.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Zo(4194308,4,e,t)},useInsertionEffect:function(e,t){Zo(4,2,e,t)},useMemo:function(e,t){var n=yo();t=t===void 0?null:t;var r=e();if(io){Ce(!0);try{e()}finally{Ce(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=yo();if(n!==void 0){var i=n(t);if(io){Ce(!0);try{n(t)}finally{Ce(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=xs.bind(null,$a,e),[r.memoizedState,e]},useRef:function(e){var t=yo();return e={current:e},t.memoizedState=e},useState:function(e){e=Fo(e);var t=e.queue,n=Ss.bind(null,$a,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ss,useDeferredValue:function(e,t){return us(yo(),e,t)},useTransition:function(){var e=Fo(!1);return e=fs.bind(null,$a,e.queue,!0,!1),yo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=$a,a=yo();if(bi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Ml===null)throw Error(i(349));Pl&127||Ao(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,$o(Mo.bind(null,r,o,e),[e]),r.flags|=2048,Yo(9,{destroy:void 0},jo.bind(null,r,o,n,t),null),n},useId:function(){var e=yo(),t=Ml.identifierPrefix;if(bi){var n=fi,r=di;n=(r&~(1<<32-we(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ao++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=co++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:_s,useFormState:Wo,useActionState:Wo,useOptimistic:function(e){var t=yo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=ws.bind(null,$a,!0,n),n.dispatch=t,[e,t]},useMemoCache:wo,useCacheRefresh:function(){return yo().memoizedState=bs.bind(null,$a)},useEffectEvent:function(e){var t=yo(),n={impl:e};return t.memoizedState=n,function(){if(jl&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},As={readContext:Vi,use:Co,useCallback:cs,useContext:Vi,useEffect:es,useImperativeHandle:os,useInsertionEffect:rs,useLayoutEffect:is,useMemo:ls,useReducer:Eo,useRef:Xo,useState:function(){return Eo(To)},useDebugValue:ss,useDeferredValue:function(e,t){return ds(bo(),eo.memoizedState,e,t)},useTransition:function(){var e=Eo(To)[0],t=bo().memoizedState;return[typeof e==`boolean`?e:So(e),t]},useSyncExternalStore:ko,useId:vs,useHostTransitionStatus:_s,useFormState:Go,useActionState:Go,useOptimistic:function(e,t){return Io(bo(),eo,e,t)},useMemoCache:wo,useCacheRefresh:ys};As.useEffectEvent=ns;var js={readContext:Vi,use:Co,useCallback:cs,useContext:Vi,useEffect:es,useImperativeHandle:os,useInsertionEffect:rs,useLayoutEffect:is,useMemo:ls,useReducer:Oo,useRef:Xo,useState:function(){return Oo(To)},useDebugValue:ss,useDeferredValue:function(e,t){var n=bo();return eo===null?us(n,e,t):ds(n,eo.memoizedState,e,t)},useTransition:function(){var e=Oo(To)[0],t=bo().memoizedState;return[typeof e==`boolean`?e:So(e),t]},useSyncExternalStore:ko,useId:vs,useHostTransitionStatus:_s,useFormState:Jo,useActionState:Jo,useOptimistic:function(e,t){var n=bo();return eo===null?(n.baseState=e,[e,n.queue.dispatch]):Io(n,eo,e,t)},useMemoCache:wo,useCacheRefresh:ys};js.useEffectEvent=ns;function Ms(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ns={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=uu(),i=ka(r);i.payload=t,n!=null&&(i.callback=n),t=Aa(e,i,r),t!==null&&(fu(t,e,r),ja(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=uu(),i=ka(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Aa(e,i,r),t!==null&&(fu(t,e,r),ja(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=uu(),r=ka(n);r.tag=2,t!=null&&(r.callback=t),t=Aa(e,r,n),t!==null&&(fu(t,e,n),ja(t,e,n))}};function Ps(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!cr(n,r)||!cr(i,a):!0}function Fs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ns.enqueueReplaceState(t,t.state,null)}function Is(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ls(e){Fr(e)}function Rs(e){console.error(e)}function zs(e){Fr(e)}function Bs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Vs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Hs(e,t,n){return n=ka(n),n.tag=3,n.payload={element:null},n.callback=function(){Bs(e,t)},n}function Us(e){return e=ka(e),e.tag=3,e}function Ws(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Vs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Vs(t,n,r),typeof i!=`function`&&(eu===null?eu=new Set([this]):eu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Gs(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Ri(t,n,a,!0),n=Ua.current,n!==null){switch(n.tag){case 31:case 13:return Wa===null?wu():n.alternate===null&&Vl===0&&(Vl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===da?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Uu(e,r,a)),!1;case 22:return n.flags|=65536,r===da?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Uu(e,r,a)),!1}throw Error(i(435,n.tag))}return Uu(e,r,a),wu(),!1}if(bi)return t=Ua.current,t===null?(r!==Ci&&(t=Error(i(423),{cause:r}),Ai(ri(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=ri(r,n),a=Hs(e.stateNode,r,a),Ma(e,a),Vl!==4&&(Vl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Ci&&(e=Error(i(422),{cause:r}),Ai(ri(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=ri(o,n),ql===null?ql=[o]:ql.push(o),Vl!==4&&(Vl=2),t===null)return!0;r=ri(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Hs(n.stateNode,r,e),Ma(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(eu===null||!eu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Us(a),Ws(a,e,n,r),Ma(n,a),!1}n=n.return}while(n!==null);return!1}var Ks=Error(i(461)),qs=!1;function Js(e,t,n,r){t.child=e===null?Ta(t,null,n,r):wa(t,e.child,n,r)}function Ys(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Bi(t),r=fo(e,t,n,o,a,i),s=go(),e!==null&&!qs?(_o(e,t,i),yc(e,t,i)):(bi&&s&&hi(t),t.flags|=1,Js(e,t,r,i),t.child)}function Xs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Jr(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,Zs(e,t,a,r,i)):(e=Zr(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!bc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?cr:n,n(o,r)&&e.ref===t.ref)return yc(e,t,i)}return t.flags|=1,e=Yr(a,r),e.ref=t.ref,e.return=t,t.child=e}function Zs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(cr(a,r)&&e.ref===t.ref){if(qs=!1,t.pendingProps=r=a,bc(e,i))e.flags&131072&&(qs=!0);else return t.lanes=e.lanes,yc(e,t,i)}}return ac(e,t,n,r,i)}function Qs(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return ec(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&oa(t,a===null?null:a.cachePool),a===null?Va():Ba(t,a),qa(t);else return r=t.lanes=536870912,ec(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&oa(t,null),Va(),Ja(t)):(oa(t,a.cachePool),Ba(t,a),Ja(t),t.memoizedState=null);return Js(e,t,i,n),t.child}function $s(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ec(e,t,n,r,i){var a=aa();return a=a===null?null:{parent:qi._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&oa(t,null),Va(),qa(t),e!==null&&Ri(e,t,r,!0),t.childLanes=i,null}function tc(e,t){return t=mc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function nc(e,t,n){return wa(t,e.child,null,n),e=tc(t,t.pendingProps),e.flags|=2,Ya(t),t.memoizedState=null,e}function rc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(bi){if(r.mode===`hidden`)return e=tc(t,r),t.lanes=536870912,$s(null,e);if(Ka(t),(e=yi)?(e=rf(e,Si),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ui===null?null:{id:di,overflow:fi},retryLane:536870912,hydrationErrors:null},n=ei(e),n.return=t,t.child=n,vi=t,yi=null)):e=null,e===null)throw wi(t);return t.lanes=536870912,null}return tc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Ka(t),a){if(t.flags&256)t.flags&=-257,t=nc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(qs||Ri(e,t,n,!1),a=(n&e.childLanes)!==0,qs||a){if(r=Ml,r!==null&&(s=Be(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Hr(e,s),fu(r,e,s),Ks;wu(),t=nc(e,t,n)}else e=o.treeContext,yi=cf(s.nextSibling),vi=t,bi=!0,xi=null,Si=!1,e!==null&&_i(t,e),t=tc(t,r),t.flags|=4096;return t}return e=Yr(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ic(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function ac(e,t,n,r,i){return Bi(t),n=fo(e,t,n,r,void 0,i),r=go(),e!==null&&!qs?(_o(e,t,i),yc(e,t,i)):(bi&&r&&hi(t),t.flags|=1,Js(e,t,n,i),t.child)}function oc(e,t,n,r,i,a){return Bi(t),t.updateQueue=null,n=mo(t,r,n,i),po(e),r=go(),e!==null&&!qs?(_o(e,t,a),yc(e,t,a)):(bi&&r&&hi(t),t.flags|=1,Js(e,t,n,a),t.child)}function sc(e,t,n,r,i){if(Bi(t),t.stateNode===null){var a=Gr,o=n.contextType;typeof o==`object`&&o&&(a=Vi(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ns,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Da(t),o=n.contextType,a.context=typeof o==`object`&&o?Vi(o):Gr,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ms(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Ns.enqueueReplaceState(a,a.state,null),Fa(t,r,a,i),Pa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Is(n,s);a.props=c;var l=a.context,u=n.contextType;o=Gr,typeof u==`object`&&u&&(o=Vi(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Fs(t,a,r,o),Ea=!1;var f=t.memoizedState;a.state=f,Fa(t,r,a,i),Pa(),l=t.memoizedState,s||f!==l||Ea?(typeof d==`function`&&(Ms(t,n,d,r),l=t.memoizedState),(c=Ea||Ps(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Oa(e,t),o=t.memoizedProps,u=Is(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Gr,typeof l==`object`&&l&&(c=Vi(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Fs(t,a,r,c),Ea=!1,f=t.memoizedState,a.state=f,Fa(t,r,a,i),Pa();var p=t.memoizedState;o!==d||f!==p||Ea||e!==null&&e.dependencies!==null&&zi(e.dependencies)?(typeof s==`function`&&(Ms(t,n,s,r),p=t.memoizedState),(u=Ea||Ps(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&zi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,ic(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=wa(t,e.child,null,i),t.child=wa(t,null,n,i)):Js(e,t,n,i),t.memoizedState=a.state,e=t.child):e=yc(e,t,i),e}function cc(e,t,n,r){return Oi(),t.flags|=256,Js(e,t,n,r),t.child}var lc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function uc(e){return{baseLanes:e,cachePool:sa()}}function dc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Gl),e}function fc(e,t,n){var r=t.pendingProps,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(Xa.current&2)),s&&(a=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(bi){if(a?Ga(t):Ja(t),(e=yi)?(e=rf(e,Si),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ui===null?null:{id:di,overflow:fi},retryLane:536870912,hydrationErrors:null},n=ei(e),n.return=t,t.child=n,vi=t,yi=null)):e=null,e===null)throw wi(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(Ja(t),a=t.mode,c=mc({mode:`hidden`,children:c},a),r=Qr(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=uc(n),r.childLanes=dc(e,s,n),t.memoizedState=lc,$s(null,r)):(Ga(t),pc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Ga(t),t.flags&=-257,t=hc(e,t,n)):t.memoizedState===null?(Ja(t),c=r.fallback,a=t.mode,r=mc({mode:`visible`,children:r.children},a),c=Qr(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,wa(t,e.child,null,n),r=t.child,r.memoizedState=uc(n),r.childLanes=dc(e,s,n),t.memoizedState=lc,t=$s(null,r)):(Ja(t),t.child=e.child,t.flags|=128,t=null);else if(Ga(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Ai({value:r,source:null,stack:null}),t=hc(e,t,n)}else if(qs||Ri(e,t,n,!1),s=(n&e.childLanes)!==0,qs||s){if(s=Ml,s!==null&&(r=Be(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Hr(e,r),fu(s,e,r),Ks;af(c)||wu(),t=hc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,yi=cf(c.nextSibling),vi=t,bi=!0,xi=null,Si=!1,e!==null&&_i(t,e),t=pc(t,r.children),t.flags|=4096);return t}return a?(Ja(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=Yr(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=Qr(c,a,n,null),c.flags|=2):c=Yr(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,$s(null,r),r=t.child,c=e.child.memoizedState,c===null?c=uc(n):(a=c.cachePool,a===null?a=sa():(l=qi._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=dc(e,s,n),t.memoizedState=lc,$s(e.child,r)):(Ga(t),n=e.child,e=n.sibling,n=Yr(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function pc(e,t){return t=mc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function mc(e,t){return e=qr(22,e,null,t),e.lanes=0,e}function hc(e,t,n){return wa(t,e.child,null,n),e=pc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ii(e.return,t,n)}function _c(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function vc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Xa.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,B(Xa,o),Js(e,t,r,n),r=bi?si:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&gc(e,n,t);else if(e.tag===19)gc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Za(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),_c(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Za(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}_c(t,!0,n,null,a,r);break;case`together`:_c(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function yc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Hl|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(Ri(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=Yr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Yr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function bc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&zi(e)))}function xc(e,t,n){switch(t.tag){case 3:re(t,t.stateNode.containerInfo),Pi(t,qi,e.memoizedState.cache),Oi();break;case 27:case 5:ie(t);break;case 4:re(t,t.stateNode.containerInfo);break;case 10:Pi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Ka(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Ga(t),e=yc(e,t,n),e===null?null:e.sibling):fc(e,t,n):(Ga(t),t.flags|=128,null);Ga(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(Ri(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return vc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),B(Xa,Xa.current),r)break;return null;case 22:return t.lanes=0,Qs(e,t,n,t.pendingProps);case 24:Pi(t,qi,e.memoizedState.cache)}return yc(e,t,n)}function Sc(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)qs=!0;else{if(!bc(e,n)&&!(t.flags&128))return qs=!1,xc(e,t,n);qs=!!(e.flags&131072)}}else qs=!1,bi&&t.flags&1048576&&mi(t,si,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=ma(t.elementType),t.type=e,typeof e==`function`)Jr(e)?(r=Is(e,r),t.tag=1,t=sc(null,t,e,r,n)):(t.tag=0,t=ac(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=Ys(null,t,e,r,n);break a}if(a===D){t.tag=14,t=Xs(null,t,e,r,n);break a}}throw t=ee(e)||e,Error(i(306,t,``))}}return t;case 0:return ac(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Is(r,t.pendingProps),sc(e,t,r,a,n);case 3:a:{if(re(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Oa(e,t),Fa(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Pi(t,qi,r),r!==o.cache&&Li(t,[qi],n,!0),Pa(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=cc(e,t,r,n);break a}if(r!==a){a=ri(Error(i(424)),t),Ai(a),t=cc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(yi=cf(e.firstChild),vi=t,bi=!0,xi=null,Si=!0,n=Ta(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Oi(),r===a){t=yc(e,t,n);break a}Js(e,t,r,n)}t=t.child}return t;case 26:return ic(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:bi||(n=t.type,e=t.pendingProps,r=Bd(U.current).createElement(n),r[Ge]=t,r[Ke]=e,Pd(r,n,e),it(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ie(t),e===null&&bi&&(r=t.stateNode=ff(t.type,t.pendingProps,U.current),vi=t,Si=!0,a=yi,Zd(t.type)?(lf=a,yi=cf(r.firstChild)):yi=a),Js(e,t,t.pendingProps.children,n),ic(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bi&&((a=r=yi)&&(r=tf(r,t.type,t.pendingProps,Si),r===null?a=!1:(t.stateNode=r,vi=t,yi=cf(r.firstChild),Si=!1,a=!0)),a||wi(t)),ie(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=fo(e,t,ho,null,null,n),Qf._currentValue=a),ic(e,t),Js(e,t,r,n),t.child;case 6:return e===null&&bi&&((e=n=yi)&&(n=nf(n,t.pendingProps,Si),n===null?e=!1:(t.stateNode=n,vi=t,yi=null,e=!0)),e||wi(t)),null;case 13:return fc(e,t,n);case 4:return re(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=wa(t,null,r,n):Js(e,t,r,n),t.child;case 11:return Ys(e,t,t.type,t.pendingProps,n);case 7:return Js(e,t,t.pendingProps,n),t.child;case 8:return Js(e,t,t.pendingProps.children,n),t.child;case 12:return Js(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Pi(t,t.type,r.value),Js(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Bi(t),a=Vi(a),r=r(a),t.flags|=1,Js(e,t,r,n),t.child;case 14:return Xs(e,t,t.type,t.pendingProps,n);case 15:return Zs(e,t,t.type,t.pendingProps,n);case 19:return vc(e,t,n);case 31:return rc(e,t,n);case 22:return Qs(e,t,n,t.pendingProps);case 24:return Bi(t),r=Vi(qi),e===null?(a=aa(),a===null&&(a=Ml,o=Ji(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Da(t),Pi(t,qi,a)):((e.lanes&n)!==0&&(Oa(e,t),Fa(t,null,null,n),Pa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,Pi(t,qi,r),r!==a.cache&&Li(t,[qi],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Pi(t,qi,r))),Js(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Cc(e){e.flags|=4}function wc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(xu())e.flags|=8192;else throw ha=da,la}}else e.flags&=-16777217}function Tc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t)){if(xu())e.flags|=8192;else throw ha=da,la}}function Ec(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Fe(),e.lanes|=t,Kl|=t)}function Dc(e,t){if(!bi)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Oc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function kc(e,t,n){var r=t.pendingProps;switch(gi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Oc(t),null;case 1:return Oc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Fi(qi),G(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Di(t)?Cc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ki())),Oc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Cc(t),o===null?(Oc(t),wc(t,a,null,r,n)):(Oc(t),Tc(t,o))):o?o===e.memoizedState?(Oc(t),t.flags&=-16777217):(Cc(t),Oc(t),Tc(t,o)):(e=e.memoizedProps,e!==r&&Cc(t),Oc(t),wc(t,a,e,r,n)),null;case 27:if(ae(t),n=U.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Oc(t),null}e=V.current,Di(t)?Ti(t,e):(e=ff(a,r,n),t.stateNode=e,Cc(t))}return Oc(t),null;case 5:if(ae(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Oc(t),null}if(o=V.current,Di(t))Ti(t,o);else{var s=Bd(U.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[Ge]=t,o[Ke]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Cc(t)}}return Oc(t),wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=U.current,Di(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=vi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Ge]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||wi(t,!0)}else e=Bd(e).createTextNode(r),e[Ge]=t,t.stateNode=e}return Oc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Di(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[Ge]=t}else Oi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),e=!1}else n=ki(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ya(t),t):(Ya(t),null);if(t.flags&128)throw Error(i(558))}return Oc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Di(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[Ge]=t}else Oi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),a=!1}else a=ki(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Ya(t),t):(Ya(t),null)}return Ya(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ec(t,t.updateQueue),Oc(t),null);case 4:return G(),e===null&&xd(t.stateNode.containerInfo),Oc(t),null;case 10:return Fi(t.type),Oc(t),null;case 19:if(z(Xa),r=t.memoizedState,r===null)return Oc(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)Dc(r,!1);else{if(Vl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Za(e),o!==null){for(t.flags|=128,Dc(r,!1),e=o.updateQueue,t.updateQueue=e,Ec(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Xr(n,e),n=n.sibling;return B(Xa,Xa.current&1|2),bi&&pi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&J()>Ql&&(t.flags|=128,a=!0,Dc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Za(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Ec(t,e),Dc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!bi)return Oc(t),null}else 2*J()-r.renderingStartTime>Ql&&n!==536870912&&(t.flags|=128,a=!0,Dc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Oc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=J(),e.sibling=null,n=Xa.current,B(Xa,a?n&1|2:n&1),bi&&pi(t,r.treeForkCount),e);case 22:case 23:return Ya(t),Ha(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Oc(t),t.subtreeFlags&6&&(t.flags|=8192)):Oc(t),n=t.updateQueue,n!==null&&Ec(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&z(ia),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Fi(qi),Oc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Ac(e,t){switch(gi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Fi(qi),G(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ae(t),null;case 31:if(t.memoizedState!==null){if(Ya(t),t.alternate===null)throw Error(i(340));Oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ya(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return z(Xa),null;case 4:return G(),null;case 10:return Fi(t.type),null;case 22:case 23:return Ya(t),Ha(),e!==null&&z(ia),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Fi(qi),null;case 25:return null;default:return null}}function jc(e,t){switch(gi(t),t.tag){case 3:Fi(qi),G();break;case 26:case 27:case 5:ae(t);break;case 4:G();break;case 31:t.memoizedState!==null&&Ya(t);break;case 13:Ya(t);break;case 19:z(Xa);break;case 10:Fi(t.type);break;case 22:case 23:Ya(t),Ha(),e!==null&&z(ia);break;case 24:Fi(qi)}}function Mc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Hu(t,t.return,e)}}function Nc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Hu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Hu(t,t.return,e)}}function Pc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{La(t,n)}catch(t){Hu(e,e.return,t)}}}function Fc(e,t,n){n.props=Is(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Hu(e,t,n)}}function Ic(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Hu(e,t,n)}}function Lc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Hu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Hu(e,t,n)}else n.current=null}}function Rc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Hu(e,e.return,t)}}function zc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[Ke]=t}catch(t){Hu(e,e.return,t)}}function Bc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Vc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Bc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Rt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Hc(e,t,n),e=e.sibling;e!==null;)Hc(e,t,n),e=e.sibling}function Uc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Uc(e,t,n),e=e.sibling;e!==null;)Uc(e,t,n),e=e.sibling}function Wc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[Ge]=e,t[Ke]=n}catch(t){Hu(e,e.return,t)}}var Gc=!1,Kc=!1,qc=!1,Jc=typeof WeakSet==`function`?WeakSet:Set,Yc=null;function Xc(e,t){if(e=e.containerInfo,Rd=sp,e=fr(e),pr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,Yc=t;Yc!==null;)if(t=Yc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Yc=e;else for(;Yc!==null;){switch(t=Yc,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Is(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Hu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,Yc=e;break}Yc=t.return}}function Zc(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:fl(e,n),r&4&&Mc(5,n);break;case 1:if(fl(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Hu(n,n.return,e)}else{var i=Is(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Hu(n,n.return,e)}}}r&64&&Pc(n),r&512&&Ic(n,n.return);break;case 3:if(fl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{La(e,t)}catch(e){Hu(n,n.return,e)}}break;case 27:t===null&&r&4&&Wc(n);case 26:case 5:fl(e,n),t===null&&r&4&&Rc(n),r&512&&Ic(n,n.return);break;case 12:fl(e,n);break;case 31:fl(e,n),r&4&&rl(e,n);break;case 13:fl(e,n),r&4&&il(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ku.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Gc,!r){t=t!==null&&t.memoizedState!==null||Kc,i=Gc;var a=Kc;Gc=r,(Kc=t)&&!a?ml(e,n,!!(n.subtreeFlags&8772)):fl(e,n),Gc=i,Kc=a}break;case 30:break;default:fl(e,n)}}function Qc(e){var t=e.alternate;t!==null&&(e.alternate=null,Qc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&$e(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var $c=null,el=!1;function tl(e,t,n){for(n=n.child;n!==null;)nl(e,t,n),n=n.sibling}function nl(e,t,n){if(Se&&typeof Se.onCommitFiberUnmount==`function`)try{Se.onCommitFiberUnmount(xe,n)}catch{}switch(n.tag){case 26:Kc||Lc(n,t),tl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Kc||Lc(n,t);var r=$c,i=el;Zd(n.type)&&($c=n.stateNode,el=!1),tl(e,t,n),pf(n.stateNode),$c=r,el=i;break;case 5:Kc||Lc(n,t);case 6:if(r=$c,i=el,$c=null,tl(e,t,n),$c=r,el=i,$c!==null){if(el)try{($c.nodeType===9?$c.body:$c.nodeName===`HTML`?$c.ownerDocument.body:$c).removeChild(n.stateNode)}catch(e){Hu(n,t,e)}else try{$c.removeChild(n.stateNode)}catch(e){Hu(n,t,e)}}break;case 18:$c!==null&&(el?(e=$c,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd($c,n.stateNode));break;case 4:r=$c,i=el,$c=n.stateNode.containerInfo,el=!0,tl(e,t,n),$c=r,el=i;break;case 0:case 11:case 14:case 15:Nc(2,n,t),Kc||Nc(4,n,t),tl(e,t,n);break;case 1:Kc||(Lc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Fc(n,t,r)),tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:Kc=(r=Kc)||n.memoizedState!==null,tl(e,t,n),Kc=r;break;default:tl(e,t,n)}}function rl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Hu(t,t.return,e)}}}function il(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Hu(t,t.return,e)}}function al(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Jc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Jc),t;default:throw Error(i(435,e.tag))}}function ol(e,t){var n=al(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=qu.bind(null,e,t);t.then(r,r)}})}function sl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){$c=c.stateNode,el=!1;break a}break;case 5:$c=c.stateNode,el=!1;break a;case 3:case 4:$c=c.stateNode.containerInfo,el=!0;break a}c=c.return}if($c===null)throw Error(i(160));nl(o,s,a),$c=null,el=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ll(t,e),t=t.sibling}var cl=null;function ll(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:sl(t,e),ul(e),r&4&&(Nc(3,e,e.return),Mc(3,e),Nc(5,e,e.return));break;case 1:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),r&64&&Gc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=cl;if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null){if(r===null){if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[Qe]||o[Ge]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head >
8 title`))),Pd(o,r,n),o[Ge]=e,it(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[Ge]=e,it(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode)}else e.stateNode=If(a,r,e.memoizedProps)}else o===r?r===null&&e.stateNode!==null&&zc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),n!==null&&r&4&&zc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),e.flags&32){a=e.stateNode;try{At(a,``)}catch(t){Hu(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,zc(e,a,n===null?a:n.memoizedProps)),r&1024&&(qc=!0);break;case 6:if(sl(t,e),ul(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Hu(e,e.return,t)}}break;case 3:if(Bf=null,a=cl,cl=gf(t.containerInfo),sl(t,e),cl=a,ul(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Hu(e,e.return,t)}qc&&(qc=!1,dl(e));break;case 4:r=cl,cl=gf(e.stateNode.containerInfo),sl(t,e),ul(e),cl=r;break;case 12:sl(t,e),ul(e);break;case 31:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 13:sl(t,e),ul(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Xl=J()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Gc,d=Kc;if(Gc=u||a,Kc=d||l,sl(t,e),Kc=d,Gc=u,ul(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||Gc||Kc||pl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Hu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Hu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){Hu(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,ol(e,n))));break;case 19:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 30:break;case 21:break;default:sl(t,e),ul(e)}}function ul(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Bc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;Uc(e,Vc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(At(o,``),n.flags&=-33),Uc(e,Vc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Hc(e,Vc(e),s);break;default:throw Error(i(161))}}catch(t){Hu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function dl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;dl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function fl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Zc(e,t.alternate,t),t=t.sibling}function pl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Nc(4,t,t.return),pl(t);break;case 1:Lc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Fc(t,t.return,n),pl(t);break;case 27:pf(t.stateNode);case 26:case 5:Lc(t,t.return),pl(t);break;case 22:t.memoizedState===null&&pl(t);break;case 30:pl(t);break;default:pl(t)}e=e.sibling}}function ml(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:ml(i,a,n),Mc(4,a);break;case 1:if(ml(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Hu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;
vendor: 61,940 bytes, lines 8-9
8if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Ia(c[i],s)}catch(e){Hu(r,r.return,e)}}n&&o&64&&Pc(a),Ic(a,a.return);break;case 27:Wc(a);case 26:case 5:ml(i,a,n),n&&r===null&&o&4&&Rc(a),Ic(a,a.return);break;case 12:ml(i,a,n);break;case 31:ml(i,a,n),n&&o&4&&rl(i,a);break;case 13:ml(i,a,n),n&&o&4&&il(i,a);break;case 22:a.memoizedState===null&&ml(i,a,n),Ic(a,a.return);break;case 30:break;default:ml(i,a,n)}t=t.sibling}}function hl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Yi(n))}function gl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yi(e))}function _l(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)vl(e,t,n,r),t=t.sibling}function vl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:_l(e,t,n,r),i&2048&&Mc(9,t);break;case 1:_l(e,t,n,r);break;case 3:_l(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yi(e)));break;case 12:if(i&2048){_l(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Hu(t,t.return,e)}}else _l(e,t,n,r);break;case 31:_l(e,t,n,r);break;case 13:_l(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?_l(e,t,n,r):(a._visibility|=2,yl(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?_l(e,t,n,r):bl(e,t),i&2048&&hl(o,t);break;case 24:_l(e,t,n,r),i&2048&&gl(t.alternate,t);break;default:_l(e,t,n,r)}}function yl(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:yl(a,o,s,c,i),Mc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,yl(a,o,s,c,i)):u._visibility&2?yl(a,o,s,c,i):bl(a,o),i&&l&2048&&hl(o.alternate,o);break;case 24:yl(a,o,s,c,i),i&&l&2048&&gl(o.alternate,o);break;default:yl(a,o,s,c,i)}t=t.sibling}}function bl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:bl(n,r),i&2048&&hl(r.alternate,r);break;case 24:bl(n,r),i&2048&&gl(r.alternate,r);break;default:bl(n,r)}t=t.sibling}}var xl=8192;function Sl(e,t,n){if(e.subtreeFlags&xl)for(e=e.child;e!==null;)Cl(e,t,n),e=e.sibling}function Cl(e,t,n){switch(e.tag){case 26:Sl(e,t,n),e.flags&xl&&e.memoizedState!==null&&Gf(n,cl,e.memoizedState,e.memoizedProps);break;case 5:Sl(e,t,n);break;case 3:case 4:var r=cl;cl=gf(e.stateNode.containerInfo),Sl(e,t,n),cl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=xl,xl=16777216,Sl(e,t,n),xl=r):Sl(e,t,n));break;default:Sl(e,t,n)}}function wl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Tl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)El(e),e=e.sibling}function El(e){switch(e.tag){case 0:case 11:case 15:Tl(e),e.flags&2048&&Nc(9,e,e.return);break;case 3:Tl(e);break;case 12:Tl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Dl(e)):Tl(e);break;default:Tl(e)}}function Dl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Nc(8,t,t.return),Dl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Dl(t));break;default:Dl(t)}e=e.sibling}}function Ol(e,t){for(;Yc!==null;){var n=Yc;switch(n.tag){case 0:case 11:case 15:Nc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Yi(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Yc=r;else a:for(n=e;Yc!==null;){r=Yc;var i=r.sibling,a=r.return;if(Qc(r),r===n){Yc=null;break a}if(i!==null){i.return=a,Yc=i;break a}Yc=a}}}var kl={getCacheForType:function(e){var t=Vi(qi),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Vi(qi).controller.signal}},Al=typeof WeakMap==`function`?WeakMap:Map,jl=0,Ml=null,Nl=null,Pl=0,Fl=0,Il=null,Ll=!1,Rl=!1,zl=!1,Bl=0,Vl=0,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=null,Jl=null,Yl=!1,Xl=0,Zl=0,Ql=1/0,$l=null,eu=null,tu=0,nu=null,ru=null,iu=0,au=0,ou=null,su=null,cu=0,lu=null;function uu(){return jl&2&&Pl!==0?Pl&-Pl:F.T===null?Ue():ld()}function du(){if(Gl===0){if(!(Pl&536870912)||bi){var e=ke;ke<<=1,!(ke&3932160)&&(ke=262144),Gl=e}else Gl=536870912}return e=Ua.current,e!==null&&(e.flags|=32),Gl}function fu(e,t,n){(e===Ml&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)&&(yu(e,0),gu(e,Pl,Gl,!1)),Q(e,n),(!(jl&2)||e!==Ml)&&(e===Ml&&(!(jl&2)&&(Ul|=n),Vl===4&&gu(e,Pl,Gl,!1)),td(e))}function pu(e,t,n){if(jl&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||Ne(e,t),a=r?Du(e,t):Tu(e,t,!0),o=r;do{if(a===0){Rl&&!r&&gu(e,t,0,!1);break}if(n=e.current.alternate,o&&!hu(n)){a=Tu(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=ql;var l=c.current.memoizedState.isDehydrated;if(l&&(yu(c,s).flags|=256),s=Tu(c,s,!1),s!==2){if(zl&&!l){c.errorRecoveryDisabledLanes|=o,Ul|=o,a=4;break a}o=Jl,Jl=a,o!==null&&(Jl===null?Jl=o:Jl.push.apply(Jl,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){yu(e,0),gu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:gu(r,t,Gl,!Ll);break a;case 2:Jl=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=Xl+300-J(),10<a)){if(gu(r,t,Gl,!Ll),Me(r,0,!0)!==0)break a;iu=t,r.timeoutHandle=Kd(mu.bind(null,r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,`Throttled`,-0,0),a);break a}mu(r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,null,-0,0)}break}while(1);td(e)}function mu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Rt},Cl(t,a,d);var m=(a&62914560)===a?Xl-J():(a&4194048)===a?Zl-J():0;if(m=qf(d,m),m!==null){iu=a,e.cancelPendingCommit=m(Pu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),gu(e,a,o,!l);return}}Pu(e,t,a,n,r,i,o,s,c)}function hu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!sr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function gu(e,t,n,r){t&=~Wl,t&=~Ul,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-we(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Re(e,n,t)}function _u(){return jl&6?!0:(nd(0,!1),!1)}function vu(){if(Nl!==null){if(Fl===0)var e=Nl.return;else e=Nl,Ni=Mi=null,vo(e),va=null,ya=0,e=Nl;for(;e!==null;)jc(e.alternate,e),e=e.return;Nl=null}}function yu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),iu=0,vu(),Ml=e,Nl=n=Yr(e.current,null),Pl=t,Fl=0,Il=null,Ll=!1,Rl=Ne(e,t),zl=!1,Kl=Gl=Wl=Ul=Hl=Vl=0,Jl=ql=null,Yl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-we(r),a=1<<i;t|=e[i],r&=~a}return Bl=t,zr(),n}function bu(e,t){$a=null,F.H=Os,t===ca||t===ua?(t=ga(),Fl=3):t===la?(t=ga(),Fl=4):Fl=t===Ks?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Il=t,Nl===null&&(Vl=1,Bs(e,ri(t,e.current)))}function xu(){var e=Ua.current;return e===null?!0:(Pl&4194048)===Pl?Wa===null:(Pl&62914560)===Pl||Pl&536870912?e===Wa:!1}function Su(){var e=F.H;return F.H=Os,e===null?Os:e}function Cu(){var e=F.A;return F.A=kl,e}function wu(){Vl=4,Ll||(Pl&4194048)!==Pl&&Ua.current!==null||(Rl=!0),!(Hl&134217727)&&!(Ul&134217727)||Ml===null||gu(Ml,Pl,Gl,!1)}function Tu(e,t,n){var r=jl;jl|=2;var i=Su(),a=Cu();(Ml!==e||Pl!==t)&&($l=null,yu(e,t)),t=!1;var o=Vl;a:do try{if(Fl!==0&&Nl!==null){var s=Nl,c=Il;switch(Fl){case 8:vu(),o=6;break a;case 3:case 2:case 9:case 6:Ua.current===null&&(t=!0);var l=Fl;if(Fl=0,Il=null,ju(e,s,c,l),n&&Rl){o=0;break a}break;default:l=Fl,Fl=0,Il=null,ju(e,s,c,l)}}Eu(),o=Vl;break}catch(t){bu(e,t)}while(1);return t&&e.shellSuspendCounter++,Ni=Mi=null,jl=r,F.H=i,F.A=a,Nl===null&&(Ml=null,Pl=0,zr()),o}function Eu(){for(;Nl!==null;)ku(Nl)}function Du(e,t){var n=jl;jl|=2;var r=Su(),a=Cu();Ml!==e||Pl!==t?($l=null,Ql=J()+500,yu(e,t)):Rl=Ne(e,t);a:do try{if(Fl!==0&&Nl!==null){t=Nl;var o=Il;b:switch(Fl){case 1:Fl=0,Il=null,ju(e,t,o,1);break;case 2:case 9:if(fa(o)){Fl=0,Il=null,Au(t);break}t=function(){Fl!==2&&Fl!==9||Ml!==e||(Fl=7),td(e)},o.then(t,t);break a;case 3:Fl=7;break a;case 4:Fl=5;break a;case 7:fa(o)?(Fl=0,Il=null,Au(t)):(Fl=0,Il=null,ju(e,t,o,7));break;case 5:var s=null;switch(Nl.tag){case 26:s=Nl.memoizedState;case 5:case 27:var c=Nl;if(s?Wf(s):c.stateNode.complete){Fl=0,Il=null;var l=c.sibling;if(l!==null)Nl=l;else{var u=c.return;u===null?Nl=null:(Nl=u,Mu(u))}break b}}Fl=0,Il=null,ju(e,t,o,5);break;case 6:Fl=0,Il=null,ju(e,t,o,6);break;case 8:vu(),Vl=6;break a;default:throw Error(i(462))}}Ou();break}catch(t){bu(e,t)}while(1);return Ni=Mi=null,F.H=r,F.A=a,jl=n,Nl===null?(Ml=null,Pl=0,zr(),Vl):0}function Ou(){for(;Nl!==null&&!me();)ku(Nl)}function ku(e){var t=Sc(e.alternate,e,Bl);e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function Au(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=oc(n,t,t.pendingProps,t.type,void 0,Pl);break;case 11:t=oc(n,t,t.pendingProps,t.type.render,t.ref,Pl);break;case 5:vo(t);default:jc(n,t),t=Nl=Xr(t,Bl),t=Sc(n,t,Bl)}e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function ju(e,t,n,r){Ni=Mi=null,vo(t),va=null,ya=0;var i=t.return;try{if(Gs(e,i,t,n,Pl)){Vl=1,Bs(e,ri(n,e.current)),Nl=null;return}}catch(t){if(i!==null)throw Nl=i,t;Vl=1,Bs(e,ri(n,e.current)),Nl=null;return}t.flags&32768?(bi||r===1?e=!0:Rl||Pl&536870912?e=!1:(Ll=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ua.current,r!==null&&r.tag===13&&(r.flags|=16384))),Nu(t,e)):Mu(t)}function Mu(e){var t=e;do{if(t.flags&32768){Nu(t,Ll);return}e=t.return;var n=kc(t.alternate,t,Bl);if(n!==null){Nl=n;return}if(t=t.sibling,t!==null){Nl=t;return}Nl=t=e}while(t!==null);Vl===0&&(Vl=5)}function Nu(e,t){do{var n=Ac(e.alternate,e);if(n!==null){n.flags&=32767,Nl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Nl=e;return}Nl=e=n}while(e!==null);Vl=6,Nl=null}function Pu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do zu();while(tu!==0);if(jl&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=Rr,Le(e,n,o,s,c,l),e===Ml&&(Nl=Ml=null,Pl=0),ru=t,nu=e,iu=n,au=o,ou=a,su=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Ju(_e,function(){return Bu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=F.T,F.T=null,a=I.p,I.p=2,s=jl,jl|=4;try{Xc(e,t,n)}finally{jl=s,I.p=a,F.T=r}}tu=1,Fu(),Iu(),Lu()}}function Fu(){if(tu===1){tu=0;var e=nu,t=ru,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=jl;jl|=4;try{ll(t,e);var a=zd,o=fr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&dr(s.ownerDocument.documentElement,s)){if(c!==null&&pr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=ur(s,h),v=ur(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{jl=i,I.p=r,F.T=n}}e.current=t,tu=2}}function Iu(){if(tu===2){tu=0;var e=nu,t=ru,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=jl;jl|=4;try{Zc(e,t.alternate,t)}finally{jl=i,I.p=r,F.T=n}}tu=3}}function Lu(){if(tu===4||tu===3){tu=0,he();var e=nu,t=ru,n=iu,r=su;t.subtreeFlags&10256||t.flags&10256?tu=5:(tu=0,ru=nu=null,Ru(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(eu=null),He(n),t=t.stateNode,Se&&typeof Se.onCommitFiberRoot==`function`)try{Se.onCommitFiberRoot(xe,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=F.T,i=I.p,I.p=2,F.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{F.T=t,I.p=i}}iu&3&&zu(),td(e),i=e.pendingLanes,n&261930&&i&42?e===lu?cu++:(cu=0,lu=e):cu=0,nd(0,!1)}}function Ru(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yi(t)))}function zu(){return Fu(),Iu(),Lu(),Bu()}function Bu(){if(tu!==5)return!1;var e=nu,t=au;au=0;var n=He(iu),r=F.T,a=I.p;try{I.p=32>n?32:n,F.T=null,n=ou,ou=null;var o=nu,s=iu;if(tu=0,ru=nu=null,iu=0,jl&6)throw Error(i(331));var c=jl;if(jl|=4,El(o.current),vl(o,o.current,s,n),jl=c,nd(0,!1),Se&&typeof Se.onPostCommitFiberRoot==`function`)try{Se.onPostCommitFiberRoot(xe,o)}catch{}return!0}finally{I.p=a,F.T=r,Ru(e,t)}}function Vu(e,t,n){t=ri(n,t),t=Hs(e.stateNode,t,2),e=Aa(e,t,2),e!==null&&(Q(e,2),td(e))}function Hu(e,t,n){if(e.tag===3)Vu(e,e,n);else for(;t!==null;){if(t.tag===3){Vu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(eu===null||!eu.has(r))){e=ri(n,e),n=Us(2),r=Aa(t,n,2),r!==null&&(Ws(n,r,t,e),Q(r,2),td(r));break}}t=t.return}}function Uu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Al;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(zl=!0,i.add(n),e=Wu.bind(null,e,t,n),t.then(e,e))}function Wu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ml===e&&(Pl&n)===n&&(Vl===4||Vl===3&&(Pl&62914560)===Pl&&300>J()-Xl?!(jl&2)&&yu(e,0):Wl|=n,Kl===Pl&&(Kl=0)),td(e)}function Gu(e,t){t===0&&(t=Fe()),e=Hr(e,t),e!==null&&(Q(e,t),td(e))}function Ku(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gu(e,n)}function qu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Gu(e,n)}function Ju(e,t){return fe(e,t)}var Yu=null,Xu=null,Zu=!1,Qu=!1,$u=!1,ed=0;function td(e){e!==Xu&&e.next===null&&(Xu===null?Yu=Xu=e:Xu=Xu.next=e),Qu=!0,Zu||(Zu=!0,cd())}function nd(e,t){if(!$u&&Qu){$u=!0;do for(var n=!1,r=Yu;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-we(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,sd(r,a))}else a=Pl,a=Me(r,r===Ml?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ne(r,a)||(n=!0,sd(r,a))}r=r.next}while(n);$u=!1}}function rd(){id()}function id(){Qu=Zu=!1;var e=0;ed!==0&&Gd()&&(e=ed);for(var t=J(),n=null,r=Yu;r!==null;){var i=r.next,a=ad(r,t);a===0?(r.next=null,n===null?Yu=i:n.next=i,i===null&&(Xu=n)):(n=r,(e!==0||a&3)&&(Qu=!0)),r=i}tu!==0&&tu!==5||nd(e,!1),ed!==0&&(ed=0)}function ad(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-we(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Pe(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Ml,n=Pl,n=Me(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&pe(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Ne(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&pe(r),He(n)){case 2:case 8:n=ge;break;case 32:n=_e;break;case 268435456:n=ye;break;default:n=_e}return r=od.bind(null,e),n=fe(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&pe(r),e.callbackPriority=2,e.callbackNode=null,2}function od(e,t){if(tu!==0&&tu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(zu()&&e.callbackNode!==n)return null;var r=Pl;return r=Me(e,e===Ml?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(pu(e,r,t),ad(e,J()),e.callbackNode!=null&&e.callbackNode===n?od.bind(null,e):null)}function sd(e,t){if(zu())return null;pu(e,t,!0)}function cd(){Yd(function(){jl&6?fe(X,rd):id()})}function ld(){if(ed===0){var e=Qi;e===0&&(e=Oe,Oe<<=1,!(Oe&261888)&&(Oe=256)),ed=e}return ed}function ud(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Lt(``+e)}function dd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function fd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=ud((i[Ke]||null).action),o=r.submitter;o&&(t=(t=o[Ke]||null)?ud(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new on(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ed!==0){var e=o?dd(i,o):new FormData(i);ms(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?dd(i,o):new FormData(i),ms(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var pd=0;pd<Nr.length;pd++){var md=Nr[pd];Pr(md.toLowerCase(),`on`+(md[0].toUpperCase()+md.slice(1)))}Pr(Tr,`onAnimationEnd`),Pr(Er,`onAnimationIteration`),Pr(Dr,`onAnimationStart`),Pr(`dblclick`,`onDoubleClick`),Pr(`focusin`,`onFocus`),Pr(`focusout`,`onBlur`),Pr(Or,`onTransitionRun`),Pr(kr,`onTransitionStart`),Pr(Ar,`onTransitionCancel`),Pr(jr,`onTransitionEnd`),ct(`onMouseEnter`,[`mouseout`,`mouseover`]),ct(`onMouseLeave`,[`mouseout`,`mouseover`]),ct(`onPointerEnter`,[`pointerout`,`pointerover`]),ct(`onPointerLeave`,[`pointerout`,`pointerover`]),st(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),st(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),st(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),st(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),st(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),st(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var hd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),gd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(hd));function _d(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Fr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Fr(e)}i.currentTarget=null,a=c}}}}function vd(e,t){var n=t[Je];n===void 0&&(n=t[Je]=new Set);var r=e+`__bubble`;n.has(r)||(Sd(t,e,2,!1),n.add(r))}function yd(e,t,n){var r=0;t&&(r|=4),Sd(n,e,r,t)}var bd=`_reactListening`+Math.random().toString(36).slice(2);function xd(e){if(!e[bd]){e[bd]=!0,at.forEach(function(t){t!==`selectionchange`&&(gd.has(t)||yd(t,!1,e),yd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bd]||(t[bd]=!0,yd(`selectionchange`,!1,t))}}function Sd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!Jt||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Cd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=et(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}Gt(function(){var r=a,i=Bt(n),s=[];a:{var c=Mr.get(e);if(c!==void 0){var l=on,u=e;switch(e){case`keypress`:if(en(n)===0)break a;case`keydown`:case`keyup`:l=wn;break;case`focusin`:u=`focus`,l=hn;break;case`focusout`:u=`blur`,l=hn;break;case`beforeblur`:case`afterblur`:l=hn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=pn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=mn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=En;break;case Tr:case Er:case Dr:l=gn;break;case jr:l=Dn;break;case`scroll`:case`scrollend`:l=cn;break;case`wheel`:l=On;break;case`copy`:case`cut`:case`paste`:l=_n;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Tn;break;case`toggle`:case`beforetoggle`:l=kn}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=Kt(m,p),g!=null&&d.push(wd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==zt&&(u=n.relatedTarget||n.fromElement)&&(et(u)||u[qe]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?et(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=pn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Tn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:nt(l),h=u==null?c:nt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,et(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Ed,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Dd(s,c,l,d,!1),u!==null&&f!==null&&Dd(s,f,u,d,!0)}}a:{if(c=r?nt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=Yn;else if(Un(c)){if(Xn)v=ar;else{v=rr;var y=nr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Pt(r.elementType)&&(v=Yn):v=ir;if(v&&=v(e,r)){Wn(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Et(c,`number`,c.value)}switch(y=r?nt(r):window,e){case`focusin`:(Un(y)||y.contentEditable===`true`)&&(hr=y,gr=r,_r=null);break;case`focusout`:_r=gr=hr=null;break;case`mousedown`:vr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:vr=!1,yr(s,n,i);break;case`selectionchange`:if(mr)break;case`keydown`:case`keyup`:yr(s,n,i)}var b;if(jn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else zn?Ln(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Pn&&n.locale!==`ko`&&(zn||x!==`onCompositionStart`?x===`onCompositionEnd`&&zn&&(b=$t()):(Xt=i,Zt=`value`in Xt?Xt.value:Xt.textContent,zn=!0)),y=Td(r,x),0<y.length&&(x=new vn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=Rn(n),b!==null&&(x.data=b)))),(b=Nn?Bn(e,n):Vn(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new vn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),fd(s,e,r,n,i)}_d(s,t)})}function wd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Td(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=Kt(e,n),i!=null&&r.unshift(wd(e,i,a)),i=Kt(e,t),i!=null&&r.push(wd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Ed(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Dd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=Kt(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=Kt(n,a),l!=null&&o.push(wd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Od=/\r\n?/g,kd=/\u0000|\uFFFD/g;function Ad(e){return(typeof e==`string`?e:``+e).replace(Od,` 9`).replace(kd,``)}function jd(e,t){return t=Ad(t),Ad(e)===t}function Md(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||At(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&At(e,``+r);break;case`className`:mt(e,`class`,r);break;case`tabIndex`:mt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:mt(e,n,r);break;case`style`:Nt(e,r,o);break;case`data`:if(t!==`object`){mt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Lt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&Md(e,t,`name`,a.name,a,null),Md(e,t,`formEncType`,a.formEncType,a,null),Md(e,t,`formMethod`,a.formMethod,a,null),Md(e,t,`formTarget`,a.formTarget,a,null)):(Md(e,t,`encType`,a.encType,a,null),Md(e,t,`method`,a.method,a,null),Md(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Lt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Rt);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Lt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:vd(`beforetoggle`,e),vd(`toggle`,e),pt(e,`popover`,r);break;case`xlinkActuate`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:ht(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:pt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Ft.get(n)||n,pt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:Nt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?At(e,r):(typeof r==`number`||typeof r==`bigint`)&&At(e,``+r);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Rt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!ot.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[Ke]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):pt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:vd(`error`,e),vd(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Md(e,t,o,s,n,null)}}a&&Md(e,t,`srcSet`,n.srcSet,n,null),r&&Md(e,t,`src`,n.src,n,null);return;case`input`:vd(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:Md(e,t,r,d,n,null)}}Tt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in vd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Md(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Dt(e,!!r,n,!0):Dt(e,!!r,t,!1);return;case`textarea`:for(s in vd(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:Md(e,t,s,c,n,null)}kt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Md(e,t,l,r,n,null)}return;case`dialog`:vd(`beforetoggle`,e),vd(`toggle`,e),vd(`cancel`,e),vd(`close`,e);break;case`iframe`:case`object`:vd(`load`,e);break;case`video`:case`audio`:for(r=0;r<hd.length;r++)vd(hd[r],e);break;case`image`:vd(`error`,e),vd(`load`,e);break;case`details`:vd(`toggle`,e);break;case`embed`:case`source`:case`link`:vd(`error`,e),vd(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Md(e,t,u,r,n,null)}return;default:if(Pt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Md(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Md(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&Md(e,t,p,m,r,f)}}wt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Md(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Md(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Dt(e,!!n,n?[]:``,!1):Dt(e,!!n,t,!0)):Dt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Md(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&Md(e,t,s,a,r,o)}Ot(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Md(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Md(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Md(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:Md(e,t,u,p,r,m)}return;default:if(Pt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Md(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Md(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e!==Wd&&(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Qe]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body)}n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),$e(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[Qe])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);$e(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=I.d;I.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=_u();return e||t}function yf(e){var t=tt(e);t!==null&&t.tag===5&&t.type===`form`?gs(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Ct(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),it(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ct(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ct(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ct(n.imageSizes)+`"]`)):i+=`[href="`+Ct(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),it(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ct(r)+`"][href="`+Ct(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),it(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=rt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);it(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=rt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),it(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=rt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),it(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=U.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=rt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=rt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=rt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Ct(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),it(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Ct(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ct(n.href)+`"]`);if(r)return t.instance=r,it(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),it(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,it(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),it(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,it(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),it(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Qe]||a[Ge]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,it(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),it(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:L,_currentValue2:L,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ie(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ie(0),this.hiddenUpdates=Ie(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=qr(3,null,null,t),e.current=a,a.stateNode=e,t=Ji(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Da(a),e}function tp(e){return e?(e=Gr,e):Gr}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=ka(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Aa(e,r,t),n!==null&&(fu(n,e,t),ja(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=Hr(e,67108864);t!==null&&fu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=uu();t=Ve(t);var n=Hr(e,t);n!==null&&fu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=2,up(e,t,n,r)}finally{I.p=a,F.T=i}}function lp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=8,up(e,t,n,r)}finally{I.p=a,F.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)Cd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=tt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=je(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-we(o);s.entanglements[1]|=c,o&=~c}td(a),!(jl&6)&&(Ql=J()+500,nd(0,!1))}}break;case 31:case 13:s=Hr(a,2),s!==null&&fu(s,a,2),_u(),ip(a,2)}if(a=dp(r),a===null&&Cd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Cd(e,t,r,null,n)}}function dp(e){return e=Bt(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=et(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Y()){case X:return 2;case ge:return 8;case _e:case ve:return 32;case ye:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=tt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=et(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,We(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,We(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);zt=r,n.target.dispatchEvent(r),zt=null}else return t=tt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=tt(n);a!==null&&(e.splice(t,3),t-=3,ms(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[Ke]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[Ke]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,uu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),_u(),t[qe]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ue();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.4`)throw Error(i(527,Lp,`19.2.4`));I.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:F,reconcilerVersion:`19.2.4`};
9if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{xe=zp.inject(Rp),Se=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ls,s=Rs,c=zs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[qe]=t.current,xd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=g(),y=`tokodepan:auth-unauthorized`,b=`session_expired`,x=new Set([`profile`,`returns`,`help`,`admin-home`,`admin-returns`,`admin-products`,`admin-users`,`admin-sellers`,`admin-audit-logs`,`admin-transaction-issues`,`admin-complaints`,`admin-support`,`admin-holidays`,`admin-promotions`]),S=new Set([`inbox`,`cart`,`addresses`,`checkout`,`checkout-success`,`orders`,`order-detail`,`complaints`,`complaint-detail`]);function C({status:e,skipAuthHandling:t=!1}){return!t&&e===401}function w(e){return e===b}function T(e,t){return t!==`authenticated`&&S.has(e)}var E=`https://api.tokodepan.co.id`,D=`https://test-api.tokodepan.co.id`,O={"tokodepan.co.id":E,"seller.tokodepan.co.id":E,"ops.tokodepan.co.id":E,"test.tokodepan.co.id":D,"test-seller.tokodepan.co.id":D,"test-ops.tokodepan.co.id":D};function k(e=typeof window<`u`?window.location:void 0){let t=String(e?.hostname||``).trim().toLowerCase();return t?t===`localhost`||t===`127.0.0.1`?`http://localhost:8000`:O[t]||``:``}function A(e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_TURNSTILE_SITE_KEY:`0x4AAAAAAEuvU5EEoM8ktvs2`},t=typeof window<`u`?window.location:void 0){let n=String(e?.VITE_API_BASE||``).trim();return n?n.replace(/\/+$/,``):k(t)}function j(e,t=typeof window<`u`?window.location:void 0){let n=String(e||``).trim();if(!n)return t?`${t.protocol===`https:`?`wss:`:`ws:`}//${t.host}`:``;try{let e=new URL(n);return e.protocol=e.protocol===`https:`?`wss:`:`ws:`,e.pathname=``,e.search=``,e.hash=``,e.toString().replace(/\/+$/,``)}catch{return n.replace(/^https:/i,`wss:`).replace(/^http:/i,`ws:`).replace(/\/+$/,``)}}var M=A();function N(e){return M?new URL(e,`${M}/`).toString():e}var ee=`X-Auth-Surface`;function P(e){return e?.code===`maintenance_mode`||e?.status===503&&e?.code===`maintenance_mode`}function F(e){return e?.message||`Tokodepan is updating. Please try again in a few minutes.`}function I(e){let t=String(e||``).trim().toLowerCase();return t?t===`test-ops.tokodepan.co.id`||t.startsWith(`ops.`)||t.startsWith(`admin.`)||t.includes(`.admin.`):!1}function L(e){let t=(e||``).trim().toLowerCase();if([`buyer`,`seller`,`admin`].includes(t))return t;let n=`auto`;return[`buyer`,`seller`,`admin`].includes(n)?n:typeof window<`u`&&(I(window.location.hostname)||window.location.pathname.startsWith(`/admin`))?`admin`:`buyer`}function te(e){return`csrf_token_${e}`}function ne(e){let t=document.cookie.split(`; `).find(t=>t.startsWith(e+`=`));return t?decodeURIComponent(t.split(`=`)[1]):null}async function R(e,t={}){let{signal:n,timeoutMs:r,...i}=t,a=L(t.authSurface),o=(t.method||`GET`).toUpperCase(),s=new Headers(t.headers||{});s.set(ee,a);let c=t.body;if(typeof c==`object`&&c&&!(c instanceof FormData)&&!(c instanceof URLSearchParams)&&!(c instanceof Blob)&&!(c instanceof ArrayBuffer)&&!ArrayBuffer.isView(c)&&[`POST`,`PUT`,`PATCH`,`DELETE`].includes(o)&&(s.has(`Content-Type`)||s.set(`Content-Type`,`application/json`),c=JSON.stringify(c)),![`GET`,`HEAD`,`OPTIONS`].includes(o)){let e=ne(te(a));e&&s.set(`X-CSRF-Token`,e)}let l,u,d=!1,f=()=>{},p=n;if(r!==void 0){let e=Number(r);if(!Number.isFinite(e)||e<=0)throw TypeError(`timeoutMs must be a positive finite number`);let t=new AbortController;p=t.signal;let i=()=>t.abort(n?.reason);n?.aborted?i():n&&(n.addEventListener(`abort`,i,{once:!0}),f=()=>n.removeEventListener(`abort`,i)),u=setTimeout(()=>{d=!0,t.abort()},e)}try{let t=N(e);l=await fetch(t,{...i,method:o,headers:s,body:c,signal:p,credentials:`include`})}catch(e){if(d){let e=Error(`The request timed out. Please try again.`);throw e.status=0,e.code=`TIMEOUT`,e}if(e?.name===`AbortError`)throw e;let t=Error(`Unable to connect to Tokodepan services. Please check your network or API configuration and try again.`);
9throw t.status=0,t.code=`NETWORK_ERROR`,t}finally{u!==void 0&&clearTimeout(u),f()}if(l.ok)return l;let m=(t,n)=>{let r=Error(t||`HTTP ${l.status}`);r.status=l.status,r.path=e,r.method=o;let i=n?.error&&typeof n.error==`object`?n.error:null;return r.detail=i?.detail??n?.detail??null,i&&(r.code=i.code,Object.entries(i).forEach(([e,t])=>{e in r||(r[e]=t)})),r};if(C({status:l.status,skipAuthHandling:t.skipAuthHandling})&&window.dispatchEvent(new CustomEvent(y,{detail:{status:l.status,path:e,method:o}})),(l.headers.get(`content-type`)||``).includes(`application/json`)){let e=await l.json();if(l.status===422){let t=e?.error?.detail??e?.detail,n=e?.error?.message;if(typeof n==`string`&&n.trim())throw m(n.trim(),e);if(Array.isArray(t)&&t.length>0){let n=t[0];if(typeof n?.msg==`string`&&n.msg.trim())throw m(n.msg.trim(),e)}}throw m(e?.error?.message||`HTTP ${l.status}`,e)}throw m(await l.text()||`HTTP ${l.status}`)}async function z(e){let t=await R(`/admin/sellers/invite`,{method:`POST`,authSurface:`admin`,body:e});return t.status===204?null:t.json()}async function B(e,t){return(await R(`/admin/sellers/${e}/invite/reissue`,{method:`POST`,authSurface:`admin`,body:t})).json()}async function V(e,t){return(await R(`/admin/sellers/${e}/pending-invite-details`,{method:`PUT`,authSurface:`admin`,body:t})).json()}async function H(e,t,{method:n=`GET`,body:r,skipAuthHandling:i=!1,authSurface:a,responseType:o,signal:s,timeoutMs:c}={}){let l=typeof Blob<`u`&&r instanceof Blob,u=await e(t,{method:n,body:r===void 0?void 0:l||typeof r==`string`?r:JSON.stringify(r),headers:r===void 0?void 0:{"Content-Type":l?r.type||`application/octet-stream`:`application/json`},skipAuthHandling:i,authSurface:a,signal:s,timeoutMs:c});return u.status===204?null:o===`blob`?u.blob():u.json()}var U=[[`reserved`,/This name is reserved for Tokodepan platform identities/i],[`invalidCharacters`,/Name contains invalid characters/i]];function W(e){return Array.isArray(e?.detail)?e.detail.filter(e=>Array.isArray(e?.loc)&&e.loc.some(e=>String(e).toLowerCase()===`name`)).map(e=>String(e?.msg||``)):[]}function re(e){let t=[...W(e),String(e?.message||``)];for(let e of t){let t=U.find(([,t])=>t.test(e));if(t)return t[0]}return null}function G(e,t){let n=re(e);return n?t(`buyer.nameValidation.${n}`):``}var ie=`tokodepan-turnstile-script`,ae=`https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit`,oe=3e4,se=`Security verification is temporarily unavailable. Please try again.`,ce,le=!1,ue;function K(e){le=e===!0}function de(e){ue=Promise.resolve(e)}function q(){return Error(se)}function fe({timeoutMs:e=oe}={}){if(window.turnstile)return Promise.resolve(window.turnstile);if(ce)return ce;let t=document.getElementById(ie),n=t||document.createElement(`script`);t||(n.id=ie,n.src=ae,n.async=!0,n.defer=!0,document.head.appendChild(n));let r=new Promise((r,i)=>{let a=!1,o=e=>{a||(a=!0,window.clearTimeout(l),n.removeEventListener(`load`,s),n.removeEventListener(`error`,c),e?(n.remove(),i(e)):r(window.turnstile))},s=()=>o(window.turnstile?null:q()),c=()=>o(q()),l=window.setTimeout(()=>o(q()),e);n.addEventListener(`load`,s,{once:!0}),n.addEventListener(`error`,c,{once:!0}),t&&window.turnstile&&o(null)}).catch(e=>{throw ce===r&&(ce=void 0),e});return ce=r,r}async function pe(e,{sitekey:t=`0x4AAAAAAEuvU5EEoM8ktvs2`,timeoutMs:n=oe,mountElement:r}={}){if(ue&&await ue,!le||!t)return null;let i=await fe({timeoutMs:n});return new Promise((a,o)=>{let s=document.createElement(`div`);s.className=`turnstile-managed-widget`,s.setAttribute(`aria-label`,`Security verification / Verifikasi keamanan`),(r||document.body).appendChild(s);let c,l=!1,u=()=>{window.clearTimeout(f),c!==void 0&&i.remove(c),s.remove()},d=(e,t)=>{l||(l=!0,u(),e?o(e):a(t))},f=window.setTimeout(()=>d(q()),n);try{c=i.render(s,{sitekey:t,action:e,appearance:`interaction-only`,size:`flexible`,callback:e=>d(null,e),"expired-callback":()=>d(Error(`Security verification expired. Please try again.`)),"error-callback":()=>d(Error(`Security verification failed. Please try again.`))})}catch{d(q())}})}var me=3e5,he=25e3;function J(e){let t=[`normal`,`write_freeze`,`maintenance`].includes(e?.mode)?e.mode:`normal`,n=e?.turnstile_enabled===!0;return K(n),{mode:t,message:typeof e?.message==`string`&&e.message.trim()?e.message.trim():``,server_time:e?.server_time||null,turnstile_enabled:n}}function Y(e){return{state:e?.mode===`maintenance`?`maintenance`:`available`,status:e,checking:!1}}function X(e){return e?.state===`maintenance`?he:e?.state===`available`?me:null}function ge(e=typeof document<`u`?document.visibilityState:`visible`){return e!==`hidden`}function _e(e=typeof document<`u`?document.visibilityState:`visible`){return e===`visible`}function ve({statusState:e,isOpsSurface:t=!1}){return t?`available`:e?.state===`loading`?`loading`:e?.state===`maintenance`&&e?.status?.mode===`maintenance`?`maintenance`:`available`}function ye(e){return e?.message||`Tokodepan is updating. Please try again in a few minutes.`}var be=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),Z=o(((e,t)=>{t.exports=be()}))();function xe({status:e,checking:t=!1,onCheckAgain:n}){return(0,Z.jsx)(`main`,{className:`maintenance-screen`,"aria-labelledby":`maintenance-title`,children:(0,Z.jsxs)(`section`,{className:`maintenance-card`,children:[(0,Z.jsx)(`div`,{className:`maintenance-brand`,children:`Tokodepan`}),(0,Z.jsx)(`h1`,{id:`maintenance-title`,children:`Tokodepan is temporarily under maintenance`}),(0,Z.jsx)(`p`,{children:ye(e)}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,disabled:t,children:t?`Checkingâ¦`:`Check again`})]})})}var Se=`5.3.1`,Ce=`https://unpkg.com/maplibre-gl@${Se}/dist/maplibre-gl.js`,we=`https://unpkg.com/maplibre-gl@${Se}/dist/maplibre-gl.css`,Te={openfreemapPublic:{id:`openfreemapPublic`,name:`OpenFreeMap`,styleUrl:`https://tiles.openfreemap.org/styles/bright`,attribution:`© <a href="https://openfreemap.org" target="_blank" rel="noopener noreferrer">OpenFreeMap</a> © <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener noreferrer">OpenStreetMap</a> contributors`}},Ee={minLat:-11.5,maxLat:6.5,minLng:94,maxLng:142.5};function De(e,t){return Number.isFinite(e)&&Number.isFinite(t)&&e>=Ee.minLat&&e<=Ee.maxLat&&t>=Ee.minLng&&t<=Ee.maxLng}var Oe=`openfreemapPublic`,ke=`__tokodepanMapRuntimeState`,Ae=Te[Oe];function je(){return Ae.styleUrl}function Me(){return{mode:`maplibre`,reason:``,updatedAt:``}}function Ne(){return window[ke]||(window[ke]=Me()),window[ke]}function Pe(){return Ne().mode===`fallback`}function Fe(e){let t=String(e?.message||e?.reason||e?.error?.message||e?.type||``).toLowerCase();return t.includes(`webgl`)||t.includes(`webglcontext`)||t.includes(`context creation`)||t.includes(`majorperformancecaveat`)||t.includes(`performance caveat`)||t.includes(`failed to initialize`)}function Ie(e,t){let n=Ne();return n.mode=`fallback`,n.reason=e||`map_init_failure`,n.updatedAt=new Date().toISOString(),console.warn(`[MapRuntime] fallback activated`,{provider:Ae.id,reason:n.reason,details:t,updatedAt:n.updatedAt}),{...n}}function Q(e){let t=Ne();return t.mode===`fallback`?{...t}:(t.mode=`maplibre`,t.reason=``,t.updatedAt=new Date().toISOString(),console.info(`[MapRuntime] maplibre ready`,{provider:Ae.id,details:e,updatedAt:t.updatedAt}),{...t})}function Le(){if(!document.querySelector(`link[data-maplibre="true"]`)){let e=document.createElement(`link`);e.rel=`stylesheet`,e.href=we,e.dataset.maplibre=`true`,document.head.appendChild(e)}return new Promise((e,t)=>
9{if(window.maplibregl){e(window.maplibregl);return}let n=document.querySelector(`script[data-maplibre="true"]`);if(n){n.addEventListener(`load`,()=>{if(window.maplibregl){e(window.maplibregl);return}t(Error(`MapLibre script loaded but window.maplibregl is unavailable.`))},{once:!0}),n.addEventListener(`error`,()=>t(Error(`Failed to load MapLibre script.`)),{once:!0});return}let r=document.createElement(`script`);r.src=Ce,r.async=!0,r.dataset.maplibre=`true`,r.onload=()=>{if(window.maplibregl){e(window.maplibregl);return}t(Error(`MapLibre script loaded but window.maplibregl is unavailable.`))},r.onerror=()=>t(Error(`Failed to load MapLibre script.`)),document.body.appendChild(r)})}function Re(){return window.__tokodepanMapLibreLoader||(window.__tokodepanMapLibreLoader=Le()),window.__tokodepanMapLibreLoader}var ze={standard:{label:`Standard`,eta:`2-4 days`,baseCost:12e3,per500g:2e3},express:{label:`Express`,eta:`1-2 days`,baseCost:18e3,per500g:3e3},"same-day":{label:`Same Day`,eta:`Today`,baseCost:26e3,per500g:5e3},instant:{label:`Instant`,eta:`Within hours`,baseCost:32e3,per500g:6e3},cargo:{label:`Cargo`,eta:`3-5 days`,baseCost:15e3,per500g:1500}},Be=[`standard`,`express`,`same-day`,`instant`,`cargo`],Ve=[`standard`,`express`,`same-day`],He=`tokodepan_current_delivery_address_id`;function Ue(e){return String(e||``).trim().toLowerCase()}function We(e){let t=Ue(e);return t?[`jakarta`,`bogor`,`depok`,`tangerang`,`bekasi`].some(e=>t.includes(e))?0:4e3:0}function $({destinationCity:e,totalWeightGrams:t,quantity:n,methods:r=Be}){let i=Math.max(1,Math.ceil(Number(t||0)/500)),a=Math.max(1,Number(n||1)),o=We(e);return r.filter(e=>ze[e]).map(e=>{let t=ze[e],n=t.baseCost+t.per500g*i+o+(a-1)*1e3;return{id:e,value:e,label:`${t.label} (${t.eta})`,eta:t.eta,price:n,source:`internal_rule_v1`}})}function Ge(e,t){if(!Array.isArray(e)||e.length===0)return``;let n=t?window.localStorage.getItem(`${He}:${t}`):``,r=e.find(e=>String(e.id)===n),i=e.find(e=>e.is_default)||e[0];return r?.city||i?.city||``}var Ke=[`merchandise`];function qe(e){let t=Array.isArray(e.discountTargets)&&e.discountTargets.length?e.discountTargets:Ke;return{merchandise:t.includes(`merchandise`),shipping:t.includes(`shipping`)}}function Je(e){return Math.max(0,Math.floor(Number(e)||0))}function Ye(e,t){if(e.type===`flat`)return Je(e.amount);let n=Number(e.amount)||0,r=Math.floor(Je(t)*n/100);return Je(e.maxDiscount==null?r:Math.min(r,Je(e.maxDiscount)))}function Xe(e,t){let n=Je(t.merchandise),r=Je(t.shipping),i=qe(e),a=(i.merchandise?n:0)+(i.shipping?r:0);if(a<=0)return{merchandiseDiscount:0,shippingDiscount:0,totalDiscount:0};let o=Ye(e,a),s=Math.min(o,a),c=i.merchandise?Math.min(n,s):0;s-=c;let l=i.shipping?Math.min(r,s):0;return{merchandiseDiscount:c,shippingDiscount:l,totalDiscount:c+l}}function Ze(e,t){let n={remainingMerchandise:Je(t.merchandise),remainingShipping:Je(t.shipping),merchandiseDiscount:0,shippingDiscount:0,totalDiscount:0};return(e||[]).reduce((e,t)=>{let n=Xe(t,{merchandise:e.remainingMerchandise,shipping:e.remainingShipping});return{remainingMerchandise:e.remainingMerchandise-n.merchandiseDiscount,remainingShipping:e.remainingShipping-n.shippingDiscount,merchandiseDiscount:e.merchandiseDiscount+n.merchandiseDiscount,shippingDiscount:e.shippingDiscount+n.shippingDiscount,totalDiscount:e.totalDiscount+n.totalDiscount}},n)}var Qe=9e5,$e=6e4,et=new Map;function tt(e){let t=String(e||``).toLowerCase();return t===`same-day`||t===`instant`?$e:Qe}function nt(e=[]){return e.map(e=>({product_id:Number(e?.product_id||0),quantity:Math.max(1,Number(e?.quantity||1))})).filter(e=>Number.isInteger(e.product_id)&&e.product_id>0)}function rt(e=[]){return Array.from(new Set((e||[]).map(e=>Number(e)).filter(e=>Number.isInteger(e)&&e>0))).sort((e,t)=>e-t)}function it({shippingAddressId:e,cartItemIds:t,products:n}){return JSON.stringify({shippingAddressId:Number(e||0),cartItemIds:rt(t),products:nt(n)})}function at(e=[]){let t=[];return e.forEach(e=>{Object.values(e?.shipping_options||{}).forEach(e=>{(e||[]).forEach(e=>t.push(e))})}),t}async function ot(e,{shippingAddressId:t=null,cartItemIds:n=[],products:r=[],mode:i=`
9standard`}={}){let a=nt(r),o=rt(n),s=it({shippingAddressId:t,cartItemIds:o,products:a}),c=Date.now(),l=tt(i),u=et.get(s);if(u&&c-u.timestamp<l)return u.value;let d=await e(`/shipping/estimates/preview`,{method:`POST`,body:{shipping_address_id:t||void 0,cart_item_ids:o,products:a}}),f=Array.isArray(d?.seller_blocks)?d.seller_blocks:[],p=at(f),m=p.length?Math.min(...p.map(e=>Number(e?.price||0)).filter(e=>Number.isFinite(e))):null,h={destinationReady:!!d?.destination_ready,blocks:f,minPrice:Number.isFinite(m)?m:null};return et.set(s,{timestamp:c,value:h}),h}function st({status:e,resultCount:t,hasQuery:n,isCurrentQuerySettled:r=!0}){let i=t>0;return{isInitialSearchLoading:e===`pending`&&!i,isRefreshingResults:e===`pending`&&i,showEmptyState:e===`success`&&r&&n&&!i}}function ct(e){return String(e??``).trim()}function lt(e={}){let t=e=>ct(e)||null,n=e=>ct(e);return{label:t(e.label),recipient_name:n(e.recipient_name),phone:n(e.phone),line1:n(e.line1),line2:t(e.line2),city:n(e.city),district:n(e.district),province:n(e.province),postal_code:n(e.postal_code),latitude:Number.isFinite(e.latitude)?e.latitude:null,longitude:Number.isFinite(e.longitude)?e.longitude:null,country:`ID`}}var ut=[{page:`admin-home`,dedicatedPath:`/`,legacyPath:`/admin`},{page:`admin-returns`,dedicatedPath:`/returns`,legacyPath:`/admin/returns`},{page:`admin-products`,dedicatedPath:`/products`,legacyPath:`/admin/products`},{page:`admin-users`,dedicatedPath:`/users`,legacyPath:`/admin/users`},{page:`admin-buyers`,dedicatedPath:`/buyers`,legacyPath:`/admin/buyers`},{page:`admin-buyer-detail`,dedicatedPath:`/buyers`,legacyPath:`/admin/buyers`},{page:`admin-sellers`,dedicatedPath:`/sellers`,legacyPath:`/admin/sellers`},{page:`admin-audit-logs`,dedicatedPath:`/audit-logs`,legacyPath:`/admin/audit-logs`},{page:`admin-transaction-issues`,dedicatedPath:`/transaction-issues`,legacyPath:`/admin/transaction-issues`},{page:`admin-refund-requests`,dedicatedPath:`/refund-requests`,legacyPath:`/admin/refund-requests`},{page:`admin-complaints`,dedicatedPath:`/complaints`,legacyPath:`/admin/complaints`},{page:`admin-support`,dedicatedPath:`/support`,legacyPath:`/admin/support`},{page:`admin-whatsapp-support`,dedicatedPath:`/whatsapp-support`,legacyPath:`/admin/whatsapp-support`},{page:`admin-holidays`,dedicatedPath:`/holidays`,legacyPath:`/admin/holidays`},{page:`admin-emergency-sla`,dedicatedPath:`/emergency-sla-incidents`,legacyPath:`/admin/emergency-sla-incidents`},{page:`admin-shipping-test`,dedicatedPath:`/shipping-test`,legacyPath:`/admin/shipping-test`},{page:`admin-promotions`,dedicatedPath:`/promotions`,legacyPath:`/admin/promotions`},{page:`admin-finance`,dedicatedPath:`/finance`,legacyPath:`/admin/finance`},{page:`admin-site-settings`,dedicatedPath:`/site-settings`,legacyPath:`/admin/site-settings`},{page:`admin-order-settings`,dedicatedPath:`/order-settings`,legacyPath:`/admin/order-settings`},{page:`admin-payment-settings`,dedicatedPath:`/payment-settings`,legacyPath:`/admin/payment-settings`}],dt=new Map(ut.map(e=>[e.legacyPath,e.page])),ft=new Map(ut.map(e=>[e.dedicatedPath,e.page]));new Set(ut.map(e=>e.legacyPath));var pt=new Set(ut.map(e=>e.page));pt.add(`admin-complaint-detail`),pt.add(`admin-buyer-detail`);function mt(e,t=[]){let n=String(e||``).trim().toLowerCase();return n?t.map(e=>String(e||``).trim().toLowerCase()).filter(Boolean).includes(n)?!0:n===`test-ops.tokodepan.co.id`||n.startsWith(`ops.`)||n.startsWith(`admin.`)||n.includes(`.admin.`):!1}function ht(e,t=`/admin`){let n=String(e?.hostname||``).trim().toLowerCase();return n===`tokodepan.co.id`?`https://ops.tokodepan.co.id${t===`/admin`?``:t}`:n===`test.tokodepan.co.id`?`https://test-ops.tokodepan.co.id${t===`/admin`?``:t}`:t}function gt(e,{dedicatedHost:t=!1}={}){return t?ft.get(e)||dt.get(e)||null:dt.get(e)||null}function _t(e,{dedicatedHost:t=!1,query:n}={}){let r=ut.find(t=>t.page===e),i=r?t?r.dedicatedPath:r.legacyPath:t?`/`:`/admin`;if(!n)return i;let a=n instanceof URLSearchParams?new URLSearchParams(n):new URLSearchParams;if(!(n instanceof URLSearchParams))for(let[e,t]of Object.entries(n))t!=null&&t!==``&&a.set(e,String(t));let o=a.toString();return o?`${i}?${o}`:i}function vt({authStatus:e,isAdmin:t,routePage:n,adminPages:r}){return e!==`loading`&&e===`authenticated`&&r.has(n)&&!t}function yt({authStatus:e,isAdmin:t}){return e===`authenticated`&&!!t}function bt({mode:e,isAdminSurface:t=!1}){let n=e===`signup`;return t&&!n?{title:`Tokodepan Ops Console`,subtitle:`Log in with your Tokodepan employee admin account to access ops tools, moderation queues, and support workflows.`,switchPrompt:`Need a buyer account instead?`,switchAction:`Go to buyer sign up`}:{titleKey:n?`buyer.auth.signupTitle`:`buyer.auth.loginTitle`,subtitleKey:n?`buyer.auth.signupSubtitle`:`buyer.auth.loginSubtitle`,switchPromptKey:n?`buyer.auth.alreadyHaveAccount`:`buyer.auth.newToTokodepan`,switchActionKey:n?`buyer.auth.login`:`buyer.auth.signup`}}var xt=`Admin access required. Please sign in with a Tokodepan employee admin account.`;function St({isAdminSurface:e=!1,user:t=null}){return!!(e&&t&&!t.is_admin)}function Ct({isAdminSurface:e=!1,shouldShowAdminRequired:t=!1}){return!!(e&&t)}function wt({isAdminSurface:e=!1}){return!e}function Tt(e){let t=String(e||``).trim();return!t.startsWith(`/`)||t.startsWith(`//`)?``:t}function Et({surface:e=`buyer`,nextPath:t=``}){let n=String(e||`buyer`).trim().toLowerCase(),r=Tt(t);return n===`ops`||n===`admin`?r===`/admin`||r.startsWith(`/admin/`)?r:`/admin`:n===`seller`?r===`/sellers`||r.startsWith(`/sellers/`)?r:`/sellers`:r||`/`}function Dt(e,t=``){let n=Tt(t);return n?`${e}${String(e||``).includes(`?`)?`&`:`?`}next=${encodeURIComponent(n)}`:e}function Ot(e=``){return Dt(`/login`,e)}function kt(e=``){return Dt(`/signup`,e)}function At({label:e=`Loading`,size:t=`md`}){return(0,Z.jsx)(`span`,{className:`td-spinner td-spinner-${t}`,role:`status`,"aria-live":`polite`,"aria-label":e,children:(0,Z.jsx)(`span`,{className:`td-spinner-ring`,"aria-hidden":`true`})})}function jt({show:e,label:t=`Loading`}){return e?(0,Z.jsxs)(`div`,{className:`td-loading-overlay td-loading-overlay-page`,role:`status`,"aria-live":`polite`,"aria-label":t,children:[(0,Z.jsx)(At,{label:t,size:`lg`}),(0,Z.jsx)(`p`,{children:t})]}):null}function Mt({show:e,label:t=`Loading`}){return e?(0,Z.jsxs)(`div`,{className:`td-loading-overlay td-loading-overlay-section`,role:`status`,"aria-live":`polite`,"aria-label":t,children:[(0,Z.jsx)(At,{label:t}),(0,Z.jsx)(`p`,{children:t})]}):null}function Nt({label:e=`Loading`}){return(0,Z.jsxs)(`span`,{className:`td-inline-loading`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsx)(At,{label:e,size:`sm`}),(0,Z.jsx)(`span`,{children:e})]})}function Pt({width:e=`100%`,height:t=14,className:n=``}){return(0,Z.jsx)(`span`,{className:`td-skeleton ${n}`.trim(),style:{width:e,height:t},"aria-hidden":`true`})}var Ft=`Catatan: dokumen ini disiapkan untuk kebutuhan operasional awal Tokodepan dan dapat diperbarui dari waktu ke waktu.`,It=`1 Juli 2026`,Lt=`[email protected]`,Rt={terms:{title:`Syarat dan Ketentuan Tokodepan`,sections:[{heading:`Pendahuluan`,paragraphs:[`Syarat dan Ketentuan ini mengatur akses dan penggunaan layanan Tokodepan oleh Pembeli, Tamu, Penjual, dan pihak lain yang menggunakan Platform Tokodepan.`,`Dengan membuat akun, menggunakan checkout tamu, membeli Barang, membuka atau mengelola Toko, berkomunikasi melalui fitur Tokodepan, atau menggunakan fitur Tokodepan lainnya, Pengguna dianggap telah membaca, memahami, dan menyetujui Syarat dan Ketentuan ini.`,`Apabila Pengguna tidak menyetujui Syarat dan Ketentuan ini, Pengguna tidak diperkenankan menggunakan layanan Tokodepan.`,(0,Z.jsxs)(Z.Fragment,{children:[`Syarat dan Ketentuan ini berlaku bersama dengan `,(0,Z.jsx)(`a`,{href:`/legal/privacy`,children:`Kebijakan Privasi`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/seller-terms`,children:`Ketentuan Penjual`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/refund-complaint-policy`,children:`Kebijakan Pengembalian/Refund/Komplain`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/prohibited-items`,children:`Kebijakan Barang Dilarang dan Dibatasi`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/cookie-notice`,children:`Pemberitahuan Cookie dan Sesi`}
9),`, serta kebijakan lain yang ditampilkan oleh Tokodepan dari waktu ke waktu.`]})]},{heading:`Definisi`,list:[(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Tokodepan`}),` berarti penyelenggara Platform marketplace kurasi yang mempertemukan Pembeli, Tamu, dan Penjual terpercaya.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Platform`}),` berarti situs web, aplikasi web, Seller Center, halaman operasional, fitur komunikasi, fitur pembayaran, fitur pengiriman, fitur dukungan, dan layanan pendukung Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Pengguna`}),` berarti setiap pihak yang mengakses atau menggunakan Platform, termasuk Pembeli, Tamu, Penjual, dan admin/ops sesuai perannya.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Pembeli`}),` berarti Pengguna terdaftar yang membeli atau berniat membeli Barang melalui Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Tamu`}),` atau `,(0,Z.jsx)(`strong`,{children:`Guest`}),` berarti Pengguna tanpa akun yang menggunakan checkout tamu dan tetap bertanggung jawab atas data kontak, alamat, instruksi, serta transaksi yang diberikan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Penjual`}),` berarti pihak yang telah dikurasi, disetujui, atau diaktifkan Tokodepan untuk menawarkan Barang melalui Toko di Platform.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Toko`}),` berarti halaman atau akun operasional Penjual di Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Produk`}),` atau `,(0,Z.jsx)(`strong`,{children:`Barang`}),` berarti barang yang ditawarkan Penjual melalui Tokodepan, termasuk informasi judul, deskripsi, foto, kondisi, harga, stok, berat, dimensi, variasi, dan atribut lainnya.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Pesanan`}),` berarti permintaan pembelian Barang melalui Tokodepan, termasuk pesanan multi-penjual, invoice, status pembayaran, status pengiriman, komplain, refund, dan catatan operasional terkait.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Pembayaran`}
9),` berarti proses pembayaran yang tersedia pada checkout Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Penyedia Pembayaran`}),` berarti pihak ketiga yang mendukung pemrosesan pembayaran, termasuk Xendit atau penyedia lain yang diaktifkan Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Penyedia Pengiriman`}),` berarti pihak ketiga, aggregator, atau kurir yang mendukung tarif, pickup, pengiriman, pelacakan, atau layanan pengiriman, termasuk Biteship serta kurir yang didukung Penjual.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Komplain`}),` berarti laporan dari Pembeli, Tamu, Penjual, atau ops mengenai masalah Pesanan, Barang, Pembayaran, Pengiriman, atau perilaku Pengguna.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Refund`}),` berarti pengembalian dana penuh atau sebagian berdasarkan status pembayaran/pengiriman, bukti, dan keputusan operasional Tokodepan.`]}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`strong`,{children:`Ledger Penjual`}),` berarti catatan operasional mengenai settlement, komisi, refund, penyesuaian, penahanan dana, dan permintaan pencairan Penjual.`]})]},{heading:`Peran Tokodepan sebagai Marketplace Kurasi`,paragraphs:[`Tokodepan menyediakan Platform marketplace kurasi yang mempertemukan Pembeli dengan Penjual yang diseleksi atau disetujui berdasarkan pertimbangan operasional Tokodepan.`,`Tokodepan dapat meninjau, menyetujui, menolak, membatasi, menangguhkan, menonaktifkan, atau menghapus Toko dan Produk berdasarkan alasan keamanan, kepercayaan, kepatuhan, kualitas layanan, risiko operasional, atau pelanggaran kebijakan.`,`Kecuali dinyatakan secara tegas, Tokodepan bukan pemilik, produsen, importir, distributor, atau pihak yang membuat Barang yang dijual oleh Penjual.`,`Penjual bertanggung jawab atas legalitas Barang, keaslian Barang, ketersediaan stok, akurasi informasi Produk, klaim Produk, harga, pengemasan, pemenuhan Pesanan, dan kepatuhan terhadap peraturan yang berlaku.`,`Tokodepan dapat membantu memfasilitasi transaksi, pembayaran, pengiriman, komunikasi, komplain, refund, dan pencairan dana, tetapi hal tersebut tidak menghilangkan tanggung jawab masing-masing Pengguna atas kewajibannya.`]},{heading:`Akun, OTP, Password, PIN, dan Keamanan`,paragraphs:[`Pengguna wajib memberikan data yang benar, akurat, lengkap, dan terbaru saat membuat akun, menggunakan checkout tamu, mengelola Toko, mengubah data sensitif, atau menggunakan fitur Tokodepan lainnya.`,`Pengguna bertanggung jawab menjaga kerahasiaan password, OTP, sesi login, perangkat, email, nomor telepon, dan PIN sensitif Penjual.`,`Tokodepan tidak akan meminta password, OTP, atau PIN melalui saluran di luar alur resmi Platform.`,`Pengguna bertanggung jawab atas aktivitas yang terjadi melalui akun, sesi, atau perangkatnya, kecuali apabila aktivitas tersebut terbukti terjadi karena kesalahan sistem Tokodepan.`,`Pengguna wajib segera menghubungi Tokodepan apabila mengetahui atau menduga adanya akses tanpa izin, penyalahgunaan akun, kebocoran kredensial, atau transaksi yang tidak dikenal.`,`Tokodepan dapat membatasi fitur, meminta verifikasi tambahan, mengakhiri sesi, menunda transaksi, atau menangguhkan akun apabila terdapat indikasi risiko keamanan, fraud, atau penyalahgunaan.`]},{heading:`Larangan Penyalahgunaan Platform`,list:[`Menggunakan bot, crawler, scraping, emulator, automation, atau metode teknis lain untuk mengakses atau menyalin data Platform tanpa izin.`,`Membuat akun palsu, akun ganda untuk penyalahgunaan, atau menggunakan identitas pihak lain tanpa izin.`,`Melakukan spam, phishing, social engineering, percobaan penipuan, atau pengiriman tautan berbahaya.`,`Memanipulasi harga, stok, ulasan, transaksi, ongkir, promo, komplain, bukti, resi, atau reputasi Toko.`,`Mengajak atau memaksa Pengguna lain melakukan transaksi, pembayaran, pengembalian, atau penyelesaian komplain di luar Tokodepan.`,`Mengunggah konten yang ilegal, menyesatkan, diskriminatif, mengancam, melanggar hak pihak lain, atau tidak sesuai dengan nilai kepercayaan Tokodepan.`,`Mengganggu keamanan, ketersediaan, atau integritas sistem Tokodepan maupun penyedia pihak ketiga yang terhubung.`]},{heading:`Transaksi Pembeli dan Checkout Tamu`,paragraphs:[`Pembeli dan Tamu wajib meninjau informasi Produk, harga, jumlah Barang, ongkir, alamat, pilihan pengiriman, catatan Pesanan, dan ringkasan checkout sebelum melakukan pembayaran.`,`Tamu wajib memberikan email, nomor telepon, nama penerima, dan alamat pengiriman yang aktif, benar, lengkap, dan dapat dihubungi.`,`Kesalahan alamat, nomor telepon, email, instruksi pengiriman, atau informasi lain yang diberikan Pembeli/Tamu dapat menyebabkan keterlambatan, kegagalan pengiriman, pembatalan, atau kendala refund.`,`Pesanan dapat terdiri dari satu atau lebih Penjual. Tokodepan dapat membuat invoice/payment bersama dan memecah Pesanan menjadi beberapa Pesanan per Penjual untuk keperluan operasional, pengiriman, komplain, dan settlement.`,`Pembeli dan Tamu wajib menggunakan alur pembayaran dan komunikasi yang tersedia di Tokodepan. Transaksi, pembayaran, atau kesepakatan di luar Platform berada di luar tanggung jawab Tokodepan.`,`Tokodepan tidak menyediakan metode bayar di tempat/COD pada fase awal ini.`]},{heading:`Pembayaran`,paragraphs:[`Pembayaran diproses melalui metode pembayaran y
9ang tersedia pada checkout Tokodepan dan dapat melibatkan Penyedia Pembayaran pihak ketiga, termasuk Xendit.`,`Pesanan dianggap dibayar hanya setelah Tokodepan menerima konfirmasi dari Penyedia Pembayaran atau melalui proses rekonsiliasi internal.`,`Pembayaran yang gagal, kedaluwarsa, dibatalkan, tidak lengkap, tidak terkonfirmasi, atau ditolak oleh Penyedia Pembayaran dapat menyebabkan Pesanan tidak diproses, dibatalkan, atau memerlukan pembuatan pembayaran baru.`,`Ketersediaan metode pembayaran, batas minimal/maksimal transaksi, biaya, waktu pemrosesan, dan status pembayaran dapat berubah mengikuti konfigurasi Tokodepan dan ketentuan Penyedia Pembayaran.`,`Tokodepan dapat menolak, menunda, membatalkan, atau meninjau pembayaran apabila terdapat indikasi fraud, penyalahgunaan, transaksi mencurigakan, pelanggaran kebijakan, atau masalah rekonsiliasi.`]},{heading:`Harga, Biaya, Komisi, dan Informasi Checkout`,paragraphs:[`Harga Produk ditentukan oleh Penjual kecuali terdapat program, koreksi, atau pengaturan tertentu dari Tokodepan.`,`Biaya pengiriman, biaya layanan, biaya pembayaran, diskon, promo, subsidi, atau biaya lain dapat ditampilkan secara terpisah pada halaman checkout.`,`Penjual wajib memastikan harga Produk, stok, berat, dimensi, dan informasi lain pada listing akurat.`,`Tokodepan dapat mengenakan atau mengelola komisi/platform fee kepada Penjual sesuai pengaturan yang berlaku pada saat Pesanan dibuat.`,`Komisi, refund, penyesuaian, dan biaya lain yang relevan dapat dicatat dan dipotong dari Ledger Penjual atau settlement Penjual.`,`Kesalahan harga atau informasi Produk dapat menyebabkan Penjual diminta memperbaiki listing, Pesanan ditolak/dibatalkan, dana ditahan sementara, atau tindakan lain sesuai keputusan operasional Tokodepan.`]},{heading:`Transaksi dan Kewajiban Penjual`,paragraphs:[`Penjual wajib memproses Pesanan dalam tenggat/SLA yang berlaku pada halaman Pesanan atau arahan ops Tokodepan.`,`Penjual wajib menjaga akurasi stok, harga, berat/dimensi, foto, kondisi, variasi, garansi, klaim, dan deskripsi Produk agar tidak menyesatkan Pembeli.`,`Penjual wajib mengemas Barang secara aman dan sesuai karakteristik Barang untuk mengurangi risiko kerusakan selama pengiriman.`,`Penjual tidak boleh meminta Pembeli atau Tamu bertransaksi, membayar, mengirim data pribadi, atau menyelesaikan komplain di luar Tokodepan.`,`Penjual wajib melindungi data pribadi Pembeli/Tamu dan hanya menggunakannya untuk memproses Pesanan terkait, pengiriman, dan komunikasi yang relevan dengan transaksi tersebut.`,`Penjual bertanggung jawab atas pajak, izin, label, klaim Produk, jaminan, dokumen pendukung, dan kepatuhan hukum yang berlaku atas kegiatan usahanya.`]},{heading:`Pengiriman`,paragraphs:[`Tarif, estimasi waktu tiba, pickup, waybill, dan pelacakan pengiriman dapat bergantung pada alamat, berat/dimensi, jenis layanan, ketersediaan kurir, Biteship, Penjual, serta Penyedia Pengiriman lainnya.`,`Estimasi ongkir dan estimasi waktu tiba bersifat perkiraan dan dapat berubah karena kondisi operasional, batas layanan kurir, cuaca, lalu lintas, kesalahan alamat, kendala pickup, atau faktor lain di luar kendali wajar Tokodepan.`,`Pembeli/Tamu wajib memberikan alamat lengkap, akurat, dan dapat dijangkau kurir.`,`Penjual wajib mengikuti alur pengiriman yang didukung Tokodepan dan tidak boleh memasukkan resi palsu, resi yang tidak terkait Pesanan, metode tidak didukung, atau informasi pengiriman yang menyesatkan.`,`Kurir toko dapat tersedia hanya untuk Penjual, lokasi, jenis Barang, atau Pesanan tertentu yang didukung oleh Platform.`,`Apabila pickup gagal, layanan kurir tidak tersedia, alamat tidak valid, atau terdapat kendala pengiriman, Tokodepan dapat melakukan penjadwalan ulang, pembatalan, perubahan status, atau tindakan operasional lain sesuai kondisi Pesanan.`]},{heading:`Chat, Pesan, Lampiran, dan Konten Pengguna`,paragraphs:[`Tokodepan menyediakan fitur komunikasi untuk mendukung transaksi, pengiriman, dukungan, dan penanganan komplain.`,`Pengguna dilarang menggunakan chat, lampiran, deskripsi Produk, foto, catatan, atau konten lain untuk mengirim konten ilegal, kasar, menyesatkan, spam, tautan berbahaya, penyalahgunaan data pribadi, promosi tidak relevan, atau ajakan transaksi di luar Platform.`,`Tokodepan dapat meninjau pesan, lampiran, bukti, dan konten terkait untuk tujuan dukungan pelanggan, keamanan, pe
9nanganan komplain, audit, pencegahan fraud, moderasi, dan kepatuhan.`,`Pengguna bertanggung jawab atas konten yang dikirimkan atau diunggah melalui akun atau sesi miliknya.`,`Tokodepan dapat menghapus konten, membatasi fitur, menangguhkan akun/Toko, atau melakukan tindakan lain apabila terdapat pelanggaran.`]},{heading:`Komplain, Retur, Refund, dan Penyelesaian Masalah`,paragraphs:[`Komplain, pengembalian Barang, penggantian, dan refund mengikuti Kebijakan Pengembalian, Refund, dan Komplain Tokodepan.`,`Tokodepan dapat meninjau bukti dari Pembeli, Tamu, Penjual, catatan Pesanan, pembayaran, pengiriman, chat, foto, lampiran, dan riwayat operasional untuk mengambil keputusan.`,`Keputusan Tokodepan dapat berupa refund penuh/sebagian, penggantian Barang, pengembalian Barang manual, penolakan komplain, penahanan dana sementara, atau solusi manual lain.`,`Komplain palsu, manipulasi bukti, klaim berulang yang tidak wajar, penyalahgunaan fitur, atau perilaku tidak kooperatif dapat menyebabkan pembatasan akun, pembatasan Toko, atau tindakan operasional lain.`,`Tokodepan tidak bertanggung jawab atas komplain yang berasal dari transaksi, pembayaran, atau kesepakatan di luar Platform.`]},{heading:`Barang Dilarang dan Dibatasi`,paragraphs:[`Produk yang dilarang atau dibatasi mengikuti Kebijakan Barang Dilarang dan Dibatasi Tokodepan.`,`Tokodepan dapat menolak atau menghapus Produk yang ilegal, berisiko tinggi, tidak didukung, memerlukan izin yang belum dapat diverifikasi, melanggar hak pihak lain, atau tidak sesuai standar kepercayaan Tokodepan.`,`Penjual bertanggung jawab memastikan Barang yang dijual legal, asli, aman, sesuai izin/label yang diperlukan, dan tidak melanggar hak pihak lain.`]},{heading:`Keuangan, Ledger, dan Pencairan Penjual`,paragraphs:[`Ledger Penjual adalah catatan operasional yang digunakan Tokodepan untuk mencatat penjualan, komisi, refund, penyesuaian, penahanan dana, dan permintaan pencairan.`,`Pencairan dapat memerlukan rekening bank yang valid, verifikasi keamanan/PIN, data yang sesuai, dan peninjauan ops Tokodepan.`,`Dana dapat ditahan, ditunda, atau disesuaikan apabila terdapat komplain, refund, dugaan fraud, data rekening tidak sesuai, kesalahan input, rekonsiliasi, pelanggaran kebijakan, permintaan otoritas, atau alasan hukum/kepatuhan lainnya.`,`Tokodepan dapat melakukan koreksi ledger apabila ditemukan kesalahan perhitungan, pembatalan, refund, komisi, biaya, atau penyesuaian lain yang relevan.`,`Penjual bertanggung jawab memastikan data rekening benar dan dimiliki/dikuasai secara sah oleh Penjual atau pihak yang berwenang.`]},{heading:`Pembatasan, Penangguhan, dan Pengakhiran Akses`,paragraphs:[`Tokodepan dapat membatasi, menangguhkan, menonaktifkan, atau mengakhiri akses Pengguna/Toko apabila terdapat fraud, penyalahgunaan, pelanggaran kebijakan, barang dilarang, kegagalan SLA berulang, penyalahgunaan data, transaksi di luar Platform, resi palsu, komplain berat, risiko keamanan, atau alasan kepercayaan pengguna.`,`Tokodepan dapat menahan penyelesaian Pesanan, menunda pencairan, meminta klarifikasi, meminta dokumen tambahan, menghapus Produk, membatasi chat, atau mengambil tindakan operasional lain selama proses peninjauan.`,`Pengguna tetap bertanggung jawab atas kewajiban yang timbul sebelum akses dibatasi atau diakhiri, termasuk pemenuhan Pesanan, pengembalian dana, pengembalian Barang, komplain, pajak, dan kewajiban hukum lainnya.`]},{heading:`Layanan Pihak Ketiga`,paragraphs:[`Tokodepan menggunakan atau dapat menggunakan penyedia pihak ketiga untuk pembayaran, pengiriman, keamanan, hosting, email, OTP, infrastruktur, analitik operasional, dan dukungan teknis.`,`Gangguan layanan pihak ketiga di luar kendali wajar Tokodepan dapat memengaruhi login, pembayaran, pengiriman, notifikasi, dukungan, atau fitur Platform lainnya.`,`Pengguna memahami bahwa penggunaan layanan pihak ketiga tertentu dapat tunduk pada kebijakan, batasan teknis, dan waktu pemrosesan dari penyedia terkait.`]},{heading:`Perubahan Layanan dan Kebijakan`,paragraphs:[`Tokodepan dapat memperbarui, mengubah, menambah, membatasi, atau menghentikan fitur Platform dari waktu ke waktu untuk alasan keamanan, operasional, kepatuhan, pe
9ngembangan produk, atau kualitas layanan.`,`Tokodepan dapat memperbarui Syarat dan Ketentuan ini dari waktu ke waktu.`,`Perubahan material dapat diberitahukan melalui Platform dan dapat memerlukan persetujuan ulang sesuai mekanisme yang tersedia.`,`Penggunaan Platform setelah pembaruan berlaku dianggap sebagai persetujuan terhadap pembaruan tersebut, sepanjang diperbolehkan oleh hukum yang berlaku.`]},{heading:`Batasan Tanggung Jawab`,paragraphs:[`Sepanjang diperbolehkan oleh hukum yang berlaku, Tokodepan tidak bertanggung jawab atas kerugian tidak langsung, kehilangan keuntungan, kehilangan kesempatan, kehilangan data yang terjadi di luar kendali wajar Tokodepan, atau kerugian lain yang timbul dari tindakan Pengguna, informasi Produk yang diberikan Penjual, transaksi di luar Platform, gangguan pihak ketiga, kesalahan alamat, pelanggaran kebijakan, atau keadaan di luar kendali wajar Tokodepan.`,`Tokodepan akan berupaya secara wajar untuk menjaga Platform berjalan aman dan andal, tetapi tidak menjamin bahwa layanan akan selalu bebas dari gangguan, kesalahan, keterlambatan, atau risiko keamanan.`,`Ketentuan ini tidak membatasi hak Pengguna yang tidak dapat dikesampingkan berdasarkan hukum yang berlaku.`]},{heading:`Pelepasan dan Ganti Rugi`,paragraphs:[`Pengguna setuju untuk melepaskan Tokodepan dari klaim yang timbul akibat transaksi, pembayaran, komunikasi, pengiriman, atau kesepakatan yang dilakukan di luar Platform.`,`Pengguna setuju untuk bertanggung jawab dan mengganti kerugian Tokodepan apabila tindakan Pengguna menyebabkan klaim, kerugian, denda, biaya, atau tuntutan dari pihak ketiga akibat pelanggaran hukum, pelanggaran kebijakan, pe
9nipuan, penyalahgunaan data, pelanggaran hak kekayaan intelektual, atau penyalahgunaan Platform.`]},{heading:`Hukum yang Berlaku dan Kontak`,paragraphs:[`Syarat dan Ketentuan ini diatur oleh hukum Republik Indonesia.`,`Apabila terjadi perselisihan, Pengguna setuju untuk terlebih dahulu berupaya menyelesaikannya melalui fitur bantuan, komplain, atau kontak resmi Tokodepan.`,`Pertanyaan mengenai Syarat dan Ketentuan dapat dikirim ke [email protected].`]}]},privacy:{title:`Kebijakan Privasi Tokodepan`,sections:[{heading:`1. Pengantar`,paragraphs:[`Kebijakan Privasi ini menjelaskan bagaimana Tokodepan mengumpulkan, menggunakan, menyimpan, membagikan, melindungi, dan menghapus Data Pribadi sehubungan dengan layanan marketplace, akun, checkout tamu, Toko Penjual, pembayaran, pengiriman, chat, komplain, dukungan pelanggan, keamanan, dan operasional Platform.`,`Dengan mendaftar, menggunakan checkout tamu, membeli Barang, menjadi Penjual, menghubungi dukungan, atau menggunakan fitur Tokodepan lainnya, Pengguna mengakui bahwa Tokodepan akan memproses Data Pribadi sesuai Kebijakan Privasi ini.`,`Kebijakan ini berlaku bersama Syarat dan Ketentuan Tokodepan serta kebijakan lain yang relevan.`]},{heading:`2. Data yang Dikumpulkan`,list:[`Data akun dan login: nama, email, nomor telepon, hash password, status verifikasi OTP, sesi login, peran Pengguna, status akun, dan data autentikasi terkait.`,`Data checkout tamu: nama penerima, email, nomor telepon, alamat, instruksi pengiriman, dan data Pesanan yang dibuat tanpa akun.`,`Data Penjual dan Toko: nama Toko, kontak, alamat toko/gudang, jam operasional, data profil Toko, data aktivasi, riwayat perubahan, dan informasi verifikasi yang diperlukan.`,`Data keuangan Penjual: rekening bank, nama pemilik rekening, Ledger Penjual, komisi, refund, penyesuaian, permintaan pencairan, hash PIN, metadata tindakan sensitif, dan catatan verifikasi.`,`Data transaksi: keranjang, Produk yang dibeli, Pesanan, invoice, harga, ongkir, biaya, promo bila ada, status Pesanan, status pembayaran, status pengiriman, dan catatan operasional.`,`Data pembayaran: metode pembayaran, status penyedia pembayaran, identitas transaksi, waktu pembayaran, status refund, dan data rekonsiliasi. Tokodepan tidak bermaksud menyimpan data kartu pembayaran lengkap; pemrosesan detail pembayaran tertentu dilakukan oleh Penyedia Pembayaran terkait.`,`Data pengiriman: alamat asal/tujuan, pilihan kurir, tarif, berat/dimensi, shipment, pickup, tracking, waybill/resi, bukti pengiriman, dan status dari Penyedia Pengiriman.`,`Data chat dan dukungan: isi pesan, lampiran, status baca, token/link terkait, riwayat komunikasi, dan konteks dukungan pelanggan.`,`Data komplain: uraian masalah, foto/video bila tersedia, bukti dari Pembeli/Tamu/Penjual, kronologi, keputusan ops, refund/penggantian/pengembalian, dan riwayat penyelesaian.`,`Data teknis dan keamanan: alamat IP, user agent, cookie, session ID, token CSRF, log aktivitas, perangkat, browser, waktu akses, halaman yang diakses, sinyal penyalahgunaan, dan catatan audit.`,`Data komunikasi: email, pesan sistem, notifikasi, tanggapan dukungan, dan catatan komunikasi terkait layanan.`]},{heading:`3. Cara Data Dikumpulkan`,list:[`Data diberikan langsung oleh Pengguna saat mendaftar, login, checkout, mengelola Toko, mengunggah Produk, mengirim chat, membuat komplain, atau menghubungi dukungan.`,`Data dihasilkan dari penggunaan Platform, seperti riwayat Pesanan, status pembayaran, pengiriman, sesi, log, dan aktivitas keamanan.`,`Data diterima dari pihak ketiga yang mendukung layanan, seperti Penyedia Pembayaran, Penyedia Pengiriman, penyedia email/OTP, layanan keamanan, hosting, dan infrastruktur teknis.`,`Data dapat diperoleh dari proses operasional Tokodepan, termasuk verifikasi Penjual, review komplain, rekonsiliasi pembayaran, investigasi fraud, atau audit internal.`]},{heading:`4. Tujuan Pemrosesan Data`,list:[`Membuat akun, login, OTP, verifikasi akses, dan manajemen sesi.`,`Mengelola checkout tamu, keranjang, Pesanan, invoice, pembayaran, pengiriman, komplain, refund, dan dukungan pelanggan.`,`Memproses pembayaran melalui Xendit atau Penyedia Pembayaran lain yang didukung.`,`Menghitung tarif pengiriman, membuat shipment, mengatur pickup, memantau tracking, dan mengelola pengiriman melalui Biteship, kurir, atau kurir toko.`,`Mendukung onboarding Penjual, kurasi Toko, verifikasi data, pengaturan operasional, listing Produk, Ledger Penjual, komisi, dan pencairan.`,`Menyediakan fitur chat, notifikasi, riwayat komunikasi, dan dukungan transaksi.`,`Menangani komplain, pengembalian manual, bukti sengketa, keputusan operasional, dan pencegahan penyalahgunaan.`,`Menjaga keamanan Platform, mencegah fraud, mencegah spam/scraping, mengelola audit log, dan menginvestigasi aktivitas mencurigakan.`,`Melakukan rekonsiliasi pembayaran, aku
9ntansi, pelaporan internal, pemenuhan kewajiban hukum, dan penyelesaian sengketa.`,`Mengembangkan, memperbaiki, dan mengevaluasi kualitas layanan Tokodepan secara operasional.`]},{heading:`5. Persetujuan dan Dasar Pemrosesan`,paragraphs:[`Beberapa pemrosesan Data Pribadi diperlukan agar Tokodepan dapat menyediakan layanan, menyelesaikan transaksi, memproses pembayaran/pengiriman, menjaga keamanan, melakukan rekonsiliasi, menangani komplain, atau memenuhi kewajiban hukum.`,`Untuk pemrosesan yang memerlukan persetujuan, Pengguna memberikan persetujuan melalui tindakan seperti membuat akun, menyetujui checkbox legal, menggunakan checkout, menjadi Penjual, atau menggunakan fitur terkait.`,`Pengguna dapat menarik persetujuan tertentu dengan menghubungi Tokodepan, namun penarikan persetujuan dapat menyebabkan sebagian layanan tidak dapat digunakan, Pesanan tidak dapat diproses, akun tidak dapat dipertahankan, atau hubungan layanan harus dihentikan.`,`Tokodepan dapat tetap memproses data tertentu apabila diperlukan untuk kewajiban hukum, keamanan, akuntansi, penyelesaian sengketa, investigasi fraud, atau kepentingan operasional yang sah sesuai hukum yang berlaku.`]},{heading:`6. Pembagian Data kepada Pihak Lain`,list:[`Kepada Penjual, sejauh diperlukan untuk memproses Pesanan, pengemasan, pengiriman, komunikasi transaksi, komplain, atau pengembalian Barang.`,`Kepada Pembeli/Tamu, sejauh diperlukan untuk menampilkan informasi Toko, Produk, status Pesanan, pengiriman, komplain, atau komunikasi terkait.`,`Kepada Xendit atau Penyedia Pembayaran lain untuk membuat, memproses, memverifikasi, merekonsiliasi, membatalkan, atau mengembalikan pembayaran.`,`Kepada Biteship, kurir, atau Penyedia Pengiriman lain untuk menghitung tarif, membuat shipment, mengatur pickup, mengirim Barang, melakukan tracking, atau menangani kendala pengiriman.`,`Kepada penyedia hosting, Cloudflare, layanan keamanan, email, OTP, penyimpanan, monitoring, dan dukungan teknis yang membantu operasional Platform.`,`Kepada tim internal Tokodepan, termasuk admin/ops, berdasarkan peran, kontrol akses, dan kebutuhan kerja yang relevan.`,`Kepada penasihat profesional, auditor, konsultan, atau pihak pendukung lain apabila diperlukan untuk kepatuhan, akuntansi, keamanan, sengketa, atau pengembangan layanan.`,`Kepada otoritas, aparat penegak hukum, regulator, atau pihak lain apabila diwajibkan oleh hukum, perintah yang sah, proses hukum, atau perlindungan hak Tokodepan/Pengguna.`,`Kepada pihak lain dengan persetujuan Pengguna atau sesuai instruksi Pengguna.`]},{heading:`7. Data Pembeli/Tamu yang Diterima Penjual`,paragraphs:[`Penjual dapat menerima data Pembeli/Tamu yang diperlukan untuk memproses Pesanan, seperti nama penerima, alamat, nomor telepon, informasi pengiriman, dan informasi Pesanan.`,`Penjual hanya boleh menggunakan data tersebut untuk pemenuhan Pesanan, pengiriman, komunikasi transaksi, retur, komplain, atau kewajiban terkait Pesanan tersebut.`,`Penjual dilarang menjual, menyebarkan, mempublikasikan, menggunakan untuk pemasaran di luar persetujuan, atau menyalahgunakan data Pembeli/Tamu.`,`Pelanggaran terhadap ketentuan ini dapat menyebabkan pembatasan Toko, penahanan dana, penonaktifan Penjual, atau tindakan lain sesuai kebijakan Tokodepan.`]},{heading:`8. Cookie, Sesi, dan Teknologi Serupa`,paragraphs:[`Tokodepan menggunakan cookie, session storage, token CSRF, dan teknologi serupa yang penting untuk login, keamanan, checkout, keranjang, preferensi dasar, dan pencegahan penyalahgunaan.`,`Pada fase awal, Tokodepan tidak menggunakan cookie iklan atau retargeting kecuali diberitahukan kemudian.`,`Pengguna dapat menghapus atau memblokir cookie melalui browser, tetapi sebagian fitur seperti login, checkout, keamanan, keranjang, dan pembayaran dapat tidak berfungsi dengan baik.`,(0,Z.jsxs)(Z.Fragment,{children:[`Informasi lebih lanjut tersedia pada `,(0,Z.jsx)(`a`,{href:`/legal/cookie-notice`,children:`Pemberitahuan Cookie dan Sesi Tokodepan`}),`.`]})]},{heading:`9. Retensi Data`,paragraphs:[`Tokodepan menyimpan Data Pribadi selama diperlukan untuk menyediakan layanan, menjaga akun, memproses Pesanan, menyelesaikan transaksi, menangani komplain, melakukan refund/pengembalian, mengelola Ledger Penjual, melakukan rekonsiliasi, memenuhi kewajiban akuntansi/hukum, mencegah fraud, menjaga keamanan, dan menyelesaikan sengketa.`,`Setelah akun ditutup atau permintaan penghapusan diajukan, sebagian data dapat tetap disimpan apabila diperlukan untuk transaksi yang belum selesai, komplain, refund, pengembalian Barang, audit, rekonsiliasi, keamanan, pe
9ncegahan fraud, pembelaan klaim, atau kewajiban hukum.`,`Tokodepan dapat menghapus, menganonimkan, membatasi, atau mengarsipkan data apabila data tidak lagi diperlukan sesuai tujuan pemrosesan.`]},{heading:`10. Hak Pengguna`,paragraphs:[`Pengguna dapat menghubungi Tokodepan untuk meminta akses, koreksi, pembaruan, penghapusan sejauh berlaku, penarikan persetujuan, atau menyampaikan keluhan terkait pemrosesan Data Pribadi.`,`Tokodepan dapat meminta verifikasi identitas, informasi tambahan, atau bukti kewenangan sebelum memproses permintaan untuk melindungi keamanan akun dan data.`,`Permintaan dapat ditolak, dibatasi, atau ditunda apabila bertentangan dengan kewajiban hukum, keamanan, audit, transaksi berjalan, komplain, sengketa, pencegahan fraud, atau hak pihak lain.`,`Permintaan privasi dapat dikirim ke ${Lt}.`]},{heading:`11. Keamanan Data`,paragraphs:[`Tokodepan menerapkan langkah teknis dan operasional yang wajar untuk melindungi Data Pribadi, termasuk hashing password/PIN, session cookie, CSRF, kontrol akses berbasis peran, audit log, pembatasan akses internal, masking data bila sesuai, dan pemantauan keamanan.`,`Tokodepan membatasi akses Data Pribadi kepada pihak yang membutuhkan data tersebut untuk menjalankan tugasnya.`,`Tidak ada sistem yang dapat dijamin aman secara mutlak. Pengguna juga perlu menjaga perangkat, email, nomor telepon, password, OTP, PIN, dan akses akunnya.`,`Apabila terjadi dugaan insiden keamanan, Tokodepan dapat mengambil tindakan seperti investigasi, pembatasan akses, reset sesi, pemberitahuan kepada Pengguna, atau langkah lain sesuai kebutuhan dan hukum yang berlaku.`]},{heading:`12. Pemrosesan Lintas Negara dan Penyedia Pihak Ketiga`,paragraphs:[`Sebagian penyedia pembayaran, pengiriman, hosting, keamanan, email, OTP, atau infrastruktur dapat memproses atau menyimpan data di luar Indonesia.`,`Pemrosesan tersebut bergantung pada lokasi, sistem, kebijakan, dan perlindungan masing-masing penyedia serta hukum yang berlaku.`,`Tokodepan akan berupaya menggunakan penyedia yang secara wajar mendukung keamanan dan kebutuhan operasional Platform.`]},{heading:`13. Anak di Bawah Umur`,paragraphs:[`Platform tidak ditujukan untuk digunakan oleh anak di bawah umur tanpa persetujuan orang tua atau wali yang sah.`,`Apabila Tokodepan mengetahui penggunaan yang tidak sesuai, Tokodepan dapat membatasi akun, meminta tindakan korektif, menolak transaksi, atau menghapus data tertentu sesuai kebutuhan dan hukum yang berlaku.`,`Orang tua atau wali yang mengetahui penggunaan Platform oleh anak tanpa izin dapat menghubungi Tokodepan.`]},{heading:`14. Perubahan Kebijakan Privasi`,paragraphs:[`Tokodepan dapat memperbarui Kebijakan Privasi ini dari waktu ke waktu untuk menyesuaikan layanan, operasional, teknologi, kebijakan, atau hukum yang berlaku.`,`Perubahan material dapat diberitahukan melalui Platform dan dapat memerlukan persetujuan ulang sesuai mekanisme yang tersedia.`,`Tanggal pembaruan terakhir akan ditampilkan pada halaman Kebijakan Privasi.`]},{heading:`15. Kontak Privasi`,paragraphs:[`Pertanyaan, permintaan, atau keluhan terkait Kebijakan Privasi dan pemrosesan Data Pribadi dapat dikirim ke ${Lt}.`,`Tokodepan dapat meminta informasi tambahan untuk memverifikasi identitas dan memahami permintaan Pengguna.`]}]},"seller-terms":{title:`Ketentuan Penjual Tokodepan`,sections:[{heading:`Pendahuluan`,paragraphs:[`Ketentuan Penjual ini mengatur kewajiban dan tanggung jawab Penjual yang menggunakan Tokodepan untuk menawarkan, menjual, memproses, dan mengirim Barang kepada Pembeli/Tamu.`,`Dengan mendaftar sebagai Penjual, mengelola Toko, mengunggah Produk, menerima Pesanan, atau menggunakan fitur Seller Center, Penjual dianggap telah membaca, memahami, dan menyetujui Ketentuan Penjual ini.`,(0,Z.jsxs)(Z.Fragment,{children:[`Ketentuan ini berlaku bersama `,(0,Z.jsx)(`a`,{href:`/legal/terms`,children:`Syarat dan Ketentuan Tokodepan`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/privacy`,children:`Kebijakan Privasi`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/refund-complaint-policy`,children:`Kebijakan Pengembalian/Refund/Komplain`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/prohibited-items`,children:`Kebijakan Barang Dilarang dan Dibatasi`}
9),`, serta kebijakan lain yang relevan.`]})]},{heading:`Kurasi dan Aktivasi Penjual`,paragraphs:[`Tokodepan menerapkan proses kurasi dan aktivasi Penjual. Pendaftaran Penjual tidak otomatis berarti Toko dapat langsung berjualan.`,`Tokodepan dapat meminta informasi, dokumen, klarifikasi, alamat operasional, data rekening, data kontak, atau bukti pendukung sebelum maupun setelah Toko aktif.`,`Tokodepan dapat menyetujui, menolak, menunda, menangguhkan, atau menonaktifkan Toko berdasarkan penilaian kepercayaan, risiko, kapasitas operasional, kualitas layanan, kepatuhan, atau alasan lain yang wajar.`,`Penjual wajib menjaga data Toko tetap benar, lengkap, akurat, dan terbaru.`]},{heading:`Akun, Keamanan, dan PIN Penjual`,paragraphs:[`Penjual bertanggung jawab menjaga keamanan akun, password, OTP, perangkat, sesi login, dan PIN Penjual.`,`Tindakan sensitif seperti pengaturan rekening, pencairan, perubahan data penting, atau akses fitur tertentu dapat memerlukan PIN atau verifikasi tambahan.`,`Penjual tidak boleh membagikan akun, password, OTP, PIN, atau akses internal kepada pihak yang tidak berwenang.`,`Penjual wajib segera menghubungi Tokodepan apabila mengetahui atau menduga adanya akses tanpa izin, perubahan data tidak dikenal, atau aktivitas mencurigakan.`,`Tokodepan dapat membatasi akses, meminta verifikasi ulang, menunda pencairan, atau mengunci tindakan sensitif apabila terdapat risiko keamanan.`]},{heading:`Data Toko dan Informasi Operasional`,list:[`Penjual wajib memberikan nama Toko, kontak, alamat operasional/gudang, jam operasional, dan informasi lain yang benar.`,`Jam operasional Toko dapat memengaruhi respons Pesanan, pickup, fulfillment, dan dukungan operasional.`,`Penjual wajib memperbarui data apabila terdapat perubahan alamat, kontak, rekening, jam operasional, atau informasi penting lain.`,`Tokodepan dapat meminta verifikasi atau pembaruan data apabila terdapat perubahan, indikasi risiko, komplain, audit, atau kebutuhan operasional.`]},{heading:`Listing Produk`,paragraphs:[`Penjual wajib memastikan judul, deskripsi, foto, kondisi, stok, harga, berat, dimensi, variasi, garansi, klaim, dan atribut Produk akurat, jelas, tidak menyesatkan, dan sesuai kondisi sebenarnya.`,`Foto Produk harus mewakili Barang yang dijual dan tidak melanggar hak pihak lain.`,`Penjual tidak boleh mencantumkan informasi yang tidak relevan, promosi luar Platform, tautan berbahaya, nomor kontak untuk transaksi luar Platform, atau klaim yang tidak dapat dipertanggungjawabkan.`,`Penjual tidak boleh mencantumkan ketentuan toko yang bertentangan dengan kebijakan Tokodepan, termasuk klausul seperti âtidak menerima komplainâ, âtidak menerima refundâ, atau âbarang tidak dapat dikembalikanâ apabila bertentangan dengan Kebijakan Pengembalian, Refund, dan Komplain Tokodepan.`,`Penjual bertanggung jawab atas kesalahan listing, kesalahan harga, stok tidak tersedia, klaim berlebihan, dan ketidaksesuaian Barang dengan listing.`]},{heading:`Produk Dilarang dan Dibatasi`,paragraphs:[(0,Z.jsxs)(Z.Fragment,{children:[`Penjual wajib mematuhi `,(0,Z.jsx)(`a`,{href:`/legal/prohibited-items`,children:`Kebijakan Barang Dilarang dan Dibatasi Tokodepan`}),`.`]}),`Penjual bertanggung jawab memastikan Produk legal, asli, aman, tidak melanggar hak pihak lain, dan memiliki izin/label/dokumen yang diperlukan.`,`Tokodepan dapat menolak, menghapus, atau membatasi Produk yang berisiko tinggi, tidak didukung, legalitasnya tidak jelas, atau memerlukan izin yang belum dapat diverifikasi.`,`Tokodepan dapat memilih untuk belum mendukung kategori tertentu meskipun kategori tersebut dapat legal apabila memenuhi izin khusus.`]},{heading:`Pemrosesan Pesanan`,paragraphs:[`Penjual wajib menerima, memproses, mengemas, dan mengirim Pesanan sesuai tenggat/SLA pada halaman Pesanan atau arahan ops Tokodepan.`,`Penjual wajib menjaga stok agar Pesanan yang masuk dapat dipenuhi.`,`Apabila stok tidak tersedia, terdapat kesalahan harga, atau Penjual tidak dapat memenuhi Pesanan, Penjual wajib mengikuti alur pembatalan/penanganan yang tersedia dan tidak boleh meminta Pembeli menyelesaikan masalah di luar Platform.`,`Keterlambatan respons, kegagalan pickup, kegagalan fulfillment, atau pembatalan berulang dapat memengaruhi status Toko dan dapat menyebabkan pembatasan o
9perasional.`,`Penjual bertanggung jawab mengemas Barang secara layak, aman, dan sesuai karakteristik Barang.`]},{heading:`Pengiriman dan Waybill`,paragraphs:[`Penjual wajib menggunakan kurir atau metode pengiriman yang didukung alur Tokodepan untuk Pesanan terkait.`,`Penjual wajib memasukkan waybill/resi yang valid dan terkait langsung dengan Pesanan.`,`Penjual dilarang menggunakan resi palsu, resi yang sudah digunakan untuk Pesanan lain, metode tidak didukung, informasi pickup palsu, atau data pengiriman yang menyesatkan.`,`Apabila Produk memiliki batasan ukuran, berat, wilayah, layanan kurir, atau jenis pengiriman, Penjual wajib mengatur listing dan operasionalnya agar sesuai dengan batasan tersebut.`,`Kurir toko hanya boleh digunakan apabila tersedia dan sesuai dengan alur Tokodepan untuk Pesanan terkait.`]},{heading:`Komunikasi dengan Pembeli/Tamu`,paragraphs:[`Penjual wajib berkomunikasi secara sopan, relevan, dan profesional melalui fitur Tokodepan.`,`Penjual dilarang mengajak Pembeli/Tamu melakukan pembayaran, transaksi, komplain, retur, atau pengembalian dana di luar Tokodepan.`,`Penjual dilarang mengirim spam, tautan berbahaya, konten kasar, konten menyesatkan, atau materi promosi yang tidak relevan.`,`Tokodepan dapat meninjau chat dan lampiran terkait untuk dukungan, komplain, keamanan, audit, dan pencegahan fraud.`]},{heading:`Perlindungan Data Pembeli/Tamu`,paragraphs:[`Data pribadi Pembeli/Tamu hanya boleh digunakan untuk memproses Pesanan, pengiriman, retur, komplain, atau dukungan transaksi terkait.`,`Penjual dilarang menjual, menyebarkan, mempublikasikan, menyimpan secara tidak perlu, atau menggunakan data Pembeli/Tamu untuk pemasaran di luar persetujuan yang relevan.`,`Penjual wajib menjaga kerahasiaan data Pembeli/Tamu dan mencegah akses oleh pihak yang tidak berwenang.`,`Penyalahgunaan data Pembeli/Tamu dapat menyebabkan pembatasan Toko, penahanan dana, penonaktifan akun, atau tindakan lain sesuai kebijakan Tokodepan.`]},{heading:`Komplain, Retur, dan Bukti`,paragraphs:[`Penjual wajib merespons komplain secara wajar dan tepat waktu melalui alur Tokodepan.`,`Penjual dapat diminta memberikan bukti seperti foto Produk, foto kemasan, catatan stok, chat, bukti pickup, waybill, bukti pengiriman, atau dokumen pendukung lain.`,`Ketia
9daan bukti, bukti yang tidak jelas, keterlambatan merespons, atau sikap tidak kooperatif dapat memengaruhi keputusan komplain.`,(0,Z.jsxs)(Z.Fragment,{children:[`Penggantian, refund, pengembalian manual, penolakan komplain, atau solusi lain mengikuti `,(0,Z.jsx)(`a`,{href:`/legal/refund-complaint-policy`,children:`Kebijakan Pengembalian, Refund, dan Komplain Tokodepan`}),` serta keputusan operasional berdasarkan bukti.`]})]},{heading:`Komisi, Biaya, Ledger, dan Settlement`,paragraphs:[`Tokodepan dapat mengenakan komisi/platform fee kepada Penjual sesuai pengaturan yang berlaku pada saat Pesanan dibuat.`,`Ledger Penjual adalah catatan operasional mengenai penjualan, komisi, refund, penyesuaian, penahanan dana, dan pencairan.`,`Komisi, refund, biaya, koreksi, atau penyesuaian lain dapat dipotong atau dicatat dalam Ledger Penjual.`,`Tokodepan dapat melakukan koreksi ledger apabila ditemukan kesalahan perhitungan, perubahan status Pesanan, refund, komplain, rekonsiliasi, atau penyesuaian lain yang relevan.`,`Ledger bukan rekening bank dan bukan fasilitas penyimpanan dana umum; ledger digunakan untuk mencatat hak dan kewajiban operasional terkait transaksi Tokodepan.`]},{heading:`Pencairan Dana`,paragraphs:[`Penjual dapat mengajukan pencairan dana sesuai fitur dan ketentuan yang tersedia.`,`Pencairan memerlukan data rekening bank yang benar, valid, dan sesuai dengan Penjual atau pihak yang berwenang.`,`Pencairan dapat memerlukan PIN, verifikasi keamanan, dan peninjauan ops.`,`Tokodepan dapat menunda, menolak, atau menahan pencairan apabila terdapat komplain, refund, dugaan fraud, data rekening tidak sesuai, kesalahan input, rekonsiliasi, pelanggaran kebijakan, permintaan otoritas, atau alasan hukum/kepatuhan.`,`Penjual bertanggung jawab atas kesalahan data rekening yang diberikan.`]},{heading:`Pajak, Izin, dan Kepatuhan`,paragraphs:[`Penjual bertanggung jawab atas legalitas kegiatan usahanya, Produk yang dijual, izin edar, label, sertifikasi, garansi, klaim Produk, dan kewajiban pajak yang berlaku.`,`Tokodepan dapat meminta dokumen pendukung apabila diperlukan untuk verifikasi, audit, komplain, atau kepatuhan.`,`Kegagalan memberikan dokumen yang memadai dapat menyebabkan Produk ditolak, Pesanan dibatalkan, dana ditahan, atau Toko dibatasi.`,`Penjual wajib mematuhi hukum Republik Indonesia dan kebijakan Tokodepan yang berlaku.`]},{heading:`Pembatasan dan Penangguhan Toko`,paragraphs:[`Tokodepan dapat membatasi, menangguhkan, menonaktifkan, atau menghapus Produk/Toko apabila terdapat fraud, barang palsu/terlarang, kegagalan SLA berulang, resi palsu, penyalahgunaan data, transaksi di luar Platform, chat abusif, klaim Produk menyesatkan, komplain berat, atau pelanggaran kebijakan.`,`Tokodepan dapat meminta klarifikasi, meminta dokumen, menunda pencairan, menahan dana, membatasi fitur, atau melakukan tindakan operasional lain selama proses peninjauan.`,`Penjual tetap bertanggung jawab menyelesaikan kewajiban yang timbul sebelum pembatasan/penangguhan, termasuk Pesanan, komplain, refund, pengembalian Barang, dan kewajiban hukum.`]},{heading:`Perubahan Ketentuan Penjual dan Kontak`,paragraphs:[`Tokodepan dapat memperbarui Ketentuan Penjual ini dari waktu ke waktu untuk menyesuaikan layanan, kebijakan, operasional, atau hukum yang berlaku.`,`Perubahan material dapat diberitahukan melalui Platform dan dapat memerlukan persetujuan ulang.`,`Pertanyaan mengenai Ketentuan Penjual dapat dikirim ke alamat email [email protected].`]}]},"refund-complaint-policy":{title:`Kebijakan Pengembalian, Refund, dan Komplain Tokodepan`,sections:[{heading:`1. Ruang Lingkup`,paragraphs:[`Kebijakan ini menjelaskan penanganan komplain, pengembalian manual, penggantian Barang, dan refund untuk Pesanan yang dibuat melalui Tokodepan.`,`Kebijakan ini berlaku untuk Pembeli, Tamu, dan Penjual yang terlibat dalam Pesanan Tokodepan.`,`Komplain atas transaksi, pembayaran, pengiriman, atau kesepakatan yang dilakukan di luar Tokodepan tidak tercakup dalam kebijakan ini.`]},{heading:`2. Prinsip Penanganan Komplain`,paragraphs:[`Tokodepan menangani komplain berdasarkan bukti, riwayat Pesanan, status pembayaran, status pengiriman, chat, lampiran, informasi Produk, dan respons Pembeli/Penjual.`,`Tokodepan dapat meminta klarifikasi dan bukti tambahan dari Pembeli, Tamu, Penjual, kurir, Penyedia Pembayaran, atau Penyedia Pengiriman.`,`Tokodepan dapat mengambil keputusan operasional yang dianggap wajar berdasarkan bukti yang tersedia.`,`Keputusan dapat berbeda antar kasus karena kondisi Barang, jenis masalah, bukti, waktu pelaporan, status pengiriman, dan tanggung jawab masing-masing pihak dapat berbeda.`]},{heading:`3. Komplain yang Dapat Dipertimbangkan`,list:[`Barang yang diterima salah atau tidak sesuai Pesanan.`,`Barang rusak saat diterima.`,`Barang kurang, hilang, atau jumlahnya tidak sesuai.`,`Barang berbeda secara material dari informasi listing.`,`Barang diduga palsu, terlarang, melanggar kebijakan, atau melanggar hak pihak lain.`,`Pesanan tidak dikirim oleh Penjual dalam tenggat yang berlaku.`,`Pickup bermasalah, tracking tidak wajar, waybill tidak valid, atau terdapat kendala pengiriman yang relevan.`,`Pembayaran berhasil tetapi Pesanan tidak dapat diproses karena kendala operasional.`,`Masalah lain yang menurut Tokodepan layak ditinjau berdasarkan bukti.`]},{heading:`4. Komplain yang Biasanya Tidak Memenuhi Syarat`,list:[`Pembeli berubah pikiran setelah Barang sesuai deskripsi dan Pesanan.`,`Pembeli salah memilih variasi, ukuran, jumlah, alamat, atau catatan apabila informasi Produk sudah jelas.`,`Kerusakan disebabkan oleh Pembeli setelah Barang diterima.`,`Komplain diajukan setelah tenggat pada halaman Pesanan/komplain atau setelah Pesanan diterima, kecuali terdapat kondisi khusus menurut keputusan ops.`,`Barang sudah digunakan, diubah, dibongkar, dicuci, dipasang, atau dikonsumsi sehingga bukti kondisi awal tidak dapat diverifikasi, kecuali masalah memang baru dapat diketahui setelah penggunaan wajar.`,`Komplain tidak didukung bukti yang memadai setelah diminta.`,`Transaksi, pembayaran, retur, atau kesepakatan dilakukan di luar Tokodepan.`]},{heading:`5. Tenggat Komplain`,paragraphs:[`Tenggat komplain mengikuti informasi yang ditampilkan pada halaman Pesanan, halaman komplain, atau alur operasional Tokodepan.`,`Tokodepan tidak menetapkan angka tenggat baru dalam dokumen ini apabila angka tersebut belum diterapkan di
9sistem.`,`Komplain yang diajukan setelah tenggat dapat ditolak, kecuali Tokodepan menilai terdapat kondisi khusus yang layak ditinjau.`,`Pembeli/Tamu disarankan memeriksa Barang segera setelah diterima dan menyimpan bukti pembukaan paket apabila memungkinkan.`]},{heading:`6. Bukti yang Dapat Diminta`,list:[`Foto/video kondisi paket sebelum dibuka, apabila tersedia.`,`Foto/video Barang yang diterima.`,`Foto label pengiriman, waybill/resi, kemasan, dan pelindung paket.`,`Kronologi masalah.`,`Chat atau komunikasi terkait Pesanan.`,`Bukti pembayaran, invoice, atau status Pesanan.`,`Bukti dari Penjual seperti foto Barang sebelum dikirim, catatan stok, bukti packing, bukti pickup, atau bukti pengiriman.`,`Dokumen pendukung lain yang relevan sesuai jenis komplain.`]},{heading:`7. Dampak Bukti terhadap Keputusan`,paragraphs:[`Ketiadaan bukti, bukti yang tidak jelas, bukti yang terlambat diberikan, atau bukti yang bertentangan dapat memengaruhi keputusan komplain.`,`Tokodepan dapat menolak komplain apabila bukti tidak mendukung klaim atau apabila Pengguna tidak kooperatif dalam memberikan informasi yang wajar.`,`Tokodepan dapat tetap mengambil keputusan berdasarkan bukti yang tersedia apabila salah satu pihak tidak merespons dalam waktu yang wajar.`]},{heading:`8. Pengembalian Manual`,paragraphs:[`Pada fase awal, Tokodepan belum menyediakan label retur otomatis.`,`Pembeli dapat diminta mengirim kembali Barang menggunakan kurir sendiri kecuali Tokodepan/ops memutuskan mekanisme lain.`,`Pembeli wajib mengikuti instruksi pengembalian yang diberikan, termasuk alamat retur, nama penerima, nama kurir, nomor resi/waybill, bukti pengiriman, dan batas waktu yang relevan.`,`Penjual wajib menerima dan memeriksa Barang retur secara wajar apabila keputusan komplain mensyaratkan pengembalian Barang.`,`Kegagalan mengikuti instruksi pengembalian dapat memengaruhi refund, penggantian, atau keputusan komplain.`]},{heading:`9. Opsi Penyelesaian`,list:[`Refund penuh.`,`Refund sebagian.`,`Penggantian Barang oleh Penjual.`,`Pengembalian Barang secara manual sebelum refund atau penggantian.`,`Penolakan komplain apabila bukti tidak mendukung.`,`Penahanan dana sementara sampai bukti atau status retur jelas.`,`Solusi goodwill atau penyelesaian manual sesuai keputusan ops.`]},{heading:`10. Ongkir, Biaya Retur, dan Biaya Tambahan`,paragraphs:[`Perlakuan ongkir awal, ongkir retur, atau biaya tambahan ditentukan kasus per kasus berdasarkan bukti, penyebab masalah, pihak yang bertanggung jawab, nilai Barang, dan keputusan operasional.`,`Tokodepan tidak menjanjikan label retur otomatis atau penggantian ongkir otomatis pada fase awal.`,`Apabila masalah disebabkan oleh kesalahan Penjual, Tokodepan dapat mempertimbangkan refund, penggantian, penyesuaian dana Penjual, atau solusi lain yang dianggap wajar.`,`Apabila masalah disebabkan oleh kesalahan Pembeli/Tamu, seperti alamat salah atau perubahan pikiran, biaya tambahan dapat menjadi tanggung jawab Pembeli/Tamu.`]},{heading:`11. Waktu Refund`,paragraphs:[`Refund diproses setelah keputusan ops dan, apabila diperlukan, setelah Barang retur dikonfirmasi diterima atau setelah Penyedia Pembayaran menyelesaikan pemrosesan.`,`Waktu masuk dana dapat bergantung pada metode pembayaran, Penyedia Pembayaran, bank, atau proses rekonsiliasi.`,`Tokodepan dapat menunda refund apabila terdapat indikasi fraud, komplain palsu, bukti belum lengkap, status retur belum jelas, atau masalah rekonsiliasi pembayaran.`]},{heading:`12. Pesanan Tidak Dikirim atau Gagal Pickup`,paragraphs:[`Apabila Penjual tidak memproses atau mengirim Pesanan dalam tenggat yang berlaku, Tokodepan dapat membatalkan Pesanan, memproses refund, menahan dana Penjual, atau melakukan tindakan lain sesuai alur operasional.`,`Apabila pickup gagal karena kendala Penjual, alamat pickup, jam operasional, kurir, atau faktor lain, Tokodepan dapat melakukan penjadwalan ulang, meminta klarifikasi, membatalkan Pesanan, atau mengambil tindakan operasional lain.`,`Kegagalan fulfillment berulang dapat memengaruhi status Toko Penjual.`]},{heading:`13. Penyalahgunaan Komplain`,paragraphs:[`Komplain palsu, manipulasi bukti, klaim berulang yang tidak wajar, penolakan retur tanpa alasan, pe
9nyalahgunaan refund, atau pola fraud dapat menyebabkan pembatasan akun, pembatasan Toko, penahanan dana, penolakan komplain, atau tindakan lain sesuai kebijakan Tokodepan.`,`Tokodepan dapat menyimpan dan meninjau riwayat komplain untuk mencegah penyalahgunaan dan menjaga kepercayaan Platform.`]},{heading:`14. Kontak`,paragraphs:[`Pertanyaan mengenai komplain dapat dikirim melalui fitur bantuan/komplain di Platform atau ke [email protected].`,`Pengguna disarankan menyertakan nomor Pesanan/invoice, kronologi singkat, dan bukti pendukung saat menghubungi Tokodepan.`]}]},"prohibited-items":{title:`Kebijakan Barang Dilarang dan Dibatasi Tokodepan`,sections:[{heading:`1. Pendahuluan`,paragraphs:[`Kebijakan ini menjelaskan jenis Barang yang dilarang, dibatasi, atau dapat ditolak oleh Tokodepan.`,`Tokodepan adalah marketplace kurasi. Tokodepan dapat menolak, menurunkan, menghapus, atau membatasi Produk yang tidak sesuai dengan kebijakan, risiko operasional, hukum yang berlaku, standar kepercayaan, atau kategori yang belum didukung Platform.`,`Daftar dalam kebijakan ini adalah contoh dan tidak selalu lengkap. Tokodepan dapat menolak Produk lain yang dianggap berisiko tinggi, tidak didukung, membutuhkan izin yang belum dapat diverifikasi, atau memiliki legalitas yang tidak jelas.`]},{heading:`2. Tanggung Jawab Penjual`,paragraphs:[`Penjual bertanggung jawab memastikan Barang yang dijual legal, asli, aman, sesuai izin/label/dokumen yang diperlukan, tidak menyesatkan, dan tidak melanggar hak pihak lain.`,`Penjual wajib menyediakan izin, label, sertifikasi, bukti keaslian, bukti distribusi, atau dokumentasi pendukung apabila diminta Tokodepan.`,`Kegagalan memberikan dokumen yang memadai dapat menyebabkan Produk ditolak, dihapus, Pesanan dibatalkan, dana ditahan, atau Toko dibatasi.`]},{heading:`3. Contoh Barang Dilarang`,list:[`Barang ilegal atau yang peredarannya dilarang berdasarkan hukum yang berlaku.`,`Barang palsu, tiruan, bajakan, replika yang menyesatkan, atau Barang yang melanggar hak kekayaan intelektual.`,`Senjata api, senjata tajam yang dibatasi, amunisi, bahan peledak, komponen berbahaya, atau perlengkapan yang dirancang untuk melukai.`,`Narkotika, obat terlarang, zat terkendali, perlengkapan penyalahgunaan, atau bahan yang terkait penyalahgunaan obat.`,`Obat resep, obat keras, alat kesehatan tertentu, atau produk medis tanpa otorisasi/izin yang sah.`,`Bahan kimia berbahaya, racun, bahan korosif, bahan mudah meledak, atau bahan yang memerlukan izin khusus yang tidak didukung Platform.`,`Barang curian, hasil kejahatan, atau Barang yang kepemilikannya tidak sah.`,`Konten atau produk seksual eksplisit/dewasa yang tidak didukung.`,`Produk atau layanan perjudian, taruhan, undian ilegal, atau skema sejenis.`,`Data pribadi, dokumen identitas, kredensial akun, akses digital tidak sah, akun pihak ketiga, atau data yang diperoleh tanpa izin.`,`Hewan, satwa liar, bagian tubuh hewan, tanaman dilindungi, atau produk turunannya yang diatur hukum dan tidak didukung Platform.`,`Produk finansial, investasi, pinjaman, asuransi, surat berharga, atau skema sejenis yang tidak didukung Tokodepan.`,`Barang yang mengandung ujaran kebencian, ekstremisme, pelecehan, atau konten yang melanggar hukum/norma.`,`Produk yang melanggar hukum Indonesia, hak pihak ketiga, atau kebijakan Tokodepan.`]},{heading:`4. Barang Dibatasi atau Memerlukan Perhatian Khusus`,list:[`Makanan, minuman, kosmetik, suplemen, produk kesehatan, atau produk perawatan tubuh yang dapat memerlukan izin, label, komposisi, tanggal kedaluwarsa, klaim yang jelas, dan penyimpanan yang sesuai.`,`Elektronik, baterai, barang impor, barang bergaransi, atau perangkat tertentu yang memerlukan informasi garansi, keamanan, standar, dan kepatuhan impor.`,`Barang besar, berat, mudah pecah, mudah rusak, atau memerlukan penanganan khusus yang dapat dibatasi pada kurir tertentu atau kurir toko.`,`Produk bekas yang memerlukan keterangan kondisi yang jelas, foto aktual, kelengkapan, dan informasi cacat bila ada.`,`Produk bermerek yang dapat diminta bukti keaslian, bukti pembelian, bukti distribusi, atau dokumen pendukung.`,`Produk dengan klaim kesehatan, performa, keamanan, atau hasil tertentu yang harus dapat dipertanggungjawabkan dan tidak menyesatkan.`,`Produk musiman, preorder, atau stok terbatas yang harus dijelaskan dengan akurat agar tidak merugikan Pembeli.`]},{heading:`5. Kategori yang Belum Didukung pada Fase awal`,paragraphs:[`Untuk fase awal, Tokodepan dapat memilih untuk belum mendukung kategori tertentu meskipun kategori tersebut dapat legal apabila memenuhi izin khusus.`,`Tokodepan dapat membatasi kategori berdasarkan kapasitas operasional, integrasi pengiriman, risiko komplain, kebutuhan verifikasi, regulasi, atau pertimbangan kepercayaan.`,`Penjual tidak berhak memaksa Tokodepan menerima kategori Produk tertentu.`]},{heading:`6. Penegakan Kebijakan`,paragraphs:[`Tokodepan dapat menolak listing, menghapus Produk, meminta revisi listing, meminta dokumen pendukung, membatalkan Pesanan, menahan dana, membatasi Toko, menangguhkan akun, atau mengambil tindakan lain apabila terdapat dugaan pelanggaran.`,`Tokodepan dapat melaporkan kepada otoritas apabila diwajibkan hukum atau apabila terdapat dugaan pelanggaran serius.`,`Tokodepan dapat mengambil tindakan sebelum, selama, atau setelah Pesanan diproses apabila ditemukan risiko atau pelanggaran.`]},{heading:`7. Dampak terhadap Pesanan dan Dana`,paragraphs:[`Apabila Produk yang dilarang atau dibatasi sudah terlanjur dipesan, Tokodepan dapat membatalkan Pesanan, memproses refund, menahan dana Penjual, meminta pengembalian Barang, atau mengambil keputusan operasional lain.`,`Penjual bertanggung jawab atas kerugian, klaim, biaya, atau konsekuensi hukum yang timbul dari penjualan Produk yang melanggar kebijakan atau hukum.`,`Komisi, biaya, refund, dan penyesuaian dapat dicatat pada Ledger Penjual sesuai kondisi kasus.`]},{heading:`8. Kontak`,paragraphs:[`Pertanyaan mengenai kelayakan Produk dapat dikirim ke [email protected].`,`Penjual disarankan menanyakan terlebih dahulu apabila ragu apakah suatu Produk boleh dijual melalui Tokodepan.`]}]},"cookie-notice":{title:`Pemberitahuan Cookie dan Sesi Tokodepan`,sections:[{heading:`1. Pendahuluan`,paragraphs:[`Pemberitahuan ini menjelaskan penggunaan cookie, session storage, token keamanan, dan teknologi serupa pada Platform Tokodepan.`,`Teknologi tersebut membantu Tokodepan menjalankan layanan marketplace secara aman, menjaga sesi login, mendukung checkout, dan mencegah penyalahgunaan.`,`Pemberitahuan ini merupakan bagian dari Kebijakan Privasi Tokodepan.`]},{heading:`2. Cookie dan Sesi yang Digunakan`,list:[`Cookie atau session untuk menjaga login Pembeli, Penjual, dan admin/ops.`,`C
9ookie atau token untuk mendukung CSRF, keamanan, dan pencegahan akses tidak sah.`,`Data sesi untuk menjaga kontinuitas keranjang, checkout, pembayaran, dan proses Pesanan.`,`Preferensi dasar seperti bahasa atau tampilan apabila fitur tersebut digunakan.`,`Log teknis dan sinyal keamanan untuk mendeteksi fraud, spam, scraping, atau penyalahgunaan.`]},{heading:`3. Tujuan Penggunaan`,list:[`Mengautentikasi Pengguna dan menjaga sesi login tetap berjalan.`,`Melindungi Platform dari CSRF, akses tidak sah, penyalahgunaan, spam, dan aktivitas mencurigakan.`,`Menyimpan status keranjang, checkout, pembayaran, dan navigasi dasar.`,`Membantu dukungan pelanggan dan investigasi teknis apabila terjadi kendala.`,`Menjaga stabilitas, keamanan, dan kualitas layanan Tokodepan.`]},{heading:`4. Cookie Iklan dan Retargeting`,paragraphs:[`Pada fase awal, Tokodepan tidak menggunakan cookie iklan atau retargeting kecuali diberitahukan kemudian.`,`Apabila di kemudian hari Tokodepan menggunakan cookie analitik pemasaran, iklan, atau retargeting, Tokodepan dapat memperbarui pemberitahuan ini dan menyediakan mekanisme yang sesuai.`]},{heading:`5. Pihak Ketiga`,paragraphs:[`Penyedia seperti Cloudflare, hosting, layanan keamanan, email/OTP, Penyedia Pembayaran, Penyedia Pengiriman, atau redirect pihak ketiga dapat menggunakan cookie, log, atau teknologi serupa sesuai kebutuhan layanan mereka.`,`Penggunaan teknologi oleh pihak ketiga dapat tunduk pada kebijakan masing-masing penyedia.`,`Tokodepan menggunakan pihak ketiga tersebut untuk mendukung keamanan, pembayaran, pengiriman, infrastruktur, dan operasional Platform.`]},{heading:`6. Kontrol Browser`,paragraphs:[`Pengguna dapat menghapus atau memblokir cookie melalui pengaturan browser.`,`Pemblokiran cookie dapat membuat login, checkout, keamanan, keranjang, pembayaran, atau fitur Platform tertentu tidak berfungsi dengan baik.`,`Pengguna yang mengalami kendala setelah memblokir cookie dapat mengaktifkan kembali cookie yang diperlukan untuk Tokodepan.`]},{heading:`7. Hubungan dengan Kebijakan Privasi`,paragraphs:[(0,Z.jsxs)(Z.Fragment,{children:[`Informasi lebih lanjut tentang pemrosesan Data Pribadi tersedia di `,(0,Z.jsx)(`a`,{href:`/legal/privacy`,children:`Kebijakan Privasi Tokodepan`}),`.`]}),`Pertanyaan mengenai cookie dan sesi dapat dikirim ke [email protected].`]}]}};function zt(e){return e.map(e=>(0,Z.jsxs)(`section`,{className:`legal-section`,children:[(0,Z.jsx)(`h2`,{children:e.heading}),e.paragraphs?.map((e,t)=>(0,Z.jsx)(`p`,{children:e},t)),e.list&&(0,Z.jsx)(`ul`,{children:e.list.map((e,t)=>(0,Z.jsx)(`li`,{children:e},t))})]},e.heading))}function Bt(e,t){let n=e.match(/^\/legal\/([^/]+)(?:\/([^/]+))?$/);if(!n)return null;let r=decodeURIComponent(n[1]);return Object.hasOwn(t,r)?{page:`legal`,slug:r,version:n[2]?decodeURIComponent(n[2]):null}:null}function Vt(e,t){let n=t[e.slug];return{title:n.title,description:`${n.title}.`,canonical:`/legal/${e.slug}`,robots:e.version?`noindex,follow`:`index,follow`}}var Ht=new Map,Ut=12e3;function Wt(e=`buyer`,t=``){let n=String(e||`buyer`).trim().toLowerCase()||`buyer`,r=`${j(M)}::${n}::${String(t||`global`)}`;return Ht.has(r)||Ht.set(r,{subscribers:new Set,socket:null,reconnectTimer:null,closeTimer:null,backoffMs:1e3,shouldRun:!1,unauthorized:!1,warnedUnavailable:!1,intentionalClose:!1,warnedCycle:!1,status:`closed`,lastEventAt:0,lastOpenAt:0}),{key:r,state:Ht.get(r)}}function Gt(e=`buyer`,t=``){let{state:n}=Wt(e,t);return{status:n.status||`closed`,lastEventAt:Number(n.lastEventAt||0),lastOpenAt:Number(n.lastOpenAt||0)}}function Kt(e=`buyer`,t=``){let{key:n,state:r}=Wt(e,t);if(!r.shouldRun||r.socket||r.unauthorized)return;let i=j(M),a;r.intentionalClose=!1,r.warnedCycle=!1;try{a=new WebSocket(`${i}/ws/inbox?surface=${encodeURIComponent(String(e||`buyer`).trim().toLowerCase()||`buyer`)}`),`${n}`,r.subscribers.size}catch(n){if(r.warnedUnavailable||(r.warnedUnavailable=!0,console.warn(`[inbox socket] failed to initialize; using HTTP fallback`,n)),!r.shouldRun)return;r.reconnectTimer&&window.clearTimeout(r.reconnectTimer),r.reconnectTimer=window.setTimeout(()=>Kt(e,t),r.backoffMs),r.backoffMs=Math.min(15e3,r.backoffMs*2);return}r.socket=a,r.status=`connecting`,a.onopen=()=>{let e=r.lastOpenAt>0;`${n}`,r.subscribers.size,r.backoffMs=1e3,r.status=`open`,r.lastOpenAt=Date.now(),r.warnedUnavailable=!1,r.warnedCycle=!1;let t={data:JSON.stringify({type:`socket_open`,reconnected:e})};
9r.subscribers.forEach(e=>e(t))},a.onerror=()=>{!r.warnedUnavailable&&!r.warnedCycle&&(r.warnedUnavailable=!0,r.warnedCycle=!0,console.warn(`[inbox socket] connection issue; continuing with HTTP fallback`))},a.onmessage=e=>{r.lastEventAt=Date.now();try{`${n}`,JSON.parse(e.data||`{}`).type}catch{`${n}`}r.subscribers.forEach(t=>t(e))},a.onclose=i=>{if(`${n}`,i?.code,r.intentionalClose,r.subscribers.size,r.shouldRun,r.socket=null,r.status=`closed`,r.intentionalClose){r.intentionalClose=!1,r.shouldRun&&r.subscribers.size>0&&Kt(e,t);return}if(i?.code===4401||i?.code===4403){r.unauthorized=!0;return}r.shouldRun&&(r.reconnectTimer&&window.clearTimeout(r.reconnectTimer),r.reconnectTimer=window.setTimeout(()=>Kt(e,t),r.backoffMs),r.backoffMs=Math.min(15e3,r.backoffMs*2))}}function qt(e,{surface:t=`buyer`,scopeKey:n=``}={}){let{key:r,state:i}=Wt(t,n);return i.subscribers.add(e),i.shouldRun=!0,i.unauthorized=!1,i.closeTimer&&(window.clearTimeout(i.closeTimer),i.closeTimer=null,`${r}`,i.subscribers.size),i.reconnectTimer&&=(window.clearTimeout(i.reconnectTimer),null),Kt(t,n),()=>{i.subscribers.delete(e),!(i.subscribers.size>0)&&(`${r}`,i.closeTimer&&window.clearTimeout(i.closeTimer),i.closeTimer=window.setTimeout(()=>{if(i.closeTimer=null,i.subscribers.size>0){`${r}`,i.subscribers.size;return}i.shouldRun=!1,i.reconnectTimer&&=(window.clearTimeout(i.reconnectTimer),null),i.socket&&(i.intentionalClose=!0,`${r}`,i.socket.close())},Ut))}}function Jt(e,t){let n=e?.url||e?.image_url||e?.attachment_url||``,r=e?.name||t?.name||`image`;return{id:`${r}-${t?.lastModified||Date.now()}`,name:r,url:n}}function Yt(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}function Xt(e){return String(e?.thread_public_id||e?.threadPublicId||e?.public_id||e?.thread?.public_id||e?.thread?.thread_public_id||``).trim()}function Zt(e){return String(e?.thread_type||``).trim().toLowerCase()===`support`||!!e?.seller?.is_support}function Qt(e,t,n){let r=(t||[]).map(n),i=r[r.length-1],a=Zt(e),o=String(e?.seller?.name||``).trim();return{id:String(e.id),threadId:e.id,threadPublicId:Xt(e),type:a?`support`:`seller`,isOfficialSupport:a,name:o||(a?`Tokodepan Help Center`:`Seller`),sellerSlug:a?``:String(e?.seller?.slug||``).trim(),status:a?`Support`:String(e?.seller?.slug||``).trim()||`Available`,avatar:(o||(a?`Tokodepan Help Center`:`S`)).charAt(0).toUpperCase(),preview:i?.text||``,timestamp:i?.timestamp||``,unread:Number(e?.unread_count??e?.unread??0),orderContext:null,messages:r}}function $t(e){let t=Number(e?.price||e?.price_cents||0),n=e?.promotion_preview||null;if(!n)return{type:`base`,basePrice:t,message:``};let r=Number(n.discounted_price||0),i=Number(n.original_price||t);return n.is_deterministic&&r>0?{type:`deterministic`,basePrice:t,originalPrice:i,discountedPrice:r,discountPercent:i>r?Math.round((i-r)/i*100):0,message:``}:{type:`message`,basePrice:t,originalPrice:i,discountedPrice:r,message:n.message||`Promo available`}}var en=[5e3,1e3,500,100,50,10];function tn(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return``;if(t<10)return`Terjual <10`;let n=en.find(e=>t>=e);return n>=1e3?`Terjual ${n/1e3} rb+`:`Terjual ${n}+`}var nn=/^(?:kota\s+administrasi|kabupaten|kota|kab\.)\s*/i;function rn(e){return String(e||``).trim().replace(nn,``).trim()}function an(e,t){return[String(t||``).trim(),rn(e)].filter(Boolean).join(`, `)}var on=`Gunakan 8â256 karakter, termasuk minimal 1 angka dan 1 karakter khusus.`,sn=`Password baru belum memenuhi syarat. Gunakan 8â256 karakter, termasuk minimal 1 angka dan 1 karakter khusus.`;function cn(e){return e?Array.isArray(e)?e.some(cn):typeof e==`object`?Object.entries(e).some(([e,t])=>e===`new_password`||cn(t)):String(e).toLowerCase().includes(`new_password`):!1}function ln(e,t=`Gagal mengubah password. Silakan coba lagi.`){let n=String(e?.code||e?.detail?.code||``).toLowerCase(),r=e?.detail??e?.payload?.detail??e?.payload?.error?.detail;return n===`invalid_credentials`?`Password saat ini salah.`:[`otp_invalid`,`invalid_otp`,`otp_code_invalid`].includes(n)?`Kode OTP salah.`:n===`otp_expired`?`Kode OTP sudah kedaluwarsa. Silakan kirim OTP baru.`:[`otp_required`,`otp_code_required`].includes(n)?`Kode OTP wajib diisi.`:e?.status===429||n===`rate_limit`||n===`rate_limited`||n===`too_many_attempts`?`Terlalu banyak percobaan. Silakan coba lagi nanti.`:e?.status===0||n===`network_error`?`Koneksi bermasalah. Periksa internet Anda lalu coba lagi.`:[`password_policy`,`weak_password`,`password_too_weak`,`invalid_password`].includes(n)||e?.status===422&&cn(r)?sn:t}
9function un({loading:e=!1,loadingThreadId:t=null,activeConversationId:n=null}={}){return e?!0:t==null||n==null?!1:t===n}function dn({activeConversation:e=null}={}){return!e}var fn=new Set([`ops.tokodepan.co.id`,`test-ops.tokodepan.co.id`]);function pn(e=``){let t=String(e||``).trim().toLowerCase();return fn.has(t)?`Tokodepan - Ops`:`Tokodepan - Shop`}function mn(e,t=``){typeof document>`u`||(document.title=t?`${t} | ${e.replace(/^Tokodepan\s*-\s*/,`Tokodepan `)}`:e)}var hn=`Temukan produk dari berbagai toko di marketplace Tokodepan.`,gn=`data-tokodepan-seo`;function _n(e,t=160){let n=String(e||``).replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1).replace(/\s+\S*$/,``).trim()}â¦`}function vn(e,t=window.location.origin){if(!e)return null;try{let n=new URL(e,t);return!/^https?:$/.test(n.protocol)||n.username||n.password?null:n.href}catch{return null}}function yn(e,t=window.location.origin){let n=vn(e,t);if(!n)return null;let r=new URL(n);return r.search||/(?:private|message-attachments|invoice|shipping-label)/i.test(r.pathname)?null:n}function bn(e,t,n){let r=[...e.head.querySelectorAll(t)],i=r.shift()||n();return r.forEach(e=>e.remove()),i.setAttribute(gn,``),i.parentNode||e.head.appendChild(i),i}function xn(e,t,n,r){let i=`meta[${t}="${n}"]`,a=[...e.head.querySelectorAll(i)];if(!r){a.forEach(e=>e.remove());return}let o=bn(e,i,()=>e.createElement(`meta`));o.setAttribute(t,n),o.setAttribute(`content`,r)}function Sn(e,{document:t=window.document,origin:n=window.location.origin}={}){let r=_n(e.title,100)||`Tokodepan`,i=_n(e.description||`Temukan produk dari berbagai toko di marketplace Tokodepan.`),a=vn(e.canonical||`/`,n),o=yn(e.image,n);t.title=r,xn(t,`name`,`description`,i),xn(t,`name`,`robots`,e.robots||`index,follow`);let s=bn(t,`link[rel="canonical"]`,()=>t.createElement(`link`));s.setAttribute(`rel`,`canonical`),s.setAttribute(`href`,a);let c={"og:site_name":`Tokodepan`,"og:type":e.type||`website`,"og:title":r,"og:description":i,"og:url":a,"og:image":o};if(Object.entries(c).forEach(([e,n])=>xn(t,`property`,e,n)),xn(t,`name`,`twitter:card`,o?`summary_large_image`:`summary`),xn(t,`name`,`twitter:title`,r),xn(t,`name`,`twitter:description`,i),xn(t,`name`,`twitter:image`,o),[...t.head.querySelectorAll(`script[type="application/ld+json"][${gn}]`)].forEach(e=>e.remove()),e.jsonLd){let n=t.createElement(`script`);n.type=`application/ld+json`,n.setAttribute(gn,``),n.textContent=JSON.stringify(e.jsonLd).replace(/</g,`\\u003c`),t.head.appendChild(n)}}function Cn(e){(0,_.useEffect)(()=>{Sn(e)},[e])}function wn(e,t,n,r){let i=`/products/${encodeURIComponent(t)}/${encodeURIComponent(n)}`;if(!e)return{title:`Produk tidak ditemukan | Tokodepan`,description:`Produk ini tidak tersedia.`,canonical:i,robots:`noindex,nofollow`};let a=_n(e.description)||`Belanja ${e.title} dari ${e.seller?.name||`toko`} di Tokodepan.`,o=e.image_urls?.map(e=>yn(e)).find(Boolean),s={"@context":`https://schema.org`,"@type":`Product`,name:e.title,description:a,url:vn(i)};return o&&(s.image=[o]),typeof r==`number`&&Number.isFinite(r)&&r>=0&&(s.offers={"@type":`Offer`,price:String(r),priceCurrency:`IDR`,url:vn(i)}),{title:`${e.title} | Tokodepan`,description:a,canonical:i,image:o,type:`product`,jsonLd:s}}function Tn({children:e,className:t=`ui-icon`,size:n=18,viewBox:r=`0 0 24 24`,fill:i=`none`,title:a}={}){return(0,Z.jsxs)(`svg`,{className:t,viewBox:r,width:n,height:n,fill:i,focusable:`false`,...a?{role:`img`,"aria-label":a}:{"aria-hidden":`true`},children:[a?(0,Z.jsx)(`title`,{children:a}):null,e]})}function En(e={}){return(0,Z.jsxs)(Tn,{...e,children:[(0,Z.jsx)(`circle`,{cx:`11`,cy:`11`,r:`6.5`,stroke:`currentColor`,strokeWidth:`2`}),(0,Z.jsx)(`path`,{d:`m16 16 4 4`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]})}function Dn(e={}){return(0,Z.jsxs)(Tn,{...e,children:[(0,Z.jsx)(`path`,{d:`M12 3 5 6v5c0 4.7 2.8 8 7 10 4.2-2 7-5.3 7-10V6l-7-3Z`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinejoin:`round`}),(0,Z.jsx)(`path`,{d:`m9 12 2 2 4-4`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function On(e={}){return(0,Z.jsxs)(Tn,{...e,children:[(0,Z.jsx)(`path`,{d:`M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z`,stroke:`currentColor`,strokeWidth:`2`,strokeLinejoin:`round`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.5`,stroke:`currentColor`,strokeWidth:`2`})]})}function kn(e={}){return(0,Z.jsx)(Tn,{...e,children:(0,Z.jsx)(`path`,{d:`m3 3 18 18M10.6 6.2A9.8 9.8 0 0 1 12 6c6 0 9.5 6 9.5 6a15 15 0 0 1-2.2 3M6.2 6.2C3.8 8 2.5 12 2.5 12s3.5 6 9.5 6a9.7 9.7 0 0 0 2.2-.3M9.9 9.9a3 3 0 0 0 4.2 4.2`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function An(e={}){return(0,Z.jsxs)(Tn,{...e,children:[(0,Z.jsx)(`path`,{d:`M7 3v3M17 3v3M4.5 9h15`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`}),(0,Z.jsx)(`rect`,{x:`4`,y:`5`,width:`16`,height:`15`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`}),(0,Z.jsx)(`path`,{d:`M8 13h2M12 13h2M16 13h.01M8 17h2M12 17h2`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]})}function jn(e={}){return(0,Z.jsx)(Tn,{...e,children:(0,Z.jsx)(`path`,{d:`M15 6 9 12l6 6`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function Mn(e={}){return(0,Z.jsxs)(Tn,{...e,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`5`,r:`1.5`,fill:`currentColor`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`19`,r:`1.5`,fill:`currentColor`})]})}function Nn(e={}){return(0,Z.jsx)(Tn,{...e,children:(0,Z.jsx)(`path`,{d:`M4 6h16M7 12h10M10 18h4`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}function Pn(e={}){return(0,Z.jsx)(Tn,{...e,children:(0,Z.jsx)(`path`,{d:`m7 7 10 10M17 7 7 17`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}function Fn(e={}){return(0,Z.jsx)(Tn,{...e,children:(0,Z.jsx)(`path`,{d:`M5 7h14M9 7V4h6v3M7 7l1 13h8l1-13M10 11v5M14 11v5`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function In(e,t={}){let n=typeof t==`function`?{t}:typeof t==`string`?{fallback:t}:t,r=n?.t,i=n?.fallback||(r?r(`buyer.auth.loginFailed`):`Log in failed. Please try again.`),a=String(e?.code||e?.detail?.code||``).toLowerCase();return a===`admin_access_required`?e?.message||i:[`invalid_credentials`,`login_unavailable`,`identity_restricted`].includes(a)||[401,403].includes(Number(e?.status))?r?r(`buyer.auth.invalidCredentials`):`Email or password is incorrect.`:e?.message||i}var Ln=`popstate`,Rn=`tdNav`;function zn(e=window){return`${e.location.pathname}${e.location.search}`}function Bn(){return globalThis.crypto?.randomUUID?.()||`td-${Date.now()}-${Math.random().toString(36).slice(2)}`}function Vn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Hn(e){return e?.tdNav?.internal===!0&&typeof e.tdNav.entryId==`string`}function Un(e,{replace:t=!1,state:n=null}={},r=window){let i=Vn(n),a=t?Vn(r.history.state):{},o=Vn(i[Rn]),s=Hn(r.history.state)?r.history.state[Rn]:{},c=o.previousUrl||(t?s.previousUrl:zn(r)),l={...s,...o,internal:!0,previousUrl:c||null,entryId:Bn(),parentIsBehind:o.parentIsBehind??(!t||!!s.parentIsBehind)},u={...a,...i,[Rn]:l},d=t?`replaceState`:`pushState`;r.history[d](u,``,e);let f=new PopStateEvent(Ln,{state:u});return Object.defineProperty(f,"tdInternalNavigation",{value:!0}),r.dispatchEvent(f),u}function Wn(e,{state:t=null}={},n=window){let r=n.history.state?.[Rn];if(Hn(n.history.state)&&r.parentIsBehind===!0&&r.previousUrl===e)return n.history.back(),`back`;let i=Vn(t);return Un(e,{replace:!0,state:{...i,[Rn]:{...Vn(i[Rn]),previousUrl:e===`/orders`?`/`:null,parentIsBehind:!1}}},n),`replace`}function Gn(e,t=null){let n=t?.appParent;
9return Hn(t)&&typeof n==`string`&&n.startsWith(`/`)?n:/^\/orders\/[^/]+\/?$/.test(e)?`/orders`:e===`/orders`||e===`/transactions`?`/`:/^\/checkout\/payment\/[^/]+(?:\/return)?\/?$/.test(e)?`/orders`:/^\/inbox\/[^/]+\/?$/.test(e)?`/inbox`:`/`}function Kn(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function qn({offset:e=0,limit:t=10,total:n=0}={}){let r=Math.max(1,Number(t)||10),i=Math.max(0,Number(e)||0),a=Math.max(0,Number(n)||0),o=Math.max(1,Math.ceil(a/r));return{currentPage:Math.min(o,Math.floor(i/r)+1),totalPages:o}}function Jn(e){return Array.isArray(e)?e.filter(e=>e&&(e.url||e.type===`invoice_order`||e.type===`seller_product`)):[]}function Yn(e){if(!e||typeof e!=`object`)return``;for(let t of[`id`,`public_id`,`attachment_public_id`,`storage_ref`,`storage_key`,`key`])if(e[t]!==void 0&&e[t]!==null&&e[t]!==``)return`${t}:${String(e[t])}`;let t=String(e.url||e.thumbnail_url||``).split(`?`)[0];return t?`${e.type||`attachment`}:${t}`:``}function Xn(e,t){let n=Array.isArray(e)?e:[];return(Array.isArray(t)?t:[]).map((e,t)=>{let r=Yn(e),i=n.find(e=>r&&Yn(e)===r)||(r?null:n[t]);if(!i)return e;let a={...i,...e};return JSON.stringify(i)===JSON.stringify(a)?i:a})}function Zn(e,t){let n=Array.isArray(e)?e:[];return(Array.isArray(t)?t:[]).reduce((e,t)=>{let n=Qn(t),r=e.findIndex(e=>n&&Qn(e)===n);if(r<0)return[...e,t];let i=e[r],a=Xn(i.attachments,t.attachments),o={...i,...t,attachments:a};if(JSON.stringify(i)===JSON.stringify(o))return e;let s=[...e];return s[r]=o,s},n)}function Qn(e){return!e||typeof e!=`object`?``:e.public_id?`public:${String(e.public_id)}`:e.message_public_id?`message_public:${String(e.message_public_id)}`:e.id!==void 0&&e.id!==null&&e.id!==``?`id:${String(e.id)}`:e.client_temp_id?`client_temp:${String(e.client_temp_id)}`:``}function $n(e,t,{match:n}={}){let r=Array.isArray(e)?e:[];if(!t||typeof t!=`object`)return r;let i=Qn(t),a=typeof n==`function`?n:()=>!1,o=!1,s=r.map(e=>{if(o)return e;let n=Qn(e);return i&&n===i||a(e)?(o=!0,t):e});return o||s.push(t),s}function er(e){let t=String(e||``).trim();return t?t.replace(/\/$/,``):``}function tr({env:e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_TURNSTILE_SITE_KEY:`0x4AAAAAAEuvU5EEoM8ktvs2`},location:t=typeof window<`u`?window.location:void 0}={}){let n=er(e?.VITE_PUBLIC_BUYER_ORIGIN);if(n)return n;let r=er(t?.origin),i=String(t?.hostname||``).toLowerCase();return i===`test-seller.tokodepan.co.id`||i===`test-ops.tokodepan.co.id`?`https://test.tokodepan.co.id`:i===`seller.tokodepan.co.id`||i===`ops.tokodepan.co.id`?`https://tokodepan.co.id`:r}function nr(e,t,n={}){let r=String(e||``).trim(),i=String(t||``).trim();if(!r||!i)return null;let a=er(tr(n)),o=`/products/${encodeURIComponent(r)}/${encodeURIComponent(i)}`;return a?`${a}${o}`:o}var rr=.5,ir=3,ar=.25;function or(e){return Math.min(ir,Math.max(rr,e))}var sr=new Intl.NumberFormat(`id-ID`,{style:`currency`,currency:`IDR`,maximumFractionDigits:0}),cr={attachment:`Attachment`,openImageAttachment:`Open image attachment`,invoiceOrder:`Invoice / Order`,status:`Status`,total:`Total`,viewOrder:`View Order`,sellerProduct:`Seller Product`,product:`Product`,price:`Price`,productLinkUnavailable:`Product link unavailable: missing seller or product slug`,openProductDetail:`Open product detail`,viewProduct:`View Product`,imageViewer:`Image viewer`,closeImageViewer:`Close image viewer`,reset:`Reset`};function lr({attachment:e,attachmentLabel:t}){let n=e.thumbnail_url||e.url;return(0,Z.jsx)(`img`,{src:n,alt:e.name||t})}function ur({attachments:e,ariaLabel:t,labels:n,onOpenOrder:r,onOpenProduct:i}){let a={...cr,...n},o=(0,_.useMemo)(()=>Array.isArray(e)?e.filter(e=>e?.type===`invoice_order`||e?.type===`seller_product`):[],[e]),s=(0,_.useMemo)(()=>Array.isArray(e)?e.filter(e=>e?.url):[],[e]),[c,l]=(0,_.useState)(-1),[u,d]=(0,_.useState)(1);if(s.length===0&&o.length===0)return null;let f=s[c]||null;function p(e){l(e),d(1)}function m(){l(-1),d(1)}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`chat-attachment-list`,children:s.map((e,n)=>(0,Z.jsx)(`button`,{type:`button`,className:`chat-attachment-thumb`,onClick:()=>p(n),"aria-label":t||a.openImageAttachment,children:(0,Z.jsx)(lr,{attachment:e,attachmentLabel:a.attachment})},Yn(e)||n))}),!!o.length&&(0,Z.jsx)(`div`,{style:{display:`grid`,gap:8,marginTop:8},children:o.map((e,t)=>(0,Z.jsx)(`div`,{className:`chat-attachment-card`,children:e.type===`invoice_order`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`small`,{children:a.invoiceOrder}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`strong`,{children:e.invoice_number||e.order_public_id})}),(0,Z.jsxs)(`div`,{children:[a.status,`: `,e.status||`-`]}),(0,Z.jsxs)(`div`,{children:[a.total,`: `,sr.format(Number(e.total_cents||0))]}),(0,Z.jsx)(`button`,{type:`button`,className:`chat-attachment-cta`,onClick:()=>r?.(e),children:a.viewOrder})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`small`,{children:a.sellerProduct}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`strong`,{children:e.title||e.product_public_id})}),e.thumbnail_url?(0,Z.jsx)(`img`,{src:e.thumbnail_url,alt:e.title||a.product,style:{width:56,height:56,objectFit:`cover`,borderRadius:8}}):null,(0,Z.jsxs)(`div`,{children:[a.price,`: `,sr.format(Number(e.price_cents||0))]}),(0,Z.jsx)(`button`,{type:`button`,className:`chat-attachment-cta`,onClick:()=>{i?.(e)},disabled:!e?.slug||!e?.seller_slug,title:!e?.slug||!e?.seller_slug?a.productLinkUnavailable:a.openProductDetail,children:a.viewProduct})]})},`${e.type}-${t}`))}),f&&(0,Z.jsx)(`div`,{className:`chat-attachment-lightbox`,role:`dialog`,"aria-modal":`true`,"aria-label":a.imageViewer,onClick:m,children:(0,Z.jsxs)(`div`,{className:`chat-attachment-lightbox-panel`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`button`,{type:`button`,className:`chat-attachment-close`,onClick:m,"aria-label":a.closeImageViewer,children:`Ã`}),(0,Z.jsxs)(`div`,{className:`chat-attachment-toolbar`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>d(e=>or(e-ar)),disabled:u<=rr,children:`â`}),(0,Z.jsxs)(`span`,{children:[Math.round(u*100),`%`]}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>d(e=>or(e+ar)),disabled:u>=ir,children:`+`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>d(1),disabled:u===1,children:a.reset})]}),(0,Z.jsx)(`div`,{className:`chat-attachment-lightbox-image-wrap`,children:(0,Z.jsx)(`img`,{src:f.url,alt:f.name||a.attachment,style:{transform:`scale(${u})`},className:`chat-attachment-lightbox-image`})})]})})]})}function dr(){return(0,Z.jsx)(`svg`,{className:`chat-composer-attach-icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:(0,Z.jsx)(`path`,{d:`M16.6 7.4a3.75 3.75 0 0 0-5.3 0L6.9 11.8a5.75 5.75 0 1 0 8.1 8.1l4.1-4.1a4 4 0 1 0-5.7-5.7l-4.3 4.3a2.25 2.25 0 0 0 3.2 3.2l4-4`})})}function fr(){return(0,Z.jsxs)(`svg`,{className:`chat-composer-send-icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,Z.jsx)(`path`,{d:`m3.5 4.5 17 7.5-17 7.5 3-7.5-3-7.5Z`}),(0,Z.jsx)(`path`,{d:`M6.5 12h14`})]})}
9function pr({value:e,onChange:t,onSubmit:n,attachments:r=[],onAttachFiles:i,onRemoveAttachment:a,placeholder:o=`Type your message...`,rows:s=1,canSend:c=!1,sending:l=!1,sendLabel:u=`Send`,sendingLabel:d=`Sending...`,attachmentButtonLabel:f=`Attach image`,attachmentMenuImageLabel:p=`Image`,removeAttachmentLabel:m=e=>`Remove ${e}`,attachmentInputAccept:h=`image/*`,attachmentMenuOptions:g=[],attachmentStatus:v=``,attachmentError:y=``,children:b}){let x=(0,_.useRef)(null),S=(0,_.useRef)(null),[C,w]=(0,_.useState)(!1);(0,_.useLayoutEffect)(()=>{let e=x.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,130)}px`)},[e]);function T(e){let t=Array.from(e?.target?.files||[]);t.length&&i&&i(t),e.target.value=``}async function E(e){e.preventDefault();try{await n?.(e)}finally{requestAnimationFrame(()=>x.current?.focus())}}return(0,Z.jsxs)(`form`,{className:`chat-composer`,onSubmit:E,children:[b,!!v&&(0,Z.jsx)(`div`,{className:`chat-composer-upload-status`,role:`status`,children:v}),!!y&&(0,Z.jsx)(`div`,{className:`chat-composer-attachment-error`,role:`alert`,children:y}),!!r.length&&(0,Z.jsx)(`div`,{className:`chat-composer-chip-list`,children:r.map(e=>(0,Z.jsxs)(`span`,{className:`chat-composer-chip`,children:[e.name,(0,Z.jsx)(`button`,{type:`button`,onClick:()=>a?.(e.id),"aria-label":m(e.name),children:`Ã`})]},e.id))}),(0,Z.jsxs)(`div`,{className:`chat-composer-row`,children:[(0,Z.jsxs)(`div`,{className:`chat-composer-attach-menu-wrap`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`chat-composer-attach-btn`,title:f,"aria-label":f,onClick:()=>w(e=>!e),children:(0,Z.jsx)(dr,{})}),(0,Z.jsx)(`input`,{ref:S,type:`file`,accept:h,multiple:!0,onChange:T,hidden:!0}),C&&(0,Z.jsxs)(`div`,{className:`chat-composer-attach-menu`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{w(!1),S.current?.click()},children:p}),g.map(e=>(0,Z.jsx)(`button`,{type:`button`,onClick:()=>{w(!1),e.onClick?.()},children:e.label},e.label))]})]}),(0,Z.jsx)(`textarea`,{ref:x,value:e,onChange:e=>t?.(e.target.value),onKeyDown:e=>{if(l)return;let t=e.isComposing||e.nativeEvent?.isComposing;e.key!==`Enter`||e.shiftKey||t||c&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:o,"aria-label":o,rows:s,className:`chat-composer-input`,disabled:l}),(0,Z.jsx)(`button`,{type:`submit`,className:`chat-composer-send-btn`,disabled:!c,"aria-label":l?d:u,title:l?d:u,children:(0,Z.jsx)(fr,{})})]})]})}var mr={common:{save:`Simpan`,cancel:`Batal`,close:`Tutup`,loading:`Memuat`,retry:`Coba lagi`,refresh:`Muat ulang`,search:`Cari`,back:`Kembali`,continue:`Lanjutkan`,confirm:`Konfirmasi`,error:`Kesalahan`,success:`Berhasil`,noData:`Tidak ada data`,login:`Masuk`,logout:`Keluar`},language:{indonesian:`Bahasa Indonesia`,english:`English`,interfaceLanguage:`Bahasa antarmuka`,bahasa:`Bahasa`}},hr={payment:{saveQr:`Simpan QR`,preparingQr:`Menyiapkan QRâ¦`,saveQrFailed:`QR tidak dapat disimpan. Silakan ambil screenshot.`,copyVa:`Salin nomor VA`,copied:`Tersalin`,copyVaFailed:`Nomor VA tidak dapat disalin secara otomatis. Silakan pilih dan salin nomor tersebut.`},buyer:JSON.parse(`{"interfaceLanguage":"Bahasa","nav":{"home":"Beranda","transactions":"Transaksi","searchProducts":"Cari produk","inbox":"Pesan","admin":"Admin","cart":"Keranjang","profile":"Profil Saya","login":"Masuk","signup":"Daftar","menu":"Menu","orders":"Pesanan","adminWorkspace":"Ruang admin","checkingSession":"Memeriksa sesi"},"footer":{"about":"Tentang","help":"Bantuan","contact":"Kontak"},"auth":{"login":"Masuk","signup":"Daftar","email":"Email","phoneNumber":"Nomor telepon","password":"Kata sandi","fullName":"Nama lengkap","verificationCode":"Kode verifikasi","continue":"Lanjutkan","createAccount":"Buat akun","alreadyHaveAccount":"Sudah punya akun?","dontHaveAccount":"Belum memiliki akun?","forgotPassword":"Lupa kata sandi","checkYourEmail":"Periksa email Anda","verifying":"Memverifikasi","continueAsGuest":"Lanjutkan sebagai tamu","sessionExpired":"Sesi telah berakhir","loginRequired":"Harap masuk terlebih dahulu","legalConsentPrefix":"Saya telah membaca dan menyetujui ","termsAndConditions":"Syarat dan Ketentuan Tokodepan","legalConsentConnector":" serta ","privacyPolicy":"Kebijakan Privasi Tokodepan","legalConsentSuffix":".","loginTitle":"Selamat datang kembali di Tokodepan","loginSubtitle":"Masuk untuk melanjutkan belanja dan mengelola pesanan Anda.","signupTitle":"Buat akun Tokodepan Anda","signupSubtitle":"Daftar untuk mulai berbelanja dari penjual tepercaya.","emailSeparatorLogin":"atau lanjutkan de
9ngan email","emailSeparatorSignup":"atau daftar dengan email","newToTokodepan":"Baru di Tokodepan?","guestPhoneHelper":"Gunakan nomor telepon checkout Anda untuk melihat pesanan dan transaksi tamu.","continueWithPhone":"Lanjutkan dengan nomor telepon","backToHome":"Kembali ke beranda","phoneNumberOptional":"Nomor telepon (opsional)","sendOtp":"Kirim OTP","submitting":"Mengirim","signingIn":"Masuk","googleSigningIn":"Masuk dengan Googleâ¦","verifyCreateAccount":"Verifikasi & buat akun","emailVerifiedLogin":"Email berhasil diverifikasi. Silakan masuk untuk melanjutkan.","signupSuccessTitle":"Akun berhasil dibuat","signupSuccessBody":"Silakan masuk menggunakan email dan password yang baru Anda daftarkan.","fullNameOptional":"Nama lengkap (opsional)","otpCode":"Kode OTP","entryChoiceWithGuest":"Anda dapat masuk, membuat akun, atau melanjutkan sebagai tamu.","entryChoiceAccountOnly":"Masuk atau buat akun untuk melanjutkan.","mainPhoneNumber":"Nomor telepon utama akun","loginRequiredBody":"Silakan masuk atau daftar untuk melanjutkan.","sessionExpiredBody":"Sesi Anda telah berakhir. Silakan masuk lagi untuk melanjutkan.","guestOrdersPhoneHelp":"Gunakan nomor telepon untuk melihat pesanan dan transaksi tamu.","close":"Tutup","googleLoading":"Memuat proses masuk Googleâ¦","googleFailed":"Gagal masuk dengan Google. Silakan coba masuk melalui email.","googleCredentialMissing":"Google tidak mengembalikan kredensial akun. Silakan coba lagi.","signupCodesSent":"Kami telah mengirim kode verifikasi ke email dan nomor telepon Anda. Masukkan kedua kode untuk menyelesaikan pendaftaran.","signupCodesResent":"Kode verifikasi baru telah dikirim ke email dan nomor telepon Anda.","signupResendRequired":"Nama, email, dan kata sandi wajib diisi sebelum mengirim ulang OTP.","signupResendFailed":"Gagal mengirim ulang kode verifikasi.","emailOtpCode":"Kode OTP email","phoneOtpCode":"Kode OTP telepon","resendingCode":"Mengirim ulang kode","resendCodeIn":"Kirim ulang kode dalam {{seconds}}d","resendCode":"Kirim ulang kode","guestPhoneRequired":"Masukkan nomor telepon Anda terlebih dahulu.","guestOtpSent":"OTP WhatsApp telah dikirim. Masukkan kode untuk melanjutkan.","guestFieldsRequired":"Nomor telepon dan kode OTP wajib diisi.","guestSendFailed":"Gagal meminta OTP.","guestVerifyFailed":"Gagal memverifikasi OTP.","verifyingOtp":"Memverifikasi OTP","verifyOtp":"Verifikasi OTP","preparingOtp":"Menyiapkan OTP","requestAgainIn":"Minta lagi dalam {{seconds}}d","requestWhatsappOtp":"Minta OTP melalui WhatsApp","useEmailLogin":"Gunakan login dengan email","resetTitle":"Atur ulang kata sandi","registeredEmailRequired":"Masukkan email yang terdaftar.","resetOtpSent":"OTP telah dikirim ke email Anda. Masukkan OTP dan kata sandi baru.","resetRequestFailed":"Gagal meminta OTP pengaturan ulang kata sandi.","resetFieldsRequired":"Email, kode OTP, dan kata sandi baru wajib diisi.","resetSuccess":"Kata sandi berhasil diatur ulang. Silakan masuk dengan kata sandi baru.","resetFailed":"Gagal mengatur ulang kata sandi. Silakan coba lagi.","requestingOtp":"Meminta OTP","requestOtp":"Minta OTP","resendOtpIn":"Kirim ulang OTP dalam {{seconds}}d","resettingPassword":"Mengatur ulang kata sandi","verifyReset":"Verifikasi & atur ulang","resendOtp":"Kirim ulang OTP","passwordPolicy":"Gunakan 8â256 karakter, termasuk minimal 1 angka dan 1 karakter khusus.","otpCooldown":"Harap tunggu sebelum meminta OTP lagi.","passwordPolicyError":"Kata sandi baru belum memenuhi syarat. Gunakan 8â256 karakter, termasuk minimal 1 angka dan 1 karakter khusus.","guestOrderLoading":"Nomor telepon terverifikasi. Memuat pesanan tamu Anda.","networkError":"Tokodepan tidak dapat dijangkau. Periksa koneksi Anda dan coba lagi.","serverError":"Tokodepan sedang mengalami kendala. Silakan coba lagi sebentar lagi.","phoneVerificationRequired":"Verifikasi nomor telepon Anda sebelum melanjutkan ke checkout atau pembayaran.","invalidFormat":"Periksa kembali format email dan kata sandi Anda.","duplicateEmail":"Email ini sudah terdaftar. Silakan masuk.","loginDetailsInvalid":"Tidak dapat masuk dengan kredensial tersebut. Periksa kembali dan coba lagi.","signupDetail
9sInvalid":"Akun Anda tidak dapat dibuat dengan data tersebut. Periksa kembali dan coba lagi.","signupFailed":"Pendaftaran gagal. Silakan coba lagi.","loginFailed":"Gagal masuk. Silakan coba lagi.","invalidCredentials":"Email atau kata sandi salah."},"products":{"title":"Produk","searchPlaceholder":"Cari produk","search":"Cari","filters":"Filter","condition":"Kondisi","conditionNew":"Baru","conditionUsed":"Bekas","shipping":"Pengiriman","sort":"Urutkan","results":"Hasil","noResults":"Produk tidak ditemukan","previous":"Sebelumnya","next":"Berikutnya","outOfStock":"Stok habis","unavailable":"Tidak tersedia","loading":"Memuat produk","retry":"Coba lagi","pagination":"Halaman hasil pencarian","pageOf":"Halaman {{page}} dari {{pages}}","catalogTitle":"Katalog pembeli","minPriceIdr":"Harga minimum (IDR)","maxPriceIdr":"Harga maksimum (IDR)","searchPrompt":"Masukkan kata kunci lalu klik Cari.","price":"Harga","stock":"Stok","seller":"Penjual","showingRange":"Menampilkan {{start}}-{{end}} dari {{total}}","loadingSearchResults":"Memuat hasil pencarian","searchingCuratedSellers":"Mencari produk dari penjual terkurasi","updatingResultsFor":"Memperbarui hasil untuk â{{query}}â","typeKeywordPrompt":"Masukkan kata kunci untuk mencari produk.","refreshingResults":"Memperbarui hasil pencarian","closeFilters":"Tutup filter"},"productDetail":{"information":"Informasi produk","price":"Harga","stock":"Stok","quantity":"Jumlah","addToCart":"Tambah ke keranjang","buyNow":"Beli sekarang","shippingEstimate":"Estimasi pengiriman","seller":"Penjual","sellerInformation":"Informasi penjual","store":"Toko","description":"Deskripsi","condition":"Kondisi","weight":"Berat","dimensions":"Dimensi","reviews":"Ulasan","noReviews":"Belum ada ulasan","contactSeller":"Hubungi penjual","chatWithSeller":"Chat dengan penjual","unavailable":"Tidak tersedia","outOfStock":"Stok habis","loading":"Memuat produk","error":"Produk tidak dapat dimuat"},"cart":{"title":"Keranjang belanja","selectAll":"Pilih semua","selectedCount":"{{count}} dipilih","quantity":"Jumlah","quantityMinimumPerTransaction":"Min. {{min}} per transaksi","quantityRangePerTransaction":"{{min}}â{{max}} per transaksi","quantityInvalidCurrentRules":"Jumlah tidak lagi valid berdasarkan aturan saat ini. Sesuaikan dengan batas atau hapus produk.","remove":"Hapus","removeSelected":"Hapus yang dipilih","subtotal":"Subtotal","productSubtotal":"Subtotal produk","itemsSubtotal":"Subtotal produk","shippingEstimate":"Estimasi pengiriman","estimatedShipping":"Estimasi pengiriman","discount":"Diskon","promo":"Promo","sellerPromotion":"Promo penjual","platformPromotion":"Promo Tokodepan","paymentMethod":"Metode pembayaran","total":"Total","estimatedTotal":"Estimasi total","continueToCheckout":"Lanjut ke pembayaran","empty":"Keranjang Anda kosong","itemUnavailable":"Produk tidak tersedia","paymentBelowMinimum":"Pembayaran di bawah jumlah minimum.","paymentAboveMaximum":"Pembayaran melebihi jumlah maksimum.","loading":"Memuat keranjang","refreshing":"Memuat ulang keranjang","shippingTo":"Dikirim ke","noShippingAddressSelected":"Belum ada alamat pengiriman dipilih","addSavedAddressBeforeCheckout":"Tambahkan atau pilih alamat tersimpan sebelum checkout.","guestOtp":{"title":"Verifikasi nomor telepon Anda","description":"Lanjutkan sebagai tamu dengan kode OTP WhatsApp.","enterPhone":"Masukkan nomor telepon terlebih dahulu.","request":"Minta OTP via WhatsApp","sending":"Mengirimâ¦","resendIn":"Kirim ulang OTP dalam {{seconds}}d","resend":"Kirim ulang OTP via WhatsApp","sent":"OTP WhatsApp terkirim. Masukkan kode untuk melanjutkan.","cooldownNotice":"OTP sudah diminta. Anda dapat mengirim ulang setelah hitung mundur selesai.","required":"Nama, nomor telepon, dan kode OTP wajib diisi.","verified":"Telepon terverifikasi. Melanjutkan sebagai tamu.","sendFailed":"Gagal mengirim OTP.","verifyFailed":"Gagal memverifikasi OTP."},"finalShippingOptionsCheckout":"Pilihan ongkir final dipilih saat checkout.","finalShippingConfirmedCheckout":"Pilihan pengiriman dan ongkir final dikonfirmasi saat checkout.","selectItemsEstimateShipping":"Pilih barang untuk menghitung estimasi ongkir","noPlatformPromotion":"Tanpa promo platform","appliedEstimate":"Dipakai: {{code}} (estimasi)","sellerPromotionsEstimateRules":"Promo penjual mengikuti aturan checkout, dan promo yang memenuhi syarat sudah dihitung dalam estimasi ini.","saveCloseVoucherModal":"Simpan dan tutup pilihan promo","checkoutSelectionsNotice":"Ongkir dan metode pembayaran dipilih di checkout.","promoFinalCheckout":"Promo final dikonfirmasi di checkout.","totalBeforeShipping":"Total sementara sebelum ongkir","promoCode":"Kode promo","promoCodePlaceholder":"MASUKKAN KODE","applyPromoCode":"Gunakan","removePromoCode":"Hapus","invali
9dPromoCode":"Kode promo tidak valid atau tidak berlaku untuk pesanan ini.","claimedPromoCode":"Kode promo digunakan","promoCodeNoLongerApplies":"Kode promo ini tidak lagi berlaku untuk pesanan saat ini."},"checkout":{"title":"Pembayaran","shippingAddress":"Alamat pengiriman","changeAddress":"Ganti alamat","addAddress":"Tambah alamat","selectAddress":"Pilih alamat pengiriman","orderSummary":"Ringkasan pesanan","products":"Produk","viewProductDetails":"Lihat detail produk","quantity":"Jumlah","shipping":"Pengiriman","discount":"Diskon","promo":"Promo","paymentMethod":"Metode pembayaran","virtualAccount":"Virtual Account","bank":"Bank","total":"Total","placeOrder":"Buat pesanan","payNow":"Bayar sekarang","processing":"Memproses","addressRequired":"Alamat pengiriman wajib dipilih","methodUnavailable":"Metode pembayaran tidak tersedia","noPaymentMethodAvailable":"Tidak ada metode pembayaran yang tersedia untuk jumlah transaksi ini.","checkingPaymentMethods":"Memeriksa metode pembayaran...","paymentMethodsCheckFailed":"Metode pembayaran belum dapat diperiksa.","retryPaymentMethods":"Coba lagi","creatingOrder":"Membuat pesananâ¦","creatingPayment":"Menyiapkan pembayaranâ¦","redirectingCard":"Membuka halaman pembayaranâ¦","manageAddresses":"Kelola alamat","selectedItems":"Produk dipilih","noteForSellerOptional":"Catatan untuk penjual (opsional)","sellerPromo":"Promo penjual","noPromotion":"Tanpa promosi","platformPromo":"Promo platform (Tokodepan)","noPlatformPromotion":"Tidak ada promosi platform","claimedPromoApplied":"Kode promo digunakan","shipmentInsurance":"Asuransi pengiriman","shipmentInsuranceRequired":"Asuransi pengiriman wajib","addShipmentInsurance":"Tambahkan asuransi pengiriman","insuranceRequiredHelp":"Satu atau lebih produk dalam pesanan ini mewajibkan asuransi pengiriman.","insuranceHelp":"Aktifkan asuransi untuk melindungi pengiriman.","shippingMethod":"Metode pengiriman","shippingGroupMinimum":"{{label}} mulai Rp {{price}}","shippingOptionsChanged":"Pilihan pengiriman berubah. Tinjau kembali metode pengiriman sebelum membuat pesanan.","itemDetailsChanged":"Beberapa detail barang berubah. Silakan periksa kembali keranjang dan total pembayaran sebelum membuat pesanan.","secureCardWaiting":"Menunggu konfirmasi pembayaran.","continueSecureCard":"Lanjutkan pembayaran","paymentPopupBlocked":"Browser tidak dapat membuka halaman pembayaran secara otomatis.","openPaymentManually":"Buka pembayaran","paymentReturnChecking":"Pembayaran sedang diproses.","paymentReturnInstruction":"Tutup halaman ini dan kembali ke aplikasi Tokodepan untuk melihat status terbaru.","closeAndReturn":"Tutup dan kembali ke Tokodepan","paymentReturnCloseFailed":"Halaman tidak dapat ditutup otomatis. Tekan ikon à di atas, lalu kembali ke aplikasi Tokodepan.","retryPayment":"Coba pembayaran lagi","ambiguousPayment":"Status pembayaran masih diperiksa. Jangan membuat pembayaran lain.","checkPayment":"Periksa pembayaran y
9ang ada","paymentPageUnavailable":"Halaman pembayaran sebelumnya tidak dapat dilanjutkan. Anda dapat membuat pembayaran baru untuk pesanan yang sama.","createNewPayment":"Buat pembayaran baru","notEligible":"Tidak memenuhi syarat","notEligiblePaymentMethod":"Tidak memenuhi syarat untuk metode pembayaran yang dipilih","selectAddressForQuotes":"Pilih alamat pengiriman untuk memuat tarif sebenarnya.","loadingShippingOptions":"Memuat pilihan pengiriman","openPaymentCode":"Buka kode pembayaran","followPaymentInstructions":"Ikuti petunjuk kanal pembayaran untuk menyelesaikan pembayaran ini.","notEligibleCart":"Belum memenuhi syarat untuk kondisi keranjang saat ini.","howToPay":"Cara membayar","paymentAmountReminder":"Pastikan jumlah yang ditransfer sesuai dengan total pembayaran. Pembayaran Anda akan dikonfirmasi otomatis setelah transfer berhasil.","transactionDetail":"Buka detail transaksi","transactions":"Buka daftar transaksi","ambiguousOrder":"Kami belum dapat memastikan apakah pesanan Anda sudah dibuat. Periksa transaksi sebelum mencoba lagi agar tidak membuat pesanan ganda.","checkTransactions":"Periksa transaksi","refreshStatus":"Perbarui status","ambiguousNoPending":"Kami belum menemukan pesanan baru yang menunggu pembayaran. Anda dapat memeriksa Transaksi atau kembali ke checkout.","refreshStatusFailed":"Kami belum dapat memperbarui transaksi Anda. Silakan coba lagi.","backToCart":"Kembali ke keranjang","recommended":"Direkomendasikan","eligibleNow":"Memenuhi syarat.","noEligibleSellerPromotions":"Tidak ada promosi penjual yang memenuhi syarat.","returnToTokodepan":"Kembali ke Tokodepan","vaInstruction":"Transfer jumlah tepat ({{amount}}) ke nomor virtual account. Selesaikan pembayaran sebelum {{expires}}; halaman ini diperbarui otomatis setelah pembayaran diterima.","promoCodeNoLongerApplies":"Kode promo ini tidak lagi berlaku untuk pesanan saat ini.","promoPaymentMethodNotAllowed":"Promo ini tidak berlaku untuk metode pembayaran y
9ang dipilih.","promoNoLongerApplicable":"Promo ini tidak lagi berlaku untuk pesanan Anda.","promoNotActive":"Promo ini sudah tidak aktif.","estimatedDelivery":"Est. {{duration}} {{unit}}","etaUnit":{"HourOne":"jam","HourOther":"jam","DayOne":"hari","DayOther":"hari"},"createOrderFailed":"Pesanan tidak dapat dibuat. Silakan coba lagi.","paymentInitializationFailed":"Pesanan berhasil dibuat, tetapi pembayaran tidak dapat dimulai.","onlinePaymentUnavailable":"Pembayaran online belum tersedia. Silakan coba lagi sebentar lagi atau lanjutkan dari detail transaksi.","paymentStartFailed":"Pembayaran tidak dapat dimulai. Silakan coba kembali pembayaran atau lanjutkan dari detail transaksi."},"payment":{"title":"Pembayaran","statusLabel":"Status pembayaran","status":{"pending":"Menunggu pembayaran","paid":"Dibayar","failed":"Gagal","expired":"Kedaluwarsa","cancelled":"Dibatalkan","requiresAction":"Menunggu pembayaran","unpaid":"Menunggu pembayaran","verifying":"Pembayaran diterima. Sedang memverifikasi pembayaranâ¦"},"scanQris":"Pindai kode QRIS","qrisInstruction":"Gunakan aplikasi mobile banking atau dompet digital untuk memindai kode QR ini.","vaNumber":"Nomor Virtual Account","bank":"Bank","amount":"Jumlah","expiresAt":"Berlaku hingga","refreshStatus":"Muat ulang status","continuePayment":"Lanjutkan pembayaran","viewOrders":"Lihat pesanan","returnToCart":"Kembali ke keranjang","notFound":"Pembayaran tidak ditemukan","instruction":"Instruksi pembayaran","instructionUnavailable":"Instruksi pembayaran belum tersedia. Muat ulang halaman ini sebentar lagi.","method":"Metode","total":"Total","expires":"Berlaku hingga","loading":"Memuat status pembayaran","refreshing":"Memuat ulang status pembayaran","received":"Pembayaran diterima. Anda dapat memeriksa status pesanan di daftar transaksi.","receivedShort":"Pembayaran diterima.","reviewing":"Kami sedang meninjau pembayaran Anda. Pesanan belum diteruskan untuk diproses. Anda tidak perlu melakukan pembayaran ulang.","contactTokodepan":"Hubungi Tokodepan","paymentId":"ID pembayaran","loadFailed":"Gagal memuat status pembayaran.","qrisAriaLabel":"Kode pembayaran QRIS","qrisAlt":"Kode QRIS untuk pembayaran","cardAttemptFailure":{"restricted_card":"Kartu ini tidak dapat digunakan untuk transaksi ini. Silakan coba kartu lain.","insufficient_funds":"Saldo atau limit kartu tidak mencukupi. Silakan gunakan kartu lain atau metode pembayaran lain.","card_declined":"Pembayaran kartu ditolak. Silakan coba kartu lain atau hubungi bank Anda.","generic_card_failure":"Pembayaran kartu tidak berhasil. Silakan coba lagi atau gunakan kartu lain."}},"nameValidation":{"reserved":"Nama ini hanya dapat digunakan oleh Tokodepan.","invalidCharacters":"Nama mengandung karakter yang tidak diperbolehkan."},"profile":{"title":"Profil Saya","sections":{"overview":"Ringkasan","transactions":"Transaksi","addresses":"Alamat","account":"Akun","payment":"Pembayaran","security":"Keamanan","logout":"Keluar","notifications":"Notifikasi"},"loading":"Memuat profil","sectionsLabel":"Bagian profil","mobileNavigation":"Navigasi profil seluler","edit":"Ubah profil","save":"Simpan","saving":"Menyimpan...","cancel":"Batal","name":"Nama","email":"Email","phone":"Nomor telepon","noPhone":"Belum ada nomor telepon","noEmail":"Belum ada email","loginMethod":"Metode masuk","verifiedByGoogle":"Terverifikasi oleh Google","passwordEnabled":"Login dengan kata sandi aktif.","changePassword":"Ubah kata sandi","accountInformation":"Informasi akun","preferences":"Preferensi","defaultShippingAddress":"Alamat pengiriman utama","savedAddress":"Alamat tersimpan","noDefaultAddress":"Belum ada alamat utama","manageAddresses":"Kelola alamat","paymentInformation":"Informasi pembayaran","preferredPayment":"Pembayaran pilihan","managePayment":"Kelola pembayaran","security":"Keamanan","logoutPending":"Keluar...","notAvailable":"Tidak tersedia","buyerFallback":"Pembeli","googlePasswordManaged":"Tidak ada kata sandi Tokodepan untuk akun ini. Kata sandi Anda dikelola oleh Akun Google.","language":"Bahasa","languageHelp":"Pilih bahasa yang digunakan di Tokodepan.","phoneVerified":"Terverifikasi","phoneNotVerified":"Belum diverifikasi","sendWhatsAppOtp":"Kirim OTP WhatsApp","phoneOtpCode":"Masukkan kode OTP","verify":"Verifikasi","changePhone":"Ubah nomor telepon","addPhone":"Tambahkan nomor telepon","requestAgain":"Minta lagi dalam {{seconds}} detik","processing":"Memprosesâ¦","newPhone":"Nomor telepon baru","saveFailed":"Gagal menyimpan profil.","emailOtpRequired":"Masukkan kode OTP email.","emailOtpInvalid":"Kode OTP email salah.","emailOtpExpired":"Kode OTP email sudah kedaluwarsa.","emailTaken":"Email sudah digunakan akun lain.","googleEmailReadOnly":"Email akun Google tidak dapat diubah.","emailRestricted":"Email ini tidak dapat digunakan.","emailOtpSent":"Kode OTP telah dikirim ke email baru.","emailOtpSendFailed":"Gagal mengirim OTP email. Silakan coba lagi.","emailOtpHelp":"Untuk mengganti email, masukkan kode OTP yang dikirim ke email baru.","emailOtpSending":"Mengirim OTP emailâ¦","emailOtpSend":"Kirim OTP email","emailOtpCode":"Kode OTP email","phoneOtpSending":"Mengirim OTP WhatsAppâ¦","phoneOtpSent":"OTP WhatsApp terkirim. Masukkan kode untuk memverifikasi nomor telepon.","phoneOtpRequestFailed":"Gagal meminta OTP nomor telepon.","phoneVerifiedSuccess":"Nomor telepon berhasil diverifikasi{{phone}}.","phoneOtpVerifyFailed":"Gagal memverifikasi OTP nomor telepon."},"addresses":{"title":"Alamat","management":"Kelola alamat","add":"Tambah alamat","addNe
9w":"Tambah alamat baru","edit":"Ubah alamat","delete":"Hapus alamat","setDefault":"Jadikan utama","default":"Utama","saved":"Alamat tersimpan","empty":"Belum ada alamat tersimpan","emptyTitle":"Belum ada alamat tersimpan","emptyDescription":"Tambahkan alamat pengiriman pertama agar pesanan dapat dikirim ke lokasi yang tepat.","recipientName":"Nama penerima","phone":"Nomor telepon","label":"Label alamat","street":"Alamat lengkap","details":"Detail alamat (opsional)","province":"Provinsi","city":"Kota / Kabupaten","district":"Kecamatan","postalCode":"Kode pos","notes":"Catatan","location":"Titik lokasi","useCurrentLocation":"Gunakan lokasi saya untuk pin pengiriman","searchLocation":"Cari lokasi","save":"Simpan alamat","update":"Perbarui alamat","deleteConfirm":"Hapus alamat ini?","loading":"Memuat alamat...","loadingProvinces":"Memuat provinsi","loadingCities":"Memuat kota/kabupaten","loadingDistricts":"Memuat kecamatan","loadingPostalCodes":"Memuat kode pos","selectProvince":"Pilih provinsi","selectCity":"Pilih kota/kabupaten","selectDistrict":"Pilih kecamatan","selectPostalCode":"Pilih kode pos","countryHelper":"Saat ini hanya alamat pengiriman Indonesia yang didukung.","requiredFields":"Lengkapi semua kolom wajib.","pinRequired":"Tentukan titik lokasi pengiriman di peta.","pinWithinIndonesia":"Koordinat pengiriman harus berada di Indonesia.","labels":{"home":"Rumah","office":"Kantor","other":"Lainnya"},"geolocationUnavailable":"Geolokasi tidak tersedia di browser ini. Anda tetap dapat menempatkan pin secara manual.","locationPermissionDenied":"Izin lokasi ditolak. Anda tetap dapat menempatkan pin secara manual.","locationTimeout":"Waktu membaca lokasi saat ini habis. Anda tetap dapat menempatkan pin secara manual.","locationReadFailed":"Lokasi saat ini tidak dapat dibaca. Anda tetap dapat menempatkan pin secara manual.","searchFailed":"Area tidak dapat dicari.","noMatchingArea":"Area yang cocok tidak ditemukan.","areaSelectedPinpoint":"Area dipilih. Geser atau pindahkan pin untuk menentukan lokasi pengiriman yang tepat.","areaFoundPlacePin":"Area ditemukan. Silakan tempatkan pin yang tepat secara manual.","resolveFailed":"Area yang dipilih tidak dapat diproses. Silakan tempatkan pin secara manual.","basemapFailed":"Peta dasar {{provider}} tidak dapat dimuat. Periksa log konsol untuk diagnostik dan coba lagi.","mapInitFailed":"Peta gagal dimuat. Periksa log konsol untuk diagnostik, lalu muat ulang dan coba lagi.","searchPlaceholder":"Cari provinsi, kota/kabupaten, kecamatan, atau kode pos","searchingArea":"Mencari areaâ¦","resolvingArea":"Memproses area yang dipilihâ¦","selectedArea":"Area dipilih","latLng":"Lintang, Bujur","latitude":"Lintang","longitude":"Bujur","loadingBasemap":"Memuat peta dasarâ¦","openToLoadMap":"Buka bagian ini untuk memuat peta.","advancedMapUnavailable":"Tampilan peta lanjutan tidak tersedia di sini.","mapManualFallback":"Anda tetap dapat menggunakan lokasi saat ini atau memasukkan koordinat secara manual.","mapUnavailable":"Peta tidak tersedia.","mapReloadHelper":"Anda dapat melanjutkan pengisian alamat secara manual dan mencoba memuat ulang halaman ini.","mapRenderingUnavailable":"Rendering peta tidak tersedia di perangkat ini. Gunakan lokasi saat ini atau masukkan lintang/bujur secara manual.","mapHelper":"Klik peta untuk menempatkan atau memindahkan pin. Geser pin untuk menyempurnakan lokasi.","noPin":"Belum ada pin yang dipilih.","postalCodeArea":"Area kode pos","area":"area","selectTitle":"Pilih alamat pengiriman","manageTitle":"Kelola alamat pengiriman","selectDescription":"Pilih alamat tersimpan yang akan digunakan untuk checkout ini.","manageDescription":"Perbarui alamat pengiriman agar proses checkout lebih cepat.","backToCart":"Kembali ke keranjang","backToProfile":"Kembali ke profil","checkoutFlow":"Alur checkout","saving":"Menyimpanâ¦","saveSuccess":"Alamat berhasil disimpan.","saveError":"Alamat gagal disimpan.","fieldRequired":"{{field}} wajib diisi.","countryRequired":"Negara harus Indonesia (ID).","selectedForCheckout":"Tujuan pengiriman saat ini","currentDelivery":"Tujuan pengiriman saat ini","useThisAddress":"Gunakan alamat ini","untitled":"Alamat tanpa label","editAction":"Ubah","deleteAction":"Hapus","saveChanges":"Simpan perubahan","cancel":"Batal","manualCoordinateHelper":"Pilih pin di peta atau isi koordinat manual jika diperlukan.","locationOptionsFailed":"Pilihan wilayah alamat Indonesia gagal dimuat.","findAddress":"Cari alamat","fullAddressPlaceholder":"Masukkan alamat lengkap","find":"Cari","searchingAddress":"Mencari alamatâ¦","chooseAddress":"Pilih alamat","addressNotFound":"Alamat tidak ditemukan","addressSearchFailed":"Gagal mencari alamat. Coba lagi.","verifyPin":"Periksa titik lokasi","googlePinFound":"Kami menemukan titik berdasarkan alamat yang dipilih.","adjustPinGuidance":"Geser pin jika lokasi rumah, gedung, atau pintu masuk berbeda.","reverseGeocodeUnavailable":"Pin lokasi sudah dipasang. Silakan lengkapi alamat secara manual.","currentLocationBestWhenThere":"Pilihan terbaik jika Anda sedang berada di lokasi tujuan.","searchWhenAway":"Cari alamat jika Anda tidak sedang berada di lokasi tujuan.","or":"atau","pinSource":{"google":"Titik berdasarkan alamat yang dipilih.","current_location":"Menggunakan lokasi perangkat Anda.","manual":"Titik lokasi telah disesuaikan."}},"security":{"changePassword":"Ubah kata sandi","currentPassword":"Kata sandi saat ini","newPassword":"Kata sandi baru","confirmPassword":"Konfirmasi kata sandi baru","savePassword":"Simpan kata sandi","updatePassword":"Perbarui kata sandi","passwordUpdated":"Kata sandi diperbarui","passwordMismatch":"Kata sandi tidak sama","forgotPassword":"Lupa kata sandi","resetPassword":"Atur ulang kata sandi","sendReset":"Kirim tautan/kode reset","verificationCode":"Kode verifikasi","otpCode":"Kode OTP","verify":"Verifikasi","resend":"Kirim ulang kode","otpHelper":"Gunakan OTP reset k
9ata sandi dari email Anda untuk mengonfirmasi perubahan ini.","settings":"Pengaturan keamanan","password":"Kata sandi","changed":"Kata sandi berhasil diubah.","changeFailed":"Gagal mengubah kata sandi.","updatedToday":"Diperbarui hari ini","updatedDaysAgo":"Terakhir diperbarui {{count}} hari lalu.","updatedMonthsAgo":"Terakhir diperbarui {{count}} bulan lalu.","updatedYearsAgo":"Terakhir diperbarui {{count}} tahun lalu.","logoutOtherDevices":"Keluar dari perangkat lain setelah mengganti kata sandi","logoutOtherDevicesHelper":"Biarkan aktif jika Anda mengganti kata sandi karena alasan keamanan.","sendOtp":"Kirim OTP","sendingOtp":"Mengirim OTP...","sendOtpCooldown":"Kirim ulang dalam {{seconds}}d","otpSent":"OTP dikirim ke email Anda.","otpSendFailed":"Gagal mengirim OTP.","showPassword":"Tampilkan kata sandi","hidePassword":"Sembunyikan kata sandi"},"paymentSettings":{"title":"Informasi pembayaran","preferredMethod":"Metode pembayaran pilihan","preferredMethodShort":"Metode pembayaran pilihan","save":"Simpan preferensi","saved":"Preferensi pembayaran disimpan.","unavailable":"Metode pembayaran tidak tersedia","cardsUnavailable":"Kartu tidak tersedia","none":"Belum ada metode pilihan","checkoutDefault":"Digunakan sebagai pilihan default saat checkout.","methods":{"qris":"QRIS","card":"Kartu kredit","bca_va":"Virtual Account"}},"help":{"title":"Pusat Bantuan","supportTitle":"Bantuan Tokodepan","supportDescription":"Butuh bantuan terkait pesanan, akun, atau kebijakan? Mulai chat dengan Tokodepan.","chat":"Chat dengan Tokodepan","openingChat":"Membuka chat...","chatFailed":"Chat dukungan tidak dapat dibuka."},"errors":{"pageNotFound":"Halaman tidak ditemukan","backHome":"Kembali ke beranda","generic":"Terjadi kesalahan"},"complaintDisplay":{"active":"Komplain aktif","closed":"Komplain ditutup","resolved":{"generic":"Komplain selesai","replacement":"Komplain selesai: Penggantian","replacement_no_return":"Komplain selesai: Penggantian","replacement_after_return":"Komplain selesai: Penggantian setelah pengembalian","refund":"Komplain selesai: Refund","refund_no_return":"Komplain selesai: Refund","refund_after_return":"Komplain selesai: Refund setelah pengembalian","partial_refund":"Komplain selesai: Refund sebagian","rejected":"Komplain selesai: Ditolak"}},"orders":{"recoveryLegalConsentConnector":", serta ","refundComplaintPolicy":"Kebijakan Pengembalian dan Komplain Tokodepan","title":"Pesanan","tabs":{"all":"Semua","pendingPayment":"Menunggu pembayaran","paid":"Dibayar","processing":"Diproses","readyToShip":"Siap dikirim","shipped":"Dikirim","delivered":"Terkirim","completed":"Selesai","cancelled":"Dibatalkan","complaintOpen":"Dikomplain","refunded":"Dikembalikan","refundCompleted":"Pengembalian dana selesai"},"status":{"pending":"Menunggu","pendingPayment":"Menunggu pembayaran","paid":"Dibayar","paymentReview":"Pembayaran sedang ditinjau","processing":"Diproses","readyToShip":"Siap dikirim","shipped":"Dikirim","delivered":"Terkirim","completed":"Selesai","cancelled":"Dibatalkan","complaintOpen":"Dikomplain","refunded":"Dikembalikan","refundCompleted":"Pengembalian dana selesai"},"search":"Cari pesanan","filterStatus":"Filter berdasarkan status","orderDate":"Tanggal pesanan","invoice":"Invoice","seller":"Penjual","products":"Produk","quantity":"Jumlah","shipping":"Pengiriman","total":"Total","invoiceTotal":"Total invoice","viewDetails":"Lihat detail","continuePayment":"Lanjutkan pembayaran","buyAgain":"Beli lagi","empty":"Pesanan tidak ditemukan","loading":"Memuat pesanan","loadMore":"Muat lebih banyak","previous":"Sebelumnya","next":"Berikutnya","retry":"Coba lagi","pageOf":"Halaman {{page}} dari {{pageCount}} · {{totalCount}} pesanan","filterDate":"Filter tanggal","toDate":"Sampai","statusFilter":"Filter status","emptyByTab":{"all":"Transaksi Anda akan muncul di sini setelah mulai berbelanja.","shipped":"Tidak ada transaksi yang sedang dikirim.","completed":"Belum ada transaksi selesai.","complained":"Tidak ada transaksi yang dikomplain.","cancelled":"Tidak ada transaksi yang dibatalkan.","pending_payment":"Tidak ada transaksi yang menunggu pembayaran.","processing":"Tidak ada transaksi yang sedang diproses."},"clearFilters":"Hapus filter","dateUnavailable":"Tanggal tidak tersedia","itemCount":"{{count}} barang","showLessItems":"Tampilkan lebih sedikit","showMoreItems":"Tampilkan {{count}} barang lainnya","cancellationPending":"Pembatalan diminta · Menunggu respons penjual","cancellationApproved":"Pembatalan disetujui","cancellationRejected":"Pembatalan ditolak","defaultSeller":"Penjual Tokodepan","sellerOrder":"Pesanan penjual #{{id}}","openTransaction":"Buka transaksi {{invoice}}","photo":"Foto","invoicePdf":"Faktur PDF"},"orderDetail":{"viewProductDetails":"Lihat detail produk","title":"Detail pesanan","transactionDetail
9s":"Detail transaksi","invoice":"Invoice","orderStatus":"Status pesanan","paymentStatus":"Status pembayaran","paymentMethod":"Metode pembayaran","orderDate":"Tanggal pesanan","paidAt":"Dibayar pada","seller":"Penjual","recipient":"Penerima","shippingAddress":"Alamat pengiriman","products":"Produk","productSubtotal":"Subtotal produk","shippingCost":"Biaya pengiriman","sellerDiscount":"Diskon penjual","tokodepanDiscount":"Diskon Tokodepan","total":"Total","contactSeller":"Hubungi penjual","openComplaint":"Ajukan komplain","viewComplaint":"Lihat komplain","confirmReceipt":"Konfirmasi penerimaan","autoCompletionDeadline":"Pesanan akan selesai otomatis pada {{date}} jika Anda tidak melakukan tindakan.","cancelOrder":"Batalkan pesanan","backToOrders":"Kembali ke pesanan","refreshPaymentStatus":"Perbarui status pembayaran","notShipped":"Belum dikirim","shippingNotStartedUnpaid":"Pengiriman belum dimulai karena pembayaran belum selesai.","paymentExpired":"Pembayaran kedaluwarsa","paymentFailed":"Pembayaran gagal","cancelledNotPaid":"Dibatalkan / Belum dibayar","notPaid":"Belum dibayar","paymentDate":"Tanggal pembayaran","noteForSeller":"Catatan untuk penjual","shippingInsurance":"Asuransi pengiriman","discount":"Diskon","totalPaid":"Total dibayar","problemWithOrder":"Ada masalah dengan pesanan?","reportProblemDescription":"Ajukan komplain jika ada masalah dengan pesanan ini.","complaintOpened":"Komplain telah diajukan","complaintAlreadyOpen":"Komplain sudah diajukan","reportProblem":"Laporkan masalah","showComplaintForm":"Tampilkan formulir komplain","hideComplaintForm":"Sembunyikan formulir komplain","submittingComplaint":"Mengirim komplain...","complaintSubmitFailed":"Tidak dapat mengirim keluhan. Periksa data lalu coba lagi.","cancellationRequested":"Pembatalan diminta","cancellationWaitingSeller":"Menunggu tanggapan penjual","cancellationReason":"Alasan pembatalan","transactionUnavailable":"Data transaksi tidak tersedia.","reasons":{"wrongGoodsSent":"Barang yang dikirim salah","lessQuantityThanOrdered":"Jumlah barang kurang","damagedItem":"Barang rusak","itemNotReceived":"Barang tidak diterima","other":"Lainnya"},"complaintRedirecting":"Komplain telah diajukan. Mengalihkan ke pusat komplain...","complaintOpenedHold":"Komplain telah diajukan. Dana penjual ditahan hingga komplain selesai.","requestCancellation":"Minta pembatalan","review":{"title":"Ulasan produk","action":"Ulas","availableAfterDelivery":"Ulasan tersedia setelah pesanan diterima.","reviewed":"Sudah diulas","stars":"Bintang","note":"Catatan","shareExperience":"Bagikan pengalaman Anda","imagesLabel":"Foto ulasan (maks. 3)","uploadPhotos":"Unggah foto","uploadingPhotos":"Sedang mengunggah foto...","allowedFormats":"Format yang diizinkan: JPG, PNG, WEBP, GIF ⢠Maks. 5 MB per foto","uploadingImage":"Sedang mengunggah gambar...","remove":"Hapus","submit":"Kirim ulasan","saving":"Menyimpan ulasan...","image":"Gambar ulasan","openImage":"Buka gambar ulasan {{number}}","imageViewer":"Penampil gambar ulasan","closeImageViewer":"Tutup penampil gambar ulasan","draftImage":"Draf gambar ulasan","maximumImages":"Maksimal 3 gambar per ulasan.","invalidImageFormat":"Hanya gambar JPG, PNG, WEBP, atau GIF yang diizinkan.","imageTooLarge":"Ukuran gambar harus 5 MB atau kurang.","imageUploadFailed":"Gagal mengunggah gambar. Silakan coba lagi.","unableToUploadImage":"Gambar ulasan tidak dapat diunggah.","saveSuccess":"Terima kasih! Ulasan Anda telah dikirim.","saveFailed":"Ulasan Anda tidak dapat disimpan. Silakan coba lagi.","readyNotice":"Anda dapat memberikan satu ulasan untuk setiap produk yang dibeli pada bagian ulasan di bawah.","readyToReview":"Produk yang Anda beli siap diulas."},"reorderComplete":"Pesan ulang selesai. Produk telah ditambahkan ke keranjang.","reorderPartial":"Pesan ulang sebagian selesai. {{count}} produk ditambahkan. {{reasons}}","reorderFailed":"Produk tidak dapat dipesan ulang. {{reasons}}","reorderReasons":{"unavailable":"produk tidak tersedia atau tidak aktif","quantityConflict":"stok atau batas pembelian saat ini tidak mencukupi","session":"sesi atau token keamanan perlu diperbarui","accountRestricted":"akun ini dibatasi untuk melakukan pembelian","unexpected":"terja
9di kesalahan tak terduga"},"closeComplaint":"Tutup komplain","closeComplaintTitle":"Tutup komplain?","closeComplaintBody":"Gunakan pilihan ini jika masalah sudah selesai, termasuk jika penjual sudah memberikan penjelasan, kompensasi, atau penggantian yang Anda terima.","closingComplaint":"Menutupâ¦","closeComplaintSuccess":"Komplain ditutup. Transaksi kini selesai.","closeComplaintError":"Komplain ini tidak dapat ditutup karena hasil finansial sudah diproses.","closeComplaintFinancialBody":"Setelah komplain ditutup, transaksi akan dianggap selesai dan dana penjual akan diproses seperti transaksi selesai biasa. Tokodepan tidak akan memproses refund tambahan dari komplain ini.","cancellationModalTitle":"Ajukan pembatalan","cancellationModalBody":"Sampaikan kepada penjual alasan Anda perlu membatalkan pesanan ini.","cancellationReasonLabel":"Alasan","cancellationDetailsLabel":"Detail pembatalan","cancellationDetailsHelp":"Masukkan minimal 3 karakter.","submitCancellation":"Kirim permintaan","submittingCancellation":"Mengirimâ¦","cancellationRequestSuccess":"Permintaan pembatalan telah dikirim.","cancellationRequestError":"Permintaan pembatalan tidak dapat dikirim.","missedShippingDeadline":"Pesanan dibatalkan karena penjual tidak mengirim sebelum batas waktu.","refundStatus":"Status refund","refundAmount":"Jumlah refund","cancellationReasons":{"wrongOrder":"Pesanan salah","wrongAddress":"Alamat salah","changedMind":"Berubah pikiran","buyerRequest":"Permintaan pembeli lainnya","other":"Lainnya"},"refundStatuses":{"succeeded":"Sudah diproses. Pihak pembayaran telah memproses refund; dana mungkin memerlukan waktu tambahan untuk masuk.","failed":"Memerlukan penanganan manual oleh dukungan Tokodepan.","processing":"Sedang diproses. Waktu masuk dana bergantung pada metode pembayaran.","pending":"Menunggu pemrosesan Tokodepan."},"backToTransactions":"Kembali ke transaksi","sectionsUnavailable":"Beberapa bagian pesanan tidak tersedia untuk akun ini.","paymentStartFailed":"Pembayaran tidak dapat dimuat. Coba metode pembayaran lain atau hubungi bantuan.","paymentNotStarted":"Pembayaran belum dimulai. Silakan ulangi checkout/pembayaran.","invoiceUnavailable":"Faktur untuk pesanan ini belum tersedia.","receiptConfirmed":"Pesanan dikonfirmasi telah diterima. Dana kini diteruskan kepada penjual.","noEligibleReorder":"Tidak ada barang dari pesanan ini yang dapat dipesan ulang.","actionUnavailable":"{{action}} tidak tersedia saat ini.","productUnavailable":"Referensi produk ini sudah tidak tersedia.","confirmReceiptFailed":"Gagal mengonfirmasi penerimaan pesanan.","sellerChatUnavailable":"Percakapan dengan penjual untuk pesanan ini tidak ditemukan.","sellerChatOpenFailed":"Chat dengan penjual tidak dapat dibuka saat ini. Silakan coba lagi.","guestAccessDescription":"Gunakan nomor telepon saat checkout dan OTP untuk membuka transaksi tamu ini.","verifyGuestAccess":"Verifikasi akses pesanan tamu","guestAccessHelp":"Minta kode WhatsApp untuk nomor telepon yang digunakan saat checkout.","openPurchasedItem":"Buka barang yang dibeli {{product}}","purchasedProduct":"Produk yang dibeli"},"shipment":{"title":"Pengiriman","courier":"Kurir","service":"Layanan","trackingNumber":"Nomor resi","statusLabel":"Status pengiriman","deadline":"Batas waktu pengiriman","pickupInformation":"Informasi penjemputan","requestPickupBefore":"Minta penjemputan sebelum","operationalHours":"Pada jam operasional penjual","viewLabel":"Lihat label pengiriman","status":{"pending":"Menunggu","confirmed":"Dikonfirmasi","scheduled":"Dijadwalkan","allocated":"Kurir dialokasikan","pickingUp":"Sedang dijemput","inProgress":"Dalam pengiriman","delivered":"Terkirim","cancelled":"Dibatalkan","courierNotFound":"Kurir tidak ditemukan","pickupRetryAvailable":"Penjemputan dibatalkan. Penjual sedang mengatur penjemputan baru.","pickupFailed":"Penjemputan gagal","pickupAttentionRequired":"Penjemputan perlu perhatian","issue":"Pengiriman perlu perhatian","error":"Terjadi kesalahan pengiriman","awaitingSellerHandoff":"Menunggu serah terima ke kurir","droppingOff":"Dalam perjalanan ke tujuan","storeCourierPreparing":"Menyiapkan pengiriman toko","storeCourierOutForDelivery":"Sedang diantar oleh kurir toko","storeCourierDelivered":"Telah diantar oleh kurir toko","rejected":"Pengiriman ditolak","returnInTransit":"Sedang dikembalikan ke penjual","returned":"Dikembalikan ke penjual","disposed":"Paket tidak dapat dilanjutkan","failed":"Pengiriman gagal","notShipped":"Belum dikirim"},"storeCourier":"Kurir toko","handledBySeller":"Pengiriman dilakukan oleh penjual.","deliveryReference":"Referensi pengiriman","currentStatus":"Status saat ini","trackingHistory":"Riwayat pelacakan pengiriman","timeline":{"labelReady":"Label dibuat / siap diserahkan","handedToCourier":"Diserahkan ke kurir","inTransit":"Dalam perjalanan","delivered":"Terkirim","courierPickingUp":"Kurir sedang menuju lokasi penjemputan","enRouteToDestination":"Dalam perjalanan ke tujuan","pickupCancelled":"Penjemputan dibatalkan. Penjual sedang mengatur penjemputan baru.","shipmentUpdate":"Pembaruan pengiriman","rejected":"Pengiriman ditolak di tujuan","returnInTransit":"Paket sedang dikembalikan ke penjual","returned":"Paket telah dikembalikan ke penjual","disposed":"Paket tidak dapat dilanjutkan oleh kurir","failed":"Pengiriman gagal"},"dataUnavailable":"Data pengiriman tidak tersedia","updatesUnavailable":"Pembaruan pelacakan belum tersedia. Silakan cek kembali nanti.","waitingHandoff":"Menunggu konfirmasi serah terima ke kurir.","track":"Lacak pengiriman","trackCourier":"Lacak kurir","driver":"Pengemudi","vehiclePlate":"Plat kendaraan","viewDeliveryProof":"Lihat bukti pengantaran","deliveryProof":"Bukti pengantaran","proofUnavailable":"Bukti ti
9dak tersedia","insurance":"Asuransi","storeCoveredDelivery":"Pengiriman ditanggung toko","insured":"Diasuransikan","notInsured":"Tidak diasuransikan","deliveryExceptionNotice":"Pengiriman mengalami masalah."},"inbox":{"title":"Pesan","search":"Cari percakapan","support":"Dukungan","seller":"Penjual","empty":"Belum ada percakapan","select":"Pilih percakapan","loading":"Memuat percakapan","newMessage":"Pesan baru","startSupport":"Mulai chat bantuan","continueGuest":"Lanjutkan sebagai tamu","phoneVerification":"Verifikasi telepon","closeConversation":"Tutup percakapan"},"chat":{"officialTokodepan":"Resmi Tokodepan","loadingMessages":"Memuat pesan","typeMessage":"Tulis pesan","send":"Kirim","sending":"Mengirim...","attach":"Lampirkan","addProduct":"Tambahkan produk","addInvoice":"Tambahkan invoice","uploadImage":"Tambahkan gambar","removeAttachment":"Hapus lampiran","retryMessage":"Kirim ulang pesan","messageFailed":"Pesan gagal dikirim","read":"Dibaca","unread":"Belum dibaca","seen":"Dilihat","today":"Hari ini","yesterday":"Kemarin"},"chatAttachmentViewer":{"attachment":"Lampiran","openImageAttachment":"Buka lampiran gambar","invoiceOrder":"Invoice / Pesanan","status":"Status","total":"Total","viewOrder":"Lihat pesanan","sellerProduct":"Produk penjual","product":"Produk","price":"Harga","productLinkUnavailable":"Tautan produk tidak tersedia: slug penjual atau produk tidak ada","openProductDetail":"Buka detail produk","viewProduct":"Lihat produk","imageViewer":"Penampil gambar","closeImageViewer":"Tutup penampil gambar","reset":"Atur ulang"},"chatAttachments":{"search":"Cari","loading":"Memuat...","previous":"Sebelumnya","next":"Berikutnya","pageOf":"Halaman {{page}} dari {{total}}","close":"Tutup","image":"Gambar","order":"Pesanan","product":"Produk","stock":"Stok: {{count}}","searchAttachments":"Cari lampiran"},"complaints":{"title":"Komplain","status":{"open":"Aktif","waitingSeller":"Menunggu penjual","waitingBuyer":"Menunggu pembeli","underReview":"Sedang ditinjau","resolved":"Diselesaikan","closed":"Ditutup","closedByBuyer":"Ditutup pembeli"},"id":"ID komplain","order":"Pesanan","invoice":"Invoice","seller":"Penjual","reason":"Alasan","requestedResolution":"Penyelesaian yang diminta","statusLabel":"Status","createdAt":"Dibuat pada","updatedAt":"Diperbarui pada","viewDetails":"Lihat detail","empty":"Komplain tidak ditemukan","loading":"Memuat komplain"},"complaintDetail":{"title":"Detail komplain","titleWithInvoice":"Komplain {{invoice}}","open":"Ajukan komplain","reason":"Pilih alasan","description":"Jelaskan masalah","requestedResolution":"Penyelesaian yang diminta","resolutions":{"refund":"Pengembalian dana","replacement":"Penggantian barang","other":"Penyelesaian lain"},"evidence":"Bukti","addImage":"Tambah gambar","removeImage":"Hapus gambar","maxImages":"Jumlah gambar maksimum","submit":"Kirim komplain","submitting":"Mengirim","buyerStatement":"Pernyataan pembeli","sellerResponse":"Tanggapan penjual","opsReview":"Tinjauan Tokodepan","resolution":"Penyelesaian","refundAmount":"Jumlah pengembalian dana","replacementShipment":"Pengiriman barang pengganti","returnRequired":"Pengembalian barang diperlukan","returnInstructions":"Petunjuk pengembalian","close":"Tutup komplain","closed":"Komplain ditutup","backOrder":"Kembali ke pesanan","backTransaction":"Kembali ke transaksi","backComplaints":"Kembali ke komplain","settlementTitle":"Settlement terkonfirmasi","approvedRefund":"Refund disetujui","refundStatus":"Status refund","confirmedAt":"Dikonfirmasi pada","loading":"Memuat komplainâ¦","loadError":"Gagal memuat komplain","sellerUnavailable":"Penjual tidak tersedia","nextStep":"Langkah berikutnya","waitingDecision":"Tokodepan sedang meninjau komplain ini.","returnItemTitle":"Kembalikan barang kepada penjual","returnItemDescription":"Atur pengiriman pengembalian sesuai keputusan.","sellerReturnAddress":"Alamat pengembalian penjual","returnShipping":"Pengiriman pengembalian","instruction":"Petunjuk dari Tokodepan","required":"Diperlukan","notRequired":"Tidak diperlukan","returnLabelReady":"Label pengembalian sudah siap.","waybill":"Nomor resi","viewReturnLabel":"Lihat / cetak label pengembalian","followInstructions":"Ikuti petunjuk Tokodepan.","sellerCoversReturn":"Biaya pengiriman pengembalian ditanggung penjual.","noEvidence":"Belum ada bukti yang diunggah.","buyerProof":"Bukti pembeli","buyerEvidence":"Bukti pembeli","sellerEvidence":"Bukti penjual","tokodepanEvidence":"Bukti Tokodepan","neutralEvidence":"Bukti","selectedImage":"Gambar terpilih","removeSelectedImage":"Hapus","uploadSelectedImage":"Unggah gambar","retryUpload":"Coba unggah lagi","uploading":"Mengunggahâ¦","uploadSuccess":"Gambar berhasil diunggah.","uploadError":"Gambar tidak dapat diunggah. Gunakan JPG, PNG, WEBP, atau GIF.","messages":"Pesan","noMessages":"Belum ada pesan.","replyTitle":"Balas komplain","replyPlaceholder":"Tulis balasan...","replySuccess":"Balasan terkirim.","replyError":"Balasan tidak dapat dikirim.","reasons":{"wrongGoodsSent":"Barang yang dikirim salah","lessQuantityThanOrdered":"Jumlah barang kurang dari pesanan","damagedItem":"Barang rusak","itemNotReceived":"Barang belum diterima","other":"Masalah lainnya"},"senders":{"buyer":"Pembeli","seller":"Penjual","tokodepan":"Tokodepan"},"actions":{"closedByBuyerTitle":"Ditutup pembeli","closedByBuyerDescription":"Anda telah mengonfirmasi bahwa masalah sudah selesai. Tidak ada tindakan lebih lanjut yang diperlukan.","waitingDecisionTitle":"Menunggu keputusan Tokodepan","waitingDecision":"Tokodepan sedang meninjau komplain ini.","rejectedTitle":"Komplain ditolak","rejectedDescription":"Tidak ada tindakan lanjutan yang diperlukan.","returnItemTitle":"Kembalikan barang kepada penjual","returnItemDescription":"Atur pengiriman pengembalian secara mandiri, lalu kirim detail kurir dan nomor resi melalui percakapan komplain.","refundProcessingTitle":"Pengembalian dana sedang diproses","refundProcessingDescription":"Tokodepan akan memproses pengembalian dana yang disetujui.","replacementPendingTitle":"Barang pengganti sedang disiapkan","replacementPendingDescription":"Penjual akan mengirim barang pengganti ke alamat Anda.","partialRefundTitle":"Pengembalian dana sebagian disetujui","partialRefundDescription":"Jumlah yang disetujui: {{amount}}. Tokodepan akan memproses pengembalian dana.","viewReturnLabel":"Lihat / cetak label pengembalian"},"returnShippingInfo":{"tokodepanLabel":"Tokodepan menyediakan label pengiriman pengembalian.","buyerManual":"Atur pengiriman pengembalian dan berikan nomor resi.","sellerManual":"Penjual mengatur pengiriman pengembalian atau penjemputan.","notRequired":"Pengiriman pengembalian tidak diperlukan.","sellerPays":"Biaya pengiriman pengembalian ditanggung penjual.","buyerPays":"Biaya pengiriman pengembalian ditanggung pembeli.","tokodepanPays":"Biaya pengiriman pengembalian ditanggung Tokodepan.","noFreight":"Tidak ada biaya pengiriman pengembalian."},"closeComplaint":"Tutup komplain","closeComplaintTitle":"Tutup komplain?","closeComplaintBody":"Gunakan pilihan ini jika masalah sudah selesai, termasuk jika penjual sudah memberikan penjelasan, kompensasi, atau penggantian yang Anda terima.","closingComplaint":"Menutupâ¦","closeComplaintSuccess":"Komplain ditutup. Transaksi kini selesai.","closeComplaintError":"Komplain ini tidak dapat ditutup karena hasil finansial sudah diproses.","closedByBuyer":"Ditutup pembeli","de
9scriptionPlaceholder":"Jelaskan masalah yang terjadi dan penyelesaian yang Anda harapkan.","createEvidenceHelp":"Setelah dikirim, Anda dapat menambahkan hingga 5 gambar bukti di halaman komplain.","complaintLabel":"Komplain","caseOverview":"Ringkasan komplain","buyerReport":"Laporan Anda","evidenceHelp":"Gambar dari Anda, penjual, atau Tokodepan ditampilkan di sini. Pilih gambar untuk membukanya dalam ukuran penuh.","conversationHelp":"Pembaruan dan tanggapan dari semua pihak dalam komplain ini.","availableAction":"Tindakan yang tersedia","backToComplaints":"Lihat semua komplain","caseId":"ID komplain"},"returns":{"title":"Pengembalian","details":"Detail pengembalian","required":"Pengembalian barang diperlukan","notRequired":"Barang tidak perlu dikembalikan","reason":"Alasan pengembalian","address":"Alamat pengembalian","shipBack":"Kirim kembali barang","courier":"Kurir","trackingNumber":"Nomor resi","submitShipment":"Kirim data pengembalian","updateShipment":"Perbarui data pengiriman","deadline":"Batas waktu pengembalian","replacementItem":"Barang pengganti","empty":"Pengembalian tidak ditemukan","loading":"Memuat pengembalian","status":{"shipped":"Barang telah dikirim kembali","received":"Barang telah diterima","completed":"Pengembalian selesai","waiting":"Menunggu pengembalian","refundPending":"Pengembalian dana diproses","refundCompleted":"Pengembalian dana selesai"},"backToCatalog":"Kembali ke katalog","cancelRequest":"Batalkan permintaan pengembalian","cancelRequestConfirm":"Batalkan permintaan pengembalian ini?","item":"Barang","notes":"Catatan"},"notifications":{"title":"Notifikasi","description":"Dapatkan pemberitahuan saat ada pesan baru.","enable":"Aktifkan notifikasi","disable":"Nonaktifkan notifikasi","unsupported":"Notifikasi tidak didukung oleh browser ini.","denied":"Izin notifikasi diblokir. Aktifkan kembali melalui pengaturan browser atau perangkat.","platformDisabled":"Notifikasi belum tersedia saat ini.","iosInstallHelp":"Di iPhone atau iPad, notifikasi mungkin perlu membuka Tokodepan dari Layar Utama.","inactive":"Aktifkan pemberitahuan Tokodepan di perangkat ini.","statusActive":"Aktif","statusInactive":"Nonaktif","loading":"Memperbarui pengaturan notifikasiâ¦"},"about":{"eyebrow":"Tentang Tokodepan","title":"Marketplace yang tumbuh bersama penjual dan pembeli","intro":"Tokodepan berawal dari gagasan sederhana: belanja online seharusnya bisa tetap sederhana. Pembeli menemukan barang yang dicari dari penjual yang dapat dipercaya, penjual dapat fokus memberikan harga dan layanan yang baik, dan marketplace hadir untuk membantu keduanya bertransaksi dengan nyaman.","sellersTitle":"Tempat penjual tumbuh bersama kami","sellersDescription":"Kami ingin memperlakukan penjual sebagai rekan. Penjual tentu paling mengenal produknya sendiri, bagaimana mengemasnya dengan aman, kurir mana yang paling cocok, serta bagaimana melayani pembelinya. Karena itu, kami berusaha memberi ruang bagi penjual untuk menjalankan tokonya dengan cara yang paling sesuai bagi usahanya, sambil tetap menjaga pengalaman belanja yang baik untuk pembeli.","buyersTitle":"Lebih mudah menemukan penjual yang bisa dipercaya","buyersDescription":"Kami mengajak penjual yang sudah memiliki pengalaman dan rekam jejak baik dalam berjualan online untuk hadir di Tokodepan. Pilihannya mungkin tidak sebanyak marketplace lain, tetapi kami memilih untuk tumbuh bersama penjual yang kami percaya, supaya pembeli tidak perlu terlalu lama mencari toko yang tepat di antara begitu banyak pilihan.","experienceTitle":"Cari barangnya, temukan penjualnya","experienceDescription":"Tokodepan dibuat terutama untuk saat Anda sudah tahu apa yang ingin dibeli, merek, model, tipe, warna, atau spesifikasi tertentu. Cari produknya, bandingkan pilihan yang ada, lalu beli dari penjual yang cocok. Kami tidak ingin memperumit pengalaman belanja dengan terlalu banyak iklan, live selling, atau hal lain yang mengalihkan perhatian dari produk, harga, dan layanan yang sebenarnya dicari.","principlesTitle":"Biaya yang ringan, agar semua mendapatkan manfaatnya","principlesDescription":"Kami berusaha menjalankan Tokodepan seefisien mungkin agar komisi yang kami perlukan juga dapat dijaga serendah mungkin. Kami tentu perlu menutup biaya agar Tokodepan dapat terus berkembang, dan kami tahu penjual juga memiliki biaya untuk menjalankan usahanya. Harapan kami sederhana: semakin ringan biaya marketplace, semakin besar ruang bagi penjual untuk terus memberikan harga dan layanan yang baik kepada pembeli.","togetherTitle":"Marketplace yang kita jaga bersama","togetherDescription":"Kami percaya semua penjual ingin mengirim barang dengan baik, mengemasnya dengan aman, dan membantu ketika pembeli membutuhkan sesuatu. Kami juga percaya pembeli ingin menerima barang yang sesuai dan mendapatkan bantuan yang adil ketika terjadi masalah. Jika ada kendala setelah transaksi, Tokodepan akan membantu melihat persoalannya dengan adil bagi kedua pihak. Kami mungkin tidak sempurna, tetapi kami ingin terus membangun tempat berbelanja yang sehat, aman, dan menyenangkan bersama penjual dan pembeli.","shopCta":"Mulai belanja"},"contact":{"eyebrow":"Kontak Tokodepan","title":"Hubungi Tokodepan","intro":"Ada yang ingin ditanyakan, butuh bantuan, atau ingin berbicara dengan kami? Silakan hubungi Tokodepan melalui informasi di bawah ini. Kami akan dengan senang hati membantu mengarahkan kebutuhan Anda ke tim yang tepat.","companyTitle":"Informasi dan kontak","companyDescription":"Anda dapat menghubungi Tokodepan melalui kanal berikut.","addressLabel":"Alamat","addressValue":"PT Tokodepan Pusaka Bangsa - Wisma KEIAI, JL Jend Sudirman Kav 3-4, Unit 1410, Jakarta Pusat. *Dengan perjanjian.","emailLabel":"Email","emailValue":"[email protected]","phoneLabel":"WhatsApp","phoneValue":"085174386938","hoursLabel":"Jam layanan","hoursValue":"09.00-17.00","buyerSupp
9ortTitle":"Butuh bantuan dengan pesanan?","buyerSupportDescription":"Untuk pertanyaan mengenai pesanan, pembayaran, pengiriman, komplain, atau akun Tokodepan, pembeli yang sudah masuk dapat menggunakan Pusat Bantuan. Jika berkaitan dengan transaksi tertentu, sertakan nomor pesanan agar kami dapat membantu memeriksanya dengan lebih mudah.","helpCta":"Buka Pusat Bantuan","sellerSupportTitle":"Untuk penjual dan calon mitra","sellerSupportDescription":"Penjual dapat menggunakan link bantuan yang tersedia di Pusat Penjual. Jika Anda ingin berbicara dengan kami mengenai kerja sama atau hal lain tentang Tokodepan, silakan gunakan informasi kontak di atas."},"home":{"searchPlaceholder":"Merek, tipe, nomor model ...","heroTitle":"Mau beli apa?","search":"Cari","openingSearchResults":"Membuka hasil pencarian","banners":"Banner beranda"},"catalog":{"shipment":"Pengiriman","storeCourier":"Kurir toko","shippingFrom":"Ongkir dari {{amount}}","standard":"Reguler","cargo":"Kargo","sameDay":"Same day","instant":"Instan"},"product":{"purchaseQuantityRange":"Jumlah pembelian: {{min}}â{{max}} per transaksi","purchaseQuantityMin":"Jumlah pembelian: Min {{min}} per transaksi","itemPrice":"Harga barang","quantity":"Jumlah","shippingEstimateFrom":"Estimasi ongkir dari {{amount}}","itemsSubtotal":"Subtotal barang","addToCart":"Tambah ke keranjang","addingToCart":"Menambahkan...","addedToCart":"Berhasil ditambahkan","buyNow":"Beli sekarang","chatWithSeller":"Chat penjual","openingChat":"Membuka chat...","specifications":"Spesifikasi","stockAvailable":"Stok tersedia: {{stock}}","category":"Kategori: {{category}}","categoryOther":"Lainnya","storeRating":"Rating toko: {{rating}} / 5 ({{count}} ulasan)","storeRatingEmpty":"Belum ada rating toko","reviewCount":"{{count}} ulasan","share":"Bagikan","loadingEstimate":"Memuat estimasiâ¦","estimateUnavailableRoute":"Estimasi belum tersedia untuk rute ini","addAddressShippingEstimate":"Tambahkan alamat untuk melihat estimasi ongkir","stockBelowMinimum":"Stok tersedia di bawah jumlah minimum pembelian.","preorder":"Preorder","preorderProduct":"Produk preorder","preorderShipsWithin":"Preorder: dikirim dalam {{days}} hari","estimateUnavailableSeller":"Estimasi belum tersedia untuk penjual ini","estimateUnavailable":"Estimasi belum tersedia","addAddressEstimate":"Tambahkan alamat untuk melihat estimasi"},"reviews":{"allRatings":"Semua rating","ratingFilter":"Rating","stars":"{{count}} bintang","sort":"Urutkan","newest":"Terbaru","oldest":"Terlama","highestRating":"Rating tertinggi","lowestRating":"Rating terendah"},"categories":{"electronics":"Elektronik","electronicsTvAudio":"TV & Audio","electronicsTvAudioTelevision":"Televisi","electronicsTvAudioProjector":"Proyektor","electronicsTvAudioSpeaker":"Speaker","electronicsTvAudioHeadphonesEarphones":"Headphone & Earphone","electronicsTvAudioOther":"Lainnya","electronicsCameras":"Kamera","electronicsCamerasCctv":"CCTV","electronicsCamerasActionCamera":"Kamera Aksi","electronicsCamerasDashCam":"Kamera Dasbor","electronicsCamerasCameraAccessories":"Aksesori Kamera","electronicsCamerasOther":"Lainnya","electronicsSmartHome":"Rumah Pintar","electronicsSmartHomeSmartBulb":"Lampu Pintar","electronicsSmartHomeSmartSwitch":"Sakelar Pintar","electronicsSmartHomeSmartSecurityDevice":"Perangkat Keamanan Pintar","electronicsSmartHomeOther":"Lainnya","electronicsOther":"Lainnya","electronicsOtherOther":"Lainnya","computersOffice":"Komputer & Kantor","computersOfficeComputersLaptops":"Komputer & Laptop","computersOfficeComputersLaptopsLaptop":"Laptop","computersOfficeComputersLaptopsDesktopPc":"PC Desktop","computersOfficeComputersLaptopsMiniPc":"Mini PC","computersOfficeComputersLaptopsOther":"Lainnya","computersOfficeComputerComponents":"Komponen Komputer","computersOfficeComputerComponentsProcessor":"Prosesor","computersOfficeComputerComponentsMotherboard":"Motherboard","computersOfficeComputerComponentsRam":"RAM","computersOfficeComputerComponentsGraphicsCard":"Kartu Grafis","computersOfficeComputerComponentsPowerSupply":"Power Supply","computersOfficeComputerComponentsOther":"Lainnya","computersOfficeStorage":"Penyimpanan","computersOfficeStorageSsd":"SSD","computersOfficeStorageHdd":"HDD","computersOfficeStorageFlashDrive":"Flash Drive","computersOfficeStorageMemoryCard":"Kartu Memori","computersOfficeStorageOther":"Lainnya","computersOfficePeripherals":"Periferal","computersOfficePeripheralsMonitor":"Monitor","computersOfficePeripheralsKeyboard":"Keyboard","computersOfficePeripheralsMouse":"Mouse","computersOfficePeripheralsPrinter":"Printer","computersOfficePeripheralsScanner":"Scanner","computersOfficePeripheralsOther":"Lainnya","computersOfficeNetworking":"Jaringan","computersOfficeNetworkingRouter":"Router","computersOfficeNetworkingAccessPoint":"Access Point","computersOfficeNetworkingLanCable":"Kabel LAN","computersOfficeNetworkingOther":"Lainnya","computersOfficeOfficeSupplies":"Perlengkapan K
9antor","computersOfficeOfficeSuppliesStationery":"Alat Tulis","computersOfficeOfficeSuppliesPaper":"Kertas","computersOfficeOfficeSuppliesFilingOrganization":"Arsip & Pengaturan","computersOfficeOfficeSuppliesOther":"Lainnya","computersOfficeOther":"Lainnya","computersOfficeOtherOther":"Lainnya","phonesTablets":"Ponsel & Tablet","phonesTabletsMobilePhones":"Ponsel","phonesTabletsMobilePhonesSmartphone":"Smartphone","phonesTabletsMobilePhonesFeaturePhone":"Ponsel Fitur","phonesTabletsMobilePhonesOther":"Lainnya","phonesTabletsTablets":"Tablet","phonesTabletsTabletsTablet":"Tablet","phonesTabletsTabletsOther":"Lainnya","phonesTabletsWearables":"Wearable","phonesTabletsWearablesSmartwatch":"Smartwatch","phonesTabletsWearablesFitnessBand":"Gelang Fitness","phonesTabletsWearablesOther":"Lainnya","phonesTabletsAccessories":"Aksesori","phonesTabletsAccessoriesPhoneCase":"Casing Ponsel","phonesTabletsAccessoriesCharger":"Charger","phonesTabletsAccessoriesCable":"Kabel","phonesTabletsAccessoriesPowerBank":"Power Bank","phonesTabletsAccessoriesScreenProtector":"Pelindung Layar","phonesTabletsAccessoriesHolderStand":"Holder & Stand","phonesTabletsAccessoriesOther":"Lainnya","phonesTabletsOther":"Lainnya","phonesTabletsOtherOther":"Lainnya","homeLiving":"Rumah & Gaya Hidup","homeLivingFurniture":"Furnitur","homeLivingFurnitureTable":"Meja","homeLivingFurnitureChair":"Kursi","homeLivingFurnitureShelf":"Rak","homeLivingFurnitureCabinet":"Lemari","homeLivingFurnitureBedFrame":"Rangka Tempat Tidur","homeLivingFurnitureOther":"Lainnya","homeLivingHomeDecor":"Dekorasi Rumah","homeLivingHomeDecorWallDecor":"Dekorasi Dinding","homeLivingHomeDecorClock":"Jam","homeLivingHomeDecorLamp":"Lampu","homeLivingHomeDecorOther":"Lainnya","homeLivingBedding":"Perlengkapan Tidur","homeLivingBeddingBedsheet":"Sprei","homeLivingBeddingPillow":"Bantal","homeLivingBeddingBlanket":"Selimut","homeLivingBeddingOther":"Lainnya","homeLivingStorageOrganization":"Penyimpanan & Pengaturan","homeLivingStorageOrganizationStorageBox":"Kotak Penyimpanan","homeLivingStorageOrganizationHanger":"Gantungan","homeLivingStorageOrganizationRack":"Rak","homeLivingStorageOrganizationOther":"Lainnya","homeLivingCleaningSupplies":"Perlengkapan Kebersihan","homeLivingCleaningSuppliesBroomMop":"Sapu & Pel","homeLivingCleaningSuppliesCleaningCloth":"Kain Lap","homeLivingCleaningSuppliesTrashBin":"Tempat Sampah","homeLivingCleaningSuppliesOther":"Lainnya","homeLivingOther":"Lainnya","homeLivingOtherOther":"Lainnya","kitchenAppliances":"Dapur & Peralatan","kitchenAppliancesKitchenware":"Peralatan Dapur","kitchenAppliancesKitchenwareCookware":"Alat Masak","kitchenAppliancesKitchenwareFryingPan":"Wajan","kitchenAppliancesKitchenwarePot":"Panci","kitchenAppliancesKitchenwareKnife":"Pisau","kitchenAppliancesKitchenwareFoodContainer":"Wadah Makanan","kitchenAppliancesKitchenwareOther":"Lainnya","kitchenAppliancesSmallAppliances":"Peralatan Elektronik Kecil","kitchenAppliancesSmallAppliancesRiceCooker":"Rice Cooker","kitchenAppliancesSmallAppliancesBlender":"Blender","kitchenAppliancesSmallAppliancesMicrowave":"Microwave","kitchenAppliancesSmallAppliancesAirFryer":"Air Fryer","kitchenAppliancesSmallAppliancesCoffeeMachine":"Mesin Kopi","kitchenAppliancesSmallAppliancesOther":"Lainnya","kitchenAppliancesLargeAppliances":"Peralatan Elektronik Besar","kitchenAppliancesLargeAppliancesRefrigerator":"Kulkas","kitchenAppliancesLargeAppliancesWashingMachine":"Mesin Cuci","kitchenAppliancesLargeAppliancesWaterDispenser":"Dispenser Air","kitchenAppliancesLargeAppliancesOther":"Lainnya","kitchenAppliancesOther":"Lainnya","kitchenAppliancesOtherOther":"Lainnya","fashion":"Fashion","fashionMenSFashion":"Fashion Pria","fashionMenSFashionTops":"Atasan","fashionMenSFashionShirts":"Kemeja","fashionMenSFashionTShirts":"Kaos","fashionMenSFashionPants":"Celana","fashionMenSFashionJackets":"Jaket","fashionMenSFashionOther":"Lainnya","fashionWomenSFashion":"Fashion Wanita","fashionWomenSFashionDresses":"Dress","fashionWomenSFashionTops":"Atasan","fashionWomenSFashionPants":"Celana","fashionWomenSFashionSkirts":"Rok","fas
9hionWomenSFashionOuterwear":"Outerwear","fashionWomenSFashionOther":"Lainnya","fashionMuslimFashion":"Fashion Muslim","fashionMuslimFashionHijab":"Hijab","fashionMuslimFashionMukena":"Mukena","fashionMuslimFashionMuslimWear":"Busana Muslim","fashionMuslimFashionOther":"Lainnya","fashionShoes":"Sepatu","fashionShoesMenSShoes":"Sepatu Pria","fashionShoesWomenSShoes":"Sepatu Wanita","fashionShoesSandals":"Sandal","fashionShoesOther":"Lainnya","fashionBags":"Tas","fashionBagsBackpack":"Ransel","fashionBagsHandbag":"Tas Tangan","fashionBagsWallet":"Dompet","fashionBagsOther":"Lainnya","fashionAccessories":"Aksesori","fashionAccessoriesBelt":"Ikat Pinggang","fashionAccessoriesHat":"Topi","fashionAccessoriesWatch":"Jam Tangan","fashionAccessoriesOther":"Lainnya","fashionOther":"Lainnya","fashionOtherOther":"Lainnya","beautyPersonalCare":"Kecantikan & Perawatan Diri","beautyPersonalCareMakeup":"Makeup","beautyPersonalCareMakeupFaceMakeup":"Makeup Wajah","beautyPersonalCareMakeupLipMakeup":"Makeup Bibir","beautyPersonalCareMakeupEyeMakeup":"Makeup Mata","beautyPersonalCareMakeupOther":"Lainnya","beautyPersonalCareSkincare":"Skincare","beautyPersonalCareSkincareCleanser":"Pembersih Wajah","beautyPersonalCareSkincareMoisturizer":"Pelembap","beautyPersonalCareSkincareSunscreen":"Sunscreen","beautyPersonalCareSkincareOther":"Lainnya","beautyPersonalCareHairCare":"Perawatan Rambut","beautyPersonalCareHairCareShampoo":"Sampo","beautyPersonalCareHairCareConditioner":"Kondisioner","beautyPersonalCareHairCareHairTreatment":"Perawatan Rambut","beautyPersonalCareHairCareOther":"Lainnya","beautyPersonalCareBathBody":"Mandi & Perawatan Tubuh","beautyPersonalCareBathBodySoap":"Sabun","beautyPersonalCareBathBodyBodyLotion":"Body Lotion","beautyPersonalCareBathBodyDeodorant":"Deodoran","beautyPersonalCareBathBodyOther":"Lainnya","beautyPersonalCareFragrance":"Parfum & Wewangian","beautyPersonalCareFragrancePerfume":"Parfum","beautyPersonalCareFragranceOther":"Lainnya","beautyPersonalCarePersonalCare":"Perawatan Diri","beautyPersonalCarePersonalCareOralCare":"Perawatan Mulut","beautyPersonalCarePersonalCareShavingGrooming":"Cukur & Grooming","beautyPersonalCarePersonalCareOther":"Lainnya","beautyPersonalCareOther":"Lainnya","beautyPersonalCareOtherOther":"Lainnya","babyKids":"Bayi & Anak","babyKidsBabyEssentials":"Kebutuhan Bayi","babyKidsBabyEssentialsDiapers":"Popok","babyKidsBabyEssentialsBabyWipes":"Tisu Basah Bayi","babyKidsBabyEssentialsFeedingAccessories":"Perlengkapan Makan Bayi","babyKidsBabyEssentialsOther":"Lainnya","babyKidsBabyGear":"Perlengkapan Bayi","babyKidsBabyGearStroller":"Stroller","babyKidsBabyGearCarSeat":"Car Seat","babyKidsBabyGearBabyCarrier":"Gendongan Bayi","babyKidsBabyGearOther":"Lainnya","babyKidsBabyClothing":"Pakaian Bayi","babyKidsBabyClothingBabyClothes":"Baju Bayi","babyKidsBabyClothingOther":"Lainnya","babyKidsToys":"Mainan","babyKidsToysEducationalToys":"Mainan Edukasi","babyKidsToysDollsFigures":"Boneka & Figur","babyKidsToysBuildingToys":"Mainan Bongkar Pasang","babyKidsToysOther":"Lainnya","babyKidsKidsFashion":"Fashion Anak","babyKidsKidsFashionKidsClothes":"Baju Anak","babyKidsKidsFashionKidsShoes":"Sepatu Anak","babyKidsKidsFashionOther":"Lainnya","babyKidsOther":"Lainnya","babyKidsOtherOther":"Lainnya","health":"Kesehatan","healthSupplements":"Suplemen","healthSupplementsVitamins":"Vitamin","healthSupplementsHerbalSupplements":"Suplemen Herbal","healthSupplementsOther":"Lainnya","healthMedicalSupplies":"Perlengkapan Medis","healthMedicalSuppliesThermometer":"Termometer","healthMedicalSuppliesMask":"Masker","healthMedicalSuppliesFirstAid":"P3K","healthMedicalSuppliesOther":"Lainnya","healthWellness":"Kebugaran & Kesehatan","healthWellnessMassageTools":"Alat Pijat","healthWellnessHealthMonitoringDevice":"Alat Pemantau Kesehatan","healthWellnessOther":"Lainnya","healthOther":"Lainnya","healthOtherOther":"Lainnya","sportsOutdoors":"Olahraga & Outdoor","sportsOutdoorsFitness":"Fitness","sportsOutdoorsFitnessHomeGymEquipment":"Peralatan Gym Rumah","sportsOutdoorsFitnessYogaPilates":"Yoga & Pilates","sportsOutdoorsFitnessDumbbell":"Dumbbell","sportsOutdoorsFitnessOther":"Lainnya","sportsOutdoorsCycling":"Bersepeda","sportsOutdoorsCyclingBicycleAccessories":"Aksesori Sepeda","sportsOutdoorsCyclingOther":"Lainnya","sportsOutdoorsCamping":"Camping","sportsOutdoorsCampingCampingGear":"Perlengkapan Camping","sportsOutdoorsCampingOther":"Lainnya","sportsOutdoorsOutdoorAccessories":"Aksesori Outdoor","sportsOutdoorsOutdoorAccessoriesBagHydration":"Tas & Hidrasi","sportsOutdoorsOutdoorAccessoriesOther":"Lainnya","sportsOutdoorsBallSports":"Olahraga Bola","sportsOutdoorsBallSportsBadminton":"Badminton","sportsOutdoorsBallSportsFutsalFootball":"Futsal & Sepak Bola","sportsOutdoorsBallSportsOther":"Lainnya","sportsOutdoorsOther":"Lainnya","sportsOutdoorsOtherOther":"Lainnya","automotive":"Otomotif","automotiveCarAccessories":"Aksesori Mobil","automotiveCarAccessoriesCarInteriorAccessories":"Aksesori Interior Mobil","automotiveCarAccessoriesCarExteriorAccessories":"Aksesori Eksterior Mobil","automotiveCarAccessoriesPhoneHolder":"Holder Ponsel","automotiveCarAccessoriesOther":"Lainnya","automotiveCarCare":"Perawatan Mobil","automotiveCarCareCarWashPolish":"Cuci & Poles Mobil","automotiveCarCareEngineCare":"Perawatan Mesin","automotiveCarCareOther":"Lainnya","automotiveMotorcycleAccessories":"Aksesori Motor","automotiveMotorcycleAccessoriesHelmet":"Helm","automotiveMotorcycleAccessoriesRaincoat":"Jas Hujan","automotiveMotorcycleAccessoriesRidingGear":"Perlengkapan Berkendara","automotiveMotorcycleAccessoriesOther":"Lainnya","automotiveSpareParts":"Suku C
9adang","automotiveSparePartsBattery":"Aki & Baterai","automotiveSparePartsLampLighting":"Lampu & Pencahayaan","automotiveSparePartsTiresWheels":"Ban & Roda","automotiveSparePartsOther":"Lainnya","automotiveOther":"Lainnya","automotiveOtherOther":"Lainnya","books":"Buku","booksBooks":"Buku","booksBooksFiction":"Fiksi","booksBooksNonFiction":"Non-Fiksi","booksBooksChildrenSBooks":"Buku Anak","booksBooksSchoolBooks":"Buku Sekolah","booksBooksOther":"Lainnya","booksMagazinesMedia":"Majalah & Media","booksMagazinesMediaMagazine":"Majalah","booksMagazinesMediaPrintedMedia":"Media Cetak","booksMagazinesMediaOther":"Lainnya","booksOther":"Lainnya","booksOtherOther":"Lainnya","hobbiesCollectibles":"Hobi & Koleksi","hobbiesCollectiblesHobbies":"Hobi","hobbiesCollectiblesHobbiesArtSupplies":"Perlengkapan Seni","hobbiesCollectiblesHobbiesCraftSupplies":"Perlengkapan Kerajinan","hobbiesCollectiblesHobbiesMusicalInstrumentAccessories":"Aksesori Alat Musik","hobbiesCollectiblesHobbiesOther":"Lainnya","hobbiesCollectiblesCollectibles":"Koleksi","hobbiesCollectiblesCollectiblesFigures":"Figur","hobbiesCollectiblesCollectiblesCards":"Kartu","hobbiesCollectiblesCollectiblesMemorabilia":"Memorabilia","hobbiesCollectiblesCollectiblesOther":"Lainnya","hobbiesCollectiblesOther":"Lainnya","hobbiesCollectiblesOtherOther":"Lainnya","groceriesPets":"Kebutuhan Harian & Hewan","groceriesPetsGroceries":"Kebutuhan Harian","groceriesPetsGroceriesSnacks":"Camilan","groceriesPetsGroceriesBeverages":"Minuman","groceriesPetsGroceriesInstantFood":"Makanan Instan","groceriesPetsGroceriesCookingIngredients":"Bahan Masakan","groceriesPetsGroceriesOther":"Lainnya","groceriesPetsPetSupplies":"Perlengkapan Hewan","groceriesPetsPetSuppliesPetFood":"Makanan Hewan","groceriesPetsPetSuppliesPetAccessories":"Aksesori Hewan","groceriesPetsPetSuppliesPetHygiene":"Kebersihan Hewan","groceriesPetsPetSuppliesOther":"Lainnya","groceriesPetsOther":"Lainnya","groceriesPetsOtherOther":"Lainnya","toolsIndustry":"Perkakas & Industri","toolsIndustryTools":"Perkakas","toolsIndustryToolsHandTools":"Perkakas Tangan","toolsIndustryToolsPowerTools":"Perkakas Listrik","toolsIndustryToolsMeasurementTools":"Alat Ukur","toolsIndustryToolsOther":"Lainnya","toolsIndustryElectrical":"Kelistrikan","toolsIndustryElectricalLighting":"Pencahayaan","toolsIndustryElectricalCablesPlugs":"Kabel & Steker","toolsIndustryElectricalOther":"Lainnya","toolsIndustryHardware":"Perangkat Keras","toolsIndustryHardwareFasteners":"Pengencang","toolsIndustryHardwareLocksSecurity":"Kunci & Keamanan","toolsIndustryHardwareOther":"Lainnya","toolsIndustryIndustrialSupplies":"Perlengkapan Industri","toolsIndustryIndustrialSuppliesSafetyEquipment":"Peralatan Keselamatan","toolsIndustryIndustrialSuppliesOther":"Lainnya","toolsIndustryOther":"Lainnya","toolsIndustryOtherOther":"Lainnya","other":"Lainnya","otherOther":"Lainnya","otherOtherOther":"Lainnya"},"pwa":{"title":"Instal Tokodepan","description":"Cek harga dan belanja lebih cepat langsung dari layar utama.","entry":"Instal aplikasi","install":"Instal","later":"Nanti","close":"Tutup petunjuk instalasi","manual":{"android":{"intro":"Instalasi dilakukan dari menu browser. Nama menu dapat berbeda.","step1":"Buka menu browser (â®).","step2":"Pilih âInstal aplikasiâ atau âTambahkan ke layar utamaâ.","step3":"Konfirmasi instalasi."},"ios-safari":{"intro":"Gunakan menu Bagikan di Safari.","step1":"Buka aplikasi ini di Safari.","step2":"Ketuk tombol Bagikan.","step3":"Pilih âTambahkan ke Layar Utamaâ (Add to Home Screen).","step4":"Konfirmasi dengan âTambahâ (Add)."},"ios-other":{"intro":"Di iPhone atau iPad, selesaikan instalasi melalui Safari.","step1":"Buka halaman ini di Safari.","step2":"Ketuk tombol Bagikan.","step3":"Pilih âTambahkan ke Layar Utamaâ (Add to Home Screen).","step4":"Konfirmasi dengan âTambahâ (Add)."},"desktop":{"intro":"Ketersediaan instalasi bergantung pada browser desktop Anda.","step1":"Cari ikon instalasi di bilah alamat atau buka menu browser.","step2":"Pilih opsi untuk menginstal aplikasi jika tersedia.","step3":"Konfirmasi instalasi."}},"updateReady":"Versi baru Tokodepan tersedia","update":"Perbarui","updating":"Memperbaruiâ¦","updateFailed":"Pembaruan belum dapat diterapkan. Coba lagi.","homeBanner":{"title":"Instal aplikasi Tokodepan","description":"Belanja lebih cepat langsung dari layar utama.","
9install":"Instal","dismiss":"Sembunyikan ajakan instal aplikasi"}},"cancellation":{"paymentExpired":{"title":"Pembayaran kedaluwarsa","detail":"Batas waktu pembayaran terlewati sebelum pembayaran berhasil diselesaikan."},"sellerMissedDeadline":{"title":"Pesanan dibatalkan karena batas waktu penjual terlewati","detail":"Penjual tidak memproses pengiriman sebelum batas waktu. Pesanan dibatalkan otomatis dan pengembalian dana Anda sedang diproses."},"paymentFailed":{"title":"Pembayaran gagal","detail":"Pembayaran tidak dapat diselesaikan."},"sellerCancelled":{"title":"Pesanan dibatalkan oleh penjual"},"buyerRequest":{"title":"Dibatalkan atas permintaan pembeli","buyerReason":"Alasan pembeli: {{reason}}","sellerNote":"Catatan penjual: {{note}}"},"opsCancelled":{"title":"Dibatalkan oleh Ops Tokodepan"},"paymentNotCompleted":{"title":"Pembayaran belum selesai","detail":"Pesanan dibatalkan karena pembayaran belum diselesaikan."},"unknown":{"title":"Dibatalkan"},"shipment_returned":{"title":"Pesanan dibatalkan karena paket dikembalikan ke penjual.","detail":"Pesanan dibatalkan karena paket dikembalikan ke penjual."},"shipment_lost":{"title":"Pesanan dibatalkan karena paket dinyatakan hilang dalam pengiriman.","detail":"Pesanan dibatalkan karena paket dinyatakan hilang dalam pengiriman."},"shipment_damaged":{"title":"Pesanan diselesaikan karena paket mengalami kerusakan dalam pengiriman.","detail":"Pesanan diselesaikan karena paket mengalami kerusakan dalam pengiriman."},"shipment_rejected":{"title":"Pesanan dibatalkan setelah pengiriman ditolak.","detail":"Pesanan dibatalkan setelah pengiriman ditolak."},"shipment_disposed":{"title":"Pesanan dibatalkan karena paket dimusnahkan kurir.","detail":"Pesanan dibatalkan karena paket dimusnahkan kurir."},"shipment_delivery_failed":{"title":"Pesanan dibatalkan karena pengiriman gagal.","detail":"Pesanan dibatalkan karena pengiriman gagal."}},"storePage":{"documentTitle":"Tokodepan - Toko","backToSearch":"Kembali ke pencarian","loadingStore":"Memuat toko","storeBanner":"Banner {{store}}","defaultStoreName":"Toko Tokodepan","noDescription":"Penjual belum menambahkan deskripsi lengkap toko.","locationLabel":"Lokasi:","noLocation":"Lokasi belum ditentukan.","announcementLabel":"Pengumuman:","noAnnouncement":"Belum ada pengumuman toko.","operationalHoursLabel":"Jam Operasional:","noOperationalHours":"Jam operasional belum diatur.","ratingLabel":"Rating:","ratingSummary":"{{rating}} / 5 ({{count}} ulasan)","filteredRatingSummary":"{{rating}} / 5 dari {{count}} ulasan","noReviews":"Belum ada ulasan","productsTab":"Produk","reviewsTab":"Ulasan","productsHeading":"Produk dari toko ini","reviewsHeading":"Ulasan Toko","searchPlaceholder":"Cari produk di toko ini","searchAria":"Cari produk di toko ini","searchButton":"Cari produk","sortProductsAria":"Urutkan produk toko","sort":{"bestSelling":"Terlaris (tinggi ke rendah)","priceLow":"Harga (rendah ke tinggi)","priceHigh":"Harga (tinggi ke rendah)","nameAsc":"Nama (A ke Z)","nameDesc":"Nama (Z ke A)","soldLow":"Jumlah terjual (rendah ke tinggi)"},"reviewFilters":{"rating":"Rating","allRatings":"Semua rating","stars":"{{count}} bintang","sort":"Urutkan","newest":"Terbaru","oldest":"Terlama","highest":"Rating tertinggi","lowest":"Rating terendah"},"loadingReviews":"Memuat ulasan toko","noCommentary":"Belum ada komentar pembeli.","openReviewedProduct":"Buka produk yang diulas {{product}}","reviewedProduct":"Produk yang diulas","buyer":"Pembeli","productLabel":"Produk:","ratingWithoutNote":"Pembeli memberikan rating tanpa catatan tertulis.","sellerResponse":"Tanggapan penjual","edited":"Diedit","reviewImage":"Gambar ulasan","openReviewImage":"Buka gambar ulasan {{number}}","refreshingProducts":"Memperbarui produk","noMatchingProducts":"Tidak ada produk
9yang sesuai dengan pencarian Anda di toko ini.","noActiveProducts":"Belum ada produk aktif.","untitledProduct":"Produk tanpa judul","soldLabel":"Terjual:","outOfStock":"Stok habis","inStock":"Tersedia","unavailableCheckout":"Saat ini tidak tersedia untuk dibeli","reviewImageViewer":"Penampil gambar ulasan","closeReviewImageViewer":"Tutup penampil gambar ulasan","errors":{"loadStore":"Tidak dapat memuat toko.","loadProducts":"Tidak dapat memuat produk toko.","loadReviews":"Tidak dapat memuat ulasan toko."}},"paymentHandoff":{"title":"Menyiapkan pembayaran","description":"Mohon tunggu. Anda akan diarahkan ke halaman pembayaran.","loadingLabel":"Menyiapkan pembayaran"}}`),productDetail:{sellerResponse:`Tanggapan penjual`,edited:`Diedit`}},gr={ops:JSON.parse(`{"siteSettings":{"title":"Pengaturan Situs","defaultLanguage":"Bahasa bawaan situs","defaultLanguageHelp":"Menentukan bahasa antarmuka bawaan untuk pembeli, penjual, dan pengguna Ops yang belum memilih bahasa pribadi.","myLanguage":"Bahasa antarmuka saya","myLanguageHelp":"Preferensi lokal untuk browser ini. Tidak mengubah bawaan situs.","saved":"Pengaturan bahasa situs disimpan.","loadFailed":"Pengaturan bahasa situs gagal dimuat.","saveFailed":"Pengaturan bahasa situs gagal disimpan.","invalidLanguage":"Pilih bahasa yang didukung.","save":"Simpan","saving":"Menyimpan","reset":"Atur ulang","cancel":"Batal","loading":"Memuat pengaturan","globalSetting":"Pengaturan global","personalPreference":"Preferensi pribadi","indonesianFallback":"Bahasa Indonesia sebagai bawaan","effectiveLanguage":"Bahasa yang digunakan","currentDefault":"Bawaan saat ini","unsavedChanges":"Perubahan belum disimpan","guestCheckout":"Izinkan mode tamu dengan OTP WhatsApp","guestCheckoutHelp":"Mengontrol verifikasi baru untuk checkout tamu dan chat tamu.","guestCheckoutDisabledHelp":"Jika dinonaktifkan, verifikasi baru untuk checkout tamu dan chat tamu tidak tersedia. Sesi tamu yang sudah terverifikasi tetap dapat digunakan sampai kedaluwarsa.","shippingProviders":{"title":"Provider pengiriman","loading":"Memuat provider pengirimanâ¦","empty":"Belum ada provider pengiriman yang dikonfigurasi.","loadFailed":"Provider pengiriman gagal dimuat.","saveFailed":"Provider pengiriman gagal diperbarui.","toggle":"Atur status aktif {{name}}","storeCourierHelp":"Toggle global Kurir Toko mengontrol ketersediaan di seluruh platform. Setiap seller juga harus mengaktifkan Kurir Toko dan mengatur tarif cakupan aktif yang sesuai sebelum menawarkannya kepada pembeli."},"platform":{"title":"Mode platform","current":"Saat ini:","help":"Gunakan mode selain normal hanya selama deployment atau insiden yang memerlukan pembatasan di seluruh marketplace.","loading":"Memuat mode platformâ¦","loadFailed":"Mode platform gagal dimuat.","saveFailed":"Mode platform gagal disimpan.","saved":"Mode platform disimpan.","modeLabel":"Mode","messageLabel":"Pesan pemeliharaan","messagePlaceholder":"Tokodepan sedang diperbarui. Silakan coba lagi dalam bebera
9pa menit.","messageHelp":"Pesan kosong akan menggunakan pesan pemeliharaan bawaan.","saving":"Menyimpanâ¦","save":"Simpan mode platform","modes":{"normal":{"label":"Normal","description":"Operasi situs normal"},"write_freeze":{"label":"Pembekuan penulisan","description":"Akses baca tetap tersedia sementara tindakan berisiko dan penulisan dijeda","warning":"Pembekuan penulisan memengaruhi seluruh marketplace dengan menjeda tindakan berisiko dan penulisan."},"maintenance":{"label":"Pemeliharaan","description":"Sebagian besar akses aplikasi dijeda","warning":"Pemeliharaan memengaruhi seluruh marketplace dengan menjeda sebagian besar akses aplikasi."}},"unsavedSelection":"Pilihan belum disimpan"},"banners":{"title":"Banner situs","help":"Satu gambar aktif ditampilkan sebagai banner statis. Beberapa gambar aktif berganti sebagai slideshow. Jika tidak ada yang aktif, area banner tidak ditampilkan.","loading":"Memuat bannerâ¦","loadFailed":"Banner situs gagal dimuat.","mutationFailed":"Banner situs gagal diperbarui.","upload":"Unggah gambar","uploading":"Mengunggahâ¦","empty":"Belum ada banner.","enable":"Aktifkan","disable":"Nonaktifkan","up":"Naikkan","down":"Turunkan","delete":"Hapus","surfaces":{"buyer_home":"Banner beranda pembeli","seller_dashboard":"Banner dasbor penjual"}}},"pickupWarnings":{"multiple_pickup_failures":"Penjemputan telah gagal beberapa kali. Periksa kesalahan provider terbaru, riwayat percobaan, dan jadwal percobaan berikutnya sebelum melakukan tindakan manual.","automatic_retry_limit_reached":"Percobaan penjemputan otomatis telah mencapai batas yang ditetapkan. Periksa kesalahan provider terbaru dan lakukan percobaan manual jika diperlukan.","total_retry_limit_reached":"Percobaan penjemputan telah mencapai batas total yang ditetapkan. Periksa kesalahan provider terbaru dan lakukan eskalasi atau investigasi sebelum memberikan override."},"shell":{"backToCatalog":"Kembali ke katalog","logoutFailed":"Gagal keluar. Silakan coba lagi.","planned":"direncanakan","navigation":"Navigasi Ops","currentPage":"Halaman saat ini","more":"Lainnya","moreMenu":"Halaman Ops lainnya","loading":"Memuat Ops","whatsappUnread":"WhatsApp: {{count}} pesan belum dibaca","whatsappUnreadMore":"WhatsApp: lebih dari {{count}} pesan belum dibaca"},"nav":{"dashboard":"Dasbor","support":"Pesan Dukungan","whatsappSupport":"Dukungan WhatsApp","transactionIssues":"Masalah Transaksi","complaints":"Komplain / Sengketa","sellers":"Moderasi Penjual","products":"Moderasi Produk","holidays":"Kalender Hari Libur","shippingTest":"Uji Pengiriman","platformPromotions":"Promo Platform","finance":"Keuangan","siteSettings":"Pengaturan Situs","orderSettings":"Pengaturan Pesanan","paymentSettings":"Pengaturan Pembayaran","users":"Pengguna","refundRequests":"Permintaan refund","buyers":"Moderasi Pembeli","emergencySla":"Insiden SLA Darurat"},"holidays":{"title":"Pengelolaan hari libur","slaExplanation":"Perhitungan SLA hari kerja mengecualikan akhir pekan dan hari libur aktif di bawah ini.","namePlaceholder":"Nama hari libur","active":"Aktif","inactive":"Tidak aktif","save":"Simpan hari libur","add":"Tambah hari libur","cancelEdit":"Batalkan edit","loading":"Memuat hari libur...","empty":"Belum ada hari libur yang dikonfigurasi.","date":"Tanggal","name":"Nama","status":"Status","actions":"Tindakan","edit":"Edit","delete":"Hapus","editorTitle":"Tambah hari libur","editingTitle":"Edit hari libur","editingBadge":"Sedang mengedit","dateLabel":"Tanggal","nameLabel":"Nama hari libur","listTitle":"Daftar hari libur","deleteDialogTitle":"Hapus hari libur?","deleteDialogBody":"Hapus {{name}} ({{date}})? Tindakan ini tidak dapat dibatalkan.","cancelDelete":"Batal","confirmDelete":"Hapus","errors":{"requiredFields":"Tanggal dan nama hari libur wajib diisi.","load":"Gagal memuat hari libur.","save":"Gagal menyimpan hari libur.","delete":"Gagal menghapus hari libur."}},"dashboard":{"title":"Ringkasan operasional","overview":"Ringkasan operasional","openSupportThreads":"Percakapan dukungan aktif","transactionIssues":"Masalah transaksi","openComplaints":"Komplain aktif","sellersPendingReview":"Penjual menunggu peninjauan","productsPendingReview":"Produk menunggu peninjauan","pendingWithdrawals":"Penarikan dana tertunda","failedPickups":"Penjemputan gagal","autoRetryScheduled":"Percobaan otomatis terjadwal","ordersRequiringAttention":"Pesanan yang perlu ditangani","recentActivity":"Aktivitas terbaru","viewAll":"Lihat semua","refresh":"Muat ulang","loading":"Memuat dasbor","loadFailed":"Dasbor gagal dimuat","noActivity":"Belum ada aktivitas terbaru","today":"Hari ini","thisWeek":"Minggu ini","thisMonth":"Bulan ini","frozenStores":"Toko dibekukan","takenDownProducts":"Produk diturunkan","overdueSellerShipments":"Pengiriman penjual terlambat","needsAction":"Perlu tindakan","priorityQueues":"Antrean prioritas dari seluruh Ops, diurutkan berdasarkan urgensi.","total":"total","allClear":"Semua antrean yang dipantau sedang kosong. Tetap pantau dukungan, komplain, pengiriman, dan moderasi
9saat aktivitas baru masuk.","reviewIssues":"Tinjau masalah","openQueue":"Buka antrean","viewComplaints":"Lihat komplain","openInbox":"Buka pesan","reviewSellers":"Tinjau penjual","reviewProducts":"Tinjau produk","dataSources":"Sumber data: percakapan dukungan, komplain, antrean masalah transaksi, status penjual, status penurunan produk, dan pesanan berbayar yang melewati batas kirim penjual tanpa catatan pengiriman.","noAction":"Tidak ada {{label}} yang perlu ditangani saat ini.","overdueExplanation":"Pesanan berbayar telah melewati tenggat pengiriman penjual dan perlu ditinjau di antrean masalah.","transactionExplanation":"Kasus transaksi yang terbuka atau sedang diselidiki menunggu tindak lanjut Ops.","complaintsExplanation":"Komplain pembeli atau penjual masih terbuka dan mungkin memerlukan mediasi.","supportExplanation":"Percakapan dukungan tersedia untuk dijawab atau ditriase oleh admin.","frozenStoresExplanation":"Toko penjual yang dibekukan sedang dibatasi dan mungkin memerlukan tinjauan moderasi.","takenDownProductsExplanation":"Listing yang diturunkan disembunyikan sampai moderasi produk selesai."},"sellers":{"title":"Moderasi Penjual","adminTitle":"Admin penjual","sellers":"Penjual","searchSellers":"Cari penjual","searchPlaceholder":"Cari nama toko atau slug","searchHelp":"Cari penjual sebelum memoderasi akun.","searchMin":"Masukkan minimal 2 karakter untuk mencari penjual.","loadFailed":"Penjual gagal dimuat.","actionFailed":"Status penjual gagal diperbarui.","all":"Semua","status":"Status","internalNote":"Catatan internal (opsional):","freezeNote":"Catatan pembekuan","frozenAt":"Dibekukan pada","reasonFreeze":"Alasan pembekuan (internal)","reasonUnfreeze":"Alasan pencairan (internal)","freeze":"Bekukan","unfreeze":"Aktifkan kembali","noSellers":"Tidak ada penjual.","loading":"Memuat penjual","refresh":"Muat ulang","onboardingTitle":"Onboarding penjual","onboardingHelp":"Tinjau penjual yang diundang dan aktifkan toko setelah setup selesai.","moderationHelp":"Cari penjual aktif atau dibekukan untuk tindakan moderasi yang eksplisit.","seller":"Penjual","ownerContact":"Pemilik/kontak","setupChecklist":"Daftar setup","missingItems":"Yang belum lengkap","action":"Tindakan","ready":"Siap","noOnboarding":"Tidak ada penjual yang menunggu setup.","loadingOnboarding":"Memuat onboarding penjualâ¦","loadingMore":"Memuat lagiâ¦","checklistProgress":"{{complete}} dari {{total}} selesai","activate":"Aktifkan penjual","activating":"Mengaktifkanâ¦","completeBeforeActivation":"Lengkapi item setup sebelum aktivasi.","activationMissing":"Setup penjual belum lengkap. Belum ada: {{fields}}.","searching":"Mencariâ¦","updating":"Memperbaruiâ¦","inviteTitle":"Undang penjual","inviteHelp":"Buat akun penjual khusus und
9angan setelah verifikasi offline.","storeGroup":"Toko","ownerGroup":"Pemilik","verificationGroup":"Verifikasi","sellerName":"Nama penjual/toko","ownerName":"Nama pemilik","ownerEmail":"Email pemilik","ownerPhone":"Telepon pemilik","verificationNote":"Catatan verifikasi","verifiedOffline":"Saya telah memverifikasi penjual ini secara offline.","sendInvitationEmail":"Kirim tautan undangan ke email seller","sendInvitationEmailHelp":"Undangan akan dikirim ke email pemilik yang tercantum di atas.","invitationEmailSent":"Email undangan telah dikirim ke {{email}}.","invitationEmailFailed":"Email undangan tidak dapat dikirim. Gunakan tautan undangan di bawah untuk mengirimkannya secara manual.","inviteAllRequired":"Semua kolom undangan wajib diisi.","inviteVerifyRequired":"Konfirmasikan bahwa penjual telah diverifikasi secara offline sebelum membuat undangan.","inviteFailed":"Undangan penjual gagal dibuat.","inviteCreating":"Membuat undanganâ¦","inviteCreate":"Buat undangan penjual","inviteCreated":"Undangan dibuat. Tautan ini hanya ditampilkan sekali.","inviteSecurity":"Kirim hanya kepada pemilik penjual terverifikasi. Jangan tempelkan ke log, analitik, atau kanal publik.","sellerId":"ID penjual","inviteExpires":"Undangan kedaluwarsa","inviteLink":"Tautan undangan","inviteCopy":"Salin tautan undangan","inviteCopied":"Tautan undangan disalin.","fields":{"contact_email":"Email kontak","contact_phone":"Telepon kontak","settings_address_id":"Alamat toko","finance_pin":"PIN Keuangan","name":"Profil/nama toko","support_hours":"Jam operasional/dukungan","seller_legal_acceptance":"Ketentuan penjual disetujui"},"reissue":"Buat ulang undangan","reissuing":"Membuat ulang undangan","reissueConfirm":"Buat tautan undangan baru untuk seller ini? Tautan undangan sebelumnya tidak dapat digunakan lagi.","reissueCreated":"Undangan berhasil dibuat ulang","reissueFailed":"Undangan seller tidak dapat dibuat ulang.","invitationEmailNotRequested":"Email undangan tidak diminta.","correctDetails":"Perbaiki data undangan","sendNewInvitationEmail":"Kirim tautan undangan baru ke email seller","correctConfirm":"Menyimpan perubahan akan membuat tautan undangan sebelumnya tidak berlaku dan membuat tautan undangan baru.","saveCorrection":"Simpan dan buat tautan baru","correctCreated":"Data undangan diperbaiki. Tautan baru ini hanya ditampilkan sekali.","correctFailed":"Data undangan seller tidak dapat diperbaiki."},"sellerStatus":{"active":"aktif","frozen":"dibekukan","inactive":"tidak aktif","pending":"menunggu","pending_review":"menunggu peninjauan","verified_pending_setup":"Menunggu setup","approved":"disetujui","rejected":"ditolak","suspended":"ditangguhkan","disabled":"dinonaktifkan","verified":"terverifikasi","unverified":"belum terverifikasi"},"sellerDetail":{"title":"Detail penjual","backToSellers":"Kembali ke penjual","storeInformation":"Informasi toko","ownerInformation":"Informasi pemilik","contact":"Kontak","storeAddress":"Alamat toko","verificationDocuments":"Dokumen verifikasi","reviewHistory":"Riwayat peninjauan","currentStatus":"Status saat ini","approvalStatus":"Status persetujuan","verified":"Terverifikasi","unverified":"Belum terverifikasi","pendingReview":"Menunggu peninjauan","approveSeller":"Setujui penjual","rejectSeller":"Tolak penjual","suspendSeller":"Tangguhkan penjual","reactivateSeller":"Aktifkan kembali penjual","rejectionReason":"Alasan penolakan","suspensionReason":"Alasan penangguhan","internalNote":"Catatan internal","saveNote":"Simpan catatan","confirmAction":"Konfirmasi tindakan","processing":"Memproses","actionCompleted":"Tindakan selesai","actionFailed":"Tindakan gagal","loading":"Memuat penjual","notFound":"Penjual tidak ditemukan","confirmApprove":"Setujui penjual ini?","confirmReject":"Tolak penjual ini?","confirmSuspend":"Tangguhkan penjual ini?","confirmReactivate":"Aktifkan kembali penjual ini?"},"users":{"title":"Pengguna","adminTitle":"Admin pengguna","noUsers":"Tidak ada pengguna.","admin":"Admin","active":"Aktif","yes":"ya","no":"tidak","freeze":"Bekukan","unfreeze":"Aktifkan kembali","loading":"Memuat pengguna","searchPlaceholder":"Cari berdasarkan email atau ID pengguna","paginationLabel":"Halaman hasil pengguna","pageOf":"Halaman {{page}} / {{totalPages}}"},"userStatus":{"active":"aktif","inactive":"tidak aktif","suspended":"ditangguhkan","disabled":"dinonaktifkan","verified":"terverifikasi","unverified":"belum terverifikasi","frozen":"dibekukan"},"userDetail":{"title":"Detail pengguna","backToUsers":"Kembali ke pengguna","accountInformation":"Informasi akun","contactInformation":"Informasi kontak","loginMethod":"Metode masuk","verificationStatus":"Status verifikasi","accountStatus":"Status akun","orders":"Pesanan","complaints":"Komplain","addresses":"Alamat","activity":"Aktivitas","suspendAccount":"Tangguhkan akun","reactivateAccount":"Aktifkan kembali akun","disableAccount":"Nonaktifkan akun","reason":"Alasan","internalNote":"Catatan internal","confirmAction":"Konfirmasi tindakan","processing":"Memproses","actionCompleted":"Tindakan selesai","actionFailed":"Tindakan gagal","notFound":"Pengguna tidak ditemukan","loading":"Memuat pengguna"},"common":{"loading":"Memuat","saving":"Menyimpan","processing":"Memproses","refresh":"Muat ulang","retry":"Coba lagi","search":"Cari","filter":"Filter","clear":"Bersihkan","apply":"Terapkan","save":"Simpan","cancel":"Batal","close"
9:"Tutup","back":"Kembali","previous":"Sebelumnya","next":"Berikutnya","noData":"Tidak ada data","notFound":"Tidak ditemukan","somethingWentWrong":"Terjadi kesalahan","unauthorized":"Tidak berwenang","accessDenied":"Akses ditolak","sessionExpired":"Sesi berakhir","confirm":"Konfirmasi","success":"Berhasil","failed":"Gagal","loadMore":"Muat lagi","previousPage":"Sebelumnya","nextPage":"Berikutnya","showingRange":"Menampilkan {{start}}â{{end}}","showingRangeOfTotal":"Menampilkan {{start}}â{{end}} dari {{total}}","noMoreResults":"Tidak ada hasil lagi."},"support":{"loadOlderMessages":"Muat pesan sebelumnya","loadingOlderMessages":"Memuatâ¦","title":"Pesan Dukungan","threads":"Percakapan dukungan","searchPlaceholder":"Cari percakapan dukungan...","loading":"Memuat pesan dukungan","emptyChats":"Belum ada percakapan dukungan.","unknownParticipant":"Tidak diketahui","unknownRequester":"Pemohon tidak diketahui","noMessages":"Belum ada pesan.","selectThread":"Pilih percakapan dukungan.","reopen":"Buka kembali","markResolved":"Tandai selesai","updating":"Memperbarui...","statusAriaLabel":"Status dukungan","sellerRequest":"Permintaan dukungan penjual","buyerRequest":"Permintaan dukungan pembeli","linkedOrder":"Pesanan terkait","noLinkedOrder":"Tidak ada konteks pesanan terkait","viewOrderComplaints":"Lihat komplain pesanan","openComplaint":"Buka komplain","errors":{"loadOlderMessages":"Pesan sebelumnya gagal dimuat.","loadInbox":"Pesan dukungan gagal dimuat.","loadConversation":"Percakapan dukungan gagal dimuat.","sendReply":"Balasan dukungan gagal dikirim.","updateStatus":"Status percakapan dukungan gagal diperbarui.","missingAttachmentUrl":"Respons unggahan tidak menyertakan URL lampiran."},"actions":"Aksi","unreadCount":"{{count}} pesan belum dibaca","participantRoles":{"buyer":"Pembeli","seller":"Penjual","unknown":"Peran tidak diketahui"}},"supportStatus":{"open":"Terbuka","waitingCustomer":"Menunggu pelanggan","resolved":"Selesai","closed":"Ditutup"},"supportComposer":{"placeholder":"Balas percakapan dukungan ini...","send":"Kirim","sending":"Mengirim...","attachImage":"Lampirkan gambar","imageMenuLabel":"Gambar","removeAttachment":"Hapus {{name}}","uploadingImage":"Mengunggah gambar...","attachFailed":"Gagal melampirkan gambar. Silakan coba lagi.","invoiceOrder":"Invoice / Pesanan","product":"Produk"},"transactionIssues":{"backToIssues":"Kembali ke daftar masalah","title":"Antrean masalah transaksi","intro":"Antrean internal Ops untuk pengecualian pesanan, pembayaran, dan pengiriman. Antrean ini terpisah dari sengketa komplain pembeli.","orderInvoiceNumber":"Nomor pesanan / invoice","createIssue":"Buat masalah","creating":"Membuatâ¦","internalNoteOptional":"Catatan internal (opsional)","created":"Masalah transaksi dibuat.","status":"Status","type":"Jenis","all":"Semua","loading":"Memuat masalah transaksiâ¦","noIssues":"Tidak ada masalah transaksi ditemukan.","noOverdueSellerShipmentIssues":"Tidak ada masalah pengiriman penjual terlambat ditemukan.","issueFallback":"Masalah #{{id}}","order":"Pesanan","buyer":"Pembeli","seller":"Penjual","opened":"Dibuka","selectIssue":"Pilih masalah untuk meninjau detail.","orderSummary":"Ringkasan pesanan","paymentStatus":"Status pembayaran","issueType":"Jenis masalah","issue":"Masalah","total":"Total","timeline":"Linimasa","noStatusHistory":"Belum ada riwayat status.","items":"Item","internalNote":"Catatan internal","saveIssueUpdate":"Simpan pembaruan masalah","saving":"Menyimpanâ¦","errors":{"requiredOrderReference":"Identitas pesanan wajib diisi untuk membuat masalah transaksi.","createFailed":"Gagal membuat masalah transaksi."}},"transactionIssueStatus":{"open":"Terbuka","investigating":"Sedang diselidiki","resolved":"Selesai","dismissed":"Diabaikan"},"transactionIssueType":{"payment_issue":"Masalah pembayaran","shipment_issue":"Masalah pengiriman","pickup_retry_available":"Coba lagi penjemputan tersedia","overdue_seller_shipment":"Pengiriman penjual terlambat","status_mismatch":"Status tidak sesuai","manual_review":"Tinjauan manual","courier_lost":"Kurir kehilangan paket","courier_damaged":"Paket rusak oleh kurir","abnormal_tracking":"Pelacakan tidak normal","refund_needed":"Perlu refund","seller_compensation_needed":"Perlu kompensasi penjual","other":"Lainnya","shipment_delivery_exception":"Masalah pengiriman setelah penjemputan","shipment_create_reconciliation":"Pembuatan pengiriman perlu direkonsiliasi"}
9,"transactionOrderStatus":{"pending":"Menunggu","pending_payment":"Menunggu pembayaran","awaiting_payment":"Menunggu pembayaran","paid":"Dibayar","processing":"Diproses","shipped":"Dikirim","delivered":"Terkirim","completed":"Selesai","complaint_open":"Komplain terbuka","cancelled":"Dibatalkan","canceled":"Dibatalkan","refunded":"Direfund"},"transactionPaymentStatus":{"pending":"Menunggu","unpaid":"Belum dibayar","paid":"Dibayar","settlement":"Dibayar","capture":"Tertangkap","failed":"Gagal","expired":"Kedaluwarsa","cancelled":"Dibatalkan","canceled":"Dibatalkan","refunded":"Direfund","partial_refund":"Refund sebagian"},"transactionIssueShipment":{"title":"Pengiriman / penjemputan","noShipment":"Belum ada pengiriman Biteship yang tertaut ke pesanan ini.","provider":"Provider","courierService":"Kurir/layanan","currentShippingState":"Status pengiriman saat ini","providerStatus":"Status dari Biteship","waybillTracking":"Resi / pelacakan","retryAttempts":"Percobaan ulang","notProvided":"Tidak tersedia","pickupRetryAvailableHelp":"Penjemputan dibatalkan sebelum kurir menjemput dan dapat dicoba lagi.","automaticAttempts":"Percobaan otomatis","totalAttempts":"Total percobaan","nextAutomaticRetry":"Percobaan otomatis berikutnya","latestRetryError":"Kesalahan percobaan terbaru","history":"Riwayat pengiriman ({{count}})","providerStatusNotAvailable":"status provider tidak tersedia","noWaybill":"tanpa resi","statusFallback":"status","attemptsOf":"{{current}} dari {{max}}","status":{"pickup_retry_available":"Penjemputan dibatalkan","pending":"Menunggu","created":"Dibuat","confirmed":"Dikonfirmasi","allocated":"Dialokasikan","picking_up":"Sedang dijemput","picked_up":"Telah diambil kurir","dropping_off":"Sedang diantar","delivered":"Terkirim","cancelled":"Dibatalkan","canceled":"Dibatalkan","failed":"Gagal","returned":"Dikembalikan ke penjual","rejected":"Ditolak","return_in_transit":"Sedang dikembalikan","disposed":"Tidak dapat dilanjutkan","in_transit":"Dalam perjalanan","on_hold":"Ditahan sementara"},"providerOrder":"Pesanan provider"},"transactionIssueRetry":{"retryPickup":"Coba lagi penjemputan","retrying":"Mencoba lagi penjemputanâ¦","missingOrderIdentifier":"Tidak dapat mencoba lagi penjemputan: identitas pesanan tidak ada.","requested":"Permintaan coba lagi penjemputan dikirim. Tokodepan sedang membuat pesanan Biteship baru.","failed":"Gagal mencoba lagi penjemputan.","unavailableIneligible":"Coba lagi penjemputan tidak tersedia untuk pengiriman ini. Batas percobaan mungkin tercapai atau backend menandainya tidak memenuhi syarat.","unavailableProvider":"Coba lagi penjemputan hanya tersedia untuk pengiriman Biteship.","unavailableCourierType":"Coba lagi penjemputan hanya tersedia untuk pengiriman instan/same-day.","unavailableGeneric":"Coba lagi penjemputan tidak tersedia untuk pengiriman ini."},"complaints":{"paginationLabel":"Halaman antrean komplain","page":"Halaman {{page}}","title":"Komplain / sengketa","titleWithInvoice":"Komplain {{invoice}}","complaintId":"ID komplain","status":"Status","all":"semua","loadingComplaints":"Memuat komplainâ¦","noComplaints":"Tidak ada komplain.","complaint":"Komplain","order":"Pesanan","buyer":"Pembeli","seller":"Penjual","reason":"Alasan","buyerDescription":"Keterangan pembeli","opened":"Dibuka","loadingDetail":"Memuat detail komplain...","selectComplaint":"Pilih komplain untuk meninjau detail.","detailUnavailable":"Detail komplain tidak tersedia.","summaryTitle":"Ringkasan komplain","total":"Total","requestedResolution":"Penyelesaian diminta","sellerProposedSolution":"Solusi usulan penjual","finalResolution":"Penyelesaian akhir","notProvided":"Tidak tersedia","openLinkedSupportThread":"Buka thread dukungan tertaut #{{id}}","noLinkedSupportThread":"Tidak ada thread dukungan tertaut untuk pesanan ini.","evidence":"Bukti","buyerEvidence":"Bukti pembeli","sellerEvidence":"Bukti penjual","noBuyerEvidence":"Belum ada bukti pembeli","noSellerEvidence":"Belum ada bukti penjual","attachmentUnavailable":"Lampiran tidak tersedia","downloadAttachment":"Unduh lampiran","attachmentAlt":"lampiran","conversation":"Percakapan","noStatusHistory":"Belum ada riwayat status.","messages":"Pesan","workflowTitle":"Status komplain","workflowHelp":"Gunakan ini untuk melacak posisi komplain dalam proses. Ini tidak menjalankan refund atau pelepasan dana.","sendMessagePlaceholder":"Kirim pesan ke pembeli/penjual","sending":"Mengirimâ¦","sendMessage":"Kirim pesan","applyRecommendedStatus":"Terapkan status rekomendasi","optionalStatusNote":"Catatan status opsional","statusOnlyHelp":"Mengubah status hanya memperbarui alur kerja komplain. Ini tidak mentransfer uang, membuat pengiriman, atau melepas dana.","updating":"Memperbaruiâ¦","updateStatus":"Perbarui status","confirmUpdateWithoutNote":"Perbarui status komplain menjadi \\"{{status}}\\" tanpa catatan?"},"complaintStatus":{"open":"Terbuka","awaiting_seller_response":"Menunggu penjual","seller_proposed_solution":"Penjual mengusulkan solusi","awaiting_buyer_response":"Menunggu pembeli","escalated_to_ops":"Dieskalasi ke Tokodepan","ops_review":"Ditinjau Tokodepan","resolved_refund":"Selesai: refund disetujui","resolved_replacement":"Selesai: penggantian disepakati","resolved_rejected":"Selesai: ditolak","closed":"Ditutup","under_review":"Ditinjau Tokodepan","resolved_buyer":"Selesai: pembeli","resolved_seller":"Selesai: penjual","rejected":"Ditolak","closed_by_buyer":"Ditutup pembeli"},"complaintReason":{"item_not_received":"Barang belum diterima","item_damaged":"Barang rusak","wrong_item":"Barang salah","missing_item":"Barang kurang","not_as_described":"Tidak sesuai deskripsi","counterfeit":"Barang palsu","other":"Lainnya"},"complaintResolution":{"refund":"Refund","replacement":"Penggantian","partial_refund":"Refund sebagian","reject":"Tolak","rejected":"Ditolak","refund_no_return":"Refund, tanpa pengembalian","refund_after_return":"Refund setelah pengembalian","replacement_no_return":"Penggantian, tanpa pengembalian","replacement_after_return":"Penggantian setelah pengembalian"},"complaintRole":{"buyer":"Pembeli","seller":"Penjual","ops":"Ops","system":"Sistem"},"complaintFaultParty":{"seller":"Kesalahan penjual","buyer":"Kesalahan pembeli","logistics":"Masalah logistik","unclear":"Belum jelas / perlu pertimbangan","tokodepan_goodwill":"Goodwill Tokodepan"}
9,"complaintPayer":{"seller":"Penjual","buyer":"Pembeli","tokodepan":"Tokodepan","none":"Tidak ada"},"complaintLabelMode":{"buyer_manual":"Manual pembeli","seller_manual":"Manual penjual","not_required":"Tidak diperlukan"},"complaintOutcome":{"refund":"Refund","replacement":"Penggantian","partial_refund":"Refund sebagian","rejected":"Tolak"},"complaintDecision":{"title":"Keputusan penyelesaian","help":"Gunakan ini untuk mencatat keputusan Tokodepan.","finalSaved":"Keputusan akhir tersimpan","finalPreview":"Pratinjau keputusan akhir","decision":"Keputusan","responsibility":"Pihak yang bertanggung jawab","return":"Pengembalian","required":"Wajib","notRequired":"Tidak wajib","previewSellerReturn":"Pembeli dan penjual harus mengoordinasikan pengiriman pengembalian secara manual. Penjual bertanggung jawab atas ongkir pengembalian sesuai keputusan ini.","previewBuyerReturn":"Pembeli mengatur pengiriman pengembalian secara manual dan membayar kurir secara langsung.","previewOpsReturn":"Ops dapat memberikan instruksi pengiriman pengembalian manual. Tokodepan belum membuat label pengembalian.","replacement":"Penggantian","sellerSendsReplacement":"Penjual mengirim barang pengganti.","noReplacement":"Tidak ada penggantian.","refund":"Refund","noRefundAmount":"Nominal refund belum diisi.","noRefund":"Tidak ada refund.","buyerInstruction":"Instruksi pembeli","sellerInstruction":"Instruksi penjual","nextStep":"Langkah berikutnya","nextRejected":"Perbarui status menjadi selesai/ditolak atau ditutup saat siap.","nextBuyerTracking":"Pembeli harus memberikan nomor pelacakan pengembalian.","nextSaveThenWait":"Simpan keputusan, lalu tunggu proses pengiriman pengembalian.","stepOutcome":"Langkah 1 â Pilih hasil","stepReturn":"Langkah 2 â Kebutuhan pengembalian","stepResponsibility":"Langkah 3 â Pihak bertanggung jawab","noReturnRequired":"Pengembalian tidak wajib","returnRequired":"Pengembalian wajib","sellerReturnGuidance":"Hanya pengiriman pengembalian manual. Tidak ada label pengembalian Tokodepan atau pemotongan saldo penjual otomatis.","buyerReturnGuidance":"Pembeli membayar ongkir pengembalian. Untuk MVP, pembeli harus mengatur pengiriman pengembalian manual dan memberikan nomor pelacakan.","unclearReturnGuidance":"Tinjau bukti dan sesuaikan opsi pengiriman lanjutan jika diperlukan.","itemRefundAmount":"Nominal refund barang (Rp)","originalShippingRefund":"Refund ongkir awal (Rp)","totalRefund":"Total pengembalian dana (Rp)","sellerRefundSuggestion":"Saran: sertakan refund ongkir awal untuk kesalahan penjual (Ops dapat mengubah).","buyerRefundSuggestion":"Saran: refund ongkir awal biasanya 0 untuk kesalahan pembeli (Ops dapat mengubah).","showRefundAmounts":"Tampilkan nominal pengembalian dana","advancedShipping":"Opsi pengiriman lanjutan","advancedHelp":"Ubah ini hanya untuk kasus khusus.","returnFreightPayer":"Pembayar ongkir pengembalian","returnLabelMode":"Mode label pengembalian","replacementFreightPayer":"Pembayar ongkir penggantian","internalOpsNote":"Catatan internal Ops","messageToBuyer":"Pesan ke pembeli","messageToSeller":"Pesan ke penjual","recommendedNextStatus":"Status berikutnya yang direkomendasikan","saving":"Menyimpan keputusanâ¦","save":"Simpan keputusan","resolutionSaved":"Penyelesaian tersimpan.","missingPublicId":"Tidak dapat menyimpan penyelesaian: ID publik komplain tidak ada.","saveFailed":"Gagal menyimpan penyelesaian.","refundExecutionWarning":"Eksekusi refund belum otomatis.","resolutionType":{"refund_no_return":"Refund, tanpa pengembalian","refund_after_return":"Refund setelah pengembalian","replacement_no_return":"Penggantian, tanpa pengembalian","replacement_after_return":"Penggantian setelah pengembalian","partial_refund":"Refund sebagian","rejected":"Tolak komplain"},"totalRefundPreview":"Total pengembalian dana Rp {{amount}}.","refundPlaceholder":"mis. 100000"},"complaintReturn":{"title":"Label pengembalian","buyerManual":"Pembeli harus mengatur pengiriman pengembalian secara manual.","status":{"label_created":"Label dibuat","pending":"Menunggu","shipped":"Dikirim","delivered":"Terkirim","cancelled":"Dibatalkan","manual":"Manual"},"labelMode":"Mode label","freightPayer":"Pembayar ongkir pengembalian","waybill":"Resi","provider":"Provider","freightCost":"Biaya ongkir","sellerDeduction":"Potongan penjual","deducted":"Dipotong dari saldo penjual","pendingDeduction":"Menunggu pemotongan","tracking":"Pelacakan"},"finance":{"title":"Keuangan / komisi","loadingOverview":"Memuat ringkasan komisiâ¦","loadFailed":"Data keuangan admin gagal dimuat.","createScheduleFailed":"Jadwal komisi gagal dibuat.","updateWithdrawalFailed":"Penarikan gagal diperbarui.","grossOrderAmount":"Nilai pesanan bruto","totalCommission":"Total komisi","netSellerAmount":"Nilai bersih penjual","periodFilter":"Filter peri
9ode","from":"Dari","to":"Sampai","applyPeriod":"Terapkan periode","thisMonth":"Bulan ini","page":"Halaman {{page}}","pageOf":"Halaman {{page}} dari {{totalPages}}","total":"Total: {{count}}","totalProductGross":"Total bruto produk","totalProductNet":"Total neto produk","totalStoreCourierFreight":"Total ongkir kurir toko","totalSellerPayout":"Total pembayaran ke penjual","sort":"Urutkan"},"financeCommission":{"title":"Komisi per pesanan","searchPlaceholder":"Cari penjual / pesanan / invoice","allStatus":"Semua status","invoice":"Invoice","orderCreatedAt":"Pesanan dibuat pada","completedAt":"Selesai pada","gross":"Bruto","commission":"Komisi","net":"Bersih","empty":"Tidak ada baris komisi ditemukan.","seller":"Penjual","productGross":"Bruto produk","productNet":"Neto produk","storeCourierFreight":"Ongkir kurir toko","sellerPayout":"Pembayaran ke penjual","status":"Status","exportCsv":"Ekspor CSV","exporting":"Mengeksporâ¦"},"financeWithdrawal":{"title":"Permintaan penarikan","searchPlaceholder":"Cari penjual / bank / status","allStatus":"Semua status","requestedAt":"Diajukan pada","seller":"Penjual","amount":"Jumlah","availableSnapshot":"Saldo tersedia saat diajukan","destination":"Tujuan rekening","status":"Status","actions":"Tindakan","actionApprove":"Setujui","actionReject":"Tolak","actionProcessing":"Diproses","actionMarkPaid":"Tandai dibayar","empty":"Tidak ada permintaan penarikan ditemukan.","fallbackSeller":"Penjual #{{id}}","reviewHelp":"Tinjau detail lengkap rekening tujuan sebelum mengubah status penarikan.","actionUpdate":"Perbarui","noActions":"Tidak ada tindakan tersedia","selectPrompt":"Pilih penarikan untuk meninjau detail permintaan dan tindakan aman.","sellerNote":"Catatan penjual","adminNote":"Catatan admin","approvedAt":"Disetujui pada","paidAt":"Dibayar pada","rejectedAt":"Ditolak pada","transitionGuidance":"Transisi yang diizinkan dibatasi oleh status saat ini. Permintaan dibayar, ditolak, dan dibatalkan bersifat final di UI tinjauan ini.","confirmTitle":"Konfirmasi tindakan penarikan","currentStatus":"Status saat ini","targetStatus":"Status tujuan","markPaidWarning":"Tandai dibayar hanya setelah transfer bank manual selesai dilakukan.","transferReference":"Referensi / catatan transfer manual","rejectReason":"Catatan admin / alasan penolakan","optionalAdminNote":"Catatan admin (opsional)","saving":"Menyimpan...","actionSuccess":"Penarikan diperbarui menjadi {{status}}."},"financeWithdrawalStatus":{"pending_review":"Menunggu peninjauan","approved":"Disetujui","processing":"Diproses","paid":"Dibayar","rejected":"Ditolak","cancelled":"Dibatalkan"},"financeOrderStatus":{"paid":"Dibayar","shipped":"Dikirim","delivered":"Terkirim","completed":"Selesai"},"financeSort":{"newestDate":"Tanggal terbaru","oldestDate":"Tanggal terlama","sellerAz":"Penjual A-Z","amountHighLow":"Jumlah tinggi-rendah","statusAz":"Status A-Z","newestRequest":"Pengajuan terbaru","oldestRequest":"Pengajuan terlama"},"financeSchedule":{"saveSuccess":"Jadwal komisi disimpan.","title":"Jadwal tarif komisi","rate":"Tarif","effectiveFromDraft":"Berlaku mulai (draf)","saveEffectiveFrom":"Simpan berlaku mulai","selectedEffectiveFrom":"Berlaku mulai terpilih","notSet":"Belum ditetapkan","saving":"Menyimpan...","addSchedule":"Tambah jadwal","effective":"Berlaku {{date}}","futureOnlyHelp":"Tarif baru berlaku untuk konfigurasi komisi mendatang dan tidak mengubah pesanan yang sudah ada."},"financeValidation":{"commissionRateOutOfRange":"Tarif komisi harus antara 0% dan 100%.","effectiveFromRequired":"Tanggal dan waktu berlaku mulai wajib diisi."},"returns":{"paginationLabel":"Halaman antrean permintaan pengembalian","page":"Halaman {{page}}","title":"Mediasi pengembalian oleh admin","statusFilter":"Filter status:","all":"Semua","requests":"Permintaan pengembalian","noReturns":"Tidak ada permintaan pengembalian.","order":"Pesanan #{{id}}","detailTitle":"Detail & mediasi","pickRequest":"Pilih permintaan pengembalian.","returnId":"Pengembalian #{{id}}","status":"Status:","buyerSeller":"Pembeli #{{buyerId}} · Penjual #{{sellerId}}","reason":"Alasan:","buyerNote":"Catatan pembeli:","adminNote":"Catatan admin:","mediatedAt":"Dimediasi pada {{date}} oleh pengguna #{{userId}}","adminNoteOptional":"Catatan admin (opsional)","submitDecision":"Kirim keputusan mediasi","errors":{"loadList":"Gagal memuat permintaan pengembalian.","loadDetail":"Gagal memuat detail pengembalian.","mediate":"Gagal mengirim keputusan mediasi."}},"returnStatus":{"requested":"Pengembalian diajukan","approved":"Disetujui","rejected":"Ditolak","
9shipped_back":"Dikirim kembali","received":"Diterima","refunded":"Dana dikembalikan","cancelled":"Dibatalkan","return_shipment_pending":"Menunggu pengiriman pengembalian","return_in_transit":"Pengembalian dalam perjalanan","return_delivered_to_seller":"Pengembalian diterima penjual","inspection_pending":"Menunggu pemeriksaan","resolved_full_refund":"Selesai: refund penuh","resolved_partial_refund":"Selesai: refund sebagian","resolved_rejected":"Selesai: pengembalian ditolak"},"returnReason":{"damaged":"Barang rusak","wrong_item":"Barang salah"},"returnDecision":{"approve":"Setujui","reject":"Tolak"},"products":{"title":"Moderasi produk","searchPlaceholder":"Cari produk, toko, atau URL produk","allStatuses":"Semua status","loading":"Memuat produkâ¦","searchMinimum":"Masukkan minimal 2 karakter untuk mencari produk.","searchHelp":"Cari berdasarkan nama produk, nama/slug toko, atau slug URL produk.","noProducts":"Tidak ada produk ditemukan.","seller":"Penjual:","status":"Status:","takedownMarker":"DITURUNKAN","reason":"Alasan:","takedownAt":"Diturunkan pada:","takedownReasonPrompt":"Alasan penurunan (opsional):","errors":{"load":"Gagal memuat produk.","takedown":"Gagal menurunkan produk.","restore":"Gagal memulihkan produk."},"contextTitle":"Temukan produk","searchLabel":"Pencarian","statusLabel":"Status produk","viewProduct":"Lihat produk","actionPending":"Memprosesâ¦","paginationLabel":"Halaman hasil produk","previous":"Sebelumnya","next":"Berikutnya","resultRange":"{{start}}â{{end}} dari {{total}}","takedownConfirmTitle":"Konfirmasi penurunan produk","takedownConfirmText":"Turunkan â{{title}}â? Pembeli tidak dapat lagi membelinya.","restoreConfirmTitle":"Konfirmasi pemulihan produk","restoreConfirmText":"Pulihkan â{{title}}â dari penurunan moderasi?","reasonField":"Alasan","reasonOptional":"Opsional; maksimal 2.000 karakter.","cancel":"Batal","takedownConfirm":"Konfirmasi penurunan","restoreConfirm":"Konfirmasi pemulihan"},"productStatus":{"active":"Aktif","draft":"Draf","archived":"Diarsipkan","takedown":"Diturunkan"},"productActions":{"search":"Cari","takedown":"Turunkan","restore":"Pulihkan"},"promotions":{"title":"Promo platform","createTitle":"Buat voucher platform","titleLabel":"Judul","codeLabel":"Kode","startDate":"Tanggal mulai","endDate":"Tanggal berakhir","coverage":"Cakupan","discountType":"Jenis diskon","discountValue":"Nilai diskon","percentHelp":"Masukkan 1 sampai 100.","minimumPurchase":"Minimum pembelian","maxDiscount":"Batas maksimum diskon","scope":"Lingkup","paymentRestriction":"Pembatasan metode pembayaran","paymentRestrictionHelp":"Biarkan kosong untuk mengizinkan semua metode pembayaran.","productTargets":"ID target produk/kategori","productTargetsPlaceholder":"ID produk dipisahkan koma","findSellers":"Cari penjual","sellerSearchPlaceholder":"Cari nama/slug penjual","refreshSellers":"Muat ulang daftar penjual","saving":"Menyimpan...","save":"Simpan promo platform","listTitle":"Daftar promo","listSearchPlaceholder":"Cari judul/kode/jenis/status/lingkup","activeOnly":"Hanya aktif","paginationLabel":"Halaman hasil promo","page":"Halaman {{page}}","loading":"Memuat promoâ¦","empty":"Tidak ada promo platform ditemukan.","sellerFallback":"Penjual #{{id}}","all":"Semua","table":{"code":"Kode","title":"Judul","seller":"Penjual","type":"Jenis","discountValue":"Nilai Diskon","scope":"Lingkup","paymentMethods":"Metode Pembayaran","status":"Status","start":"Mulai","end":"Berakhir","action":"Aksi","minimumPurchase":"Minimum pembelian","maximumDiscount":"Maksimum diskon"},"errors":{"loadSellers":"Tidak dapat memuat penjual.","loadPromotions":"Tidak dapat memuat promo platform.","save":"Tidak dapat menyimpan promo.","deactivate":"Tidak dapat menonaktifkan promo.","product_target_seller_mismatch":"Produk terpilih harus berasal dari penjual target yang dipilih."},"notices":{"saved":"Promo platform tersimpan."},"sections":{"basic":"Informasi dasar","discount":"Diskon","coverageTarget":"Cakupan dan target","payment":"Pembatasan pembayaran"},"scopeStoreHelp":"Berlaku untuk semua produk di toko penjual yang ditargetkan.","scopeProductsHelp":"Masukkan ID produk
9yang dipisahkan koma.","coverageAllHelp":"Tidak perlu memilih penjual.","targetSellers":"Penjual target","selectedSellerCount":"{{count}} penjual dipilih","noSellerSelectionNeeded":"Tidak perlu memilih penjual.","productTargetSearch":"Target produk","productTargetSearchPlaceholder":"Cari judul produk, penjual, slug, SKU, atau tempel URL produk","productTargetSearchButton":"Cari / Tambah","productTargetAddButton":"Tambah","productTargetResults":"Hasil","selectedProducts":"Produk terpilih","selectedProductCount":"{{count}} produk dipilih","removeProductTarget":"Hapus","noProductTargetResults":"Tidak ada target produk yang cocok.","productTargetUrlHelp":"Tempel URL produk pembeli seperti /products/toko/produk untuk menemukan ID produk internal.","productTargetLookupFailed":"Pencarian target produk gagal. Coba lagi.","productTargetDuplicate":"Produk sudah dipilih.","productTargetSellerMismatchWarning":"Beberapa produk terpilih berasal dari penjual yang belum dipilih di target penjual.","deactivateTitle":"Nonaktifkan promo?","deactivateText":"Nonaktifkan {{title}} ({{code}})? Promo ini tidak akan aktif lagi.","cancel":"Batal","archivedAction":"Diarsipkan â tidak ada tindakan lanjutan","deactivating":"Menonaktifkanâ¦","loadingSellers":"Memuat penjualâ¦","loadMoreSellers":"Muat lagi","noMaximumDiscount":"Tanpa batas","allSellers":"Semua penjual","requiresCode":"Pembeli harus memasukkan kode promo","requiresCodeHelp":"Jika diaktifkan, promo ini tidak muncul otomatis kepada pembeli. Pembeli harus memasukkan kode secara manual."},"promotionCoverage":{"all_sellers_all_products":"Semua penjual / semua produk","specific_sellers":"Hanya penjual tertentu","specific_products_or_category":"Hanya produk/kategori tertentu"},"promotionScope":{"store":"Semua produk","products":"Produk/kategori tertentu"},"promotionDiscountType":{"percent":"Persentase","fixed":"Nominal tetap"},"promotionPaymentMethod":{"qris":"QRIS","card":"Kartu","virtual_account":"VA"},"promotionStatus":{"active":"Aktif","scheduled":"Terjadwal","ended":"Berakhir","inactive":"Tidak aktif"},"promotionActions":{"search":"Cari","deactivate":"Nonaktifkan"},"promotionValidation":{"required_fields":"Judul, kode, tanggal, dan nilai diskon wajib diisi.","invalid_discount_value":"Nilai diskon harus berupa angka positif yang valid.","percent_out_of_range":"Diskon persentase harus antara 1 dan 100.","invalid_max_discount":"Batas maksimum diskon harus berupa angka yang valid.","seller_target_required":"Pilih setidaknya satu target cakupan penjual.","product_target_required":"Tambahkan setidaknya satu ID target produk/kategori untuk lingkup produk.","product_target_seller_mismatch":"Produk terpilih harus berasal dari penjual target yang dipilih.","product_scope_requires_seller_targeting":"Promo produk tertentu harus memakai target penjual/produk tertentu. Pilih cakupan penjual tertentu sebelum menyimpan."},"orderSettings":{"title":"Pengaturan pesanan","fulfillmentTitle":"SLA pemenuhan penjual","loading":"Memuat pengaturan pesananâ¦","fields":{"sellerSla":"SLA pemenuhan penjual","autoRetryEnabled":"Aktifkan coba ulang penjemputan otomatis","firstDelay":"Jeda coba ulang pertama","retryInterval":"Interval coba ulang","maxAutoAttempts":"Maksimum percobaan otomatis","trackingReconciliationEnabled":"Rekonsiliasi pelacakan Biteship otomatis"},"sellerSlaHelp":"Jumlah hari kerja yang diberikan kepada penjual setelah pesanan siap dikirim. Untuk pesanan preorder, periode preorder produk ditambahkan terlebih dahulu, lalu SLA pemenuhan ini diterapkan. Hari libur aktif tidak dihitung.","sellerSlaExample":"Contoh: preorder 10 hari dengan SLA 3 hari kerja mendapatkan 10 hari kalender ditambah 3 hari kerja.","autoRetryTitle":"Coba ulang penjemputan otomatis","autoRetryHelp":"Secara otomatis mencoba ulang permintaan penjemputan instan/same-day yang gagal selama jam operasional penjual. Coba ulang manual oleh penjual dan Ops tetap tersedia. Coba ulang otomatis berhenti setelah mencapai batas yang dikonfigurasi atau setelah batas waktu pengiriman terlewati. Total percobaan tetap dibatasi secara terpisah.","saving":"Menyimpanâ¦","save":"Simpan pengaturan","validation":{"wholeNumberRange":"{{label}} harus berupa bilangan bulat dari {{min}} sampai {{max}}."},"errors":{"load":"Gagal memuat pengaturan pesanan.","save":"Gagal menyimpan pengaturan pesanan."},"notices":{"saved":"Pengaturan pemenuhan pesanan tersimpan."},"trackingReconciliationTitle":"Rekonsiliasi pelacakan Biteship otomatis","trackingReconciliationHelp":"Jaring pengaman cadangan untuk webhook Biteship yang terlewat. Operasi normal tetap digerakkan oleh webhook. Saat dinonaktifkan, Ops dapat menggunakan Biteship Events Log â Resend secara manual."},"paymentSettings":{"title":"Pengaturan pembayaran","sectionTitle":"Pengaturan metode pembayaran","loading":"Memuat pengaturan pembayaranâ¦","vaBanks":"Bank Virtual Account","methods":{"qris":"QRIS","va":"Virtual Account","card":"Kartu"},"fields":{"enabled":"Aktif","minAmount":"Jumlah minimum (IDR)","maxAmount":"Jumlah maksimum (IDR)"},"placeholders":{"noMax":"Tanpa maksimum"},"noMaxHelp":"Masukkan 0 jika tidak ada batas maksimum.","saving":"Menyimpanâ¦","save":"Simpan pengaturan","errors":{"load":"Gagal memuat pengaturan pembayaran.","save":"Gagal menyimpan pengaturan pembayaran.","maxBelowMin":{"qris":"Maksimum QRIS harus 0 (tanpa batas) atau seti
9daknya sama dengan minimumnya.","va":"Maksimum Virtual Account harus 0 (tanpa batas) atau setidaknya sama dengan minimumnya.","card":"Maksimum Kartu harus 0 (tanpa batas) atau setidaknya sama dengan minimumnya."}},"notices":{"saved":"Pengaturan pembayaran tersimpan."},"intro":"Atur ketersediaan metode pembayaran dan batas Rupiah dalam bilangan bulat.","descriptions":{"qris":"Pembayaran QR melalui aplikasi bank dan dompet yang didukung.","va":"Transfer bank menggunakan rekening virtual khusus.","card":"Pembayaran dengan kartu kredit yang didukung."}},"transactionIssueMoneyFlow":{"title":"Alur dana / kesiapan resolusi","readOnlyNotice":"Pembatalan manual ops dan pembuatan permintaan refund manual pending hanya tersedia jika validasi backend mengizinkan. Tidak ada refund provider atau payout seller yang dieksekusi di sini.","orderStatus":"Status pesanan","paymentStatus":"Status pembayaran","paymentMethod":"Metode pembayaran","subtotal":"Subtotal","discount":"Diskon","shipping":"Pengiriman","total":"Total","grossSellerAmount":"Jumlah bruto seller","commissionRate":"Tarif komisi","commissionAmount":"Jumlah komisi","netSellerAmount":"Jumlah net seller","fundsReleased":"Dana dirilis","notReleased":"Belum dirilis","completedAt":"Selesai pada","refunds":"Permintaan refund yang ada","noRefunds":"Belum ada permintaan refund tercatat.","withdrawalRisk":"Risiko withdrawal","pendingWithdrawals":"Seller memiliki withdrawal aktif","paidWithdrawals":"Seller memiliki riwayat withdrawal dibayar","resolutionReadiness":"Kesiapan resolusi","cancelPlanned":"Batalkan pesanan â direncanakan","refundPlanned":"Buat permintaan refund â direncanakan","yes":"Ya","no":"Tidak","cancelOrder":"Batalkan pesanan","createRefundRequest":"Buat permintaan refund","cancelWarning":"Pembatalan mengembalikan stok. Untuk pesanan yang sudah dibayar, permintaan refund manual juga dibuat atau digunakan kembali; status pembayaran tetap dibayar.","refundWarning":"Aksi ini hanya membuat permintaan refund manual berstatus pending. Ini tidak memanggil Xendit atau memindahkan dana.","refundAmount":"Jumlah refund (sen)","reason":"Alasan","opsNote":"Catatan ops","confirm":"Konfirmasi aksi","cancel":"Tutup","submitting":"Mengirimâ¦","cancelSuccess":"Pesanan dibatalkan dan stok dikembalikan. Permintaan refund manual dibuat atau digunakan kembali untuk pesanan yang sudah dibayar.","refundSuccess":"Permintaan refund manual pending dibuat. Tidak ada refund provider yang dieksekusi.","openComplaintSettlement":"Buka penyelesaian komplain","complaintSettlementHelp":"Pelepasan dana penjual dan pembagian parsial ditangani melalui resolusi komplain.","sellerFundsStatus":"Status dana penjual","orderFundsReleased":"Dana pesanan telah dilepas ke saldo penjual","sellerWithdrawalScopeNote":"Kedua status dapat merujuk ke withdrawal yang berbeda. Sistem belum dapat memastikan apakah withdrawal tersebut mencakup dana dari pesanan ini.","fundsUnreleasedGuidance":"Dana pesanan belum dilepas ke saldo penjual.","fundsReleasedGuidance":"Dana pesanan telah dilepas ke saldo penjual. Periksa aktivitas withdrawal seller sebelum melakukan pengembalian dana."},"refundRequests":{"title":"Permintaan refund","intro":"Tinjau permintaan refund manual/pending. Admin finance yang memenuhi syarat dapat mengeksekusi refund Xendit secara manual dari detail.","status":"Status","queue":"Antrean","detail":"Detail","loading":"Memuatâ¦","empty":"Tidak ada permintaan refund.","selectPrompt":"Pilih permintaan refund.","providerExecutionNotice":"Eksekusi refund provider tidak diaktifkan di PR ini.","executeProviderRefundPlanned":"Eksekusi refund provider â direncanakan","refund":"Refund","invoice":"Invoice","amount":"Jumlah","reason":"Alasan","opsNote":"Catatan ops","order":"Pesanan","payment":"Pembayaran","dokuInvoice":"Invoice DOKU","sellerPayoutWarning":"Peringatan payout/rilis dana seller","fundsReleased":"Dana dirilis","completed":"Selesai","netSellerAmount":"Jumlah net seller","commission":"Komisi","transactionIssue":"Issue transaksi","buyer":"Buyer","provider":"Provider","created":"Dibuat","maskedUnknown":"dimask/unknown","statusPendingManual":"Pending manual","statusProcessing":"Diproses","statusSucceeded":"Berhasil","statusFailed":"Gagal","statusCancelled":"Dibatalkan","statusAll":"Semua","subtotal":"Subtotal","shipping":"Ongkir","discount":"Diskon","total":"Total","loadFailed":"Gagal memuat permintaan refund.","detailLoa
9dFailed":"Gagal memuat detail permintaan refund.","executeProviderRefund":"Eksekusi refund provider","executeConfirmTitle":"Konfirmasi eksekusi refund Xendit","executeWarning":"Aksi ini akan memanggil Xendit dan dapat mengembalikan dana ke buyer. Aksi ini tidak merilis dana seller atau mengubah withdrawal.","confirmationText":"Ketik EXECUTE REFUND untuk konfirmasi","executing":"Mengeksekusi...","executeSuccess":"Eksekusi refund provider dimulai.","executeFailed":"Gagal mengeksekusi refund provider.","close":"Tutup","seller":"Seller","providerStatus":"Status provider","refundSummary":"Ringkasan refund","executionStatusAction":"Status/aksi eksekusi","orderPaymentContext":"Konteks pesanan/pembayaran","traceability":"Issue transaksi / traceability sumber","noTransactionIssue":"Tidak ada issue transaksi tertaut untuk permintaan refund ini.","refundSource":"Sumber refund","actorUserId":"ID user aktor","providerRefundReferenceId":"ID referensi refund provider","providerRefundId":"ID refund provider","hiddenJsonOpsNote":"Catatan ops tampaknya berisi JSON payload webhook lama. Catatan disembunyikan dari tampilan ini.","statusValue":{"pending_manual_refund":"Pending manual","processing":"Diproses","succeeded":"Berhasil","failed":"Gagal","cancelled":"Dibatalkan"},"manualRefund":"Pengembalian dana manual","manualHelp":"Refund provider tidak tersedia atau gagal? Hubungi pembeli dan catat refund manual setelah selesai.","contactBuyer":"Hubungi pembeli","contactBuyerFailed":"Gagal membuka chat dukungan pembeli.","markManual":"Tandai telah direfund manual","manualMethod":"Metode refund manual","manualReference":"Nomor transaksi/referensi","manualConfirmation":"Ketik MARK REFUNDED untuk konfirmasi","bankTransfer":"Transfer bank","other":"Lainnya","manualSuccess":"Refund manual dicatat telah selesai.","manualFailed":"Gagal mencatat refund manual."},"complaintSettlement":{"title":"Penyelesaian komplain","warning":"Konfirmasi final membuat antrean refund dan hak saldo seller secara atomik. Goodwill yang didanai platform di atas pembayaran tertangkap belum didukung.","availablePaid":"Dana bayar tersedia","maxSellerRelease":"Maksimum pencairan penjual","maxSellerReleaseHelp":"Maksimum pencairan penjual adalah hasil bersih penjual setelah komisi Tokodepan.","buyerRefund":"Refund pembeli","sellerRelease":"Rilis seller","remaining":"Jumlah di luar settlement komplain (komisi, biaya, atau goodwill yang belum didukung tidak dirilis oleh aksi ini)","typeSettle":"Ketik SETTLE untuk konfirmasi","note":"Catatan/alasan internal","confirm":"Konfirmasi settlement","submitting":"Mengonfirmasiâ¦","confirmed":"Settlement terkonfirmasi","refundStatus":"Status refund","actor":"Dikonfirmasi oleh","blocked":"Diblokir","blockingReasons":{"order_not_found":"Order tidak ditemukan.","order_unpaid":"Order belum dibayar.","seller_funds_already_released":"Dana seller sudah dirilis.","resolution_required":"Simpan keputusan Ops sebelum konfirmasi settlement.","return_not_delivered":"Return shipment terakhir harus sudah delivered to seller.","conflicting_refund":"Refund aktif atau berhasil sudah ada untuk order ini.","complaint_closed_by_buyer":"Pembeli telah menutup komplain; settlement tidak lagi tersedia."},"warnings":{"manual_return_unverified":"Pastikan barang retur sudah diterima penjual sebelum mengonfirmasi settlement. Retur ini dilakukan secara manual dan tidak diverifikasi otomatis oleh Tokodepan."},"noteRequired":"Catatan settlement (wajib)","requirements":"Syarat konfirmasi:","validation":{"preview_blocked":"Komplain siap diselesaikan","decision_not_ready":"Keputusan Ops tersimpan dan siap","missing_note":"Catatan settlement telah diisi","confirmation_text":"SETTLE diketik persis","empty_allocation":"Setidaknya satu alokasi bernilai positif","refund_exceeds_paid":"Refund pembeli tidak melebihi dana bayar","seller_release_exceeds_maximum":"Rilis penjual tidak melebihi batas maksimum","allocation_exceeds_paid":"Total alokasi tidak melebihi dana bayar"}},"buyers":{"title":"Moderasi Pembeli","intro":"Tinjau aktivitas pembeli, komplain, refund, dan sinyal moderasi akun. Buka pembeli untuk membekukan, ban, memulihkan, atau meninjau pembatasan identitas yang memengaruhi akun.","statusAll":"Semua","statusActive":"Aktif","statusFrozen":"Dibekukan","statusBanned":"Diban","buyerSummary":"Ringkasan pembeli","moderationActions":"Aksi moderasi","activitySignals":"Sinyal aktivitas","search":"Cari public ID, nama, email, atau telepon","allStatuses":"Semua status","buyer":"Pembeli","identity":"Identitas","status":"Status","activity":"Aktivitas","verified":"Terverifikasi","unverified":"Belum terverifikasi","internalNote":"Catatan moderasi internal","identityBlocks":"Blokir identitas","loadFailed":"Tidak dapat memuat pembeli","actionFailed":"Aksi moderasi gagal","actionConfirm":"Terapkan {{action}} ke pembeli ini? Sesi pembeli akan dicabut.","banConfirm":"Ban pembeli ini? Sesi pembeli akan dicabut, login diblokir, email akun dan telepon utama diblokir dari penggunaan ulang, dan riwayat tetap disimpan.","banNoteRequired":"Catatan internal wajib untuk Ban.","sessionPartial":"Moderasi tersimpan, tetapi pencabutan
9sesi pembeli gagal. Coba lagi atau minta engineering memeriksa Redis.","sessionResult":"Pencabutan sesi pembeli selesai. Sesi dicabut: {{count}}.","reasonCode":"Kode alasan","addBlock":"Tambah blokir identitas","revokeBlock":"Cabut","workflowTitle":"Alur keamanan pembeli","orderCount":"{{count}} pesanan","complaintCount":"{{count}} komplain","refundCount":"{{count}} refund","createdAt":"Dibuat","backToList":"Kembali ke daftar pembeli","recentAuditLog":"Log audit terbaru","actions":{"freeze":"Bekukan","unfreeze":"Pulihkan","restore":"Pulihkan","ban":"Ban"},"moderationActionsHelp":"Aksi ini memengaruhi akun pembeli terdaftar dan mencabut sesi pembeli saat diterapkan.","internalNoteHelp":"Tambahkan konteks untuk rekan Ops lain yang meninjau keputusan moderasi ini.","banRequiresNoteHelp":"Ban wajib menyertakan catatan internal sebelum aksi dapat dikirim.","identityStatus":"Status identitas","auditLogEmpty":"Belum ada entri log audit terbaru untuk pembeli ini.","identityRestrictions":"Pembatasan identitas","identityNoActiveRestrictions":"Tidak ada pembatasan identitas aktif.","blockedIdentities":"Identitas diblokir","blockedIdentitiesHelp":"Blokir atau tinjau identitas email dan telepon sisi pembeli, termasuk identitas yang belum memiliki akun pembeli terdaftar.","identityType":"Tipe identitas","identityValue":"Nilai identitas","identityValuePlaceholder":"Alamat email atau nomor telepon","blockIdentity":"Blokir identitas","blockedIdentityList":"Daftar identitas diblokir","noBlockedIdentities":"Tidak ada identitas diblokir.","revokeIdentityBlock":"Cabut","identityBlockCreated":"Blokir identitas dibuat.","identityBlockRevoked":"Blokir identitas dicabut.","identityBlockCreateFailed":"Tidak dapat memblokir identitas.","identityBlockLoadFailed":"Tidak dapat memuat identitas diblokir.","identityBlockRevokeFailed":"Tidak dapat mencabut blokir identitas.","confirmRevokeIdentityBlock":"Cabut blokir identitas ini?","confirmCreateIdentityBlock":"Blokir identitas sisi pembeli ini?","identityValueRequired":"Masukkan alamat email atau nomor telepon.","searchLabel":"Cari pembeli","results":"Hasil pembeli","loadingBuyers":"Memuat pembeliâ¦","loadingBuyer":"Memuat pembeliâ¦","noBuyers":"Tidak ada pembeli yang cocok dengan pencarian dan filter status saat ini.","phoneVerification":"Verifikasi telepon","identityTypes":{"email":"Email","phone":"Telepon"},"reasons":{"policy_abuse":"Pelanggaran kebijakan","payment_risk":"Risiko pembayaran","seller_conflict":"Konflik penjual","fraud_risk":"Risiko penipuan","ops_manual":"Tinjauan manual Ops"}},"transactionIssueCopy":{"shipment_delivery_exception":{"title":"Masalah pengiriman setelah penjemputan","description":"Pengiriman mengalami masalah setelah paket diserahkan ke kurir dan memerlukan peninjauan Ops."},"shipment_create_reconciliation":{"title":"Pembuatan pengiriman perlu direkonsiliasi","description":"Biteship telah menerima referensi pengiriman, tetapi Tokodepan tidak menerima ID pesanan penyedia. Cari referensi tersebut di Dashboard Biteship lalu lakukan rekonsiliasi."}},"transactionIssueHistory":{"shipmentDeliveryExceptionStatus":{"rejected":"Pengiriman ditolak di tujuan.","return_in_transit":"Paket sedang dikembalikan ke penjual.","returned":"Paket telah dikembalikan ke penjual.","disposed":"Paket tidak dapat dilanjutkan oleh kurir.","failed":"Pengiriman gagal setelah penjemputan.","unknown":"Pengiriman mengalami masalah setelah penjemputan."},"shipmentDeliveryExceptionLaterDelivered":"Kurir kemudian melaporkan paket telah terkirim setelah sebelumnya terjadi masalah pengiriman.","shipmentId":"ID pengiriman: {{id}}","resolutionEvents":{"investigation_saved":"Investigasi disimpan.","buyer_refund_created":"Permintaan refund pembeli dibuat.","seller_reversal_created":"Pembalikan hasil penjual dicatat.","seller_compensation_created":"Kompensasi klaim dikreditkan ke penjual.","resolution_executed":"Resolusi keuangan dieksekusi.","claim_marked_filed":"Klaim kurir masih menunggu penyelesaian.","resolution_completed":"Resolusi selesai.","finance_review_decision_recorded":"Keputusan tinjauan keuangan dicatat."}},"transactionIssueGuidance":{"shipmentDeliveryException":{"title":"Peninjauan masalah pengiriman","review":"Masalah pengiriman ini memerlukan peninjauan Ops. Jangan menyelesaikan transaksi melalui alur pembatalan biasa sebelum penyebab dan hasil pengiriman dikonfirmasi.","fundsHeld":"Dana penjual tetap ditahan selama masalah pengiriman belum diselesaikan."}},"shipmentResolution":{"title":"Resolusi masalah pengiriman","separateEvents":"Refund pembeli, pembalikan hasil penjual, dan kompensasi kurir dicatat sebagai tiga peristiwa keuangan terpisah.","resolutionType":"Jenis resolusi","responsibility":"Tanggung jawab","buyerResolution":"Resolusi pembeli","buyerRefund":"Refund pembeli","sellerRe
9solution":"Resolusi penjual","claimStatus":"Klaim kurir","claimReference":"Nomor / referensi klaim kurir","claimReferenceHelp":"Isi nomor tiket atau ID klaim dari Biteship/kurir setelah klaim diajukan.","claimAmount":"Jumlah klaim yang disetujui","claimBasis":"Dasar klaim yang disarankan","goodsOutcome":"Kondisi barang untuk penjual","sellerFundsStatus":"Status dana penjual:","sellerFundsUnreleased":"Dana pesanan belum dilepas ke saldo penjual.","releasedFundsTitle":"Penanganan dana penjual yang sudah dilepas","sellerOriginalProceeds":"Hasil penjualan asli seller","released":"Sudah dilepas","unreleased":"Belum dilepas","claimLikelyGuidance":"Barang belum kembali/rusak dan tanggung jawab berada pada kurir. Pertimbangkan membuat klaim kurir.","claimConsistencyWarning":"Barang tercatat kembali dalam kondisi baik, tetapi klaim kurir masih menunggu. Periksa kembali apakah klaim tetap diperlukan.","internalNote":"Catatan internal","preview":"Pratinjau resolusi","sellerReversal":"Pembalikan hasil penjual","compensation":"Kompensasi kurir","noneNow":"Tidak ada saat ini","save":"Simpan investigasi","execute":"Eksekusi resolusi","saved":"Investigasi berhasil disimpan.","executed":"Resolusi berhasil dieksekusi. Permintaan refund #{{refundId}} dibuat. Klaim kurir masih menunggu.","completedWithCompensation":"Resolusi berhasil diselesaikan. Kompensasi klaim kurir telah dikreditkan ke seller.","claimPending":"Tindakan pembeli/penjualan dicatat; klaim kurir masih diproses.","compensationCredited":"Kompensasi klaim kurir telah dikreditkan.","compensationFinanceRequired":"Izin Finance diperlukan untuk mencatat klaim kurir yang disetujui ini sebagai saldo seller.","confirmTitle":"Konfirmasi resolusi keuangan","confirmWarning":"Tindakan refund dan akuntansi permanen akan dicatat. Periksa semua jumlah.","confirm":"Konfirmasi eksekusi","cancel":"Batal","values":{"returned_to_seller":"Dikembalikan ke penjual","lost_in_transit":"Hilang dalam pengiriman","damaged_in_transit":"Rusak dalam pengiriman","recipient_rejected":"Ditolak penerima","disposed_by_courier":"Dimusnahkan kurir","delivery_failed":"Pengiriman gagal","other":"Lainnya","courier":"Kurir","seller":"Penjual","buyer":"Pembeli","undetermined":"Belum ditentukan","none":"Tidak ada","full_refund":"Refund penuh","partial_refund":"Refund sebagian","reverse_proceeds":"Balikkan hasil penjualan","retain_proceeds":"Pertahankan hasil penjualan","compensation_pending_claim":"Kompensasi menunggu klaim","no_compensation":"Tanpa kompensasi","not_required":"Tidak diperlukan","not_filed":"Belum diajukan","filed":"Diajukan","approved":"Disetujui","rejected":"Ditolak","approved_for_automatic_reversal":"Setujui pembalikan otomatis","handled_manually":"Ditangani secara manual","no_reversal":"Tanpa pembalikan","returned_good_condition":"Barang kembali dalam kondisi baik","returned_damaged":"Barang kembali dalam kondisi rusak","not_returned":"Barang belum kembali","lost":"Barang hilang","unknown":"Belum diketahui"},"manualFinanceReview":"Tinjauan keuangan manual diperlukan. Tidak ada refund, pembalikan, kompensasi, atau perubahan pencairan yang dilakukan.","references":"Catatan keuangan","refundRecord":"Refund","reversalRecord":"Pembalikan seller","compensationRecord":"Kompensasi klaim","financeReviewSaved":"Keputusan peninjauan Finance disimpan.","financeReviewNote":"Catatan peninjauan Finance (wajib)","saveFinanceReview":"Simpan peninjauan Finance","financeReviewDecision":"Keputusan peninjauan Finance","sellerHelp":{"reverse_proceeds":"Seller tidak mempertahankan hasil transaksi asli. Jika dana sudah dilepas, sistem membuat pembalikan saldo.","retain_proceeds":"Seller tetap mempertahankan hasil transaksi asli. Gunakan hanya bila kebijakan memang mengharuskan seller tetap dibayar.","compensation_pending_claim":"Transaksi asli tidak dipertahankan; seller dapat menerima kompensasi terpisah setelah klaim kurir disetujui.","no_compensation":"Tidak ada pembayaran kompensasi kurir kepada seller."},"completed":"Resolusi selesai","completedAt":"Selesai pada {{date}}"},"chatAttachmentViewer":{"attachment":"Lampiran","openImageAttachment":"Buka lampiran gambar","invoiceOrder":"Invoice / Pesanan","status":"Status","total":"Total","viewOrder":"Lihat pesanan","sellerProduct":"Produk penjual","product":"Produk","price":"Harga","productLinkUnavailable":"Tautan produk tidak tersedia: slug penjual atau produk tidak ada","openProductDetail":"Buka detail produk","viewProduct":"Lihat produk","imageViewer":"Penampil gambar","closeImageViewer":"Tutup penampil gambar","reset":"Atur ulang"}
9,"supportAttachments":{"close":"Tutup","search":"Cari","searchPlaceholder":"Cari invoice atau produk","loading":"Memuat...","previous":"Sebelumnya","next":"Berikutnya","pageOf":"Halaman {{page}} dari {{total}}","chooseInvoice":"Pilih invoice / pesanan","chooseProduct":"Pilih produk","noOrders":"Tidak ada pesanan terkait.","noProducts":"Tidak ada produk terkait.","loadFailed":"Gagal memuat lampiran.","searchAttachments":"Cari lampiran"},"shippingTest":{"title":"Lab uji pengiriman (internal)","intro":"Utilitas internal Biteship untuk validasi siklus secara manual. Menggunakan autentikasi sesi dan alur CSRF saat ini.","guidance":"Untuk checkout standar, gunakan pasangan kode pos. ID area bersifat opsional dan khusus penyedia. Koordinat adalah input lanjutan untuk layanan instan, same-day, atau perutean lanjutan.","phases":{"discovery":"A · Penemuan lokasi / penyedia","input":"B · Input pengiriman","execution":"C · Eksekusi pengiriman","inspection":"D · Pemeriksaan siklus"},"steps":{"origin":"1) Cari area asal","destination":"2) Cari area tujuan","couriers":"3) Ambil / lihat kurir","inputs":"4) Input barang, paket, dan pengiriman","rates":"5) Periksa tarif","create":"6) Buat pengiriman","shipment":"7) Ambil pengiriman berdasarkan ID internal","orderTracking":"8) Segarkan pesanan penyedia / pelacakan","history":"9) Tampilkan riwayat pengiriman"},"fields":{"origin_postal_code":"Kode pos asal (disarankan)","destination_postal_code":"Kode pos tujuan (disarankan)","origin_area_id":"ID area asal","destination_area_id":"ID area tujuan","origin_latitude":"Lintang asal (lanjutan)","origin_longitude":"Bujur asal (lanjutan)","destination_latitude":"Lintang tujuan (lanjutan)","destination_longitude":"Bujur tujuan (lanjutan)","sender_name":"Nama pengirim","sender_phone":"Telepon pengirim","sender_address":"Alamat pengirim","receiver_name":"Nama penerima","receiver_phone":"Telepon penerima","receiver_address":"Alamat penerima","courier_company":"Perusahaan kurir","courier_type":"Jenis kurir","couriers":"Kurir untuk tarif (CSV)","item_name":"Nama barang","quantity":"Jumlah","weight":"Berat (gram)","value":"Nilai (IDR)","internal_order_id":"ID pesanan internal (opsional)","reference_id":"ID referensi (opsional)","shipment_id":"ID pengiriman lokal","provider_order_id":"ID pesanan penyedia","tracking_id":"ID pelacakan"},"placeholders":{"originSearch":"Cari area asal","destinationSearch":"Cari area tujuan","localShipment":"ID pengiriman lokal","providerOrder":"ID pesanan penyedia","tracking":"ID pelacakan","historyShipment":"ID pengiriman untuk riwayat"},"actions":{"search":"Cari","searching":"Mencariâ¦","fetchCouriers":"Ambil kurir","loading":"Memuatâ¦","checkRates":"Periksa tarif","checking":"Memeriksaâ¦","createShipment":"Buat pengiriman","creating":"Membuatâ¦","fetch":"Ambil","fetching":"Mengambilâ¦","refreshOrder":"Segarkan pesanan","refreshTracking":"Segarkan pelacakan","refreshing":"Menyegarkanâ¦","loadHistory":"Muat riwayat"},"outputs":{"response":"Respons","providerOrder":"Detail pesanan penyedia","tracking":"Detail pelacakan"}},"emergencySla":{"title":"Insiden SLA Darurat","helper":"Gunakan fitur ini jika penjual di wilayah tertentu membutuhkan waktu tambahan untuk mengirim pesanan karena bencana, gangguan kurir, atau kondisi luar biasa lainnya.","createTitle":"Buat insiden","name":"Nama insiden","province":"Provinsi","city":"Kota / Kabupaten (opsional)","district":"Kecamatan (opsional)","allDescendants":"Semua","days":"Tambahan hari kerja","reason":"Alasan internal","create":"Buat insiden","created":"Insiden dibuat. Lakukan pratinjau sebelum menerapkan.","history":"Riwayat insiden","area":"Wilayah","status":"Status","affected":"Penjual / pesanan terdampak","close":"Tutup insiden","confirmClose":"Tutup insiden ini secara permanen? Perpanjangan yang ada tetap berlaku.","preview":"Pratinjau pesanan terdampak","sellers":"Penjual","eligible":"Pesanan baru memenuhi syarat","covered":"Sudah tercakup","skipped":"Dilewati","sellerSelection":"Pilih penjual yang disertakan","invoice":"Invoice","currentDeadline":"Batas waktu saat ini","projectedDeadline":"Proyeksi batas waktu","shippingState":"Status pengiriman","apply":"Terapkan ke pesanan baru yang memenuhi syarat","confirmApply":"Perpanjang hingga {{count}} pesanan yang memenuhi syarat untuk penjual terpilih?","applied":"{{extended}} pesanan diperpanjang; {{skipped}} dilewati.","appliedOrders":"Pesanan yang telah diterapkan","skipReasons":{"already_covered":"Sudah tercakup insiden ini","delivered_completed":"Terkirim / selesai","cancelled":"Dibatalkan","missing_deadline":"Batas waktu tidak ada","unpaid_ineligible":"Belum dibayar / tidak memenuhi syarat","fulfillment_already_processed":"Pesanan sudah tidak terkena batas waktu persiapan pengiriman"},"areaSellers":"Penjual di wilayah","areaEligible":"Pesanan memenuhi syarat di seluruh wilayah","selectedEligible":"Pesanan terpilih yang memenuhi syarat"},"auditLogs":{"title":"Log audit admin","searchPlaceholder":"Cari log","actionFilter":"Filter tindakan","search":"Cari","loading":"Memuat logâ¦","at":"Waktu","actor":"Pelaku","target":"Target","system":"sistem","empty":"Tidak ada log audit."},"biteshipCreateReconciliation":{"title":"Pembuatan pengiriman perlu direkonsiliasi","provider":"Provider","localShipmentId":"ID pengiriman lokal","reference":"Referensi Tokodepan","copy":"Salin","copied":"Referensi disalin.","providerOrderId":"ID Pesanan Biteship","instructions":"Salin referensi Tokodepan, cari di Dashboard Biteship, konfirmasi kurir dan resi, lalu tempel ID Pesanan Biteship. Tokodepan akan memverifikasinya secara independen sebelum menyimpan.","verify":"Verifikasi dan rekonsiliasi","success":"Rekonsiliasi pengiriman selesai.","notAvailable":"Tidak tersedia"}}`),nav:{whatsappSupport:`Dukungan WhatsApp`,refundRequests:`Permintaan refund`},whatsappSupport:{title:`Kotak Masuk Dukungan WhatsApp`,filter:`Status`,unread:`{{count}} Belum Dibaca`,markRead:`Tandai Sudah Dibaca`,reopen:`Buka Kembali Percakapan`,close:`Tutup Percakapan`,replyPlaceholder:`Tulis balasanâ¦`,send:`Kirim Balasan`,empty:`Pilih Percakapan untuk Melihat Pesan`,status:{open:`Terbuka`,closed:`Ditutup`,unknown:`Tidak Diketahui`},threads:`Percakapan`,replyLabel:`Balasan`,replyHelper:`Balasan dikirim melalui WhatsApp.`,noMessages:`Belum Ada Pesan`,selectThread:`Pilih Percakapan untuk Melihat Pesan`,lastMessage:`Pesan Terakhir`,emptyThreads:`Belum Ada Percakapan`,sending:`Mengirim...`,replyErrorMeta:`WhatsApp tidak dapat mengirim balasan ini. Meta menolak penerima atau jendela layanan pelanggan mungkin sudah tertutup.`,replyErrorFallback:`Tidak dapat mengirim balasan WhatsApp.`,loadMoreThreads:`Muat Percakapan Lainnya`,loadOlderMessages:`Muat Pesan Lama`,loading:`Memuat...`,backToThreads:`Kembali ke percakapan`,channelLabel:`Percakapan WhatsApp`,attachImage:`Lampirkan gambar`,removeImage:`Hapus gambar`,imageLabel:`Gambar`,selectedImageAlt:`Balasan gambar WhatsApp yang dipilih`,imageAttachmentAlt:`Lampiran gambar WhatsApp`,openImagePreview:`Buka pratinjau gambar`,imageUnavailable:`Lampiran gambar tidak tersedia`,imagePreviewLabel:`Pratinjau gambar WhatsApp`,zoomOut:`Perkecil`,zoomIn:`Perbesar`,resetZoom:`Atur ulang zoom gambar`,fit:`Sesuaikan`,closeImagePreview:`Tutup pratinjau gambar`,imageTypeError:`Hanya gambar JPEG, PNG, atau WebP yang didukung.`,imageEmptyError:`Berkas gambar kosong.`,imageSizeError:`Ukuran gambar harus 10 MiB atau kurang.`,imageSendUncertain:`Hasil pengiriman tidak dapat dikonfirmasi. Periksa percakapan sebelum mencoba lagi.`,backgroundRefreshError:`Pembaruan langsung sedang mencoba kembaliâ¦`,newMessages:`Pesan baru`,copyPhone:`Salin`,phoneCopied:`Tersalin`}
9,reviews:{sellerResponse:`Tanggapan penjual`,hideResponse:`Sembunyikan tanggapan`,unhideResponse:`Tampilkan tanggapan`,moderationReason:`Alasan moderasi`,responseHidden:`Tanggapan disembunyikan`,responseUnhidden:`Tanggapan ditampilkan kembali`,reasonRequired:`Alasan wajib diisi`,hidden:`Disembunyikan`,visible:`Terlihat`,edited:`Diedit`}},_r={common:{save:`Save`,cancel:`Cancel`,close:`Close`,loading:`Loading`,retry:`Retry`,refresh:`Refresh`,search:`Search`,back:`Back`,continue:`Continue`,confirm:`Confirm`,error:`Error`,success:`Success`,noData:`No data`,login:`Log in`,logout:`Log out`},language:{indonesian:`Bahasa Indonesia`,english:`English`,interfaceLanguage:`Interface language`,bahasa:`Bahasa`}},vr={payment:{saveQr:`Save QR`,preparingQr:`Preparing QRâ¦`,saveQrFailed:`Could not save QR. Please take a screenshot.`,copyVa:`Copy VA number`,copied:`Copied`,copyVaFailed:`Could not copy automatically. Please select and copy the VA number.`},buyer:JSON.parse(`{"interfaceLanguage":"Interface language","nav":{"home":"Home","transactions":"Transactions","searchProducts":"Search products","inbox":"Inbox","admin":"Admin","cart":"Cart","profile":"My Profile","login":"Log in","signup":"Sign up","menu":"Menu","orders":"Orders","adminWorkspace":"Admin workspace","checkingSession":"Checking session"},"footer":{"about":"About","help":"Help","contact":"Contact"},"auth":{"login":"Log in","signup":"Sign up","email":"Email","phoneNumber":"Phone number","password":"Password","fullName":"Full name","verificationCode":"Verification code","continue":"Continue","createAccount":"Create account","alreadyHaveAccount":"Already have an account?","dontHaveAccount":"Donât have an account?","forgotPassword":"Forgot password","checkYourEmail":"Check your email","verifying":"Verifying","continueAsGuest":"Continue as guest","sessionExpired":"Session expired","loginRequired":"Login required","legalConsentPrefix":"I have read and agree to ","termsAndConditions":"Tokodepan Terms and Conditions","legalConsentConnector":" and ","privacyPolicy":"Tokodepan Privacy Policy","legalConsentSuffix":".","loginTitle":"Welcome back to Tokodepan","loginSubtitle":"Log in to continue shopping and manage your orders.","signupTitle":"Create your Tokodepan account","signupSubtitle":"Sign up to start shopping from trusted sellers.","emailSeparatorLogin":"or continue with email","emailSeparatorSignup":"or sign up with email","newToTokodepan":"New to Tokodepan?","guestPhoneHelper":"Use your checkout phone number to view guest orders and transactions.","continueWithPhone":"Continue with phone number","backToHome":"Back to home","phoneNumberOptional":"Phone number (optional)","sendOtp":"Send OTP","submitting":"Submitting","signingIn":"Signing in","googleSigningIn":"Signing in with Googleâ¦","verifyCreateAccount":"Verify & create account","emailVerifiedLogin":"Email verified successfully. Please log in to continue.","signupSuccessTitle":"Account created successfully","signupSuccessBody":"You can now log in using the email and password you just registered.","fullNameOptional":"Full name (optional)","otpCode":"OTP code","entryChoiceWithGuest":"You can log in, create an account, or continue as guest.","entryChoiceAccountOnly":"Log in or create an account to continue.","mainPhoneNumber":"Main account phone","loginRequiredBody":"Please log in or sign up to continue.","sessionExpiredBody":"Your session has expired. Please log in again to continue.","guestOrdersPhoneHelp":"Use phone number to view guest orders and transactions.","close"
9:"Close","googleLoading":"Loading Google sign-inâ¦","googleFailed":"Google sign-in failed. Please try email login.","googleCredentialMissing":"Google sign-in did not return an account credential. Please try again.","signupCodesSent":"We sent verification codes to your email and phone number. Enter both codes to finish signup.","signupCodesResent":"New verification codes have been sent to your email and phone number.","signupResendRequired":"Name, email, and password are required before resending OTP.","signupResendFailed":"Failed to resend verification codes.","emailOtpCode":"Email OTP code","phoneOtpCode":"Phone OTP code","resendingCode":"Resending code","resendCodeIn":"Resend code in {{seconds}}s","resendCode":"Resend code","guestPhoneRequired":"Enter your phone number first.","guestOtpSent":"WhatsApp OTP sent. Enter the code to continue.","guestFieldsRequired":"Phone number and OTP code are required.","guestSendFailed":"Failed to request OTP.","guestVerifyFailed":"Failed to verify OTP.","verifyingOtp":"Verifying OTP","verifyOtp":"Verify OTP","preparingOtp":"Preparing OTP","requestAgainIn":"Request again in {{seconds}}s","requestWhatsappOtp":"Request OTP via WhatsApp","useEmailLogin":"Use email login","resetTitle":"Reset password","registeredEmailRequired":"Enter your registered email.","resetOtpSent":"OTP sent to your email. Enter OTP and your new password.","resetRequestFailed":"Failed to request password reset OTP.","resetFieldsRequired":"Email, OTP code, and new password are required.","resetSuccess":"Password reset successful. Please log in with your new password.","resetFailed":"Password reset failed. Please try again.","requestingOtp":"Requesting OTP","requestOtp":"Request OTP","resendOtpIn":"Resend OTP in {{seconds}}s","resettingPassword":"Resetting password","verifyReset":"Verify & reset","resendOtp":"Resend OTP","passwordPolicy":"Use 8â256 characters, including at least 1 number and 1 special character.","otpCooldown":"Please wait before requesting another OTP.","passwordPolicyError":"Your new password does not meet the requirements. Use 8â256 characters, including at least 1 number and 1 special character.","guestOrderLoading":"Phone verified. Loading your guest order.","networkError":"We couldn't reach Tokodepan. Please check your connection and try again.","serverError":"Tokodepan is having a problem on our side. Please try again in a moment.","phoneVerificationRequired":"Verify your phone number before continuing to checkout or payments.","invalidFormat":"Please check your email and password format.","duplicateEmail":"This email is already registered. Please log in instead.","loginDetailsInvalid":"Unable to log in with those credentials. Please check and try again.","signupDetailsInvalid":"We couldn't create your account with those details. Please review and try again.","signupFailed":"Sign up failed. Please try again.","loginFailed":"Log in failed. Please try again.","invalidCredentials":"Email or password is incorrect."},"products":{"title":"Products","searchPlaceholder":"Search products","search":"Search","filters":"Filters","condition":"Condition","conditionNew":"New","conditionUsed":"Used","shipping":"Shipping","sort":"Sort","results":"Results","noResults":"No products found","previous":"Previous","next":"Next","outOfStock":"Out of stock","unavailable":"Unavailable","loading":"Loading products","retry":"Retry","pagination":"Search result pages","pageOf":"Page {{page}} of {{pages}}","catalogTitle":"Buyer catalog","minPriceIdr":"Min price (IDR)","maxPriceIdr":"Max price (IDR)","searchPrompt":"Type a keyword and click Search.","price":"Price","stock":"Stock","seller":"Seller","showingRange":"Showing {{start}}-{{end}} of {{total}}","loadingSearchResults":"Loading search results","searchingCuratedSellers":"Searching curated sellers","updatingResultsFor":"Updating results for â{{query}}â","typeKeywordPrompt":"Type a keyword to search products.","refreshingResults":"Refreshing curated results","closeFilters":"Close filters"},"productDetail":{"information":"Product information","price":"Price","stock":"Stock","quantity":"Quantity","addToCart":"Add to cart","buyNow":"Buy now","shippingEstimate":"Shipping estimate","seller":"Seller","sellerInformation":"Seller information","store":"Store","description":"Description","condition":"Condition","weight":"Weight","dimensions":"Dimensions","reviews":"Reviews","noReviews":"No reviews yet","contactSeller":"Contact seller","chatWithSeller":"Chat with seller","unavailable":"Unavailable","outOfStock":"Out of stock","loading":"Loading product","error":"Could not load product"},"cart":{"title":"Shopping cart","selectAll":"Select all","selectedCount":"{{count}} selected","quantity":"Quantity","quantityMinimumPerTransaction":"Min {{min}} per transaction","quantityRangePerTransaction":"{{min}}â{{max}}
9 per transaction","quantityInvalidCurrentRules":"Quantity no longer valid for current rules. Update within limits or remove item.","remove":"Remove","removeSelected":"Remove selected","subtotal":"Subtotal","productSubtotal":"Product subtotal","itemsSubtotal":"Items subtotal","shippingEstimate":"Shipping estimate","estimatedShipping":"Estimated shipping","discount":"Discount","promo":"Promo","sellerPromotion":"Seller promotion","platformPromotion":"Platform promo","paymentMethod":"Payment method","total":"Total","estimatedTotal":"Estimated total","continueToCheckout":"Continue to checkout","empty":"Your cart is empty","itemUnavailable":"Item unavailable","paymentBelowMinimum":"Payment is below the minimum amount.","paymentAboveMaximum":"Payment is above the maximum amount.","loading":"Loading cart","refreshing":"Refreshing cart","shippingTo":"Shipping to","noShippingAddressSelected":"No shipping address selected","addSavedAddressBeforeCheckout":"Add or select a saved address before checkout.","guestOtp":{"title":"Verify your phone number","description":"Continue as guest with a WhatsApp OTP code.","enterPhone":"Enter your phone number first.","request":"Request OTP via WhatsApp","sending":"Sendingâ¦","resendIn":"Resend OTP in {{seconds}}s","resend":"Resend OTP via WhatsApp","sent":"WhatsApp OTP sent. Enter the code to continue.","cooldownNotice":"An OTP was already requested. You can resend when the countdown finishes.","required":"Name, phone number, and OTP code are required.","verified":"Phone verified. Continuing as guest.","sendFailed":"Failed to send OTP.","verifyFailed":"Failed to verify OTP."},"finalShippingOptionsCheckout":"Final shipping options are selected at checkout.","finalShippingConfirmedCheckout":"Final shipping choice and final shipping price are confirmed at checkout.","selectItemsEstimateShipping":"Select items to estimate shipping","noPlatformPromotion":"No platform promotion","appliedEstimate":"Applied: {{code}} (estimate)","sellerPromotionsEstimateRules":"Seller promotions follow checkout rules, and selected eligible promotions are reflected in this estimate.","saveCloseVoucherModal":"Save and close voucher modal","checkoutSelectionsNotice":"Shipping and payment method are selected at checkout.","promoFinalCheckout":"Final promotion eligibility is confirmed at checkout.","totalBeforeShipping":"Estimated total before shipping","promoCode":"Promo code","promoCodePlaceholder":"ENTER CODE","applyPromoCode":"Apply","removePromoCode":"Remove","invalidPromoCode":"This promo code is invalid or not applicable to this order.","claimedPromoCode":"Promo code applied","promoCodeNoLongerApplies":"This promo code no longer applies to the current order."},"checkout":{"title":"Checkout","shippingAddress":"Shipping address","changeAddress":"Change address","addAddress":"Add address","selectAddress":"Choose shipping address","orderSummary":"Order summary","products":"Products","viewProductDetails":"View product details","quantity":"Quantity","shipping":"Shipping","discount":"Discount","promo":"Promo","paymentMethod":"Payment method","virtualAccount":"Virtual Account","bank":"Bank","total":"Total","placeOrder":"Place order","payNow":"Pay now","processing":"Processing","addressRequired":"Shipping address is required","methodUnavailable":"Payment method unavailable","noPaymentMethodAvailable":"No payment method is available for this transaction amount.","checkingPaymentMethods":"Checking payment methods...","paymentMethodsCheckFailed":"Payment methods could not be checked.","retryPaymentMethods":"Retry","creatingOrder":"Creating orderâ¦","creatingPayment":"Preparing paymentâ¦","redirectingCard":"Opening card paymentâ¦","manageAddresses":"Manage addresses","selectedItems":"Selected items","noteForSellerOptional":"Note for seller (optional)","sellerPromo":"Seller promo","noPromotion":"No promotion","platformPromo":"Platform promo (Tokodepan)","noPlatformPromotion":"No platform promotion","claimedPromoApplied":"Promo code applied","shipmentInsurance":"Shipment insurance","shipmentInsuranceRequired":"Shipment insurance required","addShipmentInsurance":"Add shipment insurance","insuranceRequiredHelp":"One or more products in this order require insured shipping.","insuranceHelp":"Turn on insurance to protect this seller shipment.","shippingMethod":"Shipping method","shippingGroupMinimum":"{{label}} from Rp {{price}}","shippingOptionsChanged":"Shipping options changed. Please review your delivery method before placing the order.","itemDetailsChanged":"Some item details changed. Please review your cart and total before placing the order.","secureCardWaiting":"Waiting for payment confirmation.","continueSecureCard":"Continue payment","paymentPopupBlocked":"The browser could not open the payment page automatically.","o
9penPaymentManually":"Open payment","paymentReturnChecking":"Payment is being processed.","paymentReturnInstruction":"Close this page and return to the Tokodepan app to see the latest status.","closeAndReturn":"Close and return to Tokodepan","paymentReturnCloseFailed":"This page could not be closed automatically. Tap the à icon above, then return to the Tokodepan app.","retryPayment":"Retry payment","ambiguousPayment":"Payment status is still being checked. Please do not create another payment.","checkPayment":"Check existing payment","paymentPageUnavailable":"The previous payment page could not be resumed. You can create a new payment for this same order.","createNewPayment":"Create new payment","notEligible":"Not eligible","notEligiblePaymentMethod":"Not eligible for selected payment method","selectAddressForQuotes":"Select a shipping address to load real quotes.","loadingShippingOptions":"Loading shipping options","openPaymentCode":"Open payment code","followPaymentInstructions":"Follow your payment channel instruction to complete this payment.","notEligibleCart":"Not eligible yet for current cart conditions.","howToPay":"How to pay","paymentAmountReminder":"Make sure the transferred amount matches the total payment. Your payment will be confirmed automatically after successful transfer.","transactionDetail":"Go to transaction detail","transactions":"Go to transactions","ambiguousOrder":"We couldn't confirm whether your order was created. Check your transactions before trying again to avoid creating a duplicate order.","checkTransactions":"Check transactions","refreshStatus":"Refresh status","ambiguousNoPending":"We couldn't find a new pending order yet. You can check Transactions or return to checkout.","refreshStatusFailed":"We couldn't refresh your transactions. Please try again.","backToCart":"Back to cart","recommended":"Recommended","eligibleNow":"Eligible now.","noEligibleSellerPromotions":"No eligible seller promotions.","returnToTokodepan":"Return to Tokodepan","vaInstruction":"Transfer the exact amount ({{amount}}) to the virtual account number. Complete payment before {{expires}}; this page updates automatically after payment is received.","promoCodeNoLongerApplies":"This promo code no longer applies to the current order.","promoPaymentMethodNotAllowed":"This promotion does not apply to the selected payment method.","promoNoLongerApplicable":"This promotion is no longer applicable to your order.","promoNotActive":"This promotion is no longer active.","estimatedDelivery":"Est. {{duration}} {{unit}}","etaUnit":{"HourOne":"hour","HourOther":"hours","DayOne":"day","DayOther":"days"},"createOrderFailed":"Failed to create order. Please try again.","paymentInitializationFailed":"Order created but payment could not be initialized.","onlinePaymentUnavailable":"Online payment is not available yet. Please retry in a moment or continue from transaction detail.","paymentStartFailed":"Payment could not be started. Please retry payment or continue from transaction detail."},"payment":{"title":"Payment","statusLabel":"Payment status","status":{"pending":"Pending","paid":"Paid","failed":"Failed","expired":"Expired","cancelled":"Cancelled","requiresAction":"Pending","unpaid":"Pending","verifying":"Payment received. Verifying paymentâ¦"},"scanQris":"Scan QRIS Code","qrisInstruction":"Use your mobile banking or e-wallet app to scan this QR code.","vaNumber":"Virtual Account Number","bank":"Bank","amount":"Amount","expiresAt":"Expires at","refreshStatus":"Refresh status","continuePayment":"Continue payment","viewOrders":"View orders","returnToCart":"Return to cart","notFound":"Payment not found","instruction":"Payment instruction","instructionUnavailable":"Payment instructions are not available yet. Refresh this page in a moment.","method":"Method","total":"Total","expires":"Expires","loading":"Loading payment status","refreshing":"Refreshing payment status","received":"Payment received. You can check your order status on the transaction list.","receivedShort":"Payment received.","reviewing":"We're reviewing your payment. Your order has not been released for processing yet. You do not need to pay again.","contactTokodepan":"Contact Tokodepan","paymentId":"Payment ID","loadFailed":"Failed to load payment status.","qrisAriaLabel":"QRIS payment code","qrisAlt":"QRIS code for payment","cardAttemptFailure":{"restricted_card":"This card cannot be used for this transaction. Please try another card.","insufficient_funds":"The card balance or limit is insufficient. Please use another card or payment method.","card_declined":"The card payment was declined. Please try another card or contact your bank.","generic_card_failure":"The card payment was unsuccessful. Please try again or use another card."}}
9,"nameValidation":{"reserved":"This name canât be used because it is reserved for official Tokodepan identities.","invalidCharacters":"Name contains characters that arenât allowed."},"profile":{"title":"My Profile","sections":{"overview":"Overview","transactions":"Transactions","addresses":"Addresses","account":"Account","payment":"Payment","security":"Security","logout":"Log out","notifications":"Notifications"},"loading":"Loading profile","sectionsLabel":"Profile sections","mobileNavigation":"Profile mobile navigation","edit":"Edit profile","save":"Save","saving":"Saving...","cancel":"Cancel","name":"Name","email":"Email","phone":"Phone number","noPhone":"No phone number","noEmail":"No email","loginMethod":"Login method","verifiedByGoogle":"Verified by Google","passwordEnabled":"Password login is enabled.","changePassword":"Change password","accountInformation":"Account information","preferences":"Preferences","defaultShippingAddress":"Default shipping address","savedAddress":"Saved address","noDefaultAddress":"No default address set yet","manageAddresses":"Manage addresses","paymentInformation":"Payment information","preferredPayment":"Preferred payment","managePayment":"Manage payment","security":"Security","logoutPending":"Logging out...","notAvailable":"Not available","buyerFallback":"Buyer","googlePasswordManaged":"No Tokodepan password is used for this account. Your password is managed by your Google Account.","language":"Language","languageHelp":"Choose the language used in Tokodepan.","phoneVerified":"Verified","phoneNotVerified":"Not verified","sendWhatsAppOtp":"Send WhatsApp OTP","phoneOtpCode":"Enter OTP code","verify":"Verify","changePhone":"Change phone number","addPhone":"Add phone number","requestAgain":"Request again in {{seconds}} seconds","processing":"Processingâ¦","newPhone":"New phone number","saveFailed":"Failed to save profile.","emailOtpRequired":"Enter the email OTP code.","emailOtpInvalid":"The email OTP code is incorrect.","emailOtpExpired":"The email OTP code has expired.","emailTaken":"That email is already used by another account.","googleEmailReadOnly":"The email for a Google account cannot be changed.","emailRestricted":"This email cannot be used.","emailOtpSent":"An OTP code was sent to the new email address.","emailOtpSendFailed":"Failed to send the email OTP. Try again.","emailOtpHelp":"To change your email, enter the OTP sent to the new address.","emailOtpSending":"Sending email OTPâ¦","emailOtpSend":"Send email OTP","emailOtpCode":"Email OTP code","phoneOtpSending":"Sending WhatsApp OTPâ¦","phoneOtpSent":"WhatsApp OTP sent. Enter the code to verify your phone number.","phoneOtpRequestFailed":"Failed to request phone OTP.","phoneVerifiedSuccess":"Phone number verified{{phone}}.","phoneOtpVerifyFailed":"Failed to verify phone OTP."},"addresses":{"title":"Addresses","management":"Address Management","add":"Add address","addNew":"Add New Address","edit":"Edit address","delete":"Delete address","setDefault":"Set as default","default":"Default","saved":"Saved addresses","empty":"No addresses saved","emptyTitle":"No saved addresses yet","emptyDescription":"Add your first shipping address so checkout can deliver to the right place.","recipientName":"Recipient name","phone":"Phone number","label":"Address label","street":"Street address","details":"Address detail (optional)","province":"Province","city":"City / Regency","district":"District","postalCode":"Postal code","notes":"Notes","location":"Location pin","useCurrentLocation":"Use my location for delivery pin","searchLocation":"Search location","save":"Save address","update":"Update address","deleteConfirm":"Delete this address?","loading":"Loading addresses...","loadingProvinces":"Loading provinces","loadingCities":"Loading cities","loadingDistricts":"Loading districts","loadingPostalCodes":"Loading postal codes","selectProvince":"Select province","selectCity":"Select city/regency","selectDistrict":"Select district","selectPostalCode":"Select postal code","countryHelper":"Currently only Indonesian delivery addresses are supported.","requiredFields":"Please complete all required fields.","pinRequired":"Please pinpoint the delivery location on the map.","pinWithinIndonesia":"Delivery coordinates must be within Indonesia.","labels":{"home":"Home","office":"Office","other":"Other"},"geolocationUnavailable":"Geolocation is unavailable in this browser. You can still place the pin manually.","locationPermissionDenied":"Location permission denied. You can still place the pin manually.","locationTimeout":"Timed out while reading current location. You can still place the pin manually.","locationReadFailed":"Unable to read current location. You can still place the pin manually.","searchFailed":"Failed to search area.","noMatchingArea":"No matching area found.","areaSelectedPinpoint":"Area selected. Drag or move the pin to pinpoint the exact delivery location.","areaFoundPlacePin":"Area found. Please place the exact pin manually.","resolveFailed":"Failed to resolve selected area. Please place the pin manually.","basemapFailed":"Unable to load {{provider}} basemap. Check console logs for diagnostics and retry.","mapInitFailed":"Map library failed to initialize. Check console logs for diagnostics, then refresh and try again.","searchPlaceholder":"Search province, city/regency, district, or postal code","searchingArea":"Searching areaâ¦","resolvingArea":"Resolving selected areaâ¦","selectedArea":"Selected area","latLng":"Latitude, Longitude","latitude":"Latitude","longitude":"Longitude","loadingBasemap":"Loading basemapâ¦","openToLoadMap":"Open this
9section to load the map.","advancedMapUnavailable":"Advanced map view is unavailable here.","mapManualFallback":"You can still use current location or enter coordinates manually.","mapUnavailable":"Map unavailable.","mapReloadHelper":"You can continue entering your address manually and try reloading this page.","mapRenderingUnavailable":"Map rendering is unavailable on this device. Use current location or enter latitude/longitude manually.","mapHelper":"Click the map to place or move the pin. Drag the pin to fine-tune location.","noPin":"No pin selected yet.","postalCodeArea":"Postal code area","area":"area","selectTitle":"Select shipping address","manageTitle":"Manage shipping addresses","selectDescription":"Choose which saved address will be used for this checkout.","manageDescription":"Keep your delivery addresses up to date for faster checkout.","backToCart":"Back to cart","backToProfile":"Back to profile","checkoutFlow":"Checkout flow","saving":"Savingâ¦","saveSuccess":"Address saved successfully.","saveError":"Failed to save address.","fieldRequired":"{{field}} is required.","countryRequired":"Country must be Indonesia (ID).","selectedForCheckout":"Current delivery","currentDelivery":"Current delivery","useThisAddress":"Use this address","untitled":"Untitled address","editAction":"Edit","deleteAction":"Delete","saveChanges":"Save changes","cancel":"Cancel","manualCoordinateHelper":"Select a pin on the map or enter coordinates manually if needed.","locationOptionsFailed":"Failed to load Indonesian address options.","findAddress":"Find address","fullAddressPlaceholder":"Enter the full address","find":"Search","searchingAddress":"Searching for addressâ¦","chooseAddress":"Choose an address","addressNotFound":"Address not found","addressSearchFailed":"Failed to search for the address. Try again.","verifyPin":"Check the location pin","googlePinFound":"We found a location based on the selected address.","adjustPinGuidance":"Drag the pin if the home, building, or entrance is in a different location.","reverseGeocodeUnavailable":"Your location pin is set. Please complete the address manually.","currentLocationBestWhenThere":"Best choice when you are currently at the delivery location.","searchWhenAway":"Search for the address if you are not currently at the delivery location.","or":"or","pinSource":{"google":"Pin based on the selected address.","current_location":"Using your device location.","manual":"The location pin has been adjusted."}},"security":{"changePassword":"Change password","currentPassword":"Current password","newPassword":"New password","confirmPassword":"Confirm new password","savePassword":"Save password","updatePassword":"Update password","passwordUpdated":"Password updated","passwordMismatch":"Passwords do not match","forgotPassword":"Forgot password","resetPassword":"Reset password","sendReset":"Send reset link/code","verificationCode":"Verification code","otpCode":"OTP Code","verify":"Verify","resend":"Resend code","otpHelper":"Use the password reset OTP from your email to confirm this change.","settings":"Security settings","password":"Password","changed":"Password changed successfully.","changeFailed":"Failed to change password.","updatedToday":"Updated today","updatedDaysAgo":"Last updated {{count}} day(s) ago.","updatedMonthsAgo":"Last updated {{count}} month(s) ago.","updatedYearsAgo":"Last updated {{count}} year(s) ago.","logoutOtherDevices":"Log out other devices after changing password","logoutOtherDevicesHelper":"Keep this on if you changed your password because of a security concern.","sendOtp":"Send OTP","sendingOtp":"Sending OTP...","sendOtpCooldown":"Send again in {{seconds}}s","otpSent":"OTP sent to your email.","otpSendFailed":"Failed to send OTP.","showPassword":"Show password","hidePassword":"Hide password"},"paymentSettings":{"title":"Payment information","preferredMethod":"Preferred payment method","preferredMethodShort":"Preferred Method","save":"Save preference","saved":"Payment preference saved.","unavailable":"Payment method unavailable","cardsUnavailable":"Cards unavailable","none":"No preferred method","checkoutDefault":"Used as your default checkout option.","methods":{"qris":"QRIS","card":"Credit card","bca_va":"BCA Virtual Account"}},"help":{"title":"Help Center","supportTitle":"Tokodepan Support","supportDescription":"Need help with an order, account, or policy? Start a chat with Tokodepan support.","chat":"Chat with Tokodepan","openingChat":"Opening chat...","chatFailed":"Unable to open support chat."},"errors":{"pageNotFound":"Page not found","backHome":"Back to home","generic":"Something went wrong"},"complaintDisplay":{"active":"Complaint active","closed":"Complaint closed","resolved":{"generic":"Complaint resolved","replacement":"Complaint resolved: Replacement","replacement_no_return":"Complaint resolved: Replacement","replacement_after_return":"Complaint resolved: Replacement after return","refund":"Complaint resolved: Refund","refund_no_return":"Complaint resolved: Refund","refund_after_return":"Complaint resolved: Refund after return","partial_refund":"Complaint resolved: Partial refund","rejected":"Complaint resolved: Rejected"}}
9,"orders":{"recoveryLegalConsentConnector":", and ","refundComplaintPolicy":"Tokodepan Refund and Complaint Policy","title":"Orders","tabs":{"all":"All","pendingPayment":"Pending payment","paid":"Paid","processing":"Processing","readyToShip":"Ready to ship","shipped":"Shipped","delivered":"Delivered","completed":"Completed","cancelled":"Cancelled","complaintOpen":"Complaint open","refunded":"Refunded","refundCompleted":"Refund completed"},"status":{"pending":"Pending","pendingPayment":"Pending payment","paid":"Paid","paymentReview":"Payment under review","processing":"Processing","readyToShip":"Ready to ship","shipped":"Shipped","delivered":"Delivered","completed":"Completed","cancelled":"Cancelled","complaintOpen":"Complaint open","refunded":"Refunded","refundCompleted":"Refund completed"},"search":"Search orders","filterStatus":"Filter by status","orderDate":"Order date","invoice":"Invoice","seller":"Seller","products":"Products","quantity":"Quantity","shipping":"Shipping","total":"Total","invoiceTotal":"Invoice total","viewDetails":"View details","continuePayment":"Continue payment","buyAgain":"Buy again","empty":"No orders found","loading":"Loading orders","loadMore":"Load more","previous":"Previous","next":"Next","retry":"Retry","pageOf":"Page {{page}} of {{pageCount}} · {{totalCount}} orders","filterDate":"Filter by date","toDate":"To","statusFilter":"Status filter","emptyByTab":{"all":"Your transactions will appear here after you start shopping.","shipped":"No transactions are currently being shipped.","completed":"No completed transactions yet.","complained":"No transactions have an active complaint.","cancelled":"No cancelled transactions.","pending_payment":"No transactions are waiting for payment.","processing":"No transactions are being processed."},"clearFilters":"Clear filters","dateUnavailable":"Date unavailable","itemCount":"{{count}} item(s)","showLessItems":"Show fewer items","showMoreItems":"Show {{count}} more item(s)","cancellationPending":"Cancellation requested · Waiting for seller response","cancellationApproved":"Cancellation approved","cancellationRejected":"Cancellation rejected","defaultSeller":"Tokodepan seller","sellerOrder":"Seller order #{{id}}","openTransaction":"Open transaction {{invoice}}","photo":"Photo","invoicePdf":"Invoice PDF"},"orderDetail":{"viewProductDetails":"View product details","title":"Order details","transactionDetails":"Transaction details","invoice":"Invoice","orderStatus":"Order status","paymentStatus":"Payment status","paymentMethod":"Payment method","orderDate":"Order date","paidAt":"Paid at","seller":"Seller","recipient":"Recipient","shippingAddress":"Shipping address","products":"Products","productSubtotal":"Product subtotal","shippingCost":"Shipping cost","sellerDiscount":"Seller discount","tokodepanDiscount":"Tokodepan discount","total":"Total","contactSeller":"Contact seller","openComplaint":"Open complaint","viewComplaint":"View complaint","confirmReceipt":"Confirm receipt","autoCompletionDeadline":"This order will be completed automatically on {{date}} if you take no action.","cancelOrder":"Cancel order","backToOrders":"Back to orders","refreshPaymentStatus":"Refresh payment status","notShipped":"Not shipped","shippingNotStartedUnpaid":"Shipping was not started because payment was not completed.","paymentExpired":"Payment expired","paymentFailed":"Payment failed","cancelledNotPaid":"Cancelled / Not paid","notPaid":"Not paid","paymentDate":"Payment date","noteForSeller":"Note for seller","shippingInsurance":"Shipping insurance","discount":"Discount","totalPaid":"Total paid","problemWithOrder":"Problem with your order?","reportProblemDescription":"Open a complaint if there is an issue with this order.","complaintOpened":"Complaint opened","complaintAlreadyOpen":"Complaint already open","reportProblem":"Report problem","showComplaintForm":"Show complaint form","hideComplaintForm":"Hide complaint form","submittingComplaint":"Submitting complaint...","complaintSubmitFailed":"Unable to submit the complaint. Check the information and try again.","cancellationRequested":"Cancellation requested","cancellationWaitingSeller":"Waiting for seller response","cancellationReason":"Cancellation reason","transactionUnavailable":"Transaction data is not available.","reasons":{"wrongGoodsSent":"Wrong goods sent","lessQuantityThanOrdered":"Less quantity than ordered","damagedItem":"Damaged item","itemNotReceived":"Item not received","other":"Other"},"complaintRedirecting":"Complaint opened. Redirecting to complaint center...","complaintOpenedHold":"Complaint has been opened. Seller payout is held until resolved.","requestCancellation":"Request cancellation","review":{"title":"Product Reviews","action":"Review","availableAfterDelivery":"Reviews are available after delivery.","reviewed":"Reviewed","stars":"Stars","note":"Note","shareExperience":"Share your experience","imagesLabel":"Review images (max 3)","uploadPhotos":"Upload photos","uploadingPhotos":"Uploading photos...","allowedF
9ormats":"Allowed: JPG, PNG, WEBP, GIF ⢠Max 5 MB each","uploadingImage":"Uploading image...","remove":"Remove","submit":"Leave review","saving":"Saving review...","image":"Review image","openImage":"Open review image {{number}}","imageViewer":"Review image viewer","closeImageViewer":"Close review image viewer","draftImage":"Draft review image","maximumImages":"Maximum 3 images per review.","invalidImageFormat":"Only JPG, PNG, WEBP, or GIF images are allowed.","imageTooLarge":"Image must be 5 MB or smaller.","imageUploadFailed":"Image upload failed. Please try again.","unableToUploadImage":"Unable to upload review image.","saveSuccess":"Thanks! Your review has been submitted.","saveFailed":"Unable to save your review. Please try again.","readyNotice":"You can leave one review per purchased item in the review section below.","readyToReview":"Ready to review your purchased items."},"reorderComplete":"Reorder complete. Purchased items were added to your cart.","reorderPartial":"Reorder partially completed. Added {{count}} item(s). {{reasons}}","reorderFailed":"Unable to reorder. {{reasons}}","reorderReasons":{"unavailable":"product is unavailable or inactive","quantityConflict":"current stock or purchase limit does not allow this quantity","session":"your session or security token must be refreshed","accountRestricted":"this account is restricted from purchasing","unexpected":"an unexpected error occurred"},"closeComplaint":"Close complaint","closeComplaintTitle":"Close complaint?","closeComplaintBody":"Use this when the issue has been resolved, including when the seller provided an explanation, compensation, or a replacement you accepted.","closingComplaint":"Closingâ¦","closeComplaintSuccess":"Complaint closed. The transaction is now completed.","closeComplaintError":"This complaint cannot be closed because a financial outcome has already been processed.","closeComplaintFinancialBody":"After the complaint is closed, the transaction is treated as completed and seller funds are processed normally. Tokodepan will not process an additional refund from this complaint.","cancellationModalTitle":"Request cancellation","cancellationModalBody":"Tell the seller why you need to cancel this order.","cancellationReasonLabel":"Reason","cancellationDetailsLabel":"Cancellation details","cancellationDetailsHelp":"Enter at least 3 characters.","submitCancellation":"Submit request","submittingCancellation":"Submittingâ¦","cancellationRequestSuccess":"Cancellation request sent.","cancellationRequestError":"Could not request cancellation.","missedShippingDeadline":"The order was cancelled because the seller did not ship before the deadline.","refundStatus":"Refund status","refundAmount":"Refund amount","cancellationReasons":{"wrongOrder":"Wrong order","wrongAddress":"Wrong address","changedMind":"Changed my mind","buyerRequest":"Other buyer request","other":"Other"},"refundStatuses":{"succeeded":"Refunded. The payment provider has processed your refund; bank posting may take additional time.","failed":"Needs manual handling by Tokodepan support.","processing":"Processing. Posting time depends on your payment channel.","pending":"Pending Tokodepan processing."},"backToTransactions":"Back to transactions","sectionsUnavailable":"Some order sections are unavailable for this account.","paymentStartFailed":"Could not start payment. Please try another payment method or contact support.","paymentNotStarted":"Payment was not started. Please retry checkout/payment.","invoiceUnavailable":"Invoice is not available for this order yet.","receiptConfirmed":"Order confirmed as received. Funds are now released to seller.","noEligibleReorder":"No eligible items from this order can be reordered.","actionUnavailable":"{{action}} is unavailable right now.","productUnavailable":"This product reference is no longer available.","confirmReceiptFailed":"Failed to confirm receipt.","sellerChatUnavailable":"No seller chat thread was found for this order.","sellerChatOpenFailed":"Unable to open seller chat right now. Please try again.","guestAccessDescription":"Use your checkout phone number and OTP to open this guest transaction.","verifyGuestAccess":"Verify guest order access","guestAccessHelp":"Request a WhatsApp code for the phone number used at checkout.","openPurchasedItem":"Open purchased item {{product}}","purchasedProduct":"Purchased product"},"shipment":{"title":"Shipment","courier":"Courier","service":"Service","trackingNumber":"Tracking number","statusLabel":"Shipment status","deadline":"Shipping deadline","pickupInformation":"Pickup information","requestPickupBefore":"Request pickup before","operationalHours":"During seller operational hours","viewLabel":"View shipping label","status":{"pen
9ding":"Pending","confirmed":"Confirmed","scheduled":"Scheduled","allocated":"Courier allocated","pickingUp":"Picking up","inProgress":"In progress","delivered":"Delivered","cancelled":"Cancelled","courierNotFound":"Courier not found","pickupRetryAvailable":"Pickup was cancelled. Seller is arranging a new pickup.","pickupFailed":"Pickup failed","pickupAttentionRequired":"Pickup needs attention","issue":"Shipment needs attention","error":"Shipment error","awaitingSellerHandoff":"Awaiting courier handoff","droppingOff":"En route to destination","storeCourierPreparing":"Preparing store delivery","storeCourierOutForDelivery":"Out for delivery by store courier","storeCourierDelivered":"Delivered by store courier","rejected":"Shipment rejected","returnInTransit":"Returning to seller","returned":"Returned to seller","disposed":"Package cannot proceed","failed":"Shipment failed","notShipped":"Not shipped"},"storeCourier":"Store Courier","handledBySeller":"Delivery handled by seller.","deliveryReference":"Delivery reference","currentStatus":"Current status","trackingHistory":"Shipment tracking history","timeline":{"labelReady":"Label created / ready for handoff","handedToCourier":"Handed to courier","inTransit":"In transit","delivered":"Delivered","courierPickingUp":"Courier pickup in progress","enRouteToDestination":"En route to destination","pickupCancelled":"Pickup was cancelled. Seller is arranging a new pickup.","shipmentUpdate":"Shipment update","rejected":"Shipment rejected at destination","returnInTransit":"Package is being returned to seller","returned":"Package was returned to seller","disposed":"Package cannot be continued by courier","failed":"Shipment failed"},"dataUnavailable":"Shipment data unavailable","updatesUnavailable":"Tracking updates are not available yet. Please check back later.","waitingHandoff":"Waiting for courier handoff confirmation.","track":"Track shipment","trackCourier":"Track courier","driver":"Driver","vehiclePlate":"Vehicle plate","viewDeliveryProof":"View delivery proof","deliveryProof":"Delivery proof","proofUnavailable":"Proof unavailable","insurance":"Insurance","storeCoveredDelivery":"Store-covered delivery","insured":"Insured","notInsured":"Not insured","deliveryExceptionNotice":"There was a problem with this shipment."},"inbox":{"title":"Inbox","search":"Search conversations","support":"Support","seller":"Seller","empty":"No conversations","select":"Select a conversation","loading":"Loading conversations","newMessage":"New message","startSupport":"Start support chat","continueGuest":"Continue as guest","phoneVerification":"Phone verification","closeConversation":"Close conversation"},"chat":{"officialTokodepan":"Official Tokodepan","loadingMessages":"Loading messages","typeMessage":"Type a message","send":"Send","sending":"Sending...","attach":"Attach","addProduct":"Add product","addInvoice":"Add invoice","uploadImage":"Upload image","removeAttachment":"Remove attachment","retryMessage":"Retry message","messageFailed":"Message failed","read":"Read","unread":"Unread","seen":"Seen","today":"Today","yesterday":"Yesterday"},"chatAttachmentViewer":{"attachment":"Attachment","openImageAttachment":"Open image attachment","invoiceOrder":"Invoice / Order","status":"Status","total":"Total","viewOrder":"View order","sellerProduct":"Seller Product","product":"Product","price":"Price","productLinkUnavailable":"Product link unavailable: missing seller or product slug","openProductDetail":"Open product detail","viewProduct":"View product","imageViewer":"Image viewer","closeImageViewer":"Close image viewer","reset":"Reset"},"chatAttachments":{"search":"Search","loading":"Loading...","previous":"Previous","next":"Next","pageOf":"Page {{page}} of {{total}}","close":"Close","image":"Image","order":"Order","product":"Product","stock":"Stock: {{count}}","searchAttachments":"Search attachments"},"complaints":{"title":"Complaints","status":{"open":"Open","waitingSeller":"Waiting for seller","waitingBuyer":"Waiting for buyer","underReview":"Under review","resolved":"Resolved","closed":"Closed","closedByBuyer":"Closed by buyer"},"id":"Complaint ID","order":"Order","invoice":"Invoice","seller":"Seller","reason":"Reason","requestedResolution":"Requested resolution","statusLabel":"Status","createdAt":"Created at","updatedAt":"Updated at","viewDetails":"View details","empty":"No complaints found","loading":"Loading complaints"},"complaintDetail":{"title":"Complaint details","titleWithInvoice":"Complaint {{invoice}}","open":"Open complaint","reason":"Select reason","description":"Describe the problem","requestedResolution":"Requested resolution","resolutions":{"refund":"Refund","replacement":"Replacement","other":"Other resolution"},"evidence":"Evidence","addImage":"Add image","removeImage":"Remove image","maxImages":"Maximum images","submit":"Submit c
9omplaint","submitting":"Submitting","buyerStatement":"Buyer statement","sellerResponse":"Seller response","opsReview":"Ops review","resolution":"Resolution","refundAmount":"Refund amount","replacementShipment":"Replacement shipment","returnRequired":"Return required","returnInstructions":"Return instructions","close":"Close complaint","closed":"Complaint closed","backOrder":"Back to order","backTransaction":"Back to transaction","backComplaints":"Back to complaints","settlementTitle":"Confirmed settlement","approvedRefund":"Approved refund","refundStatus":"Refund status","confirmedAt":"Confirmed at","loading":"Loading complaintâ¦","loadError":"Failed to load complaint","sellerUnavailable":"Seller not available","nextStep":"Next step","waitingDecision":"Tokodepan is reviewing this complaint.","returnItemTitle":"Return item to seller","returnItemDescription":"Please arrange return shipping according to the decision.","sellerReturnAddress":"Seller return address","returnShipping":"Return shipping","instruction":"Instruction from Tokodepan","required":"Required","notRequired":"Not required","returnLabelReady":"Return label is ready.","waybill":"Waybill","viewReturnLabel":"View / print return label","followInstructions":"Please follow Tokodepan instructions.","sellerCoversReturn":"Return shipping is covered by seller.","noEvidence":"No evidence has been uploaded yet.","buyerProof":"Buyer evidence","buyerEvidence":"Buyer evidence","sellerEvidence":"Seller evidence","tokodepanEvidence":"Tokodepan evidence","neutralEvidence":"Evidence","selectedImage":"Selected image","removeSelectedImage":"Remove","uploadSelectedImage":"Upload image","retryUpload":"Retry upload","uploading":"Uploadingâ¦","uploadSuccess":"Image uploaded.","uploadError":"Could not upload image. Please use JPG, PNG, WEBP, or GIF.","messages":"Messages","noMessages":"No messages yet.","replyTitle":"Reply to complaint","replyPlaceholder":"Write a reply...","replySuccess":"Reply sent.","replyError":"Could not send reply.","reasons":{"wrongGoodsSent":"Wrong goods sent","lessQuantityThanOrdered":"Quantity received is less than ordered","damagedItem":"Damaged item","itemNotReceived":"Item not received","other":"Other issue"},"senders":{"buyer":"Buyer","seller":"Seller","tokodepan":"Tokodepan"},"actions":{"closedByBuyerTitle":"Closed by buyer","closedByBuyerDescription":"The buyer confirmed the issue was resolved. No further action is required.","waitingDecisionTitle":"Waiting for Tokodepan decision","waitingDecision":"Tokodepan is reviewing this complaint.","rejectedTitle":"Complaint rejected","rejectedDescription":"No further action is required.","returnItemTitle":"Return item to seller","returnItemDescription":"Arrange return shipping manually, then share the courier and tracking details in the complaint conversation.","refundProcessingTitle":"Refund is being processed","refundProcessingDescription":"Tokodepan will process the approved refund.","replacementPendingTitle":"Replacement is being prepared","replacementPendingDescription":"The seller will send the replacement to your address.","partialRefundTitle":"Partial refund approved","partialRefundDescription":"Approved amount: {{amount}}. Tokodepan will process the refund.","viewReturnLabel":"View / print return label"},"returnShippingInfo":{"tokodepanLabel":"Tokodepan provides the return shipping label.","buyerManual":"Arrange return shipping and provide tracking.","sellerManual":"The seller arranges return shipping or pickup.","notRequired":"Return shipping is not required.","sellerPays":"Return shipping is paid by the seller.","buyerPays":"Return shipping is paid by the buyer.","tokodepanPays":"Return shipping is paid by Tokodepan.","noFreight":"No return shipping charge applies."},"closeComplaint":"Close complaint","closeComplaintTitle":"Close complaint?","closeComplaintBody":"Use this when the issue has been resolved, including when the seller provided an explanation, compensation, or a replacement you accepted.","closingComplaint":"Closingâ¦","closeComplaintSuccess":"Complaint closed. The transaction is now completed.","closeComplaintError":"This complaint cannot be closed because a financial outcome has already been processed.","closedByBuyer":"Closed by buyer","descriptionPlaceholder":"Explain what happened and the outcome you expect.","createEvidenceHelp":"After submitting, you can add up to 5 evidence images on the complaint page.","complaintLabel":"Complaint","caseOverview":"Complaint overview","buyerReport":"Your report","evidenceHelp":"Images submitted by you, the seller, or Tokodepan appear here. Select an image to open it full size.","conversationHelp":"Updates and responses from everyone involved in this complaint.","availableAction":"Available action","backToComplaints":"View all complaints","caseId":"Complaint ID"},"returns":{"title":"Returns","details":"Return details","required":"Return required","notRequired":"Return not required","reason":"Return reason","address":"Return address","shipBack":"Ship the item back","courier":"Courier","trackingNumber":"Tracking number","submitShipment":"Submit return shipment","updateShipment":"Update shipment","deadline":"Return deadline","replacementItem":"Replacement item","empty":"No returns found","loading":"Loading returns","
9status":{"shipped":"Return shipped","received":"Return received","completed":"Return completed","waiting":"Waiting for return","refundPending":"Refund pending","refundCompleted":"Refund completed"},"backToCatalog":"Back to catalog","cancelRequest":"Cancel return request","cancelRequestConfirm":"Cancel this return request?","item":"Item","notes":"Notes"},"notifications":{"title":"Notifications","description":"Get notified when you receive a new message.","enable":"Enable notifications","disable":"Disable notifications","unsupported":"Notifications are not supported by this browser.","denied":"Notification permission is blocked. Re-enable it in your browser or device settings.","platformDisabled":"Notifications are not available right now.","iosInstallHelp":"On iPhone or iPad, notifications may require opening Tokodepan from the Home Screen.","inactive":"Enable Tokodepan notifications on this device.","statusActive":"Active","statusInactive":"Off","loading":"Updating notification settingsâ¦"},"about":{"eyebrow":"About Tokodepan","title":"A marketplace that grows with sellers and buyers","intro":"Tokodepan began with a simple idea: online shopping should still be simple. Buyers find what they are looking for from sellers they can trust, sellers can focus on offering good prices and service, and the marketplace is here to help both sides transact comfortably.","sellersTitle":"A place for sellers to grow with us","sellersDescription":"We want to treat sellers as partners. Sellers naturally understand their own products bestâhow to pack them safely, which couriers work best, and how to serve their customers. That is
9why we try to give sellers room to run their stores in the way that suits their business, while still maintaining a good shopping experience for buyers.","buyersTitle":"An easier way to find sellers you can trust","buyersDescription":"We invite sellers with experience and a good track record in online selling to join Tokodepan. There may be fewer choices than on other marketplaces, but we would rather grow together with sellers we trust, so buyers do not have to spend as much time searching for the right store among countless options.","experienceTitle":"Find the product, find the seller","experienceDescription":"Tokodepan is especially useful when you already know what you want to buyâthe brand, model, type, color, or particular specification. Search for the product, compare the available choices, and buy from the seller that suits you. We do not want to fill the shopping experience with excessive advertising, live selling, or distractions from the product, price, and service you actually came for.","principlesTitle":"Keeping costs light, so more value stays in the transaction","principlesDescription":"We try to run Tokodepan as efficiently as possible so the commission we need can also stay as low as possible. We need to cover our costs so Tokodepan can continue to grow, and we know sellers have costs of their own. Our hope is simple: when marketplace costs stay lighter, sellers have more room to continue offering buyers good prices and good service.","togetherTitle":"A marketplace we look after together","togetherDescription":"We believe sellers want to ship their products properly, pack them safely, and help when buyers need something. We also believe buyers want to receive what they ordered and receive fair help when something goes wrong. If an issue arises after a transaction, Tokodepan will help look at the situation fairly for both sides. We may not be perfect, but we want to keep building a healthy, safe, and pleasant place to shop together with sellers and buyers.","shopCta":"Start shopping"},"contact":{"eyebrow":"Contact Tokodepan","title":"Contact Tokodepan","intro":"Have a question, need some help, or simply want to talk to us? You can reach Tokodepan using the information below. We will be happy to help direct your needs to the right team.","companyTitle":"Information and contact","companyDescription":"You can reach Tokodepan through the following channels.","addressLabel":"Address","addressValue":"PT Tokodepan Pusaka Bangsa - Wisma KEIAI, JL Jend Sudirman Kav 3-4, Unit 1410, Jakarta Pusat. *With appointment.","emailLabel":"Email","emailValue":"[email protected]","phoneLabel":"Phone / WhatsApp","phoneValue":"085174386938","hoursLabel":"Service hours","hoursValue":"09.00-17.00","buyerSupportTitle":"Need help with an order?","buyerSupportDescription":"For questions about orders, payments, delivery, complaints, or your Tokodepan account, signed-in buyers can use the Help Center. If your question relates to a particular transaction, include the order number so we can help check it more easily.","helpCta":"Open Help Center","sellerSupportTitle":"For sellers and prospective partners","sellerSupportDescription":"Sellers can use the support channel available in Seller Center. If you would like to talk to us about a partnership or anything else related to Tokodepan, please use the contact information above."},"home":{"searchPlaceholder":"Brand, type, model number ...","heroTitle":"What do you want to buy?","search":"Search","openingSearchResults":"Opening search results","banners":"Homepage banners"},"catalog":{"shipment":"Shipment","storeCourier":"Store courier","shippingFrom":"Shipping from {{amount}}","standard":"Standard","cargo":"Cargo","sameDay":"Same day","instant":"Instant"},"product":{"purchaseQuantityRange":"Purchase quantity: {{min}}â{{max}} per transaction","purchaseQuantityMin":"Purchase quantity: Min {{min}} per transaction","itemPrice":"Item price","quantity":"Quantity","shippingEstimateFrom":"From {{amount}}","itemsSubtotal":"Items subtotal","addToCart":"Add to cart","addingToCart":"Adding...","addedToCart":"Added successfully","buyNow":"Buy now","chatWithSeller":"Chat with seller","openingChat":"Opening chat...","specifications":"Specifications","stockAvailable":"Stock available: {{stock}}","category":"Category: {{category}}","categoryOther":"Other","storeRating":"Store rating: {{rating}} / 5 ({{count}} reviews)","storeRatingEmpty":"No store rating","reviewCount":"{{count}} reviews","share":"Share","loadingEstimate":"Loading estimateâ¦","estimateUnavailableRoute":"Estimate unavailable for this route","addAddressShippingEstimate":"Add address to see shipping estimate","stockBelowMinimum":"Available stock is below the minimum purchase quantity.","preorder":"Preorder","preorderProduct":"Preorder product","preorderShipsWithin":"Preorder: ships within {{days}} days","estimateUnavailableSeller":"Estimate unavailable for this seller","estimateUnavailable":"Estimate unavailable","addAddressEstimate":"Add address to see estimate"},"reviews":{"allRatings":"All ratings","ratingFilter":"Rating","stars":"{{count}} stars","sort":"Sort","newest":"Newest","oldest":"Oldest","highestRating":"Highest rating","lowestRating":"Lowest rating"},"categories":{"electronics":"Electronics","electronicsTvAudio":"TV & Audio","electronicsTvAudioTelevision":"Television","electronicsTvAudioProjector":"Projector","electronicsTvAudioSpeaker":"Speaker","electronicsTvAudioHeadphonesEarphones":"Headphones & Earphones","electronicsTvAudioOther":"Other","electronicsCameras":"Cameras","electronicsCamerasCctv":"CCTV","electronicsCamerasActionCamera":"Action Camera","electronicsCamerasDashCam":"Dash Cam","electronicsCamerasCameraAccessories":"Camera Accessories","electronicsCamerasOther":"Other","electronicsSmartHome":"Smart Home","electronicsSmartHomeSmartBulb":"Smart Bulb","electronicsSmartHomeSmartSwitch":"Smart Switch","electronicsSmartHomeSmartSecurityDevice":"Smart Security Device","electronicsSmartHomeOther":"Other","electronicsOther":"Other","electronicsOtherOther":"Other","computersOffice":"Computers & Office","computersOfficeComputersLaptops":"Computers & Laptops","computersOfficeComputersLaptopsLaptop":"Laptop","computersOfficeComputersLaptopsDesktopPc":"Desktop PC","computersOfficeComputersLaptopsMiniPc":"Mini PC","computersOfficeComputersLaptopsOther":"Other","computersOfficeComputerComponents":"Computer Components","computersOfficeComputerComponentsProcessor":"Processor","computersOfficeComputerComponentsMotherboard":"Motherboard","computersOfficeComputerComponentsRam":"RAM","computersOfficeComputerComponentsGraphicsCard":"Graphics Card","computersOfficeComputerComponentsPowerSupply":"Power Supply","computersOfficeComputerComponentsOther":"Other","computersOfficeStorage":"Storage","computersOfficeStorageSsd":"SSD","computersOfficeStorageHdd":"HDD","computersOfficeStorageFlashDrive":"Flash Drive","computersOfficeStorageMemoryCard":"Memory Card","computersOfficeStorageOther":"Other","computersOfficePeripherals":"Peripherals","computersOfficePeripheralsMonitor":"Monitor","computersOfficePeripheralsKeyboard":"Keyboard","computersOfficePeripheralsMouse":"Mouse","computersOfficePeripheralsPrinter":"Printer","computersOfficePeripheralsScanner":"Scanner","computersOfficePeripheralsOther":"Other","computersOfficeNetworking":"Networking","computersOfficeNetworkingRouter":"Router","computersOfficeNetworkingAccessPoint":"Access Point","computersOfficeNetworkingLanCable":"LAN Cable","computersOfficeNetworkingOther":"Other","computersOfficeOfficeSupplies":"Office Supplies","computersOfficeOfficeSuppliesStationery":"Stationery","computersOfficeOfficeSuppliesPaper":"Paper","computersOfficeOfficeSuppliesFilingOrganization":"Filing & Organization","computersOfficeOfficeSuppliesOther":"Other","computersOfficeOther":"Other","computersOfficeOtherOther":"Other","phonesTablets":"Phones & Tablets","phonesTabletsMobilePhones":"Mobile Phones","phonesTabletsMobilePhonesSmartphone":"Smartphone","phonesTabletsMobilePhonesFeaturePhone":"Feature Phone","phonesTabletsMobilePhonesOther":"Other","phonesTabletsTablets":"Tablets","phonesTabletsTabletsTablet":"Tablet","phonesTabletsTabletsOther":"Other","phonesTabletsWearables":"Wearables","phonesTabletsWearablesSmartw
9atch":"Smartwatch","phonesTabletsWearablesFitnessBand":"Fitness Band","phonesTabletsWearablesOther":"Other","phonesTabletsAccessories":"Accessories","phonesTabletsAccessoriesPhoneCase":"Phone Case","phonesTabletsAccessoriesCharger":"Charger","phonesTabletsAccessoriesCable":"Cable","phonesTabletsAccessoriesPowerBank":"Power Bank","phonesTabletsAccessoriesScreenProtector":"Screen Protector","phonesTabletsAccessoriesHolderStand":"Holder & Stand","phonesTabletsAccessoriesOther":"Other","phonesTabletsOther":"Other","phonesTabletsOtherOther":"Other","homeLiving":"Home & Living","homeLivingFurniture":"Furniture","homeLivingFurnitureTable":"Table","homeLivingFurnitureChair":"Chair","homeLivingFurnitureShelf":"Shelf","homeLivingFurnitureCabinet":"Cabinet","homeLivingFurnitureBedFrame":"Bed Frame","homeLivingFurnitureOther":"Other","homeLivingHomeDecor":"Home Decor","homeLivingHomeDecorWallDecor":"Wall Decor","homeLivingHomeDecorClock":"Clock","homeLivingHomeDecorLamp":"Lamp","homeLivingHomeDecorOther":"Other","homeLivingBedding":"Bedding","homeLivingBeddingBedsheet":"Bedsheet","homeLivingBeddingPillow":"Pillow","homeLivingBeddingBlanket":"Blanket","homeLivingBeddingOther":"Other","homeLivingStorageOrganization":"Storage & Organization","homeLivingStorageOrganizationStorageBox":"Storage Box","homeLivingStorageOrganizationHanger":"Hanger","homeLivingStorageOrganizationRack":"Rack","homeLivingStorageOrganizationOther":"Other","homeLivingCleaningSupplies":"Cleaning Supplies","homeLivingCleaningSuppliesBroomMop":"Broom & Mop","homeLivingCleaningSuppliesCleaningCloth":"Cleaning Cloth","homeLivingCleaningSuppliesTrashBin":"Trash Bin","homeLivingCleaningSuppliesOther":"Other","homeLivingOther":"Other","homeLivingOtherOther":"Other","kitchenAppliances":"Kitchen & Appliances","kitchenAppliancesKitchenware":"Kitchenware","kitchenAppliancesKitchenwareCookware":"Cookware","kitchenAppliancesKitchenwareFryingPan":"Frying Pan","kitchenAppliancesKitchenwarePot":"Pot","kitchenAppliancesKitchenwareKnife":"Knife","kitchenAppliancesKitchenwareFoodContainer":"Food Container","kitchenAppliancesKitchenwareOther":"Other","kitchenAppliancesSmallAppliances":"Small Appliances","kitchenAppliancesSmallAppliancesRiceCooker":"Rice Cooker","kitchenAppliancesSmallAppliancesBlender":"Blender","kitchenAppliancesSmallAppliancesMicrowave":"Microwave","kitchenAppliancesSmallAppliancesAirFryer":"Air Fryer","kitchenAppliancesSmallAppliancesCoffeeMachine":"Coffee Machine","kitchenAppliancesSmallAppliancesOther":"Other","kitchenAppliancesLargeAppliances":"Large Appliances","kitchenAppliancesLargeAppliancesRefrigerator":"Refrigerator","kitchenAppliancesLargeAppliancesWashingMachine":"Washing Machine","kitchenAppliancesLargeAppliancesWaterDispenser":"Water Dispenser","kitchenAppliancesLargeAppliancesOther":"Other","kitchenAppliancesOther":"Other","kitchenAppliancesOtherOther":"Other","fashion":"Fashion","fashionMenSFashion":"Men's Fashion","fashionMenSFashionTops":"Tops","fashionMenSFashionShirts":"Shirts","fashionMenSFashionTShirts":"T-Shirts","fashionMenSFashionPants":"Pants","fashionMenSFashionJackets":"Jackets","fashionMenSFashionOther":"Other","fashionWomenSFashion":"Women's Fashion","fashionWomenSFashionDresses":"Dresses","fashionWomenSFashionTops":"Tops","fashionWomenSFashionPants":"Pants","fashionWomenSFashionSkirts":"Skirts","fashionWomenSFashionOuterwear":"Outerwear","fashionWomenSFashionOther":"Other","fashionMuslimFashion":"Muslim Fashion","fashionMuslimFashionHijab":"Hijab","fashionMuslimFashionMukena":"Mukena","fashionMuslimFashionMuslimWear":"Muslim Wear","fashionMuslimFashionOther":"Other","fashionShoes":"Shoes","fashionShoesMenSShoes":"Men's Shoes","fashionShoesWomenSShoes":"Women's Shoes","fashionShoesSandals":"Sandals","fashionShoesOther":"Other","fashionBags":"Bags","fashionBagsBackpack":"Backpack","fashionBagsHandbag":"Handbag","fashionBagsWallet":"Wallet","fashionBagsOther":"Other","fashionAccessories":"Accessories","fashionAccessoriesBelt":"Belt","fashionAccessoriesHat":"Hat","fashionAccessoriesWatch":"Watch","fashionAccessoriesOther":"Other","fashionOther":"Other","fashionOtherOther":"Other","beautyPersonalCare":"Beauty & Personal Care","beautyPersonalCareMakeup":"Makeup","beautyPersonalCareMakeupFaceMakeup":"Face Makeup","beautyPersonalCareMakeupLipM
9akeup":"Lip Makeup","beautyPersonalCareMakeupEyeMakeup":"Eye Makeup","beautyPersonalCareMakeupOther":"Other","beautyPersonalCareSkincare":"Skincare","beautyPersonalCareSkincareCleanser":"Cleanser","beautyPersonalCareSkincareMoisturizer":"Moisturizer","beautyPersonalCareSkincareSunscreen":"Sunscreen","beautyPersonalCareSkincareOther":"Other","beautyPersonalCareHairCare":"Hair Care","beautyPersonalCareHairCareShampoo":"Shampoo","beautyPersonalCareHairCareConditioner":"Conditioner","beautyPersonalCareHairCareHairTreatment":"Hair Treatment","beautyPersonalCareHairCareOther":"Other","beautyPersonalCareBathBody":"Bath & Body","beautyPersonalCareBathBodySoap":"Soap","beautyPersonalCareBathBodyBodyLotion":"Body Lotion","beautyPersonalCareBathBodyDeodorant":"Deodorant","beautyPersonalCareBathBodyOther":"Other","beautyPersonalCareFragrance":"Fragrance","beautyPersonalCareFragrancePerfume":"Perfume","beautyPersonalCareFragranceOther":"Other","beautyPersonalCarePersonalCare":"Personal Care","beautyPersonalCarePersonalCareOralCare":"Oral Care","beautyPersonalCarePersonalCareShavingGrooming":"Shaving & Grooming","beautyPersonalCarePersonalCareOther":"Other","beautyPersonalCareOther":"Other","beautyPersonalCareOtherOther":"Other","babyKids":"Baby & Kids","babyKidsBabyEssentials":"Baby Essentials","babyKidsBabyEssentialsDiapers":"Diapers","babyKidsBabyEssentialsBabyWipes":"Baby Wipes","babyKidsBabyEssentialsFeedingAccessories":"Feeding Accessories","babyKidsBabyEssentialsOther":"Other","babyKidsBabyGear":"Baby Gear","babyKidsBabyGearStroller":"Stroller","babyKidsBabyGearCarSeat":"Car Seat","babyKidsBabyGearBabyCarrier":"Baby Carrier","babyKidsBabyGearOther":"Other","babyKidsBabyClothing":"Baby Clothing","babyKidsBabyClothingBabyClothes":"Baby Clothes","babyKidsBabyClothingOther":"Other","babyKidsToys":"Toys","babyKidsToysEducationalToys":"Educational Toys","babyKidsToysDollsFigures":"Dolls & Figures","babyKidsToysBuildingToys":"Building Toys","babyKidsToysOther":"Other","babyKidsKidsFashion":"Kids Fashion","babyKidsKidsFashionKidsClothes":"Kids Clothes","babyKidsKidsFashionKidsShoes":"Kids Shoes","babyKidsKidsFashionOther":"Other","babyKidsOther":"Other","babyKidsOtherOther":"Other","health":"Health","healthSupplements":"Supplements","healthSupplementsVitamins":"Vitamins","healthSupplementsHerbalSupplements":"Herbal Supplements","healthSupplementsOther":"Other","healthMedicalSupplies":"Medical Supplies","healthMedicalSuppliesThermometer":"Thermometer","healthMedicalSuppliesMask":"Mask","healthMedicalSuppliesFirstAid":"First Aid","healthMedicalSuppliesOther":"Other","healthWellness":"Wellness","healthWellnessMassageTools":"Massage Tools","healthWellnessHealthMonitoringDevice":"Health Monitoring Device","healthWellnessOther":"Other","healthOther":"Other","healthOtherOther":"Other","sportsOutdoors":"Sports & Outdoors","sportsOutdoorsFitness":"Fitness","sportsOutdoorsFitnessHomeGymEquipment":"Home Gym Equipment","sportsOutdoorsFitnessYogaPilates":"Yoga & Pilates","sportsOutdoorsFitnessDumbbell":"Dumbbell","sportsOutdoorsFitnessOther":"Other","sportsOutdoorsCycling":"Cycling","sportsOutdoorsCyclingBicycleAccessories":"Bicycle Accessories","sportsOutdoorsCyclingOther":"Other","sportsOutdoorsCamping":"Camping","sportsOutdoorsCampingCampingGear":"Camping Gear","sportsOutdoorsCampingOther":"Other","sportsOutdoorsOutdoorAccessories":"Outdoor Accessories","sportsOutdoorsOutdoorAccessoriesBagHydration":"Bag & Hydration","sportsOutdoorsOutdoorAccessoriesOther":"Other","sportsOutdoorsBallSports":"Ball Sports","sportsOutdoorsBallSportsBadminton":"Badminton","sportsOutdoorsBallSportsFutsalFootball":"Futsal & Football","sportsOutdoorsBallSportsOther":"Other","sportsOutdoorsOther":"Other","sportsOutdoorsOtherOther":"Other","automotive":"Automotive","automotiveCarAccessories":"Car Accessories","automotiveCarAccessoriesCarInteriorAccessories":"Car Interior Accessories","automotiveCarAccessoriesCarExteriorAccessories":"Car Exterior Accessories","automotiveCarAccessoriesPhoneHolder":"Phone Holder","automotiveCarAccessoriesOther":"Other","automotiveCarCare":"Car Care","automotiveCarCareCarWashPolish":"Car Wash & Polish","automotiveCarCareEngineCare":"Engine Care","automotiveCarCareOther":"Other","automotiveMotorcycleAccessories":"Motorcycle Accessories","automotiveMotorcycleAccessoriesHelmet":"Helmet","automotiveMotorcycleAccessoriesRaincoat":"Raincoat","automotiveMotorcycleAccessoriesRidingGear":"Riding Gear","automotiveMotorcycleAccessoriesOther":"Other","automotiveSpareParts":"Spare Parts","automotiveSparePartsBattery":"Battery","automotiveSparePartsLampLighting":"Lamp & Lighting","automotiveSparePartsTiresWheels":"Tires & Wheels","automotiveSparePartsOther":"Other","automotiveOther":"Other","automotiveOtherOther":"Other","books":"Books","booksBooks":"Books","booksBooksFiction":"Fiction","booksBooksNonFiction":"Non-Fiction","booksBooksChildrenSBooks":"Children's Books","booksBooksSch
9oolBooks":"School Books","booksBooksOther":"Other","booksMagazinesMedia":"Magazines & Media","booksMagazinesMediaMagazine":"Magazine","booksMagazinesMediaPrintedMedia":"Printed Media","booksMagazinesMediaOther":"Other","booksOther":"Other","booksOtherOther":"Other","hobbiesCollectibles":"Hobbies & Collectibles","hobbiesCollectiblesHobbies":"Hobbies","hobbiesCollectiblesHobbiesArtSupplies":"Art Supplies","hobbiesCollectiblesHobbiesCraftSupplies":"Craft Supplies","hobbiesCollectiblesHobbiesMusicalInstrumentAccessories":"Musical Instrument Accessories","hobbiesCollectiblesHobbiesOther":"Other","hobbiesCollectiblesCollectibles":"Collectibles","hobbiesCollectiblesCollectiblesFigures":"Figures","hobbiesCollectiblesCollectiblesCards":"Cards","hobbiesCollectiblesCollectiblesMemorabilia":"Memorabilia","hobbiesCollectiblesCollectiblesOther":"Other","hobbiesCollectiblesOther":"Other","hobbiesCollectiblesOtherOther":"Other","groceriesPets":"Groceries & Pets","groceriesPetsGroceries":"Groceries","groceriesPetsGroceriesSnacks":"Snacks","groceriesPetsGroceriesBeverages":"Beverages","groceriesPetsGroceriesInstantFood":"Instant Food","groceriesPetsGroceriesCookingIngredients":"Cooking Ingredients","groceriesPetsGroceriesOther":"Other","groceriesPetsPetSupplies":"Pet Supplies","groceriesPetsPetSuppliesPetFood":"Pet Food","groceriesPetsPetSuppliesPetAccessories":"Pet Accessories","groceriesPetsPetSuppliesPetHygiene":"Pet Hygiene","groceriesPetsPetSuppliesOther":"Other","groceriesPetsOther":"Other","groceriesPetsOtherOther":"Other","toolsIndustry":"Tools & Industry","toolsIndustryTools":"Tools","toolsIndustryToolsHandTools":"Hand Tools","toolsIndustryToolsPowerTools":"Power Tools","toolsIndustryToolsMeasurementTools":"Measurement Tools","toolsIndustryToolsOther":"Other","toolsIndustryElectrical":"Electrical","toolsIndustryElectricalLighting":"Lighting","toolsIndustryElectricalCablesPlugs":"Cables & Plugs","toolsIndustryElectricalOther":"Other","toolsIndustryHardware":"Hardware","toolsIndustryHardwareFasteners":"Fasteners","toolsIndustryHardwareLocksSecurity":"Locks & Security","toolsIndustryHardwareOther":"Other","toolsIndustryIndustrialSupplies":"Industrial Supplies","toolsIndustryIndustrialSuppliesSafetyEquipment":"Safety Equipment","toolsIndustryIndustrialSuppliesOther":"Other","toolsIndustryOther":"Other","toolsIndustryOtherOther":"Other","other":"Other","otherOther":"Other","otherOtherOther":"Other"},"pwa":{"title":"Install Tokodepan","description":"Check prices and shop faster right from your home screen.","entry":"Install app","install":"Install","later":"Not now","close":"Close installation instructions","manual":{"android":{"intro":"Install from the browser menu. Menu wording may vary.","step1":"Open the browser menu (â®).","step2":"Choose âInstall appâ or âAdd to Home screenâ.","step3":"Confirm installation."},"ios-safari":{"intro":"Use Safariâs Share menu.","step1":"Open this app in Safari.","step2":"Tap the Share button.","step3":"Choose âAdd to Home Screenâ.","step4":"Confirm with âAddâ."},"ios-other":{"intro":"On iPhone or iPad, complete installation in Safari.","step1":"Open this page in Safari.","step2":"Tap the Share button.","step3":"Choose âAdd to Home Screenâ.","step4":"Confirm with âAddâ."},"desktop":{"intro":"Installation availability depends on your desktop browser.","step1":"Look for an install icon in the address bar or open the browser menu.","step2":"Choose the app installation option if available.","step3":"Confirm installation."}},"updateReady":"A new Tokodepan version is available","update":"Update","updating":"Updatingâ¦","updateFailed":"The update could not be applied yet. Try again.","homeBanner":{"title":"Install the Tokodepan app","description":"Shop faster directly from your home screen.","install":"Install","dismiss":"Hide app installation prompt"}},"cancellation":{"paymentExpired":{"title":"Payment expired","detail":"The payment deadline passed before payment was completed."},"sellerMissedDeadline":{"title":"Order cancelled because seller deadline was missed","detail":"The seller did not process the shipment before the deadline. The order was cancelled automatically and your refund is being processed."},"paymentFailed":{"title":"Payment failed","detail":"The payment could not be completed."},"sellerCancelled":{"title":"Seller cancelled order"},"buyerRequest":{"title":"Cancelled by buyer request","buyerReason":"Buyer reason: {{reason}}","sellerNote":"Seller note: {{note}}"},"opsCancelled":{"title":"Cancelled by Tokodepan Ops"},"paymentNotCompleted":{"title":"Payment not completed","detail":"The order was cancelled because payment was not completed."},"unknown":{"title":"Cancelled"},"shipment_returned":{"title":"Shipment returned","detail":"The order was cancelled because the parcel was returned to the seller."},"shipment_lost":{"title":"Shipment lost","detail":"The order was cancelled because the parcel was declared lost in transit."},"shipment_damaged":{"title":"Shipment damaged","detail":"The order was resolved because the parcel was damaged in transit."},"shipment_rejected":{"title":"Delivery rejected","detail":"The order was cancelled after delivery was rejected."},"shipment_disposed":{"title":"Shipment disposed","detail":"The order was cancelled because the courier disposed of the parcel."},"shipment_delivery_failed":{"title":"Delivery failed","detail":"The order was cancelled because delivery failed."}},"storePage":{"documentTitle":"Tokodepan - Shop","backToSearch":"Back to search","loadingStore":"Loading store","storeBanner":"{{store}} banner","defaultStoreName":"Tokodepan Store","noDescription":"Seller has not added a detailed store description yet.","locationLabel":"Location:","noLocation":"Location not specified yet.","announcementLabel":"Announcement:","noAnnouncement":"No store announcement at the moment.","operationalHoursLabel":"Operational Hours:","noOperationalHours":"Operational hours not set.","ratingLabel":"Rating:","ratingSummary":"{{rating}} / 5 ({{count}} reviews)","filteredRatingSummary":"{{rating}} / 5 from {{count}} reviews","noReviews":"No reviews yet","productsTab":"Products","reviewsTab":"Reviews","productsHeading":"Products from this store","reviewsHeading":"Store Reviews","searchPlaceholder":"Search products in this store","searchAria":"Search products in this store","searchButton":"Search product","sortProductsAria":"Sort store products","sort":{"bestSelling":"Best selling (high to low)","priceLow":"Price (low to high)","priceHigh":"Price (high to low)","nameAsc":"Name (A to Z)","nameDesc":"Name (Z to A)","soldLow":"Sold quantity (low to high)"},"reviewFilters":{"rating":"Rating","allRatings":"All ratings","stars":"{{count}} stars","sort":"Sort","newest":"Newest","oldest":"Oldest","highest":"Highest rating","lowest":"Lowest rating"},"loadingReviews":"Loading store reviews","noCommentary":"No buyer commentary yet.","openReviewedProduct":"Open reviewed product {{product}}","reviewedProduct":"Reviewed product","buyer":"Buyer","productLabel":"Product:","ratingWithoutNote":"Buyer left a rating without written note.","sellerRe
9sponse":"Seller response","edited":"Edited","reviewImage":"Review image","openReviewImage":"Open review image {{number}}","refreshingProducts":"Refreshing products","noMatchingProducts":"No products match your search in this store.","noActiveProducts":"No active products yet.","untitledProduct":"Untitled product","soldLabel":"Sold:","outOfStock":"Out of stock","inStock":"In stock","unavailableCheckout":"Currently unavailable for checkout","reviewImageViewer":"Review image viewer","closeReviewImageViewer":"Close review image viewer","errors":{"loadStore":"Unable to load store.","loadProducts":"Unable to load store products.","loadReviews":"Unable to load store reviews."}},"paymentHandoff":{"title":"Preparing your payment","description":"Please wait. Youâll be redirected to the payment page.","loadingLabel":"Preparing payment"}}`),productDetail:{sellerResponse:`Seller response`,edited:`Edited`}},yr={ops:JSON.parse(`{"siteSettings":{"title":"Site Settings","defaultLanguage":"Default website language","defaultLanguageHelp":"Sets the default interface language for buyers, sellers, and Ops users who have not selected a personal language.","myLanguage":"My interface language","myLanguageHelp":"Local preference for this browser. Does not change the website default.","saved":"Website language settings saved.","loadFailed":"Could not load website language settings.","saveFailed":"Could not save website language settings.","invalidLanguage":"Choose a supported language.","save":"Save","saving":"Saving","reset":"Reset","cancel":"Cancel","loading":"Loading settings","globalSetting":"Global setting","personalPreference":"Personal preference","indonesianFallback":"Indonesian fallback","effectiveLanguage":"Effective language","currentDefault":"Current default","unsavedChanges":"Unsaved changes","guestCheckout":"Allow guest mode using WhatsApp OTP","guestCheckoutHelp":"Controls new guest checkout and guest chat verification.","guestCheckoutDisabledHelp":"When disabled, new guest checkout and guest chat verification are unavailable. Existing verified guest sessions may continue until they expire.","shippingProviders":{"title":"Shipping providers","loading":"Loading shipping providersâ¦","empty":"No shipping providers are configured.","loadFailed":"Could not load shipping providers.","saveFailed":"Could not update the shipping provider.","toggle":"Set {{name}} active status","storeCourierHelp":"The Store Courier global toggle controls platform-wide availability. Each seller must also enable Store Courier and configure an active matching coverage rate before offering it to buyers."},"platform":{"title":"Platform mode","current":"Current:","help":"Use non-normal modes only during deployments or incidents that require marketplace-wide restrictions.","loading":"Loading platform modeâ¦","loadFailed":"Could not load platform mode.","saveFailed":"Could not save platform mode.","saved":"Platform mode saved.","modeLabel":"Mode","messageLabel":"Maintenance message","messagePlaceholder":"Tokodepan is updating. Please try again in a few minutes.","messageHelp":"A blank message uses the default maintenance message.","saving":"Savingâ¦","save":"Save platform mode","modes":{"normal":{"label":"Normal","description":"Normal site operation"},"write_freeze":{"label":"Write freeze","description":"Reads remain available while risky and write actions are paused","warning":"Write freeze affects the whole marketplace by pausing risky and write actions."},"maintenance":{"label":"Maintenance","description":"Most application access is paused","warning":"Maintenance affects the whole marketplace by pausing most application access."}},"unsavedSelection":"Unsaved selection"},"banners":{"title":"Site banners","help":"One active image displays as a static banner. Multiple active images rotate as a slideshow. If none are active, no banner area is shown.","loading":"Loading bannersâ¦","loadFailed":"Could not load site banners.","mutationFailed":"Could not update site banners.","upload":"Upload image","uploading":"Uploadingâ¦","empty":"No banners added.","enable":"Enable","disable":"Disable","up":"Move up","down":"Move down","delete":"Delete","surfaces":{"buyer_home":"Buyer homepage banners","seller_dashboard":"Seller dashboard banners"}}},"pickupWarnings":{"multiple_pickup_failures":"Pickup has failed several times. Review the latest provider error, retry history, and next scheduled retry before taking manual action.","automatic_retry_limit_reached":"Automatic pickup retries have reached the configured limit. Review the latest provider error and retry manually if appropriate.","total_retry_limit_reached":"Pickup retry attempts have reached the total configured limit. Review the latest provider error and escalate or investigate before any override."},"shell":{"backToCatalog":"Back to catalog","logoutFailed":"Failed to log out. Please try again.","planned":"planned","navigation":"Ops navigation","currentPage":"Current page","more":"More","moreMenu":"More Ops pages","loading":"Loading Ops","whatsappUnread":"WhatsApp: {{count}} unread message","whatsappUnreadMore":"WhatsApp: more than {{count}} unread messages"},"nav":{"dashboard":"Dashboard","support":"Support Inbox","whatsappSupport":"WhatsApp support","transactionIssues":"Transaction Issues","complaints":"Complaints / Disputes","sellers":"Seller Moderation","products":"Product Moderation","holidays":"Holiday Calendar","shippingTest":"Shipping Test","platformPromotions":"Platform Promotions","finance":"Finance","siteSettings":"Site Settings","orderSettings":"Order Settings","paymentSettings":"Payment Settings","users":"Users","refundRequests":"Refund requests","buyers":"Buyer Moderation","emergencySla":"Emergency SLA Incidents"},"holidays":{"title":"Holiday management","slaExplanation":"Working-day SLA excludes weekends and active holidays below.","namePlaceholder":"Holiday name","active":"Active","
9inactive":"Inactive","save":"Save holiday","add":"Add holiday","cancelEdit":"Cancel edit","loading":"Loading holidays...","empty":"No holidays configured.","date":"Date","name":"Name","status":"Status","actions":"Actions","edit":"Edit","delete":"Delete","editorTitle":"Add holiday","editingTitle":"Edit holiday","editingBadge":"Editing holiday","dateLabel":"Date","nameLabel":"Holiday name","listTitle":"Holiday list","deleteDialogTitle":"Delete holiday?","deleteDialogBody":"Delete {{name}} ({{date}})? This action cannot be undone.","cancelDelete":"Cancel","confirmDelete":"Delete","errors":{"requiredFields":"Holiday date and name are required.","load":"Failed to load holidays.","save":"Failed to save the holiday.","delete":"Failed to delete the holiday."}},"dashboard":{"title":"Operations overview","overview":"Operations overview","openSupportThreads":"Open support threads","transactionIssues":"Transaction issues","openComplaints":"Open complaints","sellersPendingReview":"Sellers pending review","productsPendingReview":"Products pending review","pendingWithdrawals":"Pending withdrawals","failedPickups":"Failed pickups","autoRetryScheduled":"Automatic retry scheduled","ordersRequiringAttention":"Orders requiring attention","recentActivity":"Recent activity","viewAll":"View all","refresh":"Refresh","loading":"Loading dashboard","loadFailed":"Failed to load dashboard","noActivity":"No recent activity","today":"Today","thisWeek":"This week","thisMonth":"This month","frozenStores":"Frozen stores","takenDownProducts":"Taken-down products","overdueSellerShipments":"Overdue seller shipments","needsAction":"Needs action","priorityQueues":"Priority queues from across ops, ordered by urgency.","total":"total","allClear":"All tracked queues are clear right now. Keep an eye on support, complaints, shipments, and moderation as new activity arrives.","reviewIssues":"Review issues","openQueue":"Open queue","viewComplaints":"View complaints","openInbox":"Open inbox","reviewSellers":"Review sellers","reviewProducts":"Review products","dataSources":"Data sources: support threads, complaints, transaction issue queue, seller status, product takedown status, and paid orders that missed ship-by deadlines without shipment records.","noAction":"No {{label}} need action right now.","overdueExplanation":"Paid orders have missed seller ship-by deadlines and need issue review.","transactionExplanation":"Open or investigating transaction cases are waiting for ops follow-up.","complaintsExplanation":"Buyer or seller complaints are still open and may need mediation.","supportExplanation":"Support conversations are available for admin response or triage.","frozenStoresExplanation":"Frozen seller stores are restricted and may require moderation review.","takenDownProductsExplanation":"Taken-down listings are hidden until product moderation completes."},"sellers":{"title":"Seller Moderation","adminTitle":"Admin sellers","sellers":"Sellers","searchSellers":"Search sellers","searchPlaceholder":"Search store name or slug","searchHelp":"Search for a seller before moderating accounts.","searchMin":"Enter at least 2 characters to search sellers.","loadFailed":"Failed to load sellers.","actionFailed":"Failed to update seller status.","all":"All","status":"Status","internalNote":"Internal note (optional):","freezeNote":"Freeze note","frozenAt":"Frozen at","reasonFreeze":"Reason for freeze (internal)","reasonUnfreeze":"Reason for unfreeze (internal)","freeze":"Freeze","unfreeze":"Unfreeze","noSellers":"No sellers.","loading":"Loading sellers","refresh":"Refresh","onboardingTitle":"Seller onboarding","onboardingHelp":"Review invited sellers and activate stores after setup is complete.","moderationHelp":"Search active or frozen sellers for explicit moderation actions.","seller":"Seller","ownerContact":"Owner/contact","setupChecklist":"Setup checklist","missingItems":"Missing items","action":"Action","ready":"Ready","noOnboarding":"No sellers are waiting for setup.","loadingOnboarding":"Loading seller onboardingâ¦","loadingMore":"Loading moreâ¦","checklistProgress":"{{complete}} of {{total}} complete","activate":"Activate seller","activating":"Activatingâ¦","completeBeforeActivation":"Complete missing checklist items before activation.","activationMissing":"Seller setup is incomplete. Missing: {{fields}}.","searching":"Searchingâ¦","updating":"Updatingâ¦","inviteTitle":"Invite seller","inviteHelp":"Create an invite-only seller account after offline verification.","storeGroup":"Store","ownerGroup":"Owner","verificationGroup":"Verification","sellerName":"Seller/store name","ownerName":"Owner name","ownerEmail":"Owner email","ownerPhone":"Owner phone","verificationNote":"Verification note","verifiedOffline":"I have verified this seller offline.","sendInvitationEmail":"Send invitation link to the seller by email","sendInvitationEmailHelp":"The invitation will be sent to the owner email entered above.","invitationEmailSent":"Invitation email has been sent to {{email}}.","invitationEmailFailed":"The invitation email could not be sent. Use the invitation link below to send it manually.","inviteAllRequired":"All invite fields are required.","inviteVerifyRequired":"Confirm that this seller has been verified offline before creating an invite.","inviteFailed":"Unable to create seller invite.","invite
9Creating":"Creating inviteâ¦","inviteCreate":"Create seller invite","inviteCreated":"Invite created. This link is shown once.","inviteSecurity":"Send it only to the verified seller owner. Do not paste it into logs, analytics, or public channels.","sellerId":"Seller ID","inviteExpires":"Invite expires","inviteLink":"Invite link","inviteCopy":"Copy invite link","inviteCopied":"Invite link copied.","fields":{"contact_email":"Contact email","contact_phone":"Contact phone","settings_address_id":"Store address","finance_pin":"Finance PIN","name":"Store profile/name","support_hours":"Operational/support hours","seller_legal_acceptance":"Seller terms accepted"},"reissue":"Reissue invitation","reissuing":"Reissuing invitation","reissueConfirm":"Create a new invitation link for this seller? The previous invitation link will no longer work.","reissueCreated":"Invitation reissued","reissueFailed":"Could not reissue the seller invitation.","invitationEmailNotRequested":"Invitation email was not requested.","correctDetails":"Correct invitation details","sendNewInvitationEmail":"Send the new invitation link to the seller by email","correctConfirm":"Saving these changes will invalidate the previous invitation link and create a new one.","saveCorrection":"Save and create new link","correctCreated":"Invitation details corrected. This new link is shown once.","correctFailed":"Could not correct the seller invitation details."},"sellerStatus":{"active":"active","frozen":"frozen","inactive":"inactive","pending":"pending","pending_review":"pending review","verified_pending_setup":"Pending setup","approved":"approved","rejected":"rejected","suspended":"suspended","disabled":"disabled","verified":"verified","unverified":"unverified"},"sellerDetail":{"title":"Seller details","backToSellers":"Back to sellers","storeInformation":"Store information","ownerInformation":"Owner information","contact":"Contact","storeAddress":"Store address","verificationDocuments":"Verification documents","reviewHistory":"Review history","currentStatus":"Current status","approvalStatus":"Approval status","verified":"Verified","unverified":"Unverified","pendingReview":"Pending review","approveSeller":"Approve seller","rejectSeller":"Reject seller","suspendSeller":"Suspend seller","reactivateSeller":"Reactivate seller","rejectionReason":"Rejection reason","suspensionReason":"Suspension reason","internalNote":"Internal note","saveNote":"Save note","confirmAction":"Confirm action","processing":"Processing","actionCompleted":"Action completed","actionFailed":"Action failed","loading":"Loading seller","notFound":"Seller not found","confirmApprove":"Approve this seller?","confirmReject":"Reject this seller?","confirmSuspend":"Suspend this seller?","confirmReactivate":"Reactivate this seller?"},"users":{"title":"Users","adminTitle":"Admin users","noUsers":"No users.","admin":"Admin","active":"Active","yes":"yes","no":"no","freeze":"Freeze","unfreeze":"Unfreeze","loading":"Loading users","searchPlaceholder":"Search by email or user ID","paginationLabel":"User result pages","pageOf":"Page {{page}} / {{totalPages}}"},"userStatus":{"active":"active","inactive":"inactive","suspended":"suspended","disabled":"disabled","verified":"verified","unverified":"unverified","frozen":"frozen"},"userDetail":{"title":"User details","backToUsers":"Back to users","accountInformation":"Account information","contactInformation":"Contact information","loginMethod":"Login method","verificationStatus":"Verification status","accountStatus":"Account status","orders":"Orders","complaints":"Complaints","addresses":"Addresses","activity":"Activity","suspendAccount":"Suspend account","reactivateAccount":"Reactivate account","disableAccount":"Disable account","reason":"Reason","internalNote":"Internal note","confirmAction":"Confirm action","processing":"Processing","actionCompleted":"Action completed","actionFailed":"Action failed","notFound":"User not found","loading":"Loading user"},"common":{"loading":"Loading","saving":"Saving","processing":"Processing","refresh":"Refresh","retry":"Retry","search":"Search","filter":"Filter","clear":"Clear","apply":"Apply","save":"Save","cancel":"Cancel","close"
9:"Close","back":"Back","previous":"Previous","next":"Next","noData":"No data","notFound":"Not found","somethingWentWrong":"Something went wrong","unauthorized":"Unauthorized","accessDenied":"Access denied","sessionExpired":"Session expired","confirm":"Confirm","success":"Success","failed":"Failed","loadMore":"Load more","previousPage":"Previous","nextPage":"Next","showingRange":"Showing {{start}}â{{end}}","showingRangeOfTotal":"Showing {{start}}â{{end}} of {{total}}","noMoreResults":"No more results."},"support":{"loadOlderMessages":"Load older messages","loadingOlderMessages":"Loadingâ¦","title":"Support inbox","threads":"Support threads","searchPlaceholder":"Search support chats...","loading":"Loading support inbox","emptyChats":"No support chats yet.","unknownParticipant":"Unknown","unknownRequester":"Unknown requester","noMessages":"No messages yet.","selectThread":"Select a support thread.","reopen":"Reopen","markResolved":"Mark resolved","updating":"Updating...","statusAriaLabel":"Support status","sellerRequest":"Seller support request","buyerRequest":"Buyer support request","linkedOrder":"Linked order","noLinkedOrder":"No linked order context","viewOrderComplaints":"View order complaints","openComplaint":"Open complaint","errors":{"loadOlderMessages":"Failed to load older messages.","loadInbox":"Failed to load support inbox.","loadConversation":"Failed to load support conversation.","sendReply":"Failed to send support reply.","updateStatus":"Failed to update support thread status.","missingAttachmentUrl":"Upload response did not include an attachment URL."},"actions":"Actions","unreadCount":"{{count}} unread messages","participantRoles":{"buyer":"Buyer","seller":"Seller","unknown":"Unknown role"}},"supportStatus":{"open":"Open","waitingCustomer":"Waiting customer","resolved":"Resolved","closed":"Closed"},"supportComposer":{"placeholder":"Reply to this support chat...","send":"Send","sending":"Sending...","attachImage":"Attach image","imageMenuLabel":"Image","removeAttachment":"Remove {{name}}","uploadingImage":"Uploading image...","attachFailed":"Failed to attach image. Please try again.","invoiceOrder":"Invoice / Order","product":"Product"},"transactionIssues":{"backToIssues":"Back to issues","title":"Transaction issue queue","intro":"Internal ops queue for order/payment/shipping exceptions. This is separate from buyer complaint disputes.","orderInvoiceNumber":"Order / Invoice number","createIssue":"Create issue","creating":"Creatingâ¦","internalNoteOptional":"Internal note (optional)","created":"Transaction issue created.","status":"Status","type":"Type","all":"All","loading":"Loading transaction issuesâ¦","noIssues":"No transaction issues found.","noOverdueSellerShipmentIssues":"No overdue seller shipment issues found.","issueFallback":"Issue #{{id}}","order":"Order","buyer":"Buyer","seller":"Seller","opened":"Opened","selectIssue":"Select an issue to review details.","orderSummary":"Order summary","paymentStatus":"Payment status","issueType":"Issue type","issue":"Issue","total":"Total","timeline":"Timeline","noStatusHistory":"No status history yet.","items":"Items","internalNote":"Internal note","saveIssueUpdate":"Save issue update","saving":"Savingâ¦","errors":{"requiredOrderReference":"Order identifier is required to create a transaction issue.","createFailed":"Failed to create transaction issue."}},"transactionIssueStatus":{"open":"Open","investigating":"Investigating","resolved":"Resolved","dismissed":"Dismissed"},"transactionIssueType":{"payment_issue":"Payment issue","shipment_issue":"Shipment issue","pickup_retry_available":"Pickup retry available","overdue_seller_shipment":"Overdue seller shipment","status_mismatch":"Status mismatch","manual_review":"Manual review","courier_lost":"Courier lost","courier_damaged":"Courier damaged","abnormal_tracking":"Abnormal tracking","refund_needed":"Refund needed","seller_compensation_needed":"Seller compensation needed","other":"Other","shipment_delivery_exception":"Post-pickup delivery issue","shipment_create_reconciliation":"Shipment creation needs reconciliation"}
9,"transactionOrderStatus":{"pending":"Pending","pending_payment":"Pending payment","awaiting_payment":"Awaiting payment","paid":"Paid","processing":"Processing","shipped":"Shipped","delivered":"Delivered","completed":"Completed","complaint_open":"Complaint open","cancelled":"Cancelled","canceled":"Cancelled","refunded":"Refunded"},"transactionPaymentStatus":{"pending":"Pending","unpaid":"Unpaid","paid":"Paid","settlement":"Paid","capture":"Captured","failed":"Failed","expired":"Expired","cancelled":"Cancelled","canceled":"Cancelled","refunded":"Refunded","partial_refund":"Partially refunded"},"transactionIssueShipment":{"title":"Shipment / pickup","noShipment":"No Biteship shipment is linked to this order yet.","provider":"Provider","courierService":"Courier/service","currentShippingState":"Current shipping state","providerStatus":"Status from Biteship","waybillTracking":"Waybill / tracking","retryAttempts":"Retry attempts","notProvided":"Not provided","pickupRetryAvailableHelp":"Pickup was cancelled before courier pickup and is eligible for retry.","automaticAttempts":"Automatic attempts","totalAttempts":"Total attempts","nextAutomaticRetry":"Next automatic retry","latestRetryError":"Latest retry error","history":"Shipment history ({{count}})","providerStatusNotAvailable":"provider status n/a","noWaybill":"no waybill","statusFallback":"status","attemptsOf":"{{current}} of {{max}}","status":{"pickup_retry_available":"Pickup was cancelled","pending":"Pending","created":"Created","confirmed":"Confirmed","allocated":"Allocated","picking_up":"Picking up","picked_up":"Picked up by courier","dropping_off":"Dropping off","delivered":"Delivered","cancelled":"Cancelled","canceled":"Cancelled","failed":"Failed","returned":"Returned to seller","rejected":"Rejected at destination","return_in_transit":"Returning to seller","disposed":"Unable to proceed","in_transit":"In transit","on_hold":"Temporarily on hold"},"providerOrder":"Provider order"},"transactionIssueRetry":{"retryPickup":"Retry pickup","retrying":"Retrying pickupâ¦","missingOrderIdentifier":"Unable to retry pickup: order identifier is missing.","requested":"Pickup retry requested. Tokodepan is creating a new Biteship order.","failed":"Failed to retry pickup.","unavailableIneligible":"Retry pickup is unavailable for this shipment. The retry limit may be reached or the backend marked it ineligible.","unavailableProvider":"Retry pickup is only available for Biteship shipments.","unavailableCourierType":"Retry pickup is only available for instant/same-day shipments.","unavailableGeneric":"Retry pickup is unavailable for this shipment."},"complaints":{"paginationLabel":"Complaint queue pages","page":"Page {{page}}","title":"Complaints / disputes","titleWithInvoice":"Complaint {{invoice}}","complaintId":"Complaint ID","status":"Status","all":"all","loadingComplaints":"Loading complaintsâ¦","noComplaints":"No complaints found.","complaint":"Complaint","order":"Order","buyer":"Buyer","seller":"Seller","reason":"Reason","buyerDescription":"Buyer description","opened":"Opened","loadingDetail":"Loading complaint detail...","selectComplaint":"Select a complaint to review details.","detailUnavailable":"Complaint detail unavailable.","summaryTitle":"Complaint summary","total":"Total","requestedResolution":"Requested resolution","sellerProposedSolution":"Seller proposed solution","finalResolution":"Final resolution","notProvided":"Not provided","openLinkedSupportThread":"Open linked support thread #{{id}}","noLinkedSupportThread":"No linked support thread for this order.","evidence":"Evidence","buyerEvidence":"Buyer evidence","sellerEvidence":"Seller evidence","noBuyerEvidence":"No buyer evidence uploaded yet","noSellerEvidence":"No seller evidence uploaded yet","attachmentUnavailable":"Attachment unavailable","downloadAttachment":"Download attachment","attachmentAlt":"attachment","conversation":"Conversation","noStatusHistory":"No status history yet.","messages":"Messages","workflowTitle":"Complaint status","workflowHelp":"Use this to track where the complaint is in the process. This does not execute refunds or fund release.","sendMessagePlaceholder":"Send message to buyer/seller","sending":"Sendingâ¦","sendMessage":"Send message","applyRecommendedStatus":"Apply recommended status","optionalStatusNote":"Optional status note","statusOnlyHelp":"Changing status only updates the complaint workflow. It does not transfer money, create shipments, or release funds.","updating":"Updatingâ¦","updateStatus":"Update status","confirmUpdateWithoutNote":"Update complaint status to \\"{{status}}\\" without a note?"},"complaintStatus":{"open":"Open","awaiting_seller_response":"Waiting for seller","seller_proposed_solution":"Seller proposed solution","awaiting_buyer_response":"Waiting for buyer","escalated_to_ops":"Escalated to Tokodepan","ops_review":"Tokodepan reviewing","resolved_refund":"Resolved: Refund approved","resolved_replacement":"Resolved: Replacement agreed","resolved_rejected":"Resolved: Rejected","closed":"Closed","under_review":"Tokodepan reviewing","resolved_buyer":"Resolved: Buyer","resolved_seller":"Resolved: Seller","rejected":"Rejected","closed_by_buyer":"Closed by buyer"},"complaintReason":{"item_not_received":"Item not received","item_damaged":"Item damaged","wrong_item":"Wrong item","missing_item":"Missing item","not_as_described":"Not as described","counterfeit":"Counterfeit item","other":"Other"},"complaintResolution":{"refund":"Refund","replacement":"Replacement","partial_refund":"Partial refund","reject":"Reject","rejected":"Rejected","refund_no_return":"Refund, no return required","refund_after_return":"Refund after return","replacement_no_return":"Replacement, no return required","replacement_after_return":"Replacement after return"},"complaintRole":{"buyer":"Buyer","seller":"Seller","ops":"Ops","system":"System"},"complaintFaultParty":{"seller":"Seller fault","buyer":"Buyer fault","logistics":"Logistics issue","unclear":"Unclear / needs judgment","tokodepan_goodwill":"Tokodepan goodwill"}
9,"complaintPayer":{"seller":"Seller","buyer":"Buyer","tokodepan":"Tokodepan","none":"None"},"complaintLabelMode":{"buyer_manual":"Buyer manual","seller_manual":"Seller manual","not_required":"Not required"},"complaintOutcome":{"refund":"Refund","replacement":"Replacement","partial_refund":"Partial refund","rejected":"Reject"},"complaintDecision":{"title":"Resolution decision","help":"Use this to record what Tokodepan decided should happen.","finalSaved":"Final decision saved","finalPreview":"Final decision preview","decision":"Decision","responsibility":"Responsibility","return":"Return","required":"Required","notRequired":"Not required","previewSellerReturn":"Buyer and seller should coordinate return shipping manually. Seller is responsible for return freight according to this decision.","previewBuyerReturn":"Buyer arranges manual return shipping and pays courier directly.","previewOpsReturn":"Ops may instruct manual return shipping. Tokodepan does not generate return labels yet.","replacement":"Replacement","sellerSendsReplacement":"Seller sends replacement item.","noReplacement":"No replacement.","refund":"Refund","noRefundAmount":"No refund amount set.","noRefund":"No refund.","buyerInstruction":"Buyer instruction","sellerInstruction":"Seller instruction","nextStep":"Next step","nextRejected":"Update status to resolved/rejected or closed when ready.","nextBuyerTracking":"Buyer must provide return tracking.","nextSaveThenWait":"Save the decision, then wait for return shipment process.","stepOutcome":"Step 1 â Choose outcome","stepReturn":"Step 2 â Return requirement","stepResponsibility":"Step 3 â Responsibility","noReturnRequired":"No return required","returnRequired":"Return required","sellerReturnGuidance":"Manual return shipping only. No Tokodepan return label or automatic seller deduction.","buyerReturnGuidance":"Buyer pays return freight. For MVP, buyer should arrange manual return shipping and provide tracking.","unclearReturnGuidance":"Review evidence and adjust advanced shipping options if needed.","itemRefundAmount":"Item refund amount (Rp)","originalShippingRefund":"Original shipping refund (Rp)","totalRefund":"Total refund (Rp)","sellerRefundSuggestion":"Suggestion: include original shipping refund for seller fault (ops can override).","buyerRefundSuggestion":"Suggestion: original shipping refund is usually 0 for buyer fault (ops can override).","showRefundAmounts":"Show refund amounts","advancedShipping":"Advanced shipping options","advancedHelp":"Only change this for special cases.","returnFreightPayer":"Return freight payer","returnLabelMode":"Return label mode","replacementFreightPayer":"Replacement freight payer","internalOpsNote":"Internal ops note","messageToBuyer":"Message to buyer","messageToSeller":"Message to seller","recommendedNextStatus":"Recommended next status","saving":"Saving decisionâ¦","save":"Save decision","resolutionSaved":"Resolution saved.","missingPublicId":"Unable to save resolution: complaint public ID is missing.","saveFailed":"Failed to save resolution.","refundExecutionWarning":"Refund execution is not automated yet.","resolutionType":{"refund_no_return":"Refund, no return required","refund_after_return":"Refund after return","replacement_no_return":"Replacement, no return required","replacement_after_return":"Replacement after return","partial_refund":"Partial refund","rejected":"Reject complaint"},"totalRefundPreview":"Total refund Rp {{amount}}.","refundPlaceholder":"e.g. 100000"},"complaintReturn":{"title":"Return label","buyerManual":"Buyer must arrange manual return shipping.","status":{"label_created":"Label created","pending":"Pending","shipped":"Shipped","delivered":"Delivered","cancelled":"Cancelled","manual":"Manual"},"labelMode":"Label mode","freightPayer":"Return freight payer","waybill":"Waybill","provider":"Provider","freightCost":"Freight cost","sellerDeduction":"Seller deduction","deducted":"Deducted from seller balance","pendingDeduction":"Pending deduction","tracking":"Tracking"},"finance":{"title":"Finance / commissions","loadingOverview":"Loading commission overviewâ¦","loadFailed":"Failed to load admin finance data.","createScheduleFailed":"Failed to create commission schedule.","updateWithdrawalFailed":"Failed to update withdrawal.","grossOrderAmount":"Gross order amount","totalCommission":"Total commission","netSellerAmount":"Net seller amount","periodFilter":"Filter peri
9od","from":"From","to":"To","applyPeriod":"Apply period","thisMonth":"This month","page":"Page {{page}}","pageOf":"Page {{page}} of {{totalPages}}","total":"Total: {{count}}","totalProductGross":"Total product gross","totalProductNet":"Total product net","totalStoreCourierFreight":"Total store-courier freight","totalSellerPayout":"Total seller payout","sort":"Sort"},"financeCommission":{"title":"Commission by order","searchPlaceholder":"Search seller / order / invoice","allStatus":"All status","invoice":"Invoice","orderCreatedAt":"Order created at","completedAt":"Completed at","gross":"Gross","commission":"Commission","net":"Net","empty":"No commission rows found.","seller":"Seller","productGross":"Product gross","productNet":"Product net","storeCourierFreight":"Store-courier freight","sellerPayout":"Seller payout","status":"Status","exportCsv":"Export CSV","exporting":"Exportingâ¦"},"financeWithdrawal":{"title":"Withdrawal requests","searchPlaceholder":"Search seller / bank / status","allStatus":"All status","requestedAt":"Requested at","seller":"Seller","amount":"Amount","availableSnapshot":"Available snapshot","destination":"Destination","status":"Status","actions":"Actions","actionApprove":"Approve","actionReject":"Reject","actionProcessing":"Processing","actionMarkPaid":"Mark paid","empty":"No withdrawal requests found.","fallbackSeller":"Seller #{{id}}","reviewHelp":"Review the full destination details before changing withdrawal status.","actionUpdate":"Update","noActions":"No available actions","selectPrompt":"Select a withdrawal to review request details and safe actions.","sellerNote":"Seller note","adminNote":"Admin note","approvedAt":"Approved at","paidAt":"Paid at","rejectedAt":"Rejected at","transitionGuidance":"Allowed transitions are limited by the current status. Paid, rejected, and cancelled requests are final in this review UI.","confirmTitle":"Confirm withdrawal action","currentStatus":"Current status","targetStatus":"Target status","markPaidWarning":"Only mark as paid after the manual bank transfer has been completed.","transferReference":"Manual transfer reference / note","rejectReason":"Admin note / rejection reason","optionalAdminNote":"Admin note (optional)","saving":"Saving...","actionSuccess":"Withdrawal updated to {{status}}."},"financeWithdrawalStatus":{"pending_review":"Pending","approved":"Approved","processing":"Processing","paid":"Paid","rejected":"Rejected","cancelled":"Cancelled"},"financeOrderStatus":{"paid":"Paid","shipped":"Shipped","delivered":"Delivered","completed":"Completed"},"financeSort":{"newestDate":"Newest date","oldestDate":"Oldest date","sellerAz":"Seller A-Z","amountHighLow":"Amount high-low","statusAz":"Status A-Z","newestRequest":"Newest request","oldestRequest":"Oldest request"},"financeSchedule":{"saveSuccess":"Commission schedule saved.","title":"Commission rate schedule","rate":"Rate","effectiveFromDraft":"Effective from (draft)","saveEffectiveFrom":"Save effective-from","selectedEffectiveFrom":"Selected effective-from","notSet":"Not set","saving":"Saving...","addSchedule":"Add schedule","effective":"Effective {{date}}","futureOnlyHelp":"New rates apply to future commission configuration and do not change existing orders."},"financeValidation":{"commissionRateOutOfRange":"Commission rate must be between 0% and 100%.","effectiveFromRequired":"Effective-from datetime is required."},"returns":{"paginationLabel":"Return request queue pages","page":"Page {{page}}","title":"Admin return mediation","statusFilter":"Status filter:","all":"All","requests":"Return requests","noReturns":"No returns found.","order":"Order #{{id}}","detailTitle":"Detail & mediation","pickRequest":"Pick a return request.","returnId":"Return #{{id}}","status":"Status:","buyerSeller":"Buyer #{{buyerId}} · Seller #{{sellerId}}","reason":"Reason:","buyerNote":"Buyer note:","adminNote":"Admin note:","mediatedAt":"Mediated at {{date}} by user #{{userId}}","adminNoteOptional":"Admin note (optional)","submitDecision":"Submit mediation decision","errors":{"loadList":"Failed to load return requests.","loadDetail":"Failed to load return details.","mediate":"Failed to submit the mediation decision."}},"returnStatus":{"requested":"Return requested","approved":"Approved","rejected":"Rejected","shipped_back":"Shipped back","received":"Received","refunded":"Refunded","cancelled":"Cancelled","return_shipment_pending":"Return shipment pending","return_in_transit":"Return in transit","return_delivered_to_seller":"Return delivered to seller","inspection_pending":"Inspection pending","resolved_full_refund":"Resolved: Full refund","resolved_partial_refund":"Resolved: Partial refund","resolved_rejected":"Resolved: Return rejected"},"returnReason":{"damaged":"Damaged item","wrong_item":"Wrong item"},"returnDecision":{"approve":"Approve","reject":"Reject"},"products":{"title":"Product Moderation","searchPlaceholder":"Search product, store, or product URL","allStatuses":"All statuses","loading":"Loading productsâ¦","searchMinimum":"Enter at least 2 characters to search products.","searchHelp":"Search by product name, store name/slug, or product URL slug.","noProducts":"No products found.","seller":"Seller:","status":"Status:","takedownMarker":"TAKEDOWN","reason":"Reason:","takedownAt":"Takedown at:","takedownReasonPrompt":"Takedown reason (optional):","errors":{"load":"Failed to load products.","takedown":"Failed to take down the product.","restore":"Failed to restore the product."},"contextTitle":"Find a product","searchLabel":"Search","statusLabel":"Product status","viewProduct":"View product","actionPending":"Workingâ¦","paginationLabel":"Product results pages","previous":"Previous","next":"Next","resultRange":"{{start}}â{{end}} of {{total}}","takedownConfirmTitle":"Confirm product takedown","takedownConfirmText":"Take down â{{title}}â? Buyers will no longer be able to purchase it.","restoreConfirmTitle":"Confirm product restore","restoreConfirmText":"Restore â{{title}}â from moderation takedown?","reasonField":"Reason","reasonOptional":"Optional; up to 2,000 characters.","cancel":"Cancel","takedownConfirm":"Confirm takedown","restoreConfirm":"Confirm restore"},"productStatus":{"active":"Active","draft":"Draft","archived":"Archived","takedown":"Taken down"},"productActions":{"search":"Search","takedown":"Takedown","restore":"Restore"},"promotions":{"title":"Platform promotions","createTitle":"Create platform voucher","titleLabel":"Title","codeLabel":"Code","startDate":"Start date","endDate":"End date","coverage":"Coverage","discountType":"Discount type","discountValue":"Discount value","percentHelp":"Enter 1 to 100.","minimumPurchase":"Minimum purchase","maxDiscount":"Max discount cap","scope":"Scope","paymentRestriction":"Payment method restriction","paymentRestrictionHelp":"Leave empty to allow all payment methods.","productTargets":"Product/category target ids","productTargetsPlaceholder":"Comma-separated product ids","findSellers":"Find sellers","sellerSearchPlaceholder":"Search seller name/slug","refreshSellers":"Refresh seller list","saving":"Saving...","save":"Save platform promo","listTitle":"Promotion list","listSearchPlaceholder":"Search title/code/type/status/scope","activeOnly":"Active only","paginationLabel":"Promotion result pages","page":"Page {{page}}","loading":"Loading promotionsâ¦","empty":"No platform promotions foun
9d.","sellerFallback":"Seller #{{id}}","all":"All","table":{"code":"Code","title":"Title","seller":"Seller","type":"Type","discountValue":"Discount Value","scope":"Scope","paymentMethods":"Payment Methods","status":"Status","start":"Start","end":"End","action":"Action","minimumPurchase":"Minimum purchase","maximumDiscount":"Maximum discount"},"errors":{"loadSellers":"Unable to load sellers.","loadPromotions":"Unable to load platform promotions.","save":"Unable to save promotion.","deactivate":"Unable to deactivate promotion.","product_target_seller_mismatch":"Selected products must belong to the selected target sellers."},"notices":{"saved":"Platform promotion saved."},"sections":{"basic":"Basic information","discount":"Discount","coverageTarget":"Coverage and target","payment":"Payment restriction"},"scopeStoreHelp":"Applies to all products in the targeted seller stores.","scopeProductsHelp":"Enter product IDs separated by commas.","coverageAllHelp":"No seller selection needed.","targetSellers":"Target sellers","selectedSellerCount":"{{count}} sellers selected","noSellerSelectionNeeded":"No seller selection needed.","productTargetSearch":"Product targets","productTargetSearchPlaceholder":"Search by product title, seller, slug, SKU, or paste product URL","productTargetSearchButton":"Search / Add","productTargetAddButton":"Add","productTargetResults":"Results","selectedProducts":"Selected products","selectedProductCount":"{{count}} products selected","removeProductTarget":"Remove","noProductTargetResults":"No matching product targets found.","productTargetUrlHelp":"Paste a buyer product URL like /products/store/product to resolve the internal product ID.","productTargetLookupFailed":"Product target lookup failed. Try again.","productTargetDuplicate":"Product is already selected.","productTargetSellerMismatchWarning":"Some selected products belong to sellers not selected in target sellers.","deactivateTitle":"Deactivate promotion?","deactivateText":"Deactivate {{title}} ({{code}})? This promotion will no longer be active.","cancel":"Cancel","archivedAction":"Archived â no further actions","deactivating":"Deactivatingâ¦","loadingSellers":"Loading sellersâ¦","loadMoreSellers":"Load more","noMaximumDiscount":"No limit","allSellers":"All sellers","requiresCode":"Require buyer to enter promo code","requiresCodeHelp":"If enabled, this promotion will not appear automatically to buyers. Buyers must enter the code manually."},"promotionCoverage":{"all_sellers_all_products":"All sellers / all products","specific_sellers":"Specific seller(s) only","specific_products_or_category":"Specific product(s) / category only"},"promotionScope":{"store":"All products","products":"Specific product(s) / category"},"promotionDiscountType":{"percent":"Percentage","fixed":"Fixed amount"},"promotionPaymentMethod":{"qris":"QRIS","card":"Card","virtual_account":"VA"},"promotionStatus":{"active":"Active","scheduled":"Scheduled","ended":"Ended","inactive":"Inactive"},"promotionActions":{"search":"Search","deactivate":"Deactivate"},"promotionValidation":{"required_fields":"Title, code, dates, and discount value are required.","invalid_discount_value":"Discount value must be a valid positive number.","percent_out_of_range":"Percentage discount must be between 1 and 100.","invalid_max_discount":"Maximum discount cap must be a valid number.","seller_target_required":"Choose at least one seller coverage target.","product_target_required":"Add at least one product/category target id for products scope.","product_target_seller_mismatch":"Selected products must belong to the selected target sellers.","product_scope_requires_seller_targeting":"Selected-product promotions must use specific seller/product targeting. Choose a seller-specific coverage option before saving."},"orderSettings":{"title":"Order Settings","fulfillmentTitle":"Seller fulfillment SLA","loading":"Loading order settingsâ¦","fields":{"sellerSla":"Seller fulfillment SLA","autoRetryEnabled":"Enable automatic pickup retry","firstDelay":"First retry delay","retryInterval":"Retry interval","maxAutoAttempts":"Maximum automatic attempts","trackingReconciliationEnabled":"Automatic Biteship tracking reconciliation"},"sellerSlaHelp":"Number of working days sellers receive after an order is ready to ship. For preorder orders, the product preorder period is added first, then this fulfillment SLA is applied. Active business holidays are excluded.","sellerSlaExample":"Example: a 10-day preorder with a 3-working-day SLA gets 10 calendar days plus 3 working days.","autoRetryTitle":"Automatic pickup retry","autoRetryHelp":"Automatically retries failed instant/same-day pickup requests during seller operational hours. Manual seller and Ops retry remain available. Automatic retries stop after the configured limit or when the shipping deadline passes. Total attempts remain capped separately.","saving":"Savingâ¦","save":"Save settings","validation":{"wholeNumberRange":"{{label}} must be a whole number from {{min}} to {{max}}."},"errors":{"load":"Failed to load order settings.","save":"Failed to save order settings."},"notices":{"saved":"Order fulfillment settings saved."},"trackingReconciliationTitle":"Automatic Biteship tracking reconciliation","trackingReconciliationHelp":"Fallback safety net for missed Biteship webhooks. Normal operation remains webhook-driven. When disabled, Ops can manually use Biteship Events Log â Resend."},"paymentSettings":{"title":"Payment Settings","sectionTitle":"Payment Method Settings","loading":"Loading payment settingsâ¦","vaBanks":"Virtual Account banks","methods":{"qris":"QRIS","va":"Virtual Account","card":"Card"},"fields":{"enabled":"Enabled","minAmount":"Min amount (IDR)","maxAmount":"Max amount (IDR)"},"placeholders":{"noMax":"No max"},"noMaxHelp":"Enter 0 for no maximum.","saving":"Savingâ¦","save":"Save settings","errors":{"load":"Failed to load payment settings.","save":"Failed to save payment settings.","maxBelowMin":{"qris":"QRIS maximum must be 0 (unlimited) or at least its minimum.","va":"Virtual Account maximum must be 0 (unlimited) or at least its minimum.","card":"Card maximum must be 0 (unlimited) or at least its minimum."}},"notices":{"saved":"Payment settings saved."},"intro":"Configure payment method availability and whole-number Rupiah limits.","descriptions":{"qris":"QR payment for supported banking and wallet apps.","va":"Bank transfer using a dedicated virtual account.","card":"Payment using a supported credit card."}},"transactionIssueMoneyFlow":{"title":"Money flow / resolution readiness","readOnlyNotice":"Manual ops cancellation and pending manual refund request creation are available only when backend validations allow them. No provider refund or seller payout is executed here.","orderStatus":"Order status","paymentStatus":"Payment status","paymentMethod":"Payment method","subtotal":"Subtotal","discount":"Discount","shipping":"Shipping","total":"Total","grossSellerAmount":"Gross seller amount","commissionRate":"Commission rate","commissionAmount":"Commission amount","netSellerAmount":"Seller net amount","fundsReleased":"Funds released","
9notReleased":"Not released","completedAt":"Completed at","refunds":"Existing refund requests","noRefunds":"No refund requests recorded.","withdrawalRisk":"Withdrawal risk","pendingWithdrawals":"Seller has an active withdrawal","paidWithdrawals":"Seller has a history of paid withdrawals","resolutionReadiness":"Resolution readiness","cancelPlanned":"Cancel order â planned","refundPlanned":"Create refund request â planned","yes":"Yes","no":"No","cancelOrder":"Cancel order","createRefundRequest":"Create refund request","cancelWarning":"Cancellation restores inventory. For paid orders, it also queues or reuses a manual refund request; payment remains marked paid.","refundWarning":"This creates a pending manual refund request only. It does not call Xendit or move money.","refundAmount":"Refund amount (cents)","reason":"Reason","opsNote":"Ops note","confirm":"Confirm action","cancel":"Close","submitting":"Submittingâ¦","cancelSuccess":"Order cancelled and inventory restored. A manual refund request was queued or reused for paid orders.","refundSuccess":"Pending manual refund request created. No provider refund was executed.","openComplaintSettlement":"Open complaint settlement","complaintSettlementHelp":"Seller release and partial split outcomes are handled through complaint resolution.","sellerFundsStatus":"Seller funds status","orderFundsReleased":"Order funds released to seller balance","sellerWithdrawalScopeNote":"These can refer to separate withdrawals. The system cannot confirm whether either withdrawal includes funds from this order.","fundsUnreleasedGuidance":"Order funds have not been released to the seller balance.","fundsReleasedGuidance":"Order funds have been released to the seller balance. Review seller withdrawal activity before any refund."},"refundRequests":{"title":"Refund requests","intro":"Review pending/manual refund requests. Eligible finance admins can manually execute guarded Xendit refunds from detail.","status":"Status","queue":"Queue","detail":"Detail","loading":"Loadingâ¦","empty":"No refund requests found.","selectPrompt":"Select a refund request.","providerExecutionNotice":"Provider refund execution is not enabled in this PR.","executeProviderRefundPlanned":"Execute provider refund â planned","refund":"Refund","invoice":"Invoice","amount":"Amount","reason":"Reason","opsNote":"Ops note","order":"Order","payment":"Payment","dokuInvoice":"DOKU invoice","sellerPayoutWarning":"Seller payout/release warning","fundsReleased":"Funds released","completed":"Completed","netSellerAmount":"Net seller amount","commission":"Commission","transactionIssue":"Transaction issue","buyer":"Buyer","provider":"Provider","created":"Created","maskedUnknown":"masked/unknown","statusPendingManual":"Pending manual","statusProcessing":"Processing","statusSucceeded":"Succeeded","statusFailed":"Failed","statusCancelled":"Cancelled","statusAll":"All","subtotal":"Subtotal","shipping":"Shipping","discount":"Discount","total":"Total","loadFailed":"Failed to load refund requests.","detailLoa
9dFailed":"Failed to load refund request detail.","executeProviderRefund":"Execute provider refund","executeConfirmTitle":"Confirm Xendit refund execution","executeWarning":"This will call Xendit and may move money back to the buyer. It does not release seller funds or update withdrawals.","confirmationText":"Type EXECUTE REFUND to confirm","executing":"Executing...","executeSuccess":"Provider refund execution started.","executeFailed":"Failed to execute provider refund.","close":"Close","seller":"Seller","providerStatus":"Provider status","refundSummary":"Refund summary","executionStatusAction":"Execution status/action","orderPaymentContext":"Order/payment context","traceability":"Transaction issue / source traceability","noTransactionIssue":"No linked transaction issue was found for this refund request.","refundSource":"Refund source","actorUserId":"Actor user ID","providerRefundReferenceId":"Provider refund reference ID","providerRefundId":"Provider refund ID","hiddenJsonOpsNote":"Ops note appears to contain old webhook payload JSON. It is hidden from this view.","statusValue":{"pending_manual_refund":"Pending manual","processing":"Processing","succeeded":"Succeeded","failed":"Failed","cancelled":"Cancelled"},"manualRefund":"Manual refund","manualHelp":"Provider refund unavailable or failed? Contact the buyer and record the manual refund once completed.","contactBuyer":"Contact buyer","contactBuyerFailed":"Failed to open buyer support chat.","markManual":"Mark as manually refunded","manualMethod":"Manual refund method","manualReference":"Transaction/reference number","manualConfirmation":"Type MARK REFUNDED to confirm","bankTransfer":"Bank transfer","other":"Other","manualSuccess":"Manual refund recorded as completed.","manualFailed":"Failed to record manual refund."},"complaintSettlement":{"title":"Complaint settlement","warning":"Final confirmation creates the refund queue item and seller entitlement atomically. Platform-funded goodwill above captured payment is not supported yet.","availablePaid":"Paid amount available","maxSellerRelease":"Maximum seller release","maxSellerReleaseHelp":"Maximum seller release is the seller's net proceeds after Tokodepan commission.","buyerRefund":"Buyer refund","sellerRelease":"Seller release","remaining":"Amount outside complaint settlement (commission, fees, or unsupported goodwill are not released by this action)","typeSettle":"Type SETTLE to confirm","note":"Internal note/reason","confirm":"Confirm settlement","submitting":"Confirmingâ¦","confirmed":"Confirmed settlement","refundStatus":"Refund status","actor":"Confirmed by","blocked":"Blocked","blockingReasons":{"order_not_found":"Order not found.","order_unpaid":"The order is not paid.","seller_funds_already_released":"Seller funds have already been released.","resolution_required":"Save an Ops decision before confirming settlement.","return_not_delivered":"The latest return shipment must be delivered to seller.","conflicting_refund":"An active or succeeded refund already exists for this order.","complaint_closed_by_buyer":"The buyer closed this complaint; settlement is no longer available."},"warnings":{"manual_return_unverified":"Confirm that the seller has received the returned item before settling. This return was handled manually and is not automatically verified by Tokodepan."},"noteRequired":"Settlement note (required)","requirements":"Confirmation requirements:","validation":{"preview_blocked":"Complaint is ready to settle","decision_not_ready":"A saved Ops decision is ready","missing_note":"Settlement note is filled in","confirmation_text":"SETTLE is typed exactly","empty_allocation":"At least one allocation is positive","refund_exceeds_paid":"Buyer refund does not exceed paid amount","seller_release_exceeds_maximum":"Seller release does not exceed its maximum","allocation_exceeds_paid":"Combined allocation does not exceed paid amount"}},"buyers":{"title":"Buyer Moderation","intro":"Review buyer activity, complaints, refunds, and account-level moderation signals. Open a buyer to freeze, ban, restore, or review identity restrictions affecting the account.","statusAll":"All","statusActive":"Active","statusFrozen":"Frozen","statusBanned":"Banned","buyerSummary":"Buyer summary","moderationActions":"Moderation actions","activitySignals":"Activity signals","search":"Search public ID, name, email, or phone","allStatuses":"All statuses","buyer":"Buyer","identity":"Identity","status":"Status","activity":"Activity","verified":"Verified","unverified":"Unverified","internalNote":"Internal moderation note","identityBlocks":"Identity blocks","loadFailed":"Unable to load buyers","actionFailed":"Moderation action failed","actionConfirm":"Apply {{action}} to this buyer? Buyer sessions will be revoked.","banConfirm":"Ban this buyer? Buyer sessions will be revoked, login
9will be blocked, account email and main phone will be blocked from reuse, and historical records remain.","banNoteRequired":"Internal note is required for Ban.","sessionPartial":"Moderation saved, but buyer-session revocation failed. Retry session revocation or ask engineering to investigate Redis.","sessionResult":"Buyer session revocation completed. Revoked sessions: {{count}}.","reasonCode":"Reason code","addBlock":"Add identity block","revokeBlock":"Revoke","workflowTitle":"Buyer safety workflow","orderCount":"{{count}} orders","complaintCount":"{{count}} complaints","refundCount":"{{count}} refunds","createdAt":"Created","backToList":"Back to buyer list","recentAuditLog":"Recent audit log","actions":{"freeze":"Freeze","unfreeze":"Unfreeze","restore":"Restore","ban":"Ban"},"moderationActionsHelp":"These actions affect the registered buyer account and revoke buyer sessions when applied.","internalNoteHelp":"Add context for other Ops teammates reviewing this moderation decision.","banRequiresNoteHelp":"Ban requires an internal note before the action can be submitted.","identityStatus":"Identity status","auditLogEmpty":"No recent audit log entries for this buyer yet.","identityRestrictions":"Identity restrictions","identityNoActiveRestrictions":"No active identity restrictions.","blockedIdentities":"Blocked identities","blockedIdentitiesHelp":"Block or review buyer-side email and phone identities, including identities without a registered buyer account.","identityType":"Identity type","identityValue":"Identity value","identityValuePlaceholder":"Email address or phone number","blockIdentity":"Block identity","blockedIdentityList":"Blocked identity list","noBlockedIdentities":"No blocked identities.","revokeIdentityBlock":"Revoke","identityBlockCreated":"Identity block created.","identityBlockRevoked":"Identity block revoked.","identityBlockCreateFailed":"Unable to block identity.","identityBlockLoadFailed":"Unable to load blocked identities.","identityBlockRevokeFailed":"Unable to revoke identity block.","confirmRevokeIdentityBlock":"Revoke this identity block?","confirmCreateIdentityBlock":"Block this buyer-side identity?","identityValueRequired":"Enter an email address or phone number.","searchLabel":"Search buyers","results":"Buyer results","loadingBuyers":"Loading buyersâ¦","loadingBuyer":"Loading buyerâ¦","noBuyers":"No buyers match the current search and status filters.","phoneVerification":"Phone verification","identityTypes":{"email":"Email","phone":"Phone"},"reasons":{"policy_abuse":"Policy abuse","payment_risk":"Payment risk","seller_conflict":"Seller conflict","fraud_risk":"Fraud risk","ops_manual":"Manual Ops review"}},"transactionIssueCopy":{"shipment_delivery_exception":{"title":"Post-pickup delivery issue","description":"The shipment encountered a problem after the package was handed to the courier and requires Ops review."},"shipment_create_reconciliation":{"title":"Shipment creation needs reconciliation","description":"Biteship accepted the shipment reference, but Tokodepan did not receive the provider order ID. Find the reference in Biteship Dashboard and reconcile it."}},"transactionIssueHistory":{"shipmentDeliveryExceptionStatus":{"rejected":"The shipment was rejected at the destination.","return_in_transit":"The package is being returned to the seller.","returned":"The package has been returned to the seller.","disposed":"The courier cannot proceed with the package.","failed":"Delivery failed after pickup.","unknown":"The shipment entered a delivery exception state."},"shipmentDeliveryExceptionLaterDelivered":"The courier later reported the package as delivered after the earlier delivery issue.","shipmentId":"Shipment ID: {{id}}","resolutionEvents":{"investigation_saved":"Investigation saved.","buyer_refund_created":"Buyer refund request created.","seller_reversal_created":"Seller proceeds reversal recorded.","seller_compensation_created":"Claim compensation credited to seller.","resolution_executed":"Financial resolution executed.","claim_marked_filed":"Courier claim remains pending.","resolution_completed":"Resolution completed.","finance_review_decision_recorded":"Finance review decision recorded."}},"transactionIssueGuidance":{"shipmentDeliveryException":{"title":"Delivery issue review","review":"This delivery issue requires Ops review. Do not resolve the transaction through the normal cancellation flow until the cause and delivery outcome are confirmed.","fundsHeld":"Seller funds remain held while the delivery issue is unresolved."}},"shipmentResolution":{"title":"Shipment issue resolution","separateEvents":"Buyer refund, seller proceeds reversal, and courier compensation are recorded as three separate financial events.","resolutionType":"Resolution type","responsibility":"Responsibility","buyerResolution":"Buyer resolution","buyerRefund":"Buyer refund","sellerRe
9solution":"Seller resolution","claimStatus":"Courier claim","claimReference":"Courier claim number / reference","claimReferenceHelp":"Enter the claim ticket or claim ID issued by Biteship/courier after filing the claim.","claimAmount":"Actual approved claim","claimBasis":"Suggested claim basis","goodsOutcome":"Goods outcome for seller","sellerFundsStatus":"Seller funds status:","sellerFundsUnreleased":"Order funds have not been released to the seller balance.","releasedFundsTitle":"Handling seller funds already released","sellerOriginalProceeds":"Seller original proceeds","released":"Released","unreleased":"Not released","claimLikelyGuidance":"The goods have not returned or are damaged and the courier is responsible. Consider filing a courier claim.","claimConsistencyWarning":"The goods are recorded as returned in good condition, but a courier claim is still pending. Confirm that the claim is still needed.","internalNote":"Internal notes","preview":"Resolution preview","sellerReversal":"Seller proceeds reversal","compensation":"Courier compensation","noneNow":"None now","save":"Save investigation","execute":"Execute resolution","saved":"Investigation saved successfully.","executed":"Resolution executed successfully. Refund request #{{refundId}} was created. The courier claim is still pending.","completedWithCompensation":"Resolution completed successfully. Courier claim compensation was credited to the seller.","claimPending":"Buyer/sale actions are recorded; courier claim remains pending.","compensationCredited":"Courier claim compensation has been credited.","compensationFinanceRequired":"Finance permission is required to post this approved courier claim as seller balance.","confirmTitle":"Confirm financial resolution","confirmWarning":"This records durable refund and accounting actions. Review every amount before confirming.","confirm":"Confirm execution","cancel":"Cancel","values":{"returned_to_seller":"Returned to seller","lost_in_transit":"Lost in transit","damaged_in_transit":"Damaged in transit","recipient_rejected":"Recipient rejected","disposed_by_courier":"Disposed by courier","delivery_failed":"Delivery failed","other":"Other","courier":"Courier","seller":"Seller","buyer":"Buyer","undetermined":"Undetermined","none":"None","full_refund":"Full refund","partial_refund":"Partial refund","reverse_proceeds":"Reverse proceeds","retain_proceeds":"Retain proceeds","compensation_pending_claim":"Compensation pending claim","no_compensation":"No compensation","not_required":"Not required","not_filed":"Not filed","filed":"Filed","approved":"Approved","rejected":"Rejected","approved_for_automatic_reversal":"Approve automatic reversal","handled_manually":"Handled manually","no_reversal":"No reversal","returned_good_condition":"Returned in good condition","returned_damaged":"Returned damaged","not_returned":"Not yet returned","lost":"Lost","unknown":"Unknown"},"manualFinanceReview":"Manual finance review required. No refund, reversal, compensation, or withdrawal mutation was performed.","references":"Financial records","refundRecord":"Refund","reversalRecord":"Seller reversal","compensationRecord":"Claim compensation","financeReviewSaved":"Finance review decision saved.","financeReviewNote":"Finance review note (required)","saveFinanceReview":"Save finance review","financeReviewDecision":"Finance review decision","sellerHelp":{"reverse_proceeds":"The seller does not retain the original transaction proceeds. If funds were released, the system creates a balance reversal.","retain_proceeds":"The seller retains the original transaction proceeds. Use only when policy requires the seller to remain paid.","compensation_pending_claim":"The original transaction is not retained; the seller may receive separate compensation after courier claim approval.","no_compensation":"No courier compensation is paid to the seller."},"completed":"Resolution completed","completedAt":"Completed at {{date}}"},"chatAttachmentViewer":{"attachment":"Attachment","openImageAttachment":"Open image attachment","invoiceOrder":"Invoice / Order","status":"Status","total":"Total","viewOrder":"
9View order","sellerProduct":"Seller Product","product":"Product","price":"Price","productLinkUnavailable":"Product link unavailable: missing seller or product slug","openProductDetail":"Open product detail","viewProduct":"View product","imageViewer":"Image viewer","closeImageViewer":"Close image viewer","reset":"Reset"},"supportAttachments":{"close":"Close","search":"Search","searchPlaceholder":"Search invoices or products","loading":"Loading...","previous":"Previous","next":"Next","pageOf":"Page {{page}} of {{total}}","chooseInvoice":"Choose invoice / order","chooseProduct":"Choose product","noOrders":"No relevant orders found.","noProducts":"No relevant products found.","loadFailed":"Failed to load attachments.","searchAttachments":"Search attachments"},"shippingTest":{"title":"Shipping test lab (internal)","intro":"Internal Biteship utility for manual lifecycle validation. Uses the current session authentication and CSRF flow.","guidance":"For standard checkout, use the postal-code pair. Area IDs are optional and provider-specific. Coordinates are advanced inputs for instant, same-day, or advanced routing.","phases":{"discovery":"A · Location / provider discovery","input":"B · Shipment input","execution":"C · Shipment execution","inspection":"D · Lifecycle inspection"},"steps":{"origin":"1) Origin area search","destination":"2) Destination area search","couriers":"3) Courier fetch / list","inputs":"4) Item, parcel, and shipment inputs","rates":"5) Rate check","create":"6) Create shipment","shipment":"7) Fetch shipment by internal shipment ID","orderTracking":"8) Refresh provider order / tracking","history":"9) Shipment history display"},"fields":{"origin_postal_code":"Origin postal code (recommended)","destination_postal_code":"Destination postal code (recommended)","origin_area_id":"Origin area ID","destination_area_id":"Destination area ID","origin_latitude":"Origin latitude (advanced)","origin_longitude":"Origin longitude (advanced)","destination_latitude":"Destination latitude (advanced)","destination_longitude":"Destination longitude (advanced)","sender_name":"Sender name","sender_phone":"Sender phone","sender_address":"Sender address","receiver_name":"Receiver name","receiver_phone":"Receiver phone","receiver_address":"Receiver address","courier_company":"Courier company","courier_type":"Courier type","couriers":"Couriers for rates (CSV)","item_name":"Item name","quantity":"Quantity","weight":"Weight (grams)","value":"Value (IDR)","internal_order_id":"Internal order ID (optional)","reference_id":"Reference ID (optional)","shipment_id":"Local shipment ID","provider_order_id":"Provider order ID","tracking_id":"Tracking ID"},"placeholders":{"originSearch":"Search origin area","destinationSearch":"Search destination area","localShipment":"Local shipment ID","providerOrder":"Provider order ID","tracking":"Tracking ID","historyShipment":"Shipment ID for history"},"actions":{"search":"Search","searching":"Searchingâ¦","fetchCouriers":"Fetch couriers","loading":"Loadingâ¦","checkRates":"Check rates","checking":"Checkingâ¦","createShipment":"Create shipment","creating":"Creatingâ¦","fetch":"Fetch","fetching":"Fetchingâ¦","refreshOrder":"Refresh order","refreshTracking":"Refresh tracking","refreshing":"Refreshingâ¦","loadHistory":"Load history"},"outputs":{"response":"Response","providerOrder":"Provider order detail","tracking":"Tracking detail"}},"emergencySla":{"title":"Emergency SLA Incidents","helper":"Use this when sellers in a specific area need additional shipping time because of a disaster, courier disruption, or another extraordinary condition.","createTitle":"Create incident","name":"Incident name","province":"Province","city":"City / regency (optional)","district":"District (optional)","allDescendants":"All","days":"Extra working days","reason":"Internal reason","create":"Create incident","created":"Incident created. Preview before applying.","history":"Incident history","area":"Area","status":"Status","affected":"Sellers / orders affected","close":"Close incident","confirmClose":"Close this incident permanently? Existing extensions will remain.","preview":"Preview affected orders","sellers":"Sellers","eligible":"Eligible new orders","covered":"Already covered","skipped":"Skipped","sellerSelection":"Select sellers to include","invoice":"Invoice","currentDeadline":"Current deadline","projectedDeadline":"Projected deadline","shippingState":"Shipping state","apply":"Apply to newly eligible orders","confirmApply":"Extend up to {{count}} currently eligible orders for the selected sellers?","applied":"Extended {{extended}} orders; skipped {{skipped}}.","appliedOrders":"Previously applied orders","skipReasons":{"already_covered":"Already covered by this incident","delivered_completed":"Delivered / completed","cancelled":"Cancelled","missing_deadline":"Missing deadline","unpaid_ineligible":"Unpaid / ineligible","fulfillment_already_processed":"Order is no longer subject to the fulfillment deadline"},"areaSellers":"Sellers in area","areaEligible":"Area-wide eligible orders","selectedEligible":"Selected eligible orders"},"auditLogs":{"title":"Admin audit logs","searchPlaceholder":"Search logs","actionFilter":"Action filter","search":"Search","loading":"Loading logsâ¦","at":"At","actor":"Actor","target":"Target","system":"system","empty":"No audit logs found."},"biteshipCreateReconciliation":{"title":"Shipment creation needs reconciliation","provider":"Provider","localShipmentId":"Local shipment ID","reference":"Tokodepan reference","copy":"Copy","copied":"Reference copied.","providerOrderId":"Biteship Order ID","instructions":"Copy the Tokodepan reference, search it in Biteship Dashboard, confirm the courier and waybill, then paste the Biteship Order ID. Tokodepan will independently verify it before saving.","verify":"Verify and reconcile","success":"Shipment reconciliation completed.","notAvailable":"Not available"}}`),nav:{whatsappSupport:`WhatsApp support`,refundRequests:`Refund requests`},whatsappSupport:{title:`WhatsApp Support Inbox`,filter:`Status`,unread:`{{count}} Unread`,markRead:`Mark as Read`,reopen:`Reopen Thread`,close:`Close Thread`,replyPlaceholder:`Type your replyâ¦`,send:`Send Reply`,empty:`Select a Thread to Vie
9w Messages`,status:{open:`Open`,closed:`Closed`,unknown:`Unknown`},threads:`Threads`,replyLabel:`Reply`,replyHelper:`Replies are sent through WhatsApp.`,noMessages:`No Messages Yet`,selectThread:`Select a Thread to View Messages`,lastMessage:`Last Message`,emptyThreads:`No Threads Yet`,sending:`Sending...`,replyErrorMeta:`WhatsApp could not send this reply. Meta rejected the recipient or the customer-service window may be closed.`,replyErrorFallback:`Could not send WhatsApp reply.`,loadMoreThreads:`Load More Threads`,loadOlderMessages:`Load Older Messages`,loading:`Loading...`,backToThreads:`Back to threads`,channelLabel:`WhatsApp conversation`,attachImage:`Attach image`,removeImage:`Remove image`,imageLabel:`Image`,selectedImageAlt:`Selected WhatsApp reply`,imageAttachmentAlt:`WhatsApp image attachment`,openImagePreview:`Open image preview`,imageUnavailable:`Image attachment unavailable`,imagePreviewLabel:`WhatsApp image preview`,zoomOut:`Zoom out`,zoomIn:`Zoom in`,resetZoom:`Reset image zoom`,fit:`Fit`,closeImagePreview:`Close image preview`,imageTypeError:`Only JPEG, PNG, or WebP images are supported.`,imageEmptyError:`Image file is empty.`,imageSizeError:`Image must be 10 MiB or smaller.`,imageSendUncertain:`The send result could not be confirmed. Check the conversation before retrying.`,backgroundRefreshError:`Live refresh is retryingâ¦`,newMessages:`New messages`,copyPhone:`Copy`,phoneCopied:`Copied`},reviews:{sellerResponse:`Seller response`,hideResponse:`Hide response`,unhideResponse:`Unhide response`,moderationReason:`Moderation reason`,responseHidden:`Response hidden`,responseUnhidden:`Response unhidden`,reasonRequired:`Reason is required`,hidden:`Hidden`,visible:`Visible`,edited:`Edited`}},br=[`id`,`en`],xr={buyer:`tokodepan.language.buyer`,ops:`tokodepan.language.ops`};function Sr(e){return br.includes(String(e||``).trim().toLowerCase())}function Cr(e){let t=String(e||``).trim().toLowerCase();return Sr(t)?t:null}function wr(e=`buyer`){return String(e).toLowerCase()===`ops`||String(e).toLowerCase()===`admin`?xr.ops:xr.buyer}function Tr(e){try{return Cr(localStorage.getItem(wr(e)))}catch{return null}}function Er(e,t){let n=Cr(t);if(!n)return null;try{localStorage.setItem(wr(e),n)}catch{}return n}function Dr({localPreference:e,siteDefault:t}={}){return Cr(e)||Cr(t)||`id`}function Or({location:e=typeof window<`u`?window.location:null,configuredAdminHosts:t=[]}={}){let n=String(e?.hostname||``).trim().toLowerCase(),r=String(e?.pathname||``);return mt(n,t)||r===`/admin`||r.startsWith(`/admin/`)?`ops`:`buyer`}var kr={id:[mr,hr,gr],en:[_r,vr,yr]},Ar=(0,_.createContext)(null);function jr(e){return Object.assign({},...e.map(e=>JSON.parse(JSON.stringify(e))))}var Mr={id:jr(kr.id),en:jr(kr.en)};function Nr(e,t){return String(t).split(`.`).reduce((e,t)=>e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,e)}function Pr(e,t){return String(e).replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>t?.[n]??``)}function Fr(e,t,n){let r=Nr(Mr[Cr(e)||`id`],t)??Nr(Mr.id,t);return r==null?String(t).split(`.`).pop():Pr(r,n)}function Ir({surface:e=`buyer`,loadSiteConfig:t=!0,children:n}){let[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)(!t),[s,c]=(0,_.useState)(()=>Tr(e)),l=Dr({localPreference:s,siteDefault:r});(0,_.useEffect)(()=>{c(Tr(e))},[e]),(0,_.useEffect)(()=>{if(!t){o(!0);return}let e=!0;return fetch(N(`/site/config`),{credentials:`include`}).then(e=>e.ok?e.json():null).then(t=>{e&&i(Cr(t?.default_language))}).catch(()=>{}).finally(()=>{e&&o(!0)}),()=>{e=!1}},[t]);let u=(0,_.useCallback)(t=>{let n=Er(e,t);n&&c(n)},[e]),d=(0,_.useCallback)((e,t)=>Fr(l,e,t),[l]),f=(0,_.useMemo)(()=>({language:l,supportedLanguages:br,setLanguage:u,configLoaded:a,t:d}),[l,u,a,d]);return(0,Z.jsx)(Ar.Provider,{value:f,children:n})}function Lr(){return(0,_.useContext)(Ar)||{language:`id`,supportedLanguages:br,setLanguage:()=>{},configLoaded:!0,t:(e,t)=>Fr(`id`,e,t)}}function Rr(){return Lr().t}function zr({label:e,ariaLabel:t,className:n=``,compact:r=!1,showLabel:i=!!e,displayMode:a=`full`}){let{language:o,setLanguage:s,t:c}=Lr(),l=t||e||c(`language.interfaceLanguage`),u=[`language-selector`,r?`language-selector--compact`:``,n].filter(
9Boolean).join(` `),d=e=>a===`short`?e.toUpperCase():c(e===`id`?`language.bahasa`:`language.english`);return(0,Z.jsxs)(`span`,{className:u,children:[i&&e?(0,Z.jsx)(`span`,{className:`language-selector__label`,children:e}):null,(0,Z.jsxs)(`select`,{className:`language-selector__select`,value:o,onChange:e=>s(e.target.value),"aria-label":l,children:[(0,Z.jsx)(`option`,{value:`id`,children:d(`id`)}),(0,Z.jsx)(`option`,{value:`en`,children:d(`en`)})]})]})}function Br(e){return String(e||``).trim().toLowerCase().replace(/[^a-z0-9]+(.)/g,(e,t)=>String(t||``).toUpperCase()).replace(/^[^a-z]+/,``)}function Vr(e,t){let n=[e?.level1,e?.level2,e?.level3].filter(Boolean);if(!n.length)return``;let r=Br(n.join(` `)),i=typeof t==`function`?t(`buyer.categories.${r}`):``;return i&&i!==r?i:n.at(-1)}function Hr(e=typeof window>`u`?null:window,t=typeof navigator>`u`?null:navigator){return e?!!(e.matchMedia?.(`(display-mode: standalone)`)?.matches||t?.standalone===!0):!1}function Ur(e=typeof navigator>`u`?null:navigator){let t=e?.userAgent||``;return/iPad|iPhone|iPod/.test(t)||e?.platform===`MacIntel`&&e?.maxTouchPoints>1?/Safari/i.test(t)&&!/(CriOS|FxiOS|EdgiOS)/i.test(t)?`ios-safari`:`ios-other`:/Android/i.test(t)?`android`:`desktop`}function Wr({win:e=typeof window>`u`?null:window,nav:t=typeof navigator>`u`?null:navigator}={}){let n=null,r=Hr(e,t),i=!1,a=null,o=new Set,s=()=>({installed:r,available:!r&&!!n}),c=()=>{let e=s();o.forEach(t=>t(e))},l=e=>{e.preventDefault?.(),!r&&(n=e,c())},u=()=>{r=!0,n=null,c()},d=()=>{r=Hr(e,t),r&&(n=null),c()};return{initialize(){i||!e||(i=!0,a=e.matchMedia?.(`(display-mode: standalone)`),e.addEventListener?.(`beforeinstallprompt`,l),e.addEventListener?.(`appinstalled`,u),a?.addEventListener?.(`change`,d),d())},subscribe(e=()=>{}){return this.initialize(),o.add(e),e(s()),()=>{o.delete(e)}},async install(){if(!n||r)return{outcome:`unavailable`};let e=n;n=null,c(),await e.prompt();let t=await e.userChoice;return t?.outcome===`accepted`&&(r=!0),c(),t||{outcome:`dismissed`}},getState:s,destroy(){i&&(e?.removeEventListener?.(`beforeinstallprompt`,l),e?.removeEventListener?.(`appinstalled`,u),a?.removeEventListener?.(`change`,d),i=!1,a=null,n=null,o.clear())}}}var Gr=Wr();function Kr(){Gr.initialize()}function qr(){let[e,t]=(0,_.useState)(()=>Gr.getState());(0,_.useEffect)(()=>Gr.subscribe(t),[]);let n=(0,_.useCallback)(()=>Gr.install(),[]);return{...e,install:n,guidance:Ur()}}var Jr=`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`;function Yr(e){(e?.querySelectorAll?.(Jr)||[])[0]?.focus?.()}function Xr(e,t,n){if(e.key===`Escape`){e.preventDefault(),n();return}if(e.key!==`Tab`)return;let r=Array.from(t?.querySelectorAll?.(Jr)||[]);if(!r.length){e.preventDefault(),t?.focus?.();return}let i=r[0],a=r[r.length-1];e.shiftKey&&e.target===i?(e.preventDefault(),a.focus()):!e.shiftKey&&e.target===a&&(e.preventDefault(),i.focus())}function Zr({available:e,guidance:t,idPrefix:n,onClose:r,onInstall:i,onLater:a,surface:o=`buyer`}){let s=Rr(),c=(0,_.useRef)(null),l=`${o}.pwa`;return(0,_.useEffect)(()=>{Yr(c.current)},[]),(0,Z.jsx)(`div`,{className:`pwa-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&r()},children:(0,Z.jsxs)(`section`,{ref:c,className:`pwa-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`${n}-pwa-title`,tabIndex:-1,onKeyDown:e=>Xr(e,c.current,r),children:[(0,Z.jsx)(`button`,{className:`pwa-dialog-close`,type:`button`,onClick:r,"aria-label":s(`${l}.close`),children:`Ã`}),(0,Z.jsx)(`h2`,{id:`${n}-pwa-title`,children:s(`${l}.title`)}),(0,Z.jsx)(`p`,{children:s(`${l}.description`)}),e?(0,Z.jsxs)(`div`,{className:`pwa-dialog-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`profile-cancel-btn secondary-action`,onClick:a,children:s(`${l}.later`)}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-action-btn primary-action`,onClick:i,children:s(`${l}.install`)})]}):(0,Z.jsxs)(`div`,{className:`pwa-guidance`,children:[(0,Z.jsx)(`p`,{children:s(`${l}.manual.${t}.intro`)}),(0,Z.jsxs)(`ol`,{children:[(0,Z.jsx)(`li`,{children:s(`${l}.manual.${t}.step1`)}),(0,Z.jsx)(`li`,{children:s(`${l}.manual.${t}.step2`)}),(0,Z.jsx)(`li`,{children:s(`${l}.manual.${t}.step3`)}),t.startsWith(`ios`)&&(0,Z.jsx)(`li`,{children:s(`${l}.manual.${t}.step4`)})]})]})]})})}function Qr({surface:e=`buyer`}){let t=Rr(),{installed:n,available:r,install:i,guidance:a}=qr(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(!1),u=(0,_.useRef)(null),d=`${e}.pwa`;function f(){s(!1),u.current?.focus()}async function p(){(await i())?.outcome===`dismissed`&&l(!0),f()}return n?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`article`,{className:`pwa-install-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:t(`${d}.title`)}),(0,Z.jsx)(`p`,{children:t(`${d}.description`)})]}),!c&&(0,Z.jsx)(`button`,{ref:u,type:`button`,className:`profile-inline-btn secondary-action`,onClick:()=>s(!0),children:t(`${d}.entry`)})]}),o&&(0,Z.jsx)(Zr,{available:r,guidance:a,idPrefix:e,onClose:f,onLater
9:()=>{l(!0),f()},onInstall:p,surface:e})]})}var $r=`tokodepan:pwa-home-install-dismissed-at`;function ei(e,t){return t?e:typeof window>`u`?null:window.localStorage}function ti(e=Date.now(),t){try{let n=ei(t,arguments.length>=2),r=Number(n?.getItem(`tokodepan:pwa-home-install-dismissed-at`)||0);return Number.isFinite(r)&&r>0&&e-r<6048e5}catch{return!1}}function ni(e=Date.now(),t){try{ei(t,arguments.length>=2)?.setItem($r,String(e))}catch{}}function ri({surface:e=`buyer`}){let t=Rr(),{installed:n,available:r,install:i,guidance:a}=qr(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(()=>ti()),u=(0,_.useRef)(null),d=`${e}.pwa.homeBanner`;(0,_.useEffect)(()=>{n&&s(!1)},[n]);function f(){s(!1),u.current?.focus()}function p(){ni(),l(!0),f()}async function m(){r&&await i(),f()}return n||c?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`aside`,{className:`pwa-install-banner`,"aria-label":t(`${d}.title`),children:[(0,Z.jsx)(`img`,{className:`pwa-install-banner-icon`,src:`/icons/tokodepan-192.png`,alt:``,"aria-hidden":`true`}),(0,Z.jsxs)(`div`,{className:`pwa-install-banner-copy`,children:[(0,Z.jsx)(`h2`,{children:t(`${d}.title`)}),(0,Z.jsx)(`p`,{children:t(`${d}.description`)})]}),(0,Z.jsxs)(`div`,{className:`pwa-install-banner-actions`,children:[(0,Z.jsx)(`button`,{ref:u,type:`button`,className:`pwa-install-banner-install`,onClick:()=>r?m():s(!0),children:t(`${d}.install`)}),(0,Z.jsx)(`button`,{type:`button`,className:`pwa-install-banner-dismiss`,onClick:p,"aria-label":t(`${d}.dismiss`),children:`Ã`})]})]}),o&&(0,Z.jsx)(Zr,{available:r,guidance:a,idPrefix:`${e}-home`,onClose:f,onLater:f,onInstall:m,surface:e})]})}var ii=Object.freeze({unsupported:`unsupported`,disabled:`disabled`,default:`default`,requesting:`requesting`,subscribing:`subscribing`,subscribed:`subscribed`,denied:`denied`,unsubscribing:`unsubscribing`,error:`error`});function ai(){return typeof window<`u`&&`serviceWorker`in navigator&&`PushManager`in window&&`Notification`in window}function oi(){return ai()?Notification.permission:`unsupported`}function si(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t);return Uint8Array.from([...n].map(e=>e.charCodeAt(0)))}async function ci(){return ai()?navigator.serviceWorker.ready:null}async function li(){let e=await ci();return e?e.pushManager.getSubscription():null}async function ui(e){let t=await ci();if(!t)throw Error(`unsupported`);return t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:si(e)})}function di(){if(typeof navigator>`u`)return!1;let e=window.matchMedia?.(`(display-mode: standalone)`)?.matches||navigator.standalone===!0;return/iphone|ipad|ipod/i.test(navigator.userAgent||``)&&!e}async function fi({api:e,getPermission:t,getSubscription:n,log:r=()=>{}}){let i=t();if(r(`push.reconcile`,{permission:i,serviceWorkerReady:!0}),i===`denied`)return{state:`denied`,subscription:null};let a=await n();return r(`push.reconcile`,{browserSubscriptionPresent:!!a}),i!==`granted`||!a?.endpoint?{state:`default`,subscription:a||null}:{state:(await e(`/push/subscriptions/status`,{method:`POST`,body:{endpoint:a.endpoint}}))?.subscribed?`subscribed`:`default`,subscription:a}}async function pi({api:e,subscription:t,userAgent:n=``,origin:r}){await e(`/push/subscriptions`,{method:`POST`,body:{...t.toJSON(),user_agent:n,origin:r}})}function mi({api:e,t}){let[n,r]=(0,_.useState)(ii.default),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)({enabled:!1,vapid_public_key:null}),u=(0,_.useCallback)(async()=>{if(a(``),!ai()){r(ii.unsupported);return}let t=await e(`/push/config`);if(l(t),!t?.enabled){r(ii.disabled);return}let n=await fi({api:e,getPermission:oi,getSubscription:li,log:console.info});r(n.state)},[e]);(0,_.useEffect)(()=>{u().catch(e=>{a(e.message),r(ii.error)})},[u]),(0,_.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&u().catch(e=>{a(e.message),r(ii.error)})};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[u]);async function d(){if(!(!ai()||!c?.enabled||o||oi()===`denied`)){s(!0),a(``),r(ii.requesting);
9try{let t=oi();if(t!==`granted`&&(t=await Notification.requestPermission()),t===`denied`){r(ii.denied);return}if(t!==`granted`){r(ii.default);return}r(ii.subscribing);let n=await li();n||=await ui(c.vapid_public_key),await pi({api:e,subscription:n,userAgent:navigator.userAgent,origin:window.location.origin}),r(ii.subscribed)}catch(e){a(e.message),r(ii.error)}finally{s(!1)}}}async function f(){s(!0),r(ii.unsubscribing),a(``);try{let t=await li();await e(`/push/subscriptions/current`,{method:`DELETE`,body:{endpoint:t?.endpoint||null}}),t&&await t.unsubscribe(),r(ii.default)}catch(e){a(e.message),r(ii.error)}finally{s(!1)}}let p=di(),m=n===ii.subscribed,h=o||[ii.requesting,ii.subscribing,ii.unsubscribing].includes(n),g=n===ii.disabled?t(`buyer.notifications.platformDisabled`):n===ii.unsupported?t(p?`buyer.notifications.iosInstallHelp`:`buyer.notifications.unsupported`):n===ii.denied?t(`buyer.notifications.denied`):m?``:t(`buyer.notifications.inactive`);return(0,Z.jsxs)(`section`,{className:`settings-card notification-settings-card`,id:`notifications`,"aria-labelledby":`notification-settings-title`,children:[(0,Z.jsxs)(`div`,{className:`notification-settings-head`,children:[(0,Z.jsx)(`span`,{className:`notification-settings-icon`,"aria-hidden":`true`,children:(0,Z.jsx)(`svg`,{viewBox:`0 0 24 24`,focusable:`false`,children:(0,Z.jsx)(`path`,{d:`M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22Zm7-6.2-1.7-2.05V10a5.3 5.3 0 0 0-4.05-5.16V3.9a1.25 1.25 0 0 0-2.5 0v.94A5.3 5.3 0 0 0 6.7 10v3.75L5 15.8V18h14v-2.2ZM8.7 16v-6a3.3 3.3 0 0 1 6.6 0v4.47L16.57 16H8.7Z`,fill:`currentColor`})})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{id:`notification-settings-title`,children:t(`buyer.notifications.title`)}),(0,Z.jsx)(`p`,{children:t(`buyer.notifications.description`)})]}),(0,Z.jsx)(`span`,{className:`notification-status-pill ${m?`is-active`:`is-inactive`}`,children:t(m?`buyer.notifications.statusActive`:`buyer.notifications.statusInactive`)})]}),g&&(0,Z.jsx)(`p`,{className:`notification-settings-copy`,children:g}),h&&(0,Z.jsx)(`p`,{className:`notification-settings-loading`,role:`status`,children:t(`buyer.notifications.loading`)}),i&&(0,Z.jsx)(`p`,{className:`error`,role:`alert`,children:i}),(0,Z.jsxs)(`div`,{className:`notification-settings-actions`,children:[[ii.default,ii.error].includes(n)&&(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:d,disabled:h||!c?.enabled,"aria-label":t(`buyer.notifications.enable`),children:t(`buyer.notifications.enable`)}),m&&(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:f,disabled:h,"aria-label":t(`buyer.notifications.disable`),children:t(`buyer.notifications.disable`)})]})]})}function hi(e){let t=String(e??``).trim();return t?t.replace(/[_-]+/g,` `).replace(/\s+/g,` `).replace(/\b\w/g,e=>e.toUpperCase()):`-`}function gi(e,t){return e[String(t??``).trim().toLowerCase()]||null}var _i={pending:`buyer.orders.status.pending`,pending_payment:`buyer.orders.status.pendingPayment`,waiting_for_payment:`buyer.orders.status.pendingPayment`,paid:`buyer.orders.status.paid`,payment_review:`buyer.orders.status.paymentReview`,processing:`buyer.orders.status.processing`,ready_to_ship:`buyer.orders.status.readyToShip`,shipped:`buyer.orders.status.shipped`,delivered:`buyer.orders.status.delivered`,completed:`buyer.orders.status.completed`,cancelled:`buyer.orders.status.cancelled`,complaint_open:`buyer.orders.status.complaintOpen`,complained:`buyer.orders.status.complaintOpen`,refunded:`buyer.orders.status.refunded`,fully_refunded:`buyer.orders.status.refundCompleted`},vi={rejected:`buyer.shipment.status.rejected`,return_in_transit:`buyer.shipment.status.returnInTransit`,returned:`buyer.shipment.status.returned`,disposed:`buyer.shipment.status.disposed`,failed:`buyer.shipment.status.failed`,not_shipped:`buyer.shipment.status.notShipped`,pending:`buyer.shipment.status.pending`,confirmed:`buyer.shipment.status.confirmed`,scheduled:`buyer.shipment.status.scheduled`,allocated:`buyer.shipment.status.allocated`,picking_up:`buyer.shipment.status.pickingUp`,picked_up:`buyer.shipment.status.inProgress`,in_progress:`buyer.shipment.status.inProgress`,in_transit:`buyer.shipment.status.inProgress`,on_hold:`buyer.shipment.status.inProgress`,dropping_off:`buyer.shipment.status.droppingOff`,out_for_delivery:`buyer.shipment.status.droppingOff`,delivered:`buyer.shipment.status.delivered`,completed:`buyer.shipment.status.delivered`,cancelled:`buyer.shipment.status.cancelled`,canceled:`buyer.shipment.status.cancelled`,courier_not_found:`buyer.shipment.status.courierNotFound`,pickup_retry_available:`buyer.shipment.status.pickupRetryAvailable`,pickup_cancelled:`buyer.shipment.status.pickupRetryAvailable`,pickup_failed:`buyer.shipment.status.pickupFailed`,pickup_attention_required:`buyer.shipment.status.pickupAttentionRequired`,issue:`buyer.shipment.status.issue`,error:`buyer.shipment.status.error`,awaiting_seller_handoff:`buyer.shipment.status.awaitingSellerHandoff`,store_courier_preparing:`buyer.shipment.status.storeCourierPreparing`,store_courier_out_for_delivery:`buyer.shipment.status.storeCourierOutForDelivery`,store_courier_delivered:`buyer.shipment.status.storeCourierDelivered`},yi={open:`buyer.complaints.status.open`,awaiting_seller_response:`buyer.complaints.status.waitingSeller`,seller_proposed_solution:`buyer.complaints.status.waitingBuyer`,awaiting_buyer_response:`buyer.complaints.status.waitingBuyer`,escalated_to_ops:`buyer.complaints.status.underReview`,ops_review:`buyer.complaints.status.underReview`,resolved_refund:`buyer.complaints.status.resolved`,resolved_replacement:`buyer.complaints.status.resolved`,resolved_rejected:`buyer.complaints.status.resolved`,resolved:`buyer.complaints.status.resolved`,closed:`buyer.complaints.status.closed`,closed_by_buyer:`buyer.complaints.status.closedByBuyer`},bi={refund:`buyer.complaintDetail.resolutions.refund`,refund_no_return:`buyer.complaintDetail.resolutions.refund`,refund_after_return:`buyer.complaintDetail.resolutions.refund`,partial_refund:`buyer.complaintDetail.resolutions.refund`,replacement:`buyer.complaintDetail.resolutions.replacement`,replacement_no_return:`buyer.complaintDetail.resolutions.replacement`,replacement_after_return:`buyer.complaintDetail.resolutions.replacement`,other:`buyer.complaintDetail.resolutions.other`,rejected:`buyer.complaintDetail.resolutions.other`},xi={requested:`buyer.returns.status.waiting`,waiting_for_return:`buyer.returns.status.waiting`,shipped:`buyer.returns.status.shipped`,return_shipped:`buyer.returns.status.shipped`,received:`buyer.returns.status.received`,return_received:`buyer.returns.status.received`,completed:`buyer.returns.status.completed`,return_completed:`buyer.returns.status.completed`,refund_pending:`buyer.returns.status.refundPending`,refund_completed:`buyer.returns.status.refundCompleted`};function Si(e,t){let n=gi(_i,t);return n?e(n):hi(t)}function Ci(e,t){let n=gi(vi,t);return n?e(n):hi(t)}var wi=new Set([`open`,`complaint_open`,`complained`,`awaiting_seller_response`,`seller_proposed_solution`,`awaiting_buyer_response`,`escalated_to_ops`,`ops_review`,`under_review`,`dispute`,`disputed`]),Ti=new Set([`pickup_cancelled`,`pickup_failed`,`pickup_retry_available`,`pickup_attention_required`,`courier_not_found`,`failed`,`rejected`,`return_in_transit`,`returned`,`disposed`,`issue`,`cancelled`,`canceled`,`error`]),Ei=new Set([`pending`,`awaiting_seller_handoff`,`confirmed`,`scheduled`,`allocated`,`picking_up`,`picked_up`,`in_progress`,`in_transit`,`shipped`,`on_hold`,`out_for_delivery`,`dropping_off`,`delivered`]),Di=e=>String(e||``).trim().toLowerCase();function Oi(e={}){let t=e??{},n=Di(t.checkoutPaymentProvider??t.checkout_payment_provider??t.provider),r=Di(t.checkoutPaymentProviderStatus??t.checkout_payment_provider_status??t.provider_status);return n===`doku`?r===`doku_success_awaiting_verification`?`paid`:r===`doku_verification_discrepancy`?`review`:null:null}function ki(e={}){let t=Di(e.orderStatus??e.status),n=Di(e.complaintStatus??e.complaint?.status);if(wi.has(n)||wi.has(t))return{code:`complaint_open`,kind:`order`,tone:`complaint`};
9if(e.isFullyRefunded===!0||e.is_fully_refunded===!0)return{code:`fully_refunded`,kind:`order`,tone:`completed`};if([`cancelled`,`canceled`].includes(t))return{code:`cancelled`,kind:`order`,tone:`cancelled`};if(t.includes(`complete`)||t===`refunded`)return{code:t===`refunded`?`refunded`:`completed`,kind:`order`,tone:`completed`};if(Oi(e)===`paid`)return{code:`paid`,kind:`order`,tone:`paid`};if(Oi(e)===`review`)return{code:`payment_review`,kind:`order`,tone:`attention`};let r=[Di(e.shipmentNormalizedStatus??e.shipment_normalized_status??e.shipmentStatus??e.shipment_status),Di(e.shippingState??e.shipping_state)],i=r.find(e=>Ti.has(e));if(i)return{code:i,kind:`shipment`,tone:`attention`};let a=r.find(e=>Ei.has(e));if(a)return a===`delivered`?{code:`delivered`,kind:`shipment`,tone:`completed`}:{code:a,kind:`shipment`,tone:[`picked_up`,`in_progress`,`in_transit`,`shipped`,`out_for_delivery`,`dropping_off`].includes(a)?`shipped`:`processing`};let o=gi(_i,t)?t:`processing`;return{code:o,kind:`order`,tone:o}}function Ai(e,t){return t?.kind===`shipment`?Ci(e,t.code):Si(e,t?.code)}var ji=new Set([`handed_to_courier`,`picked_up`,`pickedup`,`picked`,`shipped`,`in_transit`,`intransit`,`on_hold`,`onhold`,`dropping_off`,`droppingoff`,`delivered`,`completed`,`awaiting_buyer_confirmation`,`return_in_transit`,`returnintransit`,`returned`,`disposed`]);function Mi({shippingState:e,providerShipmentStatus:t,shipmentHistory:n=[]}={}){let r=[e,t];for(let e of Array.isArray(n)?n:[])r.push(e?.normalized_status,e?.provider_status,e?.status);return r.some(e=>ji.has(String(e||``).trim().toLowerCase()))}function Ni({shippingState:e,providerShipmentStatus:t,isStoreCourier:n=!1,shipmentActuallyStarted:r=!1,orderStatus:i=``,cancelReason:a=``}){let o=String(e||``).trim().toLowerCase(),s=String(t||``).trim().toLowerCase();return String(i).toLowerCase()===`cancelled`&&[`seller_missed_shipping_deadline`,`seller_fulfillment_sla_missed`].includes(String(a).trim().toLowerCase())&&!r?`not_shipped`:Ti.has(s)?s:Ti.has(o)?o:n?[`out_for_delivery`,`shipped`,`in_transit`].includes(o)?`store_courier_out_for_delivery`:[`delivered`,`completed`,`awaiting_buyer_confirmation`].includes(o)?`store_courier_delivered`:`store_courier_preparing`:[`pickup_retry_available`,`pickup_cancelled`].includes(o)?`pickup_retry_available`:o===`awaiting_seller_handoff`||[`confirmed`,`allocated`].includes(o)?`awaiting_seller_handoff`:[`picked_up`,`on_hold`].includes(o)||[`shipped`,`in_transit`].includes(o)?`in_transit`:[`awaiting_buyer_confirmation`,`completed`,`delivered`].includes(o)?`delivered`:[`pickup_retry_available`,`pickup_cancelled`].includes(s)?`pickup_retry_available`:[`confirmed`,`allocated`].includes(s)?`awaiting_seller_handoff`:[`picked_up`,`in_transit`,`on_hold`].includes(s)?`in_transit`:[`delivered`,`picking_up`,`dropping_off`].includes(s)||[`picking_up`,`dropping_off`].includes(s)?s:`awaiting_seller_handoff`}function Pi(e){let t=String(e||``).trim().toLowerCase();return t===`buyer`?`role-buyer`:t===`seller`?`role-seller`:`role-platform`}function Fi(e,t){let n=gi(yi,t);return n?e(n):hi(t)}function Ii(e){let t=String(e||``).trim().toLowerCase();return t===`resolved_rejected`?`is-neutral`:[`resolved_refund`,`resolved_replacement`,`resolved`].includes(t)?`is-complete`:[`closed`,`closed_by_buyer`].includes(t)?`is-neutral`:[`escalated_to_ops`,`ops_review`,`under_review`].includes(t)?`is-review`:`is-active`}function Li(e,t){let n=gi(bi,t);return n?e(n):hi(t)}function Ri(e,t){let n=gi(xi,t);return n?e(n):hi(t)}var zi={wrong_goods_sent:`buyer.complaintDetail.reasons.wrongGoodsSent`,less_quantity_than_ordered:`buyer.complaintDetail.reasons.lessQuantityThanOrdered`,damaged_item:`buyer.complaintDetail.reasons.damagedItem`,item_not_received:`buyer.complaintDetail.reasons.itemNotReceived`,other:`buyer.complaintDetail.reasons.other`};function Bi(e,t){return e(gi(zi,t)||`buyer.complaintDetail.reasons.other`)}function Vi(e,t){let n={buyer:`buyer.complaintDetail.senders.buyer`,seller:`buyer.complaintDetail.senders.seller`}[String(t||``).toLowerCase()];return e(n||`buyer.complaintDetail.senders.tokodepan`)}function Hi(e,t){return e(`buyer.complaintDetail.${{buyer:`buyerEvidence`,seller:`sellerEvidence`,ops:`tokodepanEvidence`,admin:`tokodepanEvidence`,system:`tokodepanEvidence`,tokodepan:`tokodepanEvidence`}[String(t||``).trim().toLowerCase()]||`neutralEvidence`}`)}var Ui={buyer_closed_complaint:[`closedByBuyerTitle`,`closedByBuyerDescription`],wait_for_ops_decision:[`waitingDecisionTitle`,`waitingDecision`],complaint_rejected:[`rejectedTitle`,`rejectedDescription`],ship_return_manual:[`returnItemTitle`,`returnItemDescription`],wait_for_refund_processing:[`refundProcessingTitle`,`refundProcessingDescription`],wait_for_replacement:[`replacementPendingTitle`,`replacementPendingDescription`],wait_for_partial_refund_processing:[`partialRefundTitle`,`partialRefundDescription`]};function Wi(e,t,n={}){if(!t)return null;let r=String(t.type||t.notification_type||``).trim().toLowerCase(),i=Ui[r];return i?{type:r,title:e(`buyer.complaintDetail.actions.${i[0]}`),description:e(`buyer.complaintDetail.actions.${i[1]}`,{amount:n.refundAmount||`-`}),actionLabel:r===`ship_return_manual`&&t.enabled?e(`buyer.complaintDetail.actions.viewReturnLabel`):null}
9:{type:r,title:t.title,description:t.description,actionLabel:t.action_label||null}}function Gi(e,t,n){let r=String(t||``).toLowerCase(),i=String(n||``).toLowerCase(),a={tokodepan_label:`tokodepanLabel`,buyer_manual:`buyerManual`,seller_manual:`sellerManual`,not_required:`notRequired`}[r],o={seller:`sellerPays`,buyer:`buyerPays`,tokodepan:`tokodepanPays`,none:`noFreight`}[i];return[a&&e(`buyer.complaintDetail.returnShippingInfo.${a}`),o&&e(`buyer.complaintDetail.returnShippingInfo.${o}`)].filter(Boolean)}var Ki=[{key:`dashboard`,labelKey:`ops.nav.dashboard`,page:`admin-home`,status:`live`,group:`tools`,mobilePriority:1},{key:`support`,labelKey:`ops.nav.support`,page:`admin-support`,status:`live`,group:`queue`,mobilePriority:null},{key:`whatsapp-support`,labelKey:`ops.nav.whatsappSupport`,page:`admin-whatsapp-support`,status:`live`,group:`queue`,mobilePriority:2},{key:`transaction-issues`,labelKey:`ops.nav.transactionIssues`,page:`admin-transaction-issues`,status:`live`,group:`queue`,mobilePriority:3},{key:`refund-requests`,labelKey:`ops.nav.refundRequests`,page:`admin-refund-requests`,status:`live`,group:`queue`,mobilePriority:4},{key:`complaints`,labelKey:`ops.nav.complaints`,page:`admin-complaints`,status:`live`,group:`queue`,mobilePriority:5},{key:`buyers`,labelKey:`ops.nav.buyers`,page:`admin-buyers`,status:`live`,group:`people`,mobilePriority:null},{key:`sellers`,labelKey:`ops.nav.sellers`,page:`admin-sellers`,status:`live`,group:`people`,mobilePriority:null},{key:`products`,labelKey:`ops.nav.products`,page:`admin-products`,status:`live`,group:`catalog`,mobilePriority:null},{key:`holidays`,labelKey:`ops.nav.holidays`,page:`admin-holidays`,status:`live`,group:`settings`,mobilePriority:null},{key:`emergency-sla`,labelKey:`ops.nav.emergencySla`,page:`admin-emergency-sla`,status:`live`,group:`tools`,mobilePriority:null},{key:`shipping-test`,labelKey:`ops.nav.shippingTest`,page:`admin-shipping-test`,status:`live`,group:`tools`,mobilePriority:null},{key:`platform-promotions`,labelKey:`ops.nav.platformPromotions`,page:`admin-promotions`,status:`live`,group:`catalog`,mobilePriority:null},{key:`finance`,labelKey:`ops.nav.finance`,page:`admin-finance`,status:`live`,group:`finance`,mobilePriority:null},{key:`site-settings`,labelKey:`ops.nav.siteSettings`,page:`admin-site-settings`,status:`live`,group:`settings`,mobilePriority:null},{key:`order-settings`,labelKey:`ops.nav.orderSettings`,page:`admin-order-settings`,status:`live`,group:`settings`,mobilePriority:null},{key:`payment-settings`,labelKey:`ops.nav.paymentSettings`,page:`admin-payment-settings`,status:`live`,group:`settings`,mobilePriority:null}];function qi(e=Ki){return e.filter(e=>Number.isFinite(e.mobilePriority)).sort((e,t)=>e.mobilePriority-t.mobilePriority)}var Ji=[`support`,`buyers`,`sellers`,`products`,`finance`,`platform-promotions`,`holidays`,`emergency-sla`,`shipping-test`,`site-settings`,`order-settings`,`payment-settings`];function Yi(e=Ki){let t=new Set(qi(e).map(e=>e.key)),n=new Map(Ji.map((e,t)=>[e,t]));return e.filter(e=>!t.has(e.key)).sort((e,t)=>(n.get(e.key)??2**53-1)-(n.get(t.key)??2**53-1))}var Xi=50,Zi=1e4;function Qi(e){return e?.unread_messages?e.unread_messages_capped?`${Xi}+`:String(e.unread_messages):``}function $i({navigate:e,currentPage:t,dedicatedAdminHost:n,title:r,children:i,onLoggedOut:a}){let[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)({unread_messages:0,unread_messages_capped:!1}),f=(0,_.useRef)(!1),p=(0,_.useRef)(null),m=(0,_.useRef)(null),h=Rr();async function g(){if(!o){s(!0),l(``);try{await a()}catch(e){l(e?.message||h(`ops.shell.logoutFailed`))}finally{s(!1)}}}let v=(0,_.useCallback)(async()=>{if(!f.current){f.current=!0;try{let e=await(await R(`/admin/whatsapp-support/unread-summary`,{authSurface:`admin`})).json();d({unread_messages:Number(e?.unread_messages||0),unread_messages_capped:!!e?.unread_messages_capped})}catch{}finally{f.current=!1}}},[]);(0,_.useEffect)(()=>{v();function e(){document.visibilityState===`visible`&&v()}function t(){document.visibilityState===`visible`&&v()}let n=window.setInterval(e,Zi);return document.addEventListener(`visibilitychange`,t),()=>{window.clearInterval(n),document.removeEventListener(`visibilitychange`,t)}},[v]);let y=(0,_.useMemo)(()=>Ki,[]),b=(0,_.useMemo)(()=>qi(y),[y]),x=(0,_.useMemo)(()=>Yi(y),[y]),S=y.find(e=>e.page===t)||y[0],[C,w]=(0,_.useState)(!1),T=Qi(u);function E(){return h(u.unread_messages_capped?`ops.shell.whatsappUnreadMore`:`ops.shell.whatsappUnread`,{count:u.unread_messages_capped?Xi:u.unread_messages})}function D(t,r,{closeMobileMore:i=!1}={}){t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),e(_t(r.page,{dedicatedHost:n})),i&&w(!1))}return(0,_.useEffect)(()=>
9{if(!C)return;m.current?.focus();function e(e){e.key===`Escape`&&(w(!1),p.current?.focus())}function t(e){!e.target.closest?.(`.admin-mobile-more-sheet`)&&!e.target.closest?.(`.admin-mobile-more-button`)&&w(!1)}return document.addEventListener(`keydown`,e),document.addEventListener(`pointerdown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`pointerdown`,t)}},[C]),(0,Z.jsxs)(`div`,{className:`admin-shell`,children:[(0,Z.jsxs)(`header`,{className:`admin-shell-header`,children:[(0,Z.jsxs)(`div`,{className:`admin-shell-title-row`,children:[(0,Z.jsx)(`h1`,{className:`admin-shell-title`,children:r}),(0,Z.jsx)(`button`,{type:`button`,className:`admin-logout-btn btn-neutral`,onClick:g,disabled:o,children:o?`${h(`common.loading`)}...`:h(`common.logout`)})]}),c&&(0,Z.jsx)(`p`,{className:`admin-shell-error`,role:`alert`,children:c})]}),(0,Z.jsx)(`nav`,{className:`admin-nav-pills`,"aria-label":h(`ops.shell.navigation`),children:y.map(e=>(0,Z.jsxs)(`a`,{href:_t(e.page,{dedicatedHost:n}),onClick:t=>D(t,e),className:`admin-nav-pill ${t===e.page?`is-active`:``}`,"aria-current":t===e.page?`page`:void 0,children:[h(e.labelKey),e.status===`planned`?` (${h(`ops.shell.planned`)})`:``,e.key===`whatsapp-support`&&T?(0,Z.jsx)(`span`,{className:`admin-nav-unread-badge`,"aria-label":E(),children:T}):null]},e.key))}),(0,Z.jsxs)(`div`,{className:`admin-mobile-nav`,"aria-label":h(`ops.shell.navigation`),children:[(0,Z.jsxs)(`div`,{className:`admin-mobile-current`,children:[(0,Z.jsx)(`span`,{children:h(`ops.shell.currentPage`)}),(0,Z.jsx)(`strong`,{children:h(S.labelKey)})]}),(0,Z.jsxs)(`div`,{className:`admin-mobile-quick-actions`,children:[b.map(e=>(0,Z.jsxs)(`a`,{href:_t(e.page,{dedicatedHost:n}),onClick:t=>D(t,e),className:`admin-nav-pill admin-mobile-quick-action ${t===e.page?`is-active`:``}`,"aria-current":t===e.page?`page`:void 0,children:[h(e.labelKey),e.key===`whatsapp-support`&&T?(0,Z.jsx)(`span`,{className:`admin-nav-unread-badge`,"aria-label":E(),children:T}):null]},e.key)),(0,Z.jsx)(`button`,{ref:p,type:`button`,className:`admin-nav-pill admin-mobile-more-button`,"aria-expanded":C,"aria-controls":`admin-mobile-more-menu`,onClick:()=>w(e=>!e),children:h(`ops.shell.more`)})]}),C&&(0,Z.jsxs)(`div`,{className:`admin-mobile-more-sheet`,id:`admin-mobile-more-menu`,role:`dialog`,"aria-label":h(`ops.shell.moreMenu`),children:[(0,Z.jsxs)(`div`,{className:`admin-mobile-more-header`,children:[(0,Z.jsx)(`strong`,{children:h(`ops.shell.moreMenu`)}),(0,Z.jsx)(`button`,{ref:m,type:`button`,className:`btn-neutral`,onClick:()=>{w(!1),p.current?.focus()},children:h(`common.close`)})]}),(0,Z.jsx)(`div`,{className:`admin-mobile-more-items`,children:x.map(e=>(0,Z.jsx)(`a`,{href:_t(e.page,{dedicatedHost:n}),className:`admin-nav-pill ${t===e.page?`is-active`:``}`,"aria-current":t===e.page?`page`:void 0,onClick:t=>D(t,e,{closeMobileMore:!0}),children:h(e.labelKey)},e.key))})]})]}),i]})}function ea({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(null),d=Rr();(0,_.useEffect)(()=>{let e=!1;async function t(){c(!0),u(null);try{let t=await i(`/admin/dashboard/summary`);e||o(t||null)}catch(t){e||u(t?.message?{message:t.message}:{key:`ops.dashboard.loadFailed`})}finally{e||c(!1)}}return t(),()=>{e=!0}},[i]);let f=[{key:`open_support_threads`,label:d(`ops.dashboard.openSupportThreads`),value:a?.open_support_threads??0,page:`admin-support`},{key:`open_complaints`,label:d(`ops.dashboard.openComplaints`),value:a?.open_complaints??0,page:`admin-complaints`,query:{status:`open`}},{key:`frozen_stores`,label:d(`ops.dashboard.frozenStores`),value:a?.frozen_stores??0,page:`admin-sellers`},{key:`taken_down_products`,label:d(`ops.dashboard.takenDownProducts`),value:a?.taken_down_products??0,page:`admin-products`},{key:`overdue_seller_shipments`,label:d(`ops.dashboard.overdueSellerShipments`),value:a?.overdue_seller_shipments??0,page:`admin-transaction-issues`,query:{issue_type:`overdue_seller_shipment`,status:`open`,ensure_overdue_seller_shipments:`1`}},{key:`open_transaction_issues`,label:d(`ops.dashboard.transactionIssues`),value:a?.open_transaction_issues??0,page:`admin-transaction-issues`,query:{status:`open`}}],p=[{key:`overdue_seller_shipments`,label:d(`ops.dashboard.overdueSellerShipments`),value:a?.overdue_seller_shipments??0,explanation:d(`ops.dashboard.overdueExplanation`),page:`admin-transaction-issues`,query:{issue_type:`overdue_seller_shipment`,status:`open`,ensure_overdue_seller_shipments:`1`},cta:d(`ops.dashboard.reviewIssues`),urgent:!0},{key:`open_transaction_issues`,label:d(`ops.dashboard.transactionIssues`),value:a?.open_transaction_issues??0,explanation:d(`ops.dashboard.transactionExplanation`),page:`admin-transaction-issues`,query:{status:`open`},cta:d(`ops.dashboard.openQueue`),urgent:!0},{key:`open_complaints`,label:d(`ops.dashboard.openComplaints`),value:a?.open_complaints??0,explanation:d(`ops.dashboard.complaintsExplanation`),page:`admin-complaints`,query:{status:`open`},cta:d(`ops.dashboard.viewComplaints`),urgent:!0},{key:`open_support_threads`,label:d(`ops.dashboard.openSupportThreads`),value:a?.open_support_threads??0,explanation:d(`ops.dashboard.supportExplanation`),page:`admin-support`,cta:d(`ops.dashboard.openInbox`),urgent:!1},{key:`frozen_stores`,label:d(`ops.dashboard.frozenStores`),value:a?.frozen_stores??0,explanation:d(`ops.dashboard.frozenStoresExplanation`),page:`admin-sellers`,cta:d(`ops.dashboard.reviewSellers`),urgent:!1},{key:`taken_down_products`,label:d(`ops.dashboard.takenDownProducts`),value:a?.taken_down_products??0,explanation:d(`ops.dashboard.takenDownProductsExplanation`),page:`admin-products`,cta:d(`ops.dashboard.reviewProducts`),urgent:!1}],m=p.reduce((e,t)=>
9e+t.value,0);return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-home`,dedicatedAdminHost:t,title:d(`ops.dashboard.title`),onLoggedOut:n,authUser:r,children:[s&&(0,Z.jsxs)(`div`,{className:`admin-dashboard-state admin-dashboard-muted`,role:`status`,children:[d(`ops.dashboard.loading`),`â¦`]}),!s&&l&&(0,Z.jsx)(`div`,{className:`admin-dashboard-state admin-dashboard-error`,role:`alert`,children:l.message||d(l.key)}),!s&&!l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`admin-dashboard-summary-grid`,"aria-label":d(`ops.dashboard.overview`),children:f.map(n=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>e(_t(n.page,{dedicatedHost:t,query:n.query})),className:`admin-dashboard-summary-card`,"aria-label":`${n.label}: ${n.value}`,children:[(0,Z.jsx)(`span`,{className:`admin-dashboard-summary-label`,children:n.label}),(0,Z.jsx)(`span`,{className:`admin-dashboard-summary-value`,children:n.value})]},n.key))}),(0,Z.jsxs)(`section`,{className:`admin-action-center`,"aria-labelledby":`admin-action-center-title`,children:[(0,Z.jsxs)(`div`,{className:`admin-action-center-header`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{id:`admin-action-center-title`,children:d(`ops.dashboard.needsAction`)}),(0,Z.jsx)(`p`,{children:d(`ops.dashboard.priorityQueues`)})]}),(0,Z.jsxs)(`div`,{className:m>0?`admin-action-total is-active`:`admin-action-total`,children:[(0,Z.jsx)(`span`,{children:m}),` `,d(`ops.dashboard.total`)]})]}),m===0&&(0,Z.jsx)(`div`,{className:`admin-action-empty`,children:d(`ops.dashboard.allClear`)}),(0,Z.jsx)(`div`,{className:`admin-action-list`,children:p.map(n=>(0,Z.jsxs)(`div`,{className:n.urgent&&n.value>0?`admin-action-row is-urgent`:`admin-action-row`,children:[(0,Z.jsx)(`div`,{className:`admin-action-count`,"aria-label":`${n.value} ${n.label}`,children:n.value}),(0,Z.jsxs)(`div`,{className:`admin-action-copy`,children:[(0,Z.jsx)(`div`,{className:`admin-action-label`,children:n.label}),(0,Z.jsx)(`div`,{className:`admin-action-explanation`,children:n.value>0?n.explanation:d(`ops.dashboard.noAction`,{label:n.label.toLowerCase()})})]}),(0,Z.jsx)(`button`,{type:`button`,className:`admin-action-link`,onClick:()=>e(_t(n.page,{dedicatedHost:t,query:n.query})),children:n.cta})]},n.key))})]})]}),(0,Z.jsx)(`div`,{className:`admin-dashboard-source-note`,children:d(`ops.dashboard.dataSources`)})]})}var ta=[`payment_issue`,`shipment_issue`,`shipment_create_reconciliation`,`pickup_retry_available`,`overdue_seller_shipment`,`shipment_delivery_exception`,`status_mismatch`,`manual_review`,`courier_lost`,`courier_damaged`,`abnormal_tracking`,`refund_needed`,`seller_compensation_needed`,`other`],na=ta.filter(e=>e!==`shipment_create_reconciliation`),ra=e=>String(e||`-`).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),ia=(e,t,n)=>{let r=e(t);return r===t||r===t.split(`.`).pop()?ra(n):r};function aa(e,t){let n=String(t||``);return n?ia(e,`ops.transactionIssueStatus.${n}`,n):`-`}function oa(e,t){let n=String(t||``);return n?ia(e,`ops.transactionIssueType.${n}`,n):`-`}function sa(e,t){let n=String(t?.issue_type||``);if(n){let t=`ops.transactionIssueCopy.${n}.title`,r=e(t);if(r!==t&&r!==`title`)return r}return t?.title||`-`}function ca(e,t){let n=String(t?.issue_type||``);if(n){let t=`ops.transactionIssueCopy.${n}.description`,r=e(t);if(r!==t&&r!==`description`)return r}return t?.description||``}function la(e,t){let n=String(t||``);return n?ia(e,`ops.transactionOrderStatus.${n}`,n):`-`}function ua(e,t){let n=String(t||``);return n?ia(e,`ops.transactionPaymentStatus.${n}`,n):`-`}function da(e,t){let n=String(t||``).toLowerCase();return n?ia(e,`ops.transactionIssueShipment.status.${n}`,n):`-`}function fa(e,t){return t?.event_code===`shipment_delivery_exception_status`?e(`ops.transactionIssueHistory.shipmentDeliveryExceptionStatus.${String(t.shipment_status||`unknown`).toLowerCase()}`):t?.event_code===`shipment_delivery_exception_later_delivered`?e(`ops.transactionIssueHistory.shipmentDeliveryExceptionLaterDelivered`):new Set([`investigation_saved`,`buyer_refund_created`,`seller_reversal_created`,`seller_compensation_created`,`resolution_executed`,`claim_marked_filed`,`resolution_completed`,`finance_review_decision_recorded`]).has(t?.event_c
9ode)?e(`ops.transactionIssueHistory.resolutionEvents.${t.event_code}`):t?.note||``}function pa({currentShipment:e,normalizedStatus:t,canRetryPickup:n,provider:r,isInstantOrSameDay:i}){return!e||t!==`pickup_retry_available`||n?``:e?.can_retry_pickup?r===`biteship`?i?`ops.transactionIssueRetry.unavailableGeneric`:`ops.transactionIssueRetry.unavailableCourierType`:`ops.transactionIssueRetry.unavailableProvider`:`ops.transactionIssueRetry.unavailableIneligible`}var ma=new Set([`true`,`1`,`yes`,`on`]),ha=new Set([`false`,`0`,`no`,`off`]),ga=Object.freeze({enabled:!0,email:!0,phone:!0,name:!0,address:!0,bankAccount:!0,phoneKeepLast:4,bankKeepLast:4,addressStyle:`placeholder`});function _a(e,t){if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t];if(typeof process<`u`)return{}[t]}function va(e,t){if(e==null||e===``)return t;let n=String(e).trim().toLowerCase();return ma.has(n)?!0:!ha.has(n)&&t}function ya(e,t){if(e==null||e===``)return t;let n=Number.parseInt(String(e).trim(),10);return!Number.isFinite(n)||n<0?t:n}function ba(e,t){return(e==null?``:String(e).trim().toLowerCase())===`placeholder`?`placeholder`:t}function xa(e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_TURNSTILE_SITE_KEY:`0x4AAAAAAEuvU5EEoM8ktvs2`}){return{enabled:va(_a(e,`VITE_PII_MASKING_ENABLED`),ga.enabled),email:va(_a(e,`VITE_PII_MASK_EMAIL`),ga.email),phone:va(_a(e,`VITE_PII_MASK_PHONE`),ga.phone),name:va(_a(e,`VITE_PII_MASK_NAME`),ga.name),address:va(_a(e,`VITE_PII_MASK_ADDRESS`),ga.address),bankAccount:va(_a(e,`VITE_PII_MASK_BANK_ACCOUNT`),ga.bankAccount),phoneKeepLast:ya(_a(e,`VITE_PII_MASK_PHONE_KEEP_LAST`),ga.phoneKeepLast),bankKeepLast:ya(_a(e,`VITE_PII_MASK_BANK_KEEP_LAST`),ga.bankKeepLast),addressStyle:ba(_a(e,`VITE_PII_MASK_ADDRESS_STYLE`),ga.addressStyle)}}function Sa(e,t){let n=xa(t);return!!(n.enabled&&n[e])}function Ca(e){return e==null?``:String(e).trim()}function wa(e,t){if(!e)return``;let n=t>0?e.slice(-t):``;return n?`******${n}`:`******`}function Ta(e){return`${e[0]}***`}function Ea(e){let t=Ca(e);if(!t)return``;if(!Sa(`email`))return t;if(!t.includes(`@`))return Ta(t);let[n,r]=t.split(`@`,2);return n?r?`${n[0]}***@${r}`:`${n[0]}***`:r?`***@${r}`:`***`}function Da(e){let t=Ca(e);if(!t)return``;let n=xa();if(!n.enabled||!n.phone)return t;let r=[...t].filter(e=>/\d/.test(e)).join(``);return r.length<=n.phoneKeepLast?`*`.repeat(r.length):`${t.startsWith(`+`)&&r.length>6?`+${r.slice(0,2)}`:``}${wa(r,n.phoneKeepLast)}`}function Oa(e){let t=Ca(e);return t?Sa(`name`)?Ta(t):t:``}var ka=/(Z|[+-]\d{2}:?\d{2})$/i;function Aa(e){if(!e)return null;let t=String(e).trim(),n=new Date(ka.test(t)?t:`${t}Z`);return Number.isNaN(n.getTime())?null:n}function ja(e,t=`en-ID`){let n=Aa(e);return n?new Intl.DateTimeFormat(t,{timeZone:`Asia/Jakarta`,day:`numeric`,month:`long`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`short`}).format(n).replace(`GMT+7`,`WIB`):`-`}var Ma=50;function Na(e){return Yt(Number.isFinite(Number(e))?Number(e):0)}function Pa(e){return ja(e,typeof document<`u`&&document.documentElement.lang?.startsWith(`id`)?`id-ID`:`en-ID`)}function Fa(e){let t=Number(e);return Number.isFinite(t)?`${(t/100).toLocaleString(void 0,{maximumFractionDigits:2})}%`:`-`}function Ia(e,t,n){let r=String(e?.retry_warning_code||``).trim()||(()=>{let n=Number(e?.pickup_retry_auto_attempt_count??0),r=Number(e?.auto_retry_max_attempts??0),i=Number(e?.manual_retry_max_attempts??e?.pickup_retry_max_attempts??0);return i>0&&Number(t||0)>=i?`total_retry_limit_reached`:r>0&&n>=r?`automatic_retry_limit_reached`:Number(t||0)>=3?`multiple_pickup_failures`:``})();return r===`automatic_retry_limit_reached`?n(`ops.pickupWarnings.automatic_retry_limit_reached`):r===`total_retry_limit_reached`?n(`ops.pickupWarnings.total_retry_limit_reached`):r===`multiple_pickup_failures`?n(`ops.pickupWarnings.multiple_pickup_failures`):``}function La({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,initialIssueId:i=null,api:a}){let o=Rr(),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(i||null),[d,f]=(0,_.useState)(null),p=(0,_.useMemo)(()=>new URLSearchParams(window.location.search),[]),[m,h]=(0,_.useState)(()=>p.get(`status`)||``),[g,v]=(0,_.useState)(()=>p.get(`issue_type`)||``),[y,b]=(0,_.useState)(()=>p.get(`ensure_overdue_seller_shipments`)===`1`),[x,S]=(0,_.useState)(``),[C,w]=(0,_.useState)(`manual_review`),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)(`investigating`),[k,A]=(0,_.useState)(``),[j,M]=(0,_.useState)(!0),[N,ee]=(0,_.useState)(0),[P,F]=(0,_.useState)(!1),[I,L]=(0,_.useState)(!1),[te,ne]=(0,_.useState)(!1),[R,z]=(0,_.useState)(null),[B,V]=(0,_.useState)(null),[H,U]=(0,_.useState)(null),[W,re]=(0,_.useState)(!1),[G,ie]=(0,_.useState)(``),[ae,oe]=(0,_.useState)(null),[se,ce]=(0,_.useState)(null),[le,ue]=(0,_.useState)(``),[K,de]=(0,_.useState)(``),[q,fe]=(0,_.useState)(``),[pe,me]=(0,_.useState)(null),[he,J]=(0,_.useState)(null),[Y,X]=(0,_.useState)(null),[ge,_e]=(0,_.useState)(!1),[ve,ye]=(0,_.useState)(`approved_for_automatic_reversal`),[be,xe]=(0,_.useState)(``),Se=Y?.courier_claim_status===`approved`&&Number(Y?.courier_claim_amount_cents||0)>0&&!Y?.compensation_ledger_entry_id&&!r?.can_access_admin_finance;
9async function Ce(e=m,t=g,n=y,r=0,o=!1){o?L(!0):M(!0),V(``);try{let s=new URLSearchParams;s.set(`limit`,String(Ma)),s.set(`offset`,String(r)),e&&s.set(`status`,e),t&&s.set(`issue_type`,t),n&&s.set(`ensure_overdue_seller_shipments`,`1`);let d=await a(`/admin/transaction-issues?${s.toString()}`);c(e=>o?[...e,...(d||[]).filter(t=>!e.some(e=>e.id===t.id))]:d||[]),ee(r),F((d||[]).length===Ma),!o&&!l&&!i&&d?.length&&u(d[0].id),!o&&!d?.length&&!i&&u(null),n&&b(!1)}catch(e){V({message:e.message})}finally{M(!1),L(!1)}}(0,_.useEffect)(()=>{Ce(m,g,y)},[]),(0,_.useEffect)(()=>{i&&i!==l&&u(i)},[i,l]),(0,_.useEffect)(()=>{if(!l){f(null);return}let e=!1;async function t(){V(``);try{let t=await a(`/admin/transaction-issues/${l}`);if(e)return;f(t),O(t.status||`investigating`),A(t.internal_note||``),z(null),ie(t.current_shipment?.provider_order_id||``),oe(null),me(null),J(null),X(t.shipment_exception_resolution||{resolution_type:`returned_to_seller`,responsibility:`courier`,buyer_resolution:`full_refund`,buyer_refund_amount_cents:t.money_flow?.total_cents||0,seller_resolution:`reverse_proceeds`,seller_goods_outcome:`unknown`,funds_released:!!t.money_flow?.funds_released_at,courier_claim_status:`not_required`,courier_claim_reference:``,courier_claim_amount_cents:0,internal_note:``})}catch(t){e||V({message:t.message})}}return t(),()=>{e=!0}},[l]);async function we(e){if(e.preventDefault(),!(!d||!G.trim())){re(!0),V(``),oe(null);try{let e=await a(`/admin/transaction-issues/${d.id}/reconcile-biteship-create`,{method:`POST`,body:JSON.stringify({provider_order_id:G.trim()})});f(e),O(e.status),ie(e.current_shipment?.provider_order_id||G.trim()),oe({tone:`success`,key:`ops.biteshipCreateReconciliation.success`}),await Ce(m,g,!1)}catch(e){V({message:e.message})}finally{re(!1)}}}async function Te(e){if(e.preventDefault(),!x.trim()){V({key:`ops.transactionIssues.errors.requiredOrderReference`});return}re(!0),V(``),U(null);try{await a(`/admin/transaction-issues`,{method:`POST`,body:JSON.stringify({order_reference:x.trim(),issue_type:C,internal_note:T||null})}),S(``),w(`other`),E(``),U({key:`ops.transactionIssues.created`}),await Ce(m,g,!1)}catch(e){V(e?.message?{message:e.message}:{key:`ops.transactionIssues.errors.createFailed`})}finally{re(!1)}}async function Ee(){if(d){re(!0),V(``);try{let e=await a(`/admin/transaction-issues/${d.id}`,{method:`POST`,body:JSON.stringify({status:D,internal_note:k})});f(e),await Ce(m,g,!1)}catch(e){V({message:e.message})}finally{re(!1)}}}async function De(){re(!0),V(``);try{let e=await a(`/admin/transaction-issues/${d.id}/shipment-exception-resolution`,{method:`PUT`,body:JSON.stringify(Y)});f(e),X(e.shipment_exception_resolution),J(o(`ops.shipmentResolution.saved`))}catch(e){V({message:e.message})}finally{re(!1)}}function Oe(e){let t=Y?.shipment_exception_refund_policy,n=Number(t?.max_refundable_cents??d?.money_flow?.total_cents??0),r=Number(t?.freight_cents??Math.min(n,d?.money_flow?.shipping_cents??0)),i=Number(t?.merchandise_cents??Math.max(0,n-r));return{merchandise_cents:i,freight_cents:r,max_refundable_cents:n,default_full_refund_cents:e===`buyer`?i:n}}function ke(e){let t={...Y,responsibility:e};Y.buyer_resolution===`full_refund`&&(t.buyer_refund_amount_cents=Oe(e).default_full_refund_cents),Y.buyer_resolution===`none`&&(t.buyer_refund_amount_cents=0),X(t)}function Ae(e){let t=Oe(Y.responsibility);X({...Y,buyer_resolution:e,buyer_refund_amount_cents:e===`none`?0:e===`full_refund`?t.default_full_refund_cents:Math.max(1,Math.min(Number(Y.buyer_refund_amount_cents)||1,t.max_refundable_cents))})}async function je(){if(Y?.resolution_execution_status===`completed`){_e(!1);return}re(!0),V(``);try{let e=await a(`/admin/transaction-issues/${d.id}/shipment-exception-resolution/execute`,{method:`POST`}),t=e.shipment_exception_resolution;f(e),X(t),_e(!1),J(t.compensation_ledger_entry_id?o(`ops.shipmentResolution.completedWithCompensation`):o(`ops.shipmentResolution.executed`,{refundId:t.refund_request_id||``})),await Ce(m,g,!1)}catch(e){V({message:e.message})}finally{re(!1)}}async function Me(){re(!0),V(``);try{let e=await a(`/admin/transaction-issues/${d.id}/shipment-exception-resolution/finance-review`,{method:`POST`,body:JSON.stringify({status:ve,note:be})});f(e),X(e.shipment_exception_resolution),J(o(`ops.shipmentResolution.financeReviewSaved`))}catch(e){V({message:e.message})}finally{re(!1)}}function Ne(e){ce(e),me(null),V(``),e===`cancel`?(ue(`seller_unable_to_ship`),de(``)):(ue(`ops_cancelled_paid_order`),de(``),fe(String(d?.money_flow?.total_cents||d?.order_summary?.total||``)))}async function Pe(e){if(e.preventDefault(),!(!d||!se)){re(!0),V(``),me(null);try{let e=se===`cancel`?`cancel-order`:`refund-request`,t=se===`cancel`?{reason:le.trim(),note:K.trim()||null}:{refund_amount_cents:Number(q),reason:le.trim(),ops_note:K.trim()||null},n=await a(`/admin/transaction-issues/${d.id}/${e}`,{method:`POST`,body:JSON.stringify(t)});f(n),ce(null),me({key:se===`cancel`?`ops.transactionIssueMoneyFlow.cancelSuccess`:`ops.transactionIssueMoneyFlow.refundSuccess`}),await Ce(m,g,!1)}catch(e){V({message:e.message})}finally{re(!1)}}}async function Fe(){let e=d?.order_summary?.public_id||d?.order_public_id||d?.order_summary?.id||d?.order_id;if(!e){z({tone:`error`,key:`ops.transactionIssueRetry.missingOrderIdentifier`});return}ne(!0),z(null),V(``);try{await a(`/admin/orders/${encodeURIComponent(e)}/shipment/retry-pickup`,{method:`POST`,body:{handoff_method:`pickup`}}),z({tone:`success`,key:`ops.transactionIssueRetry.requested`});let t=await a(`/admin/transaction-issues/${d.id}`);f(t),await Ce(m,g,!1)}catch(e){z(e?.message?{tone:`error`,message:e.message}:{tone:`error`,key:`ops.transactionIssueRetry.failed`})}finally{ne(!1)}}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-transaction-issues`,dedicatedAdminHost:t,title:o(`ops.transactionIssues.title`),onLoggedOut:n,authUser:r,children:[B&&(0,Z.jsx)(`div`,{className:`admin-error ops-queue-notice`,role:`alert`,children:B.message||o(B.key)}),pe&&(0,Z.jsx)(`div`,{className:`admin-success ops-queue-notice`,role:`status`,children:pe.message||o(pe.key)}),(0,Z.jsx)(`p`,{className:`admin-muted ops-queue-intro`,children:o(`ops.transactionIssues.intro`)}),(0,Z.jsxs)(`form`,{onSubmit:Te,className:`admin-card ops-queue-form`,children:[(0,Z.jsxs)(`div`,{className:`ops-queue-toolbar`,children:[(0,Z.jsx)(`label`,{htmlFor:`create-order-reference`,children:(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.orderInvoiceNumber`)})}),(0,Z.jsx)(`input`,{id:`create-order-reference`,type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:`INV-20260504-30916F`,disabled:W}),(0,Z.jsx)(`select`,{value:C,onChange:e=>w(e.target.value),disabled:W,children:na.map(e=>(0,Z.jsx)(`option`,{value:e,children:oa(o,e)},e))}),(0,Z.jsx)(`button`,{type:`submit`,disabled:W,children:o(W?`ops.transactionIssues.creating`:`ops.transactionIssues.createIssue`)})]}),(0,Z.jsx)(`div`,{className:H?`admin-success ops-inline-notice`:`ops-inline-notice`,role:H?`status`:void 0,children:H?H.message||o(H.
9key):` `}),(0,Z.jsx)(`textarea`,{value:T,onChange:e=>E(e.target.value),rows:2,placeholder:o(`ops.transactionIssues.internalNoteOptional`),disabled:W,className:`ops-queue-control-wide`})]}),(0,Z.jsxs)(`div`,{className:`admin-card ops-queue-toolbar ops-filter-toolbar`,children:[(0,Z.jsx)(`label`,{htmlFor:`transaction-issue-status-filter`,children:o(`ops.transactionIssues.status`)}),(0,Z.jsxs)(`select`,{id:`transaction-issue-status-filter`,value:m,onChange:async e=>{let t=e.target.value;h(t),b(!1),u(null),f(null),await Ce(t,g,!1,0,!1)},children:[(0,Z.jsx)(`option`,{value:``,children:o(`ops.transactionIssues.all`)}),(0,Z.jsx)(`option`,{value:`open`,children:aa(o,`open`)}),(0,Z.jsx)(`option`,{value:`investigating`,children:aa(o,`investigating`)}),(0,Z.jsx)(`option`,{value:`resolved`,children:aa(o,`resolved`)}),(0,Z.jsx)(`option`,{value:`dismissed`,children:aa(o,`dismissed`)})]}),(0,Z.jsx)(`label`,{htmlFor:`transaction-issue-type-filter`,children:o(`ops.transactionIssues.type`)}),(0,Z.jsxs)(`select`,{id:`transaction-issue-type-filter`,value:g,onChange:async e=>{let t=e.target.value;v(t),b(!1),u(null),f(null),await Ce(m,t,!1,0,!1)},children:[(0,Z.jsx)(`option`,{value:``,children:o(`ops.transactionIssues.all`)}),ta.map(e=>(0,Z.jsx)(`option`,{value:e,children:oa(o,e)},e))]})]}),(0,Z.jsxs)(`div`,{className:`admin-transaction-issues-layout ${i?`has-mobile-detail`:`has-mobile-list`}`,children:[(0,Z.jsxs)(`div`,{className:`admin-card ops-queue-panel admin-transaction-issues-list`,children:[j&&(0,Z.jsx)(`div`,{className:`ops-queue-state`,role:`status`,children:o(`ops.transactionIssues.loading`)}),!j&&s.length===0&&(0,Z.jsx)(`div`,{className:`ops-queue-state admin-muted`,children:o(g===`overdue_seller_shipment`?`ops.transactionIssues.noOverdueSellerShipmentIssues`:`ops.transactionIssues.noIssues`)}),!j&&s.map(t=>(0,Z.jsxs)(`button`,{onClick:()=>{u(t.id),e(`/admin/transaction-issues/${t.id}`)},type:`button`,"aria-pressed":l===t.id,className:`ops-queue-item${l===t.id?` is-selected`:``}`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:sa(o,t)||o(`ops.transactionIssues.issueFallback`,{id:t.id})}),` · `,aa(o,t.status)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssues.type`),`: `,oa(o,t.issue_type)]}),ca(o,t)&&(0,Z.jsx)(`div`,{style:{color:`#92400e`},children:ca(o,t)}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssues.order`),` #`,t.order_id,` · `,t.invoice_number]}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssues.buyer`),`: `,Oa(t.buyer_name)||Ea(t.buyer_email)||(t.buyer_user_id?`user#${t.buyer_user_id}`:`-`)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssues.seller`),`: `,t.seller_name||`seller#${t.seller_id}`]}),(0,Z.jsxs)(`div`,{style:{opacity:.8},children:[o(`ops.transactionIssues.opened`),`: `,t.created_at?Pa(t.created_at):`-`]})]},t.id)),!j&&P&&(0,Z.jsx)(`div`,{className:`ops-load-more`,children:(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:I,onClick:()=>Ce(m,g,!1,N+Ma,!0),children:o(I?`common.loading`:`ops.common.loadMore`)})}),!j&&s.length>0&&!P&&(0,Z.jsx)(`div`,{className:`ops-queue-state admin-muted`,children:o(`ops.common.noMoreResults`)})]}),(0,Z.jsxs)(`div`,{className:`admin-card ops-detail-panel admin-transaction-issues-detail`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`admin-transaction-issues-back`,onClick:()=>e(`/admin/transaction-issues`),children:o(`ops.transactionIssues.backToIssues`)}),!d&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:o(`ops.transactionIssues.selectIssue`)}),d&&(0,Z.jsxs)(`div`,{className:`ops-detail-stack`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.orderSummary`)}),`: `,d.order_summary?.invoice_number,` · `,la(o,d.order_summary?.status)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.paymentStatus`)}),`: `,ua(o,d.order_summary?.payment_status)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.issueType`)}),`: `,oa(o,d.issue_type)]}),d.title&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.issue`)}),`: `,sa(o,d)]}),d.description&&(0,Z.jsx)(`div`,{style:{color:`#92400e`},children:ca(o,d)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.total`)}),`: `,Na(d.order_summary?.total||0)]}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.timeline`)})}),(0,Z.jsxs)(`div`,{className:`transaction-issue-timeline`,children:[(d.status_history||[]).length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:o(`ops.transactionIssues.noStatusHistory`)}),(d.status_history||[]).map((e,t)=>{let n=fa(o,e);return(0,Z.jsxs)(`div`,{className:`transaction-issue-timeline-entry`,children:[(0,Z.jsxs)(`div`,{className:`transaction-issue-timeline-heading`,children:[(0,Z.jsx)(`span`,{className:`transaction-issue-timeline-status`,children:aa(o,e.status)}),(0,Z.jsx)(`time`,{children:e.at?Pa(e.at):`-`})]}),n&&(0,Z.jsx)(`div`,{className:`transaction-issue-timeline-event`,children:n}
9),e.event_code&&e.shipment_id?(0,Z.jsx)(`small`,{style:{display:`block`,color:`#64748b`},children:o(`ops.transactionIssueHistory.shipmentId`,{id:e.shipment_id})}):null]},`${e.status||`status`}-${e.at||t}-${t}`)})]}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.transactionIssues.items`)})}),(d.items||[]).map(e=>(0,Z.jsxs)(`div`,{children:[`⢠`,e.title_snapshot,` à `,e.quantity]},e.id)),d.money_flow&&(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard`,style:{marginTop:8},children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.transactionIssueMoneyFlow.title`)}),(0,Z.jsx)(`p`,{style:{marginTop:0,color:`#475569`},children:o(`ops.transactionIssueMoneyFlow.readOnlyNotice`)}),(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.orderStatus`)}),(0,Z.jsx)(`div`,{children:la(o,d.money_flow.order_status)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.paymentStatus`)}),(0,Z.jsx)(`div`,{children:ua(o,d.money_flow.payment_status)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.paymentMethod`)}),(0,Z.jsx)(`div`,{children:d.money_flow.payment_method||`-`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.subtotal`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.subtotal_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.discount`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.discount_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.shipping`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.shipping_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.total`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.total_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.grossSellerAmount`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.gross_seller_amount_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.commissionRate`)}),(0,Z.jsx)(`div`,{children:Fa(d.money_flow.commission_rate_bps)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.commissionAmount`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.commission_amount_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.netSellerAmount`)}),(0,Z.jsx)(`div`,{children:Na(d.money_flow.net_seller_amount_cents)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.fundsReleased`)}),(0,Z.jsx)(`div`,{children:d.money_flow.funds_released_at?Pa(d.money_flow.funds_released_at):o(`ops.transactionIssueMoneyFlow.notReleased`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.completedAt`)}),(0,Z.jsx)(`div`,{children:Pa(d.money_flow.completed_at)})]})]}),(0,Z.jsxs)(`div`,{style:{marginTop:10},children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.refunds`)}),(d.money_flow.existing_refunds||[]).length===0&&(0,Z.jsx)(`div`,{style:{color:`#64748b`},children:o(`ops.transactionIssueMoneyFlow.noRefunds`)}),(d.money_flow.existing_refunds||[]).map((e,t)=>(0,Z.jsxs)(`div`,{style:{border:`1px solid #e2e8f0`,borderRadius:8,padding:8,marginTop:6},children:[(0,Z.jsxs)(`div`,{children:[e.status||`-`,` · `,e.reason||`-`]}),(0,Z.jsxs)(`div`,{children:[Na(e.refund_amount_cents),` · `,e.provider||`-`,` · `,e.provider_status||`-`]}),(0,Z.jsxs)(`div`,{style:{color:`#64748b`},children:[Pa(e.created_at),e.processed_at?` · ${Pa(e.processed_at)}`:``]})]},`${e.public_id||e.reason||`refund`}-${t}`))]}),(0,Z.jsxs)(`div`,{style:{background:`#fffbeb`,border:`1px solid #fde68a`,borderRadius:8,padding:8,marginTop:10},children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.sellerFundsStatus`)}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssueMoneyFlow.orderFundsReleased`),`: `,d.money_flow.funds_released_at?o(`o
9ps.transactionIssueMoneyFlow.yes`):o(`ops.transactionIssueMoneyFlow.no`)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssueMoneyFlow.pendingWithdrawals`),`: `,d.money_flow.withdrawal_risk?.seller_has_pending_or_processing_withdrawals?o(`ops.transactionIssueMoneyFlow.yes`):o(`ops.transactionIssueMoneyFlow.no`)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssueMoneyFlow.paidWithdrawals`),`: `,d.money_flow.withdrawal_risk?.seller_has_paid_withdrawals?o(`ops.transactionIssueMoneyFlow.yes`):o(`ops.transactionIssueMoneyFlow.no`)]}),(0,Z.jsx)(`div`,{children:o(`ops.transactionIssueMoneyFlow.sellerWithdrawalScopeNote`)})]}),(0,Z.jsxs)(`div`,{style:{background:`#eff6ff`,border:`1px solid #bfdbfe`,borderRadius:8,padding:8,marginTop:10},children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueMoneyFlow.resolutionReadiness`)}),(0,Z.jsx)(`div`,{children:d.money_flow.funds_released_at?o(`ops.transactionIssueMoneyFlow.fundsReleasedGuidance`):o(`ops.transactionIssueMoneyFlow.fundsUnreleasedGuidance`)})]}),d.issue_type===`shipment_delivery_exception`&&(0,Z.jsxs)(`div`,{style:{background:`#eff6ff`,border:`1px solid #bfdbfe`,borderRadius:8,padding:8,marginTop:10},children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueGuidance.shipmentDeliveryException.title`)}),(0,Z.jsx)(`div`,{children:o(`ops.transactionIssueGuidance.shipmentDeliveryException.review`)}),!d.money_flow.funds_released_at&&(0,Z.jsx)(`div`,{children:o(`ops.transactionIssueGuidance.shipmentDeliveryException.fundsHeld`)})]}),d.issue_type!==`shipment_delivery_exception`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`,marginTop:10},children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,disabled:!d.money_flow.available_actions?.can_cancel_order||W,onClick:()=>Ne(`cancel`),title:d.money_flow.available_actions?.reasons?.cancel_order||``,children:o(`ops.transactionIssueMoneyFlow.cancelOrder`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:!d.money_flow.available_actions?.can_create_refund_request||W,onClick:()=>Ne(`refund`),title:d.money_flow.available_actions?.reasons?.create_refund_request||``,children:o(`ops.transactionIssueMoneyFlow.createRefundRequest`)}),d.linked_complaint_public_id?(0,Z.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:()=>e(`/admin/complaints/${encodeURIComponent(d.linked_complaint_public_id)}`),children:o(`ops.transactionIssueMoneyFlow.openComplaintSettlement`)}):(0,Z.jsx)(`span`,{style:{color:`#64748b`,fontSize:13,alignSelf:`center`},children:o(`ops.transactionIssueMoneyFlow.complaintSettlementHelp`)})]}),d.money_flow.available_actions?.reasons&&(0,Z.jsxs)(`div`,{style:{color:`#64748b`,fontSize:13,marginTop:6},children:[(0,Z.jsx)(`div`,{children:d.money_flow.available_actions.reasons.cancel_order}),(0,Z.jsx)(`div`,{children:d.money_flow.available_actions.reasons.create_refund_request})]})]}),se&&(0,Z.jsxs)(`form`,{onSubmit:Pe,style:{border:`1px solid #cbd5e1`,borderRadius:8,padding:10,marginTop:10,display:`grid`,gap:8},children:[(0,Z.jsx)(`b`,{children:o(se===`cancel`?`ops.transactionIssueMoneyFlow.cancelOrder`:`ops.transactionIssueMoneyFlow.createRefundRequest`)}),(0,Z.jsx)(`div`,{style:{color:`#92400e`},children:o(se===`cancel`?`ops.transactionIssueMoneyFlow.cancelWarning`:`ops.transactionIssueMoneyFlow.refundWarning`)}),se===`refund`&&(0,Z.jsx)(`input`,{type:`number`,min:`1`,max:d.money_flow.total_cents||void 0,value:q,onChange:e=>fe(e.target.value),"aria-label":o(`ops.transactionIssueMoneyFlow.refundAmount`)}),(0,Z.jsx)(`input`,{value:le,onChange:e=>ue(e.target.value),placeholder:o(`ops.transactionIssueMoneyFlow.reason`),required:!0}),(0,Z.jsx)(`textarea`,{value:K,onChange:e=>de(e.target.value),placeholder:o(`ops.transactionIssueMoneyFlow.opsNote`),rows:3}),(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,Z.jsx)(`button`,{type:`submit`,className:se===`cancel`?`btn-warning`:`btn-primary`,disabled:W,children:o(W?`ops.transactionIssueMoneyFlow.submitting`:`ops.transactionIssueMoneyFlow.confirm`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:()=>ce(null),disabled:W,children:o(`ops.transactionIssueMoneyFlow.cancel`)})]})]})]}),d.issue_type===`shipment_create_reconciliation`&&(()=>{let e=d.current_shipment||d.shipment?.current||null,t=d.status===`resolved`&&!!e?.provider_order_id,n=e?.provider_reference_id||``;return(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard biteship-create-reconciliation`,"data-testid":`biteship-create-reconciliation`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.biteshipCreateReconciliation.title`)}),(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.biteshipCreateReconciliation.provider`)}),(0,Z.jsx)(`div`,{children:`Biteship`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.biteshipCreateReconciliation.localShipmentId`)}),(0,Z.jsx)(`div`,{children:e?.id||`-`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.courierService`)}),(0,Z.jsx)(`div`,{children:[e?.courier_company?.toUpperCase(),e?.courier_type||e?.courier_service_name].filter(
9Boolean).join(` - `)||`-`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.biteshipCreateReconciliation.providerOrderId`)}),(0,Z.jsx)(`div`,{children:e?.provider_order_id||o(`ops.biteshipCreateReconciliation.notAvailable`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.waybillTracking`)}),(0,Z.jsx)(`div`,{children:e?.courier_waybill_id||e?.provider_tracking_id||o(`ops.biteshipCreateReconciliation.notAvailable`)})]})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.biteshipCreateReconciliation.reference`)}),(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,overflowWrap:`anywhere`},children:[(0,Z.jsx)(`code`,{children:n||`-`}),(0,Z.jsx)(`button`,{type:`button`,disabled:!n,onClick:async()=>{await navigator.clipboard.writeText(n),oe({tone:`success`,key:`ops.biteshipCreateReconciliation.copied`})},children:o(`ops.biteshipCreateReconciliation.copy`)})]})]}),(0,Z.jsx)(`p`,{children:o(`ops.biteshipCreateReconciliation.instructions`)}),!t&&(0,Z.jsxs)(`form`,{onSubmit:we,children:[(0,Z.jsxs)(`label`,{children:[o(`ops.biteshipCreateReconciliation.providerOrderId`),(0,Z.jsx)(`input`,{name:`provider_order_id`,value:G,onChange:e=>ie(e.target.value),autoComplete:`off`})]}),(0,Z.jsx)(`button`,{type:`submit`,disabled:W||!G.trim(),children:o(`ops.biteshipCreateReconciliation.verify`)})]}),ae&&(0,Z.jsx)(`div`,{role:`status`,style:{color:ae.tone===`success`?`#166534`:`crimson`},children:o(ae.key)})]})})(),d.issue_type===`shipment_delivery_exception`&&Y&&(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard shipment-exception-resolution-card`,"data-testid":`shipment-exception-resolution`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.shipmentResolution.title`)}),(0,Z.jsx)(`p`,{children:o(`ops.shipmentResolution.separateEvents`)}),(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`label`,{children:[o(`ops.shipmentResolution.resolutionType`),(0,Z.jsx)(`select`,{disabled:!!Y.resolved_by_user_id,value:Y.resolution_type,onCh
9ange:e=>X({...Y,resolution_type:e.target.value}),children:[`returned_to_seller`,`lost_in_transit`,`damaged_in_transit`,`recipient_rejected`,`disposed_by_courier`,`delivery_failed`,`other`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.shipmentResolution.responsibility`),(0,Z.jsx)(`select`,{disabled:!!Y.resolved_by_user_id,value:Y.responsibility,onChange:e=>ke(e.target.value),children:[`courier`,`seller`,`buyer`,`undetermined`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.shipmentResolution.buyerResolution`),(0,Z.jsx)(`select`,{disabled:!!(Y.refund_request_id||Y.resolved_by_user_id),value:Y.buyer_resolution,onChange:e=>Ae(e.target.value),children:[`none`,`full_refund`,`partial_refund`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.shipmentResolution.buyerRefund`),(0,Z.jsx)(`input`,{disabled:!!(Y.refund_request_id||Y.resolved_by_user_id||Y.buyer_resolution!==`partial_refund`),type:`number`,min:+(Y.buyer_resolution===`partial_refund`),max:Oe(Y.responsibility).max_refundable_cents,value:Y.buyer_refund_amount_cents,onChange:e=>X({...Y,buyer_refund_amount_cents:Math.max(0,Number(e.target.value))})})]}),(0,Z.jsxs)(`div`,{className:`shipment-resolution-field`,children:[(0,Z.jsx)(`label`,{children:o(`ops.shipmentResolution.goodsOutcome`)}),(0,Z.jsx)(`select`,{value:Y.seller_goods_outcome||`unknown`,onChange:e=>X({...Y,seller_goods_outcome:e.target.value}),children:[`returned_good_condition`,`returned_damaged`,`not_returned`,`lost`,`unknown`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))}),(0,Z.jsx)(`small`,{"aria-hidden":`true`,children:`\xA0`})]}),(0,Z.jsxs)(`div`,{className:`shipment-resolution-field`,children:[(0,Z.jsx)(`label`,{children:o(`ops.shipmentResolution.claimStatus`)}),(0,Z.jsx)(`select`,{disabled:!!Y.compensation_ledger_entry_id,value:Y.courier_claim_status,onChange:e=>X({...Y,courier_claim_status:e.target.value}),children:[`not_required`,`not_filed`,`filed`,`approved`,`rejected`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))}),(0,Z.jsx)(`small`,{"aria-hidden":`true`,children:`\xA0`})]}),(0,Z.jsxs)(`div`,{className:`shipment-resolution-field`,children:[(0,Z.jsx)(`label`,{children:o(`ops.shipmentResolution.claimReference`)}),(0,Z.jsx)(`input`,{disabled:!!Y.compensation_ledger_entry_id,value:Y.courier_claim_reference||``,onChange:e=>X({...Y,courier_claim_reference:e.target.value})}),(0,Z.jsx)(`small`,{children:o(`ops.shipmentResolution.claimReferenceHelp`)})]}),(0,Z.jsxs)(`div`,{className:`shipment-resolution-field`,children:[(0,Z.jsx)(`label`,{children:o(`ops.shipmentResolution.claimAmount`)}),(0,Z.jsx)(`input`,{disabled:!!Y.compensation_ledger_entry_id,type:`number`,min:`0`,value:Y.courier_claim_amount_cents,onChange:e=>X({...Y,courier_claim_amount_cents:Math.max(0,Number(e.target.value))})}),(0,Z.jsxs)(`small`,{children:[o(`ops.shipmentResolution.claimBasis`),`: `,Na(Oe(Y.responsibility).merchandise_cents)]})]})]}),!Y.funds_released&&Y.responsibility===`courier`&&[`returned_damaged`,`not_returned`,`lost`].includes(Y.seller_goods_outcome)&&Y.courier_claim_status===`not_required`&&(0,Z.jsx)(`div`,{className:`shipment-resolution-guidance`,role:`note`,children:o(`ops.shipmentResolution.claimLikelyGuidance`)}),!Y.funds_released&&Y.seller_goods_outcome===`returned_good_condition`&&[`not_filed`,`filed`].includes(Y.courier_claim_status)&&(0,Z.jsx)(`div`,{className:`shipment-resolution-guidance`,role:`note`,children:o(`ops.shipmentResolution.claimConsistencyWarning`)}),!Y.funds_released&&(0,Z.jsxs)(`div`,{className:`shipment-resolution-funds`,children:[(0,Z.jsx)(`b`,{children:o(`ops.shipmentResolution.sellerFundsStatus`)}),(0,Z.jsx)(`div`,{children:o(`ops.shipmentResolution.sellerFundsUnreleased`)})]}),Y.funds_released&&(0,Z.jsxs)(`div`,{className:`shipment-resolution-released`,children:[(0,Z.jsx)(`h3`,{children:o(`ops.shipmentResolution.releasedFundsTitle`)}
9),(0,Z.jsxs)(`label`,{children:[o(`ops.shipmentResolution.sellerResolution`),(0,Z.jsx)(`select`,{disabled:!!(Y.reversal_ledger_entry_id||Y.resolved_by_user_id),value:Y.seller_resolution,onChange:e=>X({...Y,seller_resolution:e.target.value}),children:[`reverse_proceeds`,`retain_proceeds`,`compensation_pending_claim`,`no_compensation`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))})]}),(0,Z.jsx)(`p`,{children:o(`ops.shipmentResolution.sellerHelp.${Y.seller_resolution}`)})]}),(0,Z.jsxs)(`label`,{className:`shipment-resolution-notes`,children:[o(`ops.shipmentResolution.internalNote`),(0,Z.jsx)(`textarea`,{rows:2,value:Y.internal_note||``,onChange:e=>X({...Y,internal_note:e.target.value})})]}),!!Y.validation_errors?.length&&(0,Z.jsx)(`div`,{role:`alert`,children:Y.validation_errors.join(`, `)}),Y.manual_finance_review_required&&(0,Z.jsx)(`div`,{role:`alert`,style:{background:`#fff7ed`,padding:8},children:o(`ops.shipmentResolution.manualFinanceReview`)}),Y.manual_finance_review_required&&r?.can_access_admin_finance&&(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:6},children:[(0,Z.jsx)(`select`,{value:ve,onChange:e=>ye(e.target.value),children:[`approved_for_automatic_reversal`,`handled_manually`,`no_reversal`].map(e=>(0,Z.jsx)(`option`,{value:e,children:o(`ops.shipmentResolution.values.${e}`)},e))}),(0,Z.jsx)(`textarea`,{value:be,onChange:e=>xe(e.target.value),placeholder:o(`ops.shipmentResolution.financeReviewNote`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:Me,disabled:W||be.trim().length<10,children:o(`ops.shipmentResolution.saveFinanceReview`)})]}),Y.finance_reviewed_at&&(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.financeReviewDecision`),`: `,o(`ops.shipmentResolution.values.${Y.finance_review_status}`),` · #`,Y.finance_reviewed_by_user_id,` · `,Pa(Y.finance_reviewed_at),` · `,Y.finance_review_note]}),(Y.refund_request_id||Y.reversal_ledger_entry_id||Y.compensation_ledger_entry_id)&&(0,Z.jsxs)(`div`,{className:`shipment-resolution-financial-records`,children:[(0,Z.jsx)(`strong`,{children:o(`ops.shipmentResolution.references`)}),Y.refund_request_id&&(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.refundRecord`),`: #`,Y.refund_request_id]}),Y.reversal_ledger_entry_id&&(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.reversalRecord`),`: #`,Y.reversal_ledger_entry_id]}),Y.compensation_ledger_entry_id&&(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.compensationRecord`),`: `,Y.courier_claim_reference||`#${Y.compensation_ledger_entry_id}`]})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.shipmentResolution.preview`)}),(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.buyerRefund`),`: `,Na(Y.buyer_refund_amount_cents)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.sellerOriginalProceeds`),`: `,Y.funds_released?o(`ops.shipmentResolution.released`):o(`ops.shipmentResolution.unreleased`)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.goodsOutcome`),`: `,o(`ops.shipmentResolution.values.${Y.seller_goods_outcome||`unknown`}`)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.claimStatus`),`: `,o(`ops.shipmentResolution.values.${Y.courier_claim_status}`)]}),Y.funds_released&&(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.sellerReversal`),`: `,Y.seller_resolution===`retain_proceeds`?o(`ops.shipmentResolution.noneNow`):Na(d.money_flow.net_seller_amount_cents)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.shipmentResolution.compensation`),`: `,Y.courier_claim_status===`approved`?Na(Y.courier_claim_amount_cents):o(`ops.shipmentResolution.noneNow`)]})]}),he&&(0,Z.jsxs)(`div`,{className:`shipment-resolution-success`,role:`status`,children:[`â `,he]}),Y.resolution_execution_status===`completed`&&(0,Z.jsxs)(`div`,{className:`shipment-resolution-completed`,role:`status`,children:[(0,Z.jsxs)(`strong`,{children:[`â `,o(`ops.shipmentResolution.completed`)]}),Y.resolved_at&&(0,Z.jsx)(`div`,{children:o(`ops.shipmentResolution.completedAt`,{date:Pa(Y.resolved_at)})})]}),Se&&(0,Z.jsx)(`div`,{role:`note`,children:o(`ops.shipmentResolution.compensationFinanceRequired`)}),(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,marginTop:8},children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:De,disabled:W||Y.resolution_execution_status===`completed`,children:o(`ops.shipmentResolution.save`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,onClick:()=>{Y.resolution_execution_status!==`completed`&&!Se&&_e(!0)},disabled:W||!d.shipment_exception_resolution?.ready||Y.manual_finance_review_required||Se||Y.resolution_execution_status===`completed`,children:o(`ops.shipmentResolution.execute`)})]}),Y.resolution_execution_status===`partially_completed`&&!Y.manual_finance_review_required&&(0,Z.jsx)(`p`,{children:o(`ops.shipmentResolution.claimPending`)}),Y.compensation_ledger_entry_id&&(0,Z.jsx)(`p`,{children:o(`ops.shipmentResolution.compensationCredited`)}),ge&&Y.resolution_execution_status!==`completed`&&(0,Z.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,children:[(0,Z.jsx)(`h3`,{children:o(`ops.shipmentResolution.confirmTitle`)}),(0,Z.jsx)(`p`,{children:o(`ops.shipmentResolution.confirmWarning`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,onClick:je,disabled:W,children:o(`ops.shipmentResolution.confirm`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:()=>_e(!1),children:o(`ops.shipmentResolution.cancel`)})]})]}),(()=>{let e=d.shipment||{},t=d.current_shipment||e.current||null,n=Array.isArray(d.shipment_history)?d.shipment_history:Array.isArray(e.history)?e.history:[],r=String(t?.latest_normalized_status||t?.normalized_status||d.shipment_normalized_status||``).toLowerCase(),i=String(t?.latest_provider_status||t?.provider_status||d.shipment_provider_status||``),a=String(t?.provider||``).toLowerCase(),s=String(t?.courier_type||t?.shipment_type||``).toLowerCase(),c=[`instant`,`same_day`,`sameday`,`same-day`].includes(s),l=!!t?.can_retry_pickup&&r===`pickup_retry_available`&&a===`biteship`&&c,u=pa({currentShipment:t,normalizedStatus:r,canRetryPickup:l,provider:a,isInstantOrSameDay:c}),f=Number(t?.retry_attempt_count??t?.pickup_retry_attempt??0),p=Number(t?.manual_retry_max_attempts??t?.pickup_retry_max_attempts??0),m=Ia(t,f,o);return(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard`,style:{marginTop:8},children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.transactionIssueShipment.title`)}),!t&&(0,Z.jsx)(`p`,{style:{margin:0,color:`#64748b`},children:o(`ops.transactionIssueShipment.noShipment`)}),t&&(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.provider`)}
9),(0,Z.jsx)(`div`,{children:t.provider||o(`ops.transactionIssueShipment.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.courierService`)}),(0,Z.jsx)(`div`,{children:[String(t.courier_company||``).toUpperCase(),t.courier_type||t.courier_service_name].filter(Boolean).join(` - `)||o(`ops.transactionIssueShipment.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.currentShippingState`)}),(0,Z.jsx)(`div`,{children:da(o,r)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.providerStatus`)}),(0,Z.jsx)(`div`,{children:i||o(`ops.transactionIssueShipment.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.waybillTracking`)}),(0,Z.jsx)(`div`,{children:t.courier_waybill_id||t.provider_tracking_id||o(`ops.transactionIssueShipment.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.retryAttempts`)}),(0,Z.jsx)(`div`,{children:p?o(`ops.transactionIssueShipment.attemptsOf`,{current:f,max:p}):f})]})]}),r===`pickup_retry_available`&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:o(`ops.transactionIssueShipment.pickupRetryAvailableHelp`)}),r===`pickup_retry_available`&&(0,Z.jsxs)(`div`,{style:{background:`#fffbeb`,border:`1px solid #fde68a`,borderRadius:8,padding:8,marginBottom:8},children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.automaticAttempts`)}),`: `,Number(t?.pickup_retry_auto_attempt_count??0),` / `,Number(t?.auto_retry_max_attempts??0)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.totalAttempts`)}),`: `,f,` / `,p]}),t?.pickup_retry_next_at&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.nextAutomaticRetry`)}),`: `,new Date(t.pickup_retry_next_at).toLocaleString()]}),t?.pickup_retry_last_error&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.latestRetryError`)}),`: `,t.pickup_retry_last_error]})]}),m&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:m}),u&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:o(u)}),R&&!l&&(0,Z.jsx)(`div`,{style:{minHeight:20,color:R.tone===`success`?`#166534`:`crimson`,fontSize:13},children:R.message||o(R.key)}),l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:Fe,disabled:te,children:o(te?`ops.transactionIssueRetry.retrying`:`ops.transactionIssueRetry.retryPickup`)}),(0,Z.jsx)(`div`,{style:{minHeight:20,color:R?.tone===`success`?`#166534`:`crimson`,fontSize:13},children:R?R.message||o(R.key):` `})]}),!!n.length&&(0,Z.jsxs)(`details`,{children:[(0,Z.jsx)(`summary`,{children:o(`ops.transactionIssueShipment.history`,{count:n.length})}),(0,Z.jsx)(`div`,{style:{display:`grid`,gap:4,marginTop:8,fontSize:13},children:n.slice(0,8).map((e,t)=>(0,Z.jsxs)(`div`,{children:[e.normalized_status?da(o,e.normalized_status):e.provider_status||o(`ops.transactionIssueShipment.statusFallback`),` · `,e.provider_status||o(`ops.transactionIssueShipment.providerStatusNotAvailable`),` · `,e.courier_waybill_id||o(`ops.transactionIssueShipment.noWaybill`),` · `,e.recorded_at?Pa(e.recorded_at):`-`]},`${e.id||t}-${e.recorded_at||t}`))})]})]})})(),(0,Z.jsxs)(`label`,{children:[o(`ops.transactionIssues.status`),(0,Z.jsxs)(`select`,{value:D,onChange:e=>O(e.target.value),style:{marginLeft:8},children:[(0,Z.jsx)(`option`,{value:`open`,children:aa(o,`open`)}),(0,Z.jsx)(`option`,{value:`investigating`,children:aa(o,`investigating`)}),(0,Z.jsx)(`option`,{value:`resolved`,children:aa(o,`resolved`)}),(0,Z.jsx)(`option`,{value:`dismissed`,children:aa(o,`dismissed`)})]})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.transactionIssues.internalNote`),(0,Z.jsx)(`textarea`,{value:k,onChange:e=>A(e.target.value),rows:4,style:{width:`100%`}})]}),(0,Z.jsx)(`button`,{onClick:Ee,disabled:W,children:o(W?`ops.transactionIssues.saving`:`ops.transactionIssues.saveIssueUpdate`)})]})]})]})]})}var Ra=50,za=[[`pending_manual_refund`,`statusPendingManual`],[`processing`,`statusProcessing`],[`succeeded`,`statusSucceeded`],[`failed`,`statusFailed`],[`cancelled`,`statusCancelled`],[`all`,`statusAll`]],Ba=[[`pending_manual_refund`,`statusPendingManual`],[`processing`,`statusProcessing`],[`succeeded`,`statusSucceeded`],[`failed`,`statusFailed`],[`cancelled`,`statusCancelled`]];
9function Va(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}function Ha(e){if(!e)return`-`;try{return new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}catch{return String(e)}}function Ua(e){return`admin-status-badge admin-status-${String(e||`unknown`).replaceAll(`_`,`-`)}`}function Wa(e){let t=String(e||``).trim();if(!t.startsWith(`{`))return!1;try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)}catch{return/"(event|data|status|id|refund|payload)"\s*:/.test(t.slice(0,500))}}function Ga({label:e,children:t,muted:n=!1}){return(0,Z.jsxs)(`div`,{className:`admin-refund-meta-row${n?` is-muted`:``}`,children:[(0,Z.jsx)(`span`,{children:e}),(0,Z.jsx)(`strong`,{children:t||`-`})]})}function Ka({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,initialRefundRequestId:i=null,api:a}){let o=Rr(),[s,c]=(0,_.useState)(`pending_manual_refund`),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)({}),[p,m]=(0,_.useState)(i),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(0),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(!1),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(``),[A,j]=(0,_.useState)(``),[M,N]=(0,_.useState)(!1),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(``),[L,te]=(0,_.useState)(!1),[ne,R]=(0,_.useState)(!1),[z,B]=(0,_.useState)(`bank_transfer`),[V,H]=(0,_.useState)(``),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(``);function ie(){m(null),g(null),N(!1),P(``),I(``),k(``),j(``)}function ae(e){e!==s&&(ie(),x(0),c(e))}(0,_.useEffect)(()=>{let e=!1;async function t(){y(!0),k(null);try{let t=await a(`/admin/refund-requests?${new URLSearchParams({status:s,limit:String(Ra),offset:`0`}).toString()}`);e||(u(t.items||[]),f(t.status_counts||{}),x(0),C((t.items||[]).length===Ra))}catch(t){e||k(t?.message?{message:t.message}:{key:`ops.refundRequests.loadFailed`})}finally{e||y(!1)}}return t(),()=>{e=!0}},[a,s]),(0,_.useEffect)(()=>{if(!p){g(null);return}let e=!1;async function t(){D(!0),k(null);try{let t=await a(`/admin/refund-requests/${p}`);e||g(t)}catch(t){e||k(t?.message?{message:t.message}:{key:`ops.refundRequests.detailLoadFailed`})}finally{e||D(!1)}}return t(),()=>{e=!0}},[a,p]);async function oe(e){let t=e?.public_id||e?.id||p,n=await a(`/admin/refund-requests?${new URLSearchParams({status:s,limit:String(Ra),offset:`0`}).toString()}`),r=n.items||[];if(u(r),f(n.status_counts||{}),r.some(e=>e.id===t||e.public_id===t)){let e=await a(`/admin/refund-requests/${t}`);m(t),g(e)}else m(null),g(null)}async function se(){let e=b+Ra;T(!0),k(null);try{let t=await a(`/admin/refund-requests?${new URLSearchParams({status:s,limit:String(Ra),offset:String(e)}).toString()}`),n=t.items||[];u(e=>[...e,...n.filter(t=>!e.some(e=>e.id===t.id||e.public_id===t.public_id))]),f(t.status_counts||{}),x(e),C(n.length===Ra)}catch(e){k(e?.message?{message:e.message}:{key:`ops.refundRequests.loadFailed`})}finally{T(!1)}}async function ce(){if(h){te(!0),k(null),j(``);try{let e=await a(`/admin/refund-requests/${h.public_id||h.id}/execute-provider-refund`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({confirmation_text:ee,ops_note:F||null})});N(!1),P(``),I(``),await oe(e),j(o(`ops.refundRequests.executeSuccess`))}catch(e){let t=e?.data?.message||e?.data?.detail?.message||e?.data?.detail||e?.message;k(t?{message:String(t)}:{key:`ops.refundRequests.executeFailed`})}finally{te(!1)}}}async function le(){let e=V.trim();if(e){te(!0),k(null);try{let t=await a(`/admin/refund-requests/${h.public_id||h.id}/manual-complete`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({confirmation_text:re,method:z,reference:e,amount_cents:Number(U),ops_note:F})});R(!1),G(``),H(``),await oe(t),j(o(`ops.refundRequests.manualSuccess`))}catch(e){k({message:e?.message||o(`ops.refundRequests.manualFailed`)})}finally{te(!1)}}}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-refund-requests`,dedicatedAdminHost:t,title:o(`ops.refundRequests.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsx)(`p`,{className:`admin-muted`,children:o(`ops.refundRequests.intro`)}),(0,Z.jsx)(`div`,{className:`admin-refund-summary-grid`,children:Ba.map(([e,t])=>(0,Z.jsxs)(`div`,{className:`admin-refund-summary-card`,children:[(0,Z.jsx)(`span`,{children:o(`ops.refundRequests.${t}`)}),(0,Z.jsx)(`strong`,{children:d[e]||0})]},e))}),(0,Z.jsxs)(`div`,{className:`admin-section-card admin-refund-filter-card`,children:[(0,Z.jsx)(`label`,{htmlFor:`refund-status-filter`,children:o(`ops.refundRequests.status`)}),` `,(0,Z.jsx)(`select`,{id:`refund-status-filter`,value:s,onChange:e=>ae(e.target.value),children:za.map(([e,t])=>
9(0,Z.jsxs)(`option`,{value:e,children:[o(`ops.refundRequests.${t}`),d[e]==null?``:` (${d[e]})`]},e))})]}),O&&(0,Z.jsx)(`div`,{className:`admin-error ops-queue-notice`,role:`alert`,children:O.message||o(O.key)}),A&&(0,Z.jsx)(`div`,{className:`admin-success ops-queue-notice`,role:`status`,children:A}),(0,Z.jsxs)(`div`,{className:`admin-refund-layout ${p?`has-mobile-selection`:``}`,children:[(0,Z.jsxs)(`div`,{className:`admin-section-card admin-refund-list-panel`,children:[(0,Z.jsx)(`h3`,{children:o(`ops.refundRequests.queue`)}),v&&(0,Z.jsx)(`div`,{className:`ops-queue-state`,role:`status`,children:o(`ops.refundRequests.loading`)}),!v&&l.length===0&&(0,Z.jsx)(`div`,{className:`admin-muted`,children:o(`ops.refundRequests.empty`)}),l.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"aria-pressed":p===e.id||p===e.public_id,className:`admin-refund-list-card ${p===e.id||p===e.public_id?`is-active`:``}`,onClick:()=>m(e.public_id||e.id),children:[(0,Z.jsxs)(`div`,{className:`admin-refund-list-card-head`,children:[(0,Z.jsx)(`span`,{className:Ua(e.status),children:o(`ops.refundRequests.statusValue.${e.status}`,e.status)}),(0,Z.jsx)(`strong`,{children:Va(e.refund_amount_cents||0)})]}),(0,Z.jsx)(`div`,{className:`admin-refund-list-title`,children:e.invoice_number||`order#${e.order_id}`}),(0,Z.jsxs)(`div`,{className:`admin-refund-list-meta`,children:[o(`ops.refundRequests.seller`),`: `,e.seller_store_name||`seller#${e.seller_id||`-`}`]}),(0,Z.jsxs)(`div`,{className:`admin-refund-list-meta`,children:[o(`ops.refundRequests.buyer`),`: `,e.buyer_safe_summary||o(`ops.refundRequests.maskedUnknown`)]}),(0,Z.jsxs)(`div`,{className:`admin-refund-list-meta`,children:[o(`ops.refundRequests.providerStatus`),`: `,e.provider||`-`,` / `,e.provider_status||`-`]}),(0,Z.jsxs)(`div`,{className:`admin-muted admin-refund-list-meta`,children:[o(`ops.refundRequests.created`),`: `,Ha(e.created_at)]})]},e.id)),!v&&S&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:w,onClick:se,children:o(w?`common.loading`:`ops.common.loadMore`)}),!v&&l.length>0&&!S&&(0,Z.jsx)(`div`,{className:`admin-muted`,children:o(`ops.common.noMoreResults`)})]}),(0,Z.jsxs)(`div`,{className:`admin-section-card admin-refund-detail-panel`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`admin-mobile-detail-back`,onClick:ie,children:[`â `,o(`common.back`)]}),(0,Z.jsx)(`h3`,{children:o(`ops.refundRequests.detail`)}),E&&(0,Z.jsx)(`div`,{children:o(`ops.refundRequests.loading`)}),!E&&!h&&(0,Z.jsx)(`div`,{className:`admin-muted admin-refund-empty-detail`,children:o(`ops.refundRequests.selectPrompt`)}),h&&(0,Z.jsxs)(`div`,{className:`admin-detail-stack`,children:[(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.refundSummary`)}),(0,Z.jsxs)(`div`,{className:`admin-refund-meta-grid`,children:[(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.refund`),children:h.public_id||h.id}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.status`),children:(0,Z.jsx)(`span`,{className:Ua(h.status),children:o(`ops.refundRequests.statusValue.${h.status}`,h.status)})}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.invoice`),children:h.order_financial_summary?.invoice_number}),(0,Z.jsxs)(Ga,{label:o(`ops.refundRequests.amount`),children:[Va(h.refund_amount_cents||0),` `,h.currency]}),(0,Z.jsxs)(Ga,{label:o(`ops.refundRequests.providerStatus`),children:[h.provider||`-`,` / `,h.provider_status||`-`]}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.created`),children:Ha(h.created_at)})]}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.reason`),children:h.reason})]}),h.refund_source!==`manual_ops`&&(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section admin-refund-action-card`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.executionStatusAction`)}),(0,Z.jsx)(`div`,{className:`admin-warning`,children:h.provider_execution_notice||h.available_actions?.execute_provider_refund_reason||o(`ops.refundRequests.providerExecutionNotice`)}),h.available_actions?.can_execute_provider_refund&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,onClick:()=>N(!0),children:o(`ops.refundRequests.executeProviderRefund`)})]}),[`pending_manual_refund`,`failed`].includes(h.status)&&(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section admin-refund-action-card`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.manualRefund`)}),(0,Z.jsx)(`p`,{children:o(`ops.refundRequests.manualHelp`)}),(0,Z.jsx)(`a`,{className:`btn-secondary`,href:`${t?`/support`:`/admin/support`}?refund=${encodeURIComponent(h.public_id||h.id)}`,children:o(`ops.refundRequests.contactBuyer`)}),` `,(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>{R(!0),W(String(h.refund_amount_cents))},children:o(`ops.refundRequests.markManual`)})]}),ne&&h&&(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section admin-refund-action-card`,children:[(0,Z.jsxs)(`label`,{children:[o(`o
9ps.refundRequests.manualMethod`),(0,Z.jsxs)(`select`,{value:z,onChange:e=>B(e.target.value),children:[(0,Z.jsx)(`option`,{value:`bank_transfer`,children:o(`ops.refundRequests.bankTransfer`)}),(0,Z.jsx)(`option`,{value:`other`,children:o(`ops.refundRequests.other`)})]})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.amount`),(0,Z.jsx)(`input`,{type:`number`,value:U,onChange:e=>W(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.manualReference`),(0,Z.jsx)(`input`,{required:!0,value:V,onChange:e=>H(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.opsNote`),(0,Z.jsx)(`textarea`,{value:F,onChange:e=>I(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.manualConfirmation`),(0,Z.jsx)(`input`,{value:re,onChange:e=>G(e.target.value),placeholder:`MARK REFUNDED`})]}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,disabled:L||re!==`MARK REFUNDED`||!V.trim()||!F.trim(),onClick:le,children:o(`ops.refundRequests.markManual`)})]}),h.refund_source===`manual_ops`&&(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.manualRefund`)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.manualMethod`),children:h.manual_refund_method}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.amount`),children:Va(h.manual_refund_amount_cents)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.manualReference`),children:h.manual_refund_reference}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.completed`),children:Ha(h.manual_refunded_at)})]}),M&&(0,Z.jsxs)(`div`,{className:`admin-refund-detail-section admin-refund-action-card`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.executeConfirmTitle`)}),(0,Z.jsxs)(`div`,{children:[o(`ops.refundRequests.amount`),`: `,Va(h.refund_amount_cents||0),` `,h.currency]}),(0,Z.jsxs)(`div`,{children:[o(`ops.refundRequests.order`),`: `,h.order_financial_summary?.invoice_number,` · `,h.order_financial_summary?.payment_status]}),(0,Z.jsx)(`div`,{className:`admin-warning`,children:o(`ops.refundRequests.executeWarning`)}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.confirmationText`),(0,Z.jsx)(`input`,{value:ee,onChange:e=>P(e.target.value),placeholder:`EXECUTE REFUND`})]}),(0,Z.jsxs)(`label`,{children:[o(`ops.refundRequests.opsNote`),(0,Z.jsx)(`textarea`,{value:F,onChange:e=>I(e.target.value)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-warning`,disabled:L||ee!==`EXECUTE REFUND`,onClick:ce,children:o(L?`ops.refundRequests.executing`:`ops.refundRequests.executeProviderRefund`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:()=>N(!1),children:o(`ops.refundRequests.close`)})]}),(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.orderPaymentContext`)}),(0,Z.jsxs)(Ga,{label:o(`ops.refundRequests.order`),children:[h.order_financial_summary?.invoice_number,` · `,h.order_financial_summary?.payment_status]}),(0,Z.jsxs)(Ga,{label:o(`ops.refundRequests.payment`),children:[h.order_financial_summary?.payment_method||`-`,` · `,h.order_financial_summary?.checkout_payment_provider||`-`,` / `,h.order_financial_summary?.checkout_payment_provider_status||`-`]}),h.order_financial_summary?.checkout_payment_provider===`doku`&&h.order_financial_summary?.checkout_payment_doku_invoice&&(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.dokuInvoice`),children:h.order_financial_summary.checkout_payment_doku_invoice}),(0,Z.jsxs)(`div`,{className:`admin-refund-totals`,children:[o(`ops.refundRequests.subtotal`),` `,Va(h.order_financial_summary?.subtotal||0),` · `,o(`ops.refundRequests.shipping`),` `,Va(h.order_financial_summary?.shipping||0),` · `,o(`ops.refundRequests.discount`),` `,Va(h.order_financial_summary?.discount||0),` · `,o(`ops.refundRequests.total`),` `,Va(h.order_financial_summary?.total||0)]})]}),(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.sellerPayoutWarning`)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.fundsReleased`),children:Ha(h.seller_payout?.funds_released_at)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.completed`),children:Ha(h.seller_payout?.completed_at)}),(0,Z.jsxs)(Ga,{label:o(`ops.refundRequests.netSellerAmount`),children:[Va(h.seller_payout?.net_seller_amount_cents||0),` · `,o(`ops.refundRequests.commission`),`: `,Va(h.seller_payout?.commission_amount_cents||0)]})]}),(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.traceability`)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.transactionIssue`),children:h.transaction_issue?.id?(0,Z.jsxs)(`a`,{href:h.transaction_issue.public_link,children:[`#`,h.transaction_issue.id]}):h.transaction_issue?.mapping_unavailable_note||o(`ops.refundRequests.noTransactionIssue`)}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.refundSource`),children:h.refund_source}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.actorUserId`),muted:!0,children:h.actor_user_id}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.providerRefundReferenceId`),muted:!0,children:h.provider_refund_reference_id}),(0,Z.jsx)(Ga,{label:o(`ops.refundRequests.providerRefundId`),muted:!0,children:h.provider_refund_id})]}),(0,Z.jsxs)(`section`,{className:`admin-refund-detail-section`,children:[(0,Z.jsx)(`h4`,{children:o(`ops.refundRequests.opsNote`)}),Wa(h.ops_note)?(0,Z.jsx)(`div`,{className:`admin-warning`,children:o(`ops.refundRequests.hiddenJsonOpsNote`)}):(0,Z.jsx)(`div`,{children:h.ops_note||`-`})]})]})]})]})]})}var qa=e=>String(e||`-`).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),Ja=(e,t,n)=>{let r=e(t);return r===t||r===t.split(`.`).pop()?qa(n):r},Ya=(e,t,n)=>{let r=e(t);return r===t||r===t.split(`.`).pop()?String(n||``):r},Xa=[`open`,`awaiting_seller_response`,`seller_proposed_solution`,`awaiting_buyer_response`,`escalated_to_ops`,`ops_review`,`resolved_refund`,`resolved_replacement`,`resolved_rejected`,`closed`,`closed_by_buyer`,`under_review`,`resolved_buyer`,`resolved_seller`,`rejected`];function Za(e,t){let n=String(t||``).toLowerCase();return n?Ja(e,`ops.complaintStatus.${n}`,n):`-`}function Qa(e,t){let n=String(t||``).trim();return n?Ja(e,`ops.complaintReason.${n}`,n):`-`}function $a(e,t){let n=String(t||``).trim();return!n||/\s/.test(n)?n:Ya(e,`ops.complaintResolution.${n}`,n)}function eo(e,t){let n=String(t||`system`).toLowerCase();return Ja(e,`ops.complaintRole.${n}`,n)}function to(e,t){let n=String(t||``).toLowerCase();return n?Ja(e,`ops.complaintFaultParty.${n}`,n):`-`}function no(e,t){let n=String(t||``).toLowerCase();return n?Ja(e,`ops.complaintPayer.${n}`,n):`-`}function ro(e,t){let n=String(t||``).toLowerCase();return n?Ja(e,`ops.complaintLabelMode.${n}`,n):`-`}function io(e,t){let n=String(t||``).toLowerCase();return n?Ja(e,`ops.complaintReturn.status.${n}`,n):`-`}var ao=[`preview_blocked`,`decision_not_ready`,`missing_note`,`confirmation_text`,`empty_allocation`,`refund_exceeds_paid`,`seller_release_exceeds_maximum`,`allocation_exceeds_paid`];function oo({preview:e,confirmationNote:t,confirmationText:n,buyerRefund:r,sellerRelease:i}){let a=Number(e?.available_paid_amount_cents||0),o=Number(e?.maximum_seller_release_amount_cents||0),s=Math.max(0,Number(r||0)),c=Math.max(0,Number(i||0)),l={preview_blocked:e?.can_confirm===!0,decision_not_ready:!!e&&e?.blocking_reason_code!==`resolution_required`,missing_note:!!String(t||``).trim(),confirmation_text:n===`SETTLE`,empty_allocation:s+c>0,refund_exceeds_paid:s<=a,seller_release_exceeds_maximum:c<=o,allocation_exceeds_paid:s+c<=a},u=ao.filter(e=>!l[e]);return{valid:u.length===0,reasons:u,checks:l}}function so({page:e,status:t=``}){let n=new URLSearchParams;return n.set(`limit`,`50`),n.set(`offset`,String((Math.max(1,e)-1)*50)),t&&n.set(`status`,t),`/admin/complaints?${n.toString()}`}function co(e){return Array.isArray(e)&&e.length===50}function lo(e,t){return e>1&&Array.isArray(t)&&t.length===0?e-1:e}function uo(e,t,n){return t.find(t=>String(t.public_id||t.id)===String(e))?e:!n&&t.length&&(t[0].public_id||t[0].id)||null}function fo(){let e=0;return{begin(){return e+=1,e},isLatest(t){return t===e}}}function po(e){return Yt(Number.isFinite(Number(e))?Number(e):0)}function mo(e){if(!e)return`-`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`-`;
9try{return t.toLocaleString()}catch{return`-`}}var ho=[{value:`seller`,labelKey:`ops.complaintFaultParty.seller`},{value:`buyer`,labelKey:`ops.complaintFaultParty.buyer`},{value:`logistics`,labelKey:`ops.complaintFaultParty.logistics`},{value:`unclear`,labelKey:`ops.complaintFaultParty.unclear`},{value:`tokodepan_goodwill`,labelKey:`ops.complaintFaultParty.tokodepan_goodwill`}],go=[{value:`seller`,labelKey:`ops.complaintPayer.seller`},{value:`buyer`,labelKey:`ops.complaintPayer.buyer`},{value:`tokodepan`,labelKey:`ops.complaintPayer.tokodepan`},{value:`none`,labelKey:`ops.complaintPayer.none`}],_o=[{value:`buyer_manual`,labelKey:`ops.complaintLabelMode.buyer_manual`},{value:`seller_manual`,labelKey:`ops.complaintLabelMode.seller_manual`},{value:`not_required`,labelKey:`ops.complaintLabelMode.not_required`}],vo=[{value:`refund`,labelKey:`ops.complaintOutcome.refund`},{value:`replacement`,labelKey:`ops.complaintOutcome.replacement`},{value:`partial_refund`,labelKey:`ops.complaintDecision.resolutionType.partial_refund`},{value:`rejected`,labelKey:`ops.complaintOutcome.rejected`}];function yo(e,t=null){let n={...e},r=n.resolution_type,i=n.fault_party,a=t!==`resolution_type`;return r===`refund_no_return`?(n.return_required=`no`,n.replacement_required=`no`,n.return_label_mode=`not_required`,n.return_freight_payer=`none`,n.replacement_freight_payer=`none`):r===`refund_after_return`?(n.return_required=`yes`,n.replacement_required=`no`,n.replacement_freight_payer=`none`):r===`replacement_no_return`?(n.return_required=`no`,n.replacement_required=`yes`,n.return_label_mode=`not_required`,n.return_freight_payer=`none`):r===`replacement_after_return`?(n.return_required=`yes`,n.replacement_required=`yes`):r===`partial_refund`?(n.return_required=`no`,n.replacement_required=`no`,n.return_label_mode=`not_required`,n.return_freight_payer=`none`,n.replacement_freight_payer=`none`):r===`rejected`&&(n.return_required=`no`,n.replacement_required=`no`,n.return_label_mode=`not_required`,n.return_freight_payer=`none`,n.replacement_freight_payer=`none`,n.refund_item_amount=``,n.refund_original_shipping_amount=``,n.refund_total_amount=``),n.return_required===`yes`?i===`seller`?(n.return_freight_payer=`seller`,n.return_label_mode=`buyer_manual`,n.replacement_required===`yes`&&(n.replacement_freight_payer=`seller`)):i===`buyer`?(n.return_freight_payer=`buyer`,n.return_label_mode=`buyer_manual`,n.replacement_required===`yes`&&(n.replacement_freight_payer=`buyer`)):i===`logistics`?((!n.return_freight_payer||n.return_freight_payer===`none`)&&(n.return_freight_payer=`tokodepan`),(!n.return_label_mode||n.return_label_mode===`not_required`)&&(n.return_label_mode=`buyer_manual`),n.replacement_required===`yes`&&(!n.replacement_freight_payer||n.replacement_freight_payer===`none`)&&(n.replacement_freight_payer=`tokodepan`)):i===`tokodepan_goodwill`?(n.return_freight_payer=`tokodepan`,n.return_label_mode=`buyer_manual`,n.replacement_required===`yes`&&(n.replacement_freight_payer=`tokodepan`)):i===`unclear`&&!a&&(n.return_freight_payer=`seller`,n.return_label_mode=`buyer_manual`,n.replacement_required===`yes`&&(!n.replacement_freight_payer||n.replacement_freight_payer===`none`)&&(n.replacement_freight_payer=`seller`)):(n.return_freight_payer=`none`,n.return_label_mode=`not_required`),n.replacement_required!==`yes`&&(n.replacement_freight_payer=`none`),n}function bo(e){return e===`partial_refund`||e===`rejected`?e:e.startsWith(`replacement`)?`replacement`:`refund`}function xo(e,t){return e===`partial_refund`?`partial_refund`:e===`rejected`?`rejected`:e===`replacement`?t===`yes`?`replacement_after_return`:`replacement_no_return`:t===`yes`?`refund_after_return`:`refund_no_return`}function So(e,t=[]){let n={replacement_after_return:[`awaiting_buyer_return`,`ops_review`],refund_after_return:[`awaiting_buyer_return`,`ops_review`],replacement_no_return:[`awaiting_seller_replacement`,`ops_review`],refund_no_return:[`resolved_refund`,`ops_review`],partial_refund:[`resolved_refund`,`ops_review`],rejected:[`resolved_rejected`,`closed`,`ops_review`]},r=new Set((t||[]).map(e=>String(e||``).toLowerCase())),i=(n[String(e||``).toLowerCase()]||[`ops_review`]).find(e=>r.has(e))||`ops_review`;return{status:i,warningKey:[`refund_no_return`,`partial_refund`].includes(String(e||``).toLowerCase())&&i===`resolved_refund`?`ops.complaintDecision.refundExecutionWarning`:``}}function Co(e,t){let n=String(e?.retry_warning_code||``).trim()||(()=>{let n=Number(e?.pickup_retry_auto_attempt_count??0),r=Number(e?.auto_retry_max_attempts??0),i=Number(e?.manual_retry_max_attempts??e?.pickup_retry_max_attempts??0);return i>0&&Number(t||0)>=i?`total_retry_limit_reached`:r>0&&n>=r?`automatic_retry_limit_reached`:Number(t||0)>=3?`multiple_pickup_failures`:``})();return n===`automatic_retry_limit_reached`?`ops.pickupWarnings.automatic_retry_limit_reached`:n===`total_retry_limit_reached`?`ops.pickupWarnings.total_retry_limit_reached`:n===`multiple_pickup_failures`?`ops.pickupWarnings.multiple_pickup_failures`:``}function wo({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,publicId:i=null,api:a}){let o=Rr(),s=e=>o(e.labelKey),c=e=>Za(o,e),l=e=>e?.message||(e?.key?o(e.key):``),u=(0,_.useCallback)(e=>{let t=String(e||``).trim();return t?/^https?:\/\//i.test(t)?t:M?N(t):t.startsWith(`/`)?`/api${t}`:`/api/${t}`:``},[]),d=(0,_.useCallback)((e={})=>{let t=String(e.sender_role||e.sender_type||e.author_type||e.role||e.created_by_role||e.sender||``).trim().toLowerCase();return t===`admin`?`ops`:[`buyer`,`seller`,`ops`,`system`].includes(t)?t:`system`},[]),[f,p]=(0,_.useState)([]),[m,h]=(0,_.useState)(i||null),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(!1),C=(0,_.useMemo)(()=>new URLSearchParams(window.location.search),[]),[w,T]=(0,_.useState)(()=>C.get(`status`)||``),[E,D]=(0,_.useState)(1),[O,k]=(0,_.useState)(!1),A=(0,_.useRef)(fo()),[j,ee]=(0,_.useState)(``),[P,F]=(0,_.useState)(``),[I,L]=(0,_.useState)(`o
9ps_review`),[te,ne]=(0,_.useState)(!0),[R,z]=(0,_.useState)(!1),[B,V]=(0,_.useState)(!1),[H,U]=(0,_.useState)(!1),[W,re]=(0,_.useState)({buyer_refund_amount_cents:``,seller_release_amount_cents:``,confirmation_text:``,confirmation_note:``}),[G,ie]=(0,_.useState)(!1),[ae]=(0,_.useState)(``),[oe,se]=(0,_.useState)(!1),[ce,le]=(0,_.useState)(null),[ue,K]=(0,_.useState)(``),[de,q]=(0,_.useState)(null),[fe,pe]=(0,_.useState)(!1),[me,he]=(0,_.useState)(!1),[J,Y]=(0,_.useState)(!1),[X,ge]=(0,_.useState)({resolution_type:`refund_no_return`,fault_party:`unclear`,return_required:`no`,return_freight_payer:`none`,return_label_mode:`not_required`,refund_item_amount:``,refund_original_shipping_amount:``,refund_total_amount:``,replacement_required:`no`,replacement_freight_payer:`none`,ops_note:``,buyer_instruction:``,seller_instruction:``}),_e=bo(X.resolution_type),ve=Xa,ye=So(X.resolution_type,ve),be=!!ye.status&&I!==ye.status,xe=[`refund_no_return`,`refund_after_return`,`partial_refund`].includes(X.resolution_type),Se=Number(X.refund_item_amount||0)>0||Number(X.refund_original_shipping_amount||0)>0||Number(X.refund_total_amount||0)>0,Ce=xe||Se||J,we=g?.settlement_preview||null,Te=Number(g?.settlement?.available_paid_amount_cents??we?.available_paid_amount_cents??0),Ee=Number(g?.settlement?.maximum_seller_release_amount_cents??we?.maximum_seller_release_amount_cents??0),De=Math.max(0,Number(W.buyer_refund_amount_cents||0)),Oe=Math.max(0,Number(W.seller_release_amount_cents||0)),ke=Math.max(0,Te-De-Oe),Ae=we?.blocking_reason_code||we?.blocking_reason||null,je=oo({preview:we,confirmationNote:W.confirmation_note,confirmationText:W.confirmation_text,buyerRefund:De,sellerRelease:Oe}),Me=!je.valid,Ne=String(g?.reason_text||``).trim();async function Pe(e=w,t=E,{stepBackIfEmpty:n=!1}={}){let r=A.current.begin();ne(!0),K(``);try{let o=await a(so({page:t,status:e}))||[];if(!A.current.isLatest(r))return;let s=n?lo(t,o):t;if(s!==t){D(s),await Pe(e,s);return}D(t),p(o),k(co(o)),i||h(e=>uo(e,o,window.matchMedia(`(max-width: 980px)`).matches))}catch(e){A.current.isLatest(r)&&K(e.message)}finally{A.current.isLatest(r)&&ne(!1)}}async function Fe(t){h(null),v(null),e(`/admin/complaints`),await Pe(w,t)}(0,_.useEffect)(()=>{Pe(w)},[]),(0,_.useEffect)(()=>{let e=i||m;if(!e){v(null);return}let t=!1;async function n(){K(``),S(!1),b(!0);try{let n=f.find(t=>String(t.public_id||t.id)===String(e)),r=String(n?.public_id||e||``).trim();if(r&&/^[0-9]+$/.test(r)&&!n?.public_id){if(!n?.id){v(null),S(!0);return}let e=await a(`/admin/complaints/${encodeURIComponent(n.id)}`);if(t)return;v(e),L(e.status||`ops_review`);return}if(!r){v(null),S(!0);return}let i=await a(`/admin/complaints/public/${encodeURIComponent(r)}`);if(t)return;v(i),L(i.status||`ops_review`),re({buyer_refund_amount_cents:i.settlement?.buyer_refund_amount_cents??i.settlement_preview?.suggested_buyer_refund_amount_cents??``,seller_release_amount_cents:i.settlement?.seller_release_amount_cents??i.settlement_preview?.suggested_seller_release_amount_cents??``,confirmation_text:``,confirmation_note:i.settlement?.confirmation_note||``});let o=i.resolution||i.resolution_decision||null;if(o){let e=yo({resolution_type:o.resolution_type||`refund_no_return`,fault_party:o.fault_party||`unclear`,return_required:o.return_required?`yes`:`no`,return_freight_payer:o.return_freight_payer||`none`,return_label_mode:o.return_label_mode||`not_required`,refund_item_amount:o.refund_item_amount??``,refund_original_shipping_amount:o.refund_original_shipping_amount??``,refund_total_amount:o.refund_total_amount??``,replacement_required:o.replacement_required?`yes`:`no`,replacement_freight_payer:o.replacement_freight_payer||`none`,ops_note:o.ops_note||``,buyer_instruction:o.buyer_instruction||``,seller_instruction:o.seller_instruction||``});ge(e);let t=Number(o.refund_item_amount||0)+Number(o.refund_original_shipping_amount||0)+Number(o.refund_total_amount||0),n=[`refund_no_return`,`refund_after_return`,`partial_refund`].includes(String(o.resolution_type||``).trim());Y(t>0||n),he(!!(o.return_required||o.replacement_required)),pe(!0)}else pe(!1)}catch(e){t||K(e.message)}finally{t||b(!1)}}return n(),()=>{t=!0}},[m,i,f]);async function Ie(){if(!(!g?.public_id||!j.trim())){z(!0),K(``);try{await a(`/admin/complaints/${encodeURIComponent(g.public_id)}/messages`,{method:`POST`,body:{body:j.trim()}}),ee(``);let e=await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}`);v(e)}catch(e){K(e.message)}finally{z(!1)}}}async function Q(){if(!(!g?.public_id||!I)&&!(!P.trim()&&!window.confirm(o(`ops.complaints.confirmUpdateWithoutNote`,{status:c(I)})))){V(!0),K(``);try{await a(`/admin/complaints/${encodeURIComponent(g.public_id)}/status`,{method:`POST`,body:{status:I,note:P.trim()||null}}),F(``);let e=await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}`);v(e),await Pe(w,E,{stepBackIfEmpty:!0})}catch(e){K(e.message)}finally{V(!1)}}}function Le(e,t){q(null),pe(!1),ge(n=>{let r=yo({...n,[e]:t},e);return e===`resolution_type`&&t===`rejected`&&Y(!1),r})}async function Re(){if(!g?.public_id){q({tone:`error`,key:`ops.complaintDecision.missingPublicId`});return}U(!0),q(null),K(``);try{await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}/resolution`,{method:`POST`,body:{...X,return_required:X.return_required===`yes`,replacement_required:X.replacement_required===`yes`,refund_item_amount_cents:Number(X.refund_item_amount||0),refund_original_shipping_cents:Number(X.refund_original_shipping_amount||0),refund_total_amount_cents:Number(X.refund_total_amount||0)}}),q({tone:`success`,key:`ops.complaintDecision.resolutionSaved`}),pe(!0),L(ye.status);let e=await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}`);v(e),await Pe(w,E,{stepBackIfEmpty:!0})}catch(e){q(e.message?{tone:`error`,message:e.message}:{tone:`error`,key:`ops.complaintDecision.saveFailed`})}finally{U(!1)}}async function ze(){if(!(!g?.public_id||Me||G)){ie(!0),K(``);try{let e=await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}/settlement`,{method:`POST`,body:{buyer_refund_amount_cents:De,seller_release_amount_cents:Oe,confirmation_text:W.confirmation_text,confirmation_note:W.confirmation_note.trim()}});v(e),await Pe(w,E,{stepBackIfEmpty:!0})}catch(e){K(e.message)}finally{ie(!1)}}}async function Be(){let e=g?.order_summary?.public_id||g?.order_public_id||g?.order_summary?.id||g?.order_id;if(!e){le({tone:`error`,key:`ops.transactionIssueRetry.missingOrderIdentifier`});return}se(!0),le(null),K(``);try{if(await a(`/admin/orders/${encodeURIComponent(e)}/shipment/retry-pickup`,{method:`POST`,body:{handoff_method:`pickup`}}),le({tone:`success`,key:`ops.transactionIssueRetry.requested`}),g?.public_id){let e=await a(`/admin/complaints/public/${encodeURIComponent(g.public_id)}`);v(e)}}catch(e){le(e.message?{tone:`error`,message:e.message}:{tone:`error`,key:`ops.transactionIssueRetry.failed`})}finally{se(!1)}}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-complaints`,dedicatedAdminHost:t,title:o(`ops.complaints.title`),onLoggedOut:n,authUser:r,children:[ue&&(0,Z.jsx)(`div`,{className:`admin-error ops-queue-notice`,role:`alert`,children:ue}),(0,Z.jsxs)(`div`,{className:`admin-card ops-queue-toolbar ops-filter-toolbar`,children:[(0,Z.jsx)(`label`,{htmlFor:`complaint-status-filter`,children:o(`ops.complaints.status`)}),(0,Z.jsxs)(`select`,{id:`complaint-status-filter`,value:w,onChange:async t=>{let n=t.target.value;T(n),D(1),h(null),v(null),e(`/admin/complaints`),await Pe(n,1)},children:[(0,Z.jsx)(`option`,{value:``,children:o(`ops.complaints.all`)}),Xa.map(e=>(0,Z.jsx)(`option`,{value:e,children:c(e)},e))]})]}),(0,Z.jsxs)(`div`,{className:`admin-complaints-layout ${m||i?`has-mobile-selection`:``}`,children:[(0,Z.jsxs)(`div`,{className:`admin-card admin-complaints-list-card`,children:[te&&(0,Z.jsx)(`div`,{children:o(`ops.complaints.loadingComplaints`)}),!te&&f.length===0&&(0,Z.jsx)(`div`,{className:`ops-queue-state admin-muted`,children:o(`ops.complaints.noComplaints`)}),!te&&f.map(t=>(0,Z.jsxs)(`button`,{onClick:()=>{let n=t.public_id||t.id;h(n||null),e(`/admin/complaints/${encodeURIComponent(n)}`)},"aria-pressed":(i||m)===t.public_id,className:`admin-complaint-list-item${(i||m)===t.public_id?` is-selected`:``}`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`o
9ps.complaints.complaint`),` `,t.public_id||`#${t.id}`]}),` · `,c(t.status)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaints.order`),` `,t.order_public_id||t.invoice_number||`#${t.order_id}`]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaints.buyer`),`: `,Oa(t.buyer_name)||Ea(t.buyer_email)||`user#${t.buyer_user_id}`]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaints.seller`),`: `,t.seller_name||`seller#${t.seller_id}`]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaints.reason`),`: `,t.reason_code?Qa(o,t.reason_code):t.complaint_reason||`-`]}),(0,Z.jsxs)(`div`,{style:{opacity:.8},children:[o(`ops.complaints.opened`),`: `,t.opened_at?mo(t.opened_at):`-`]})]},t.public_id||t.id)),(0,Z.jsxs)(`div`,{className:`admin-pagination-row`,"aria-label":o(`ops.complaints.paginationLabel`),children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:te||E<=1,onClick:()=>Fe(E-1),children:o(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:o(`ops.complaints.page`,{page:E})}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:te||!O,onClick:()=>Fe(E+1),children:o(`ops.common.next`)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-card admin-complaints-detail-card`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`admin-mobile-detail-back`,onClick:()=>{h(null),v(null),e(`/admin/complaints`)},children:[`â `,o(`common.back`)]}),y&&(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:10},children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,Z.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,fill:`none`,stroke:`#cbd5e1`,strokeWidth:`3`}),(0,Z.jsx)(`path`,{d:`M12 3a9 9 0 0 1 9 9`,fill:`none`,stroke:`#0f172a`,strokeWidth:`3`,strokeLinecap:`round`,children:(0,Z.jsx)(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 12 12`,to:`360 12 12`,dur:`0.9s`,repeatCount:`indefinite`})})]}),(0,Z.jsx)(`span`,{style:{color:`#334155`},children:o(`ops.complaints.loadingDetail`)})]}),(0,Z.jsx)(`div`,{style:{height:8,borderRadius:999,background:`repeating-linear-gradient(90deg, #e2e8f0, #e2e8f0 10px, #cbd5e1 10px, #cbd5e1 20px)`}})]}),!y&&!g&&!x&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:o(`ops.complaints.selectComplaint`)}),!y&&!g&&x&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:o(`ops.complaints.detailUnavailable`)}),!y&&g&&(0,Z.jsxs)(`div`,{className:`admin-complaint-detail-flow`,children:[(0,Z.jsxs)(`header`,{className:`admin-complaint-detail-header`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{children:o(`ops.complaints.titleWithInvoice`,{invoice:g.order_summary?.invoice_number||g.invoice_number||o(`ops.complaints.notProvided`)})}),(0,Z.jsx)(`span`,{className:`admin-status-badge`,children:c(g.status)})]}),(0,Z.jsxs)(`small`,{children:[o(`ops.complaints.complaintId`),`: `,g.public_id||g.id]})]}),(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.complaints.summaryTitle`)}),(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.status`)}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`span`,{className:`admin-status-badge`,children:c(g.status)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.order`)}),(0,Z.jsx)(`div`,{children:g.order_summary?.invoice_number||g.order_summary?.public_id||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.buyer`)}),(0,Z.jsx)(`div`,{children:g.buyer_name||g.buyer_email||g.buyer_summary?.name||g.buyer_summary?.email||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.seller`)}),(0,Z.jsx)(`div`,{children:g.seller_name||g.seller_summary?.name||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.reason`)}),(0,Z.jsx)(`div`,{children:g.reason_code?Qa(o,g.reason_code):g.complaint_reason||o(`ops.complaints.notProvided`)})]}),Ne&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.buyerDescription`)}),(0,Z.jsx)(`div`,{className:`admin-complaint-buyer-description`,children:Ne})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.total`)}),(0,Z.jsx)(`div`,{children:po(g.order_summary?.total||0)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.opened`)}),(0,Z.jsx)(`div`,{children:g.opened_at||g.created_at?mo(g.opened_at||g.created_at):o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.requestedResolution`)}),(0,Z.jsx)(`div`,{children:g.requested_resolution?$a(o,g.requested_resolution):o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.sellerProposedSolution`)}),(0,Z.jsx)(`div`,{children:g.seller_proposed_solution||g.proposed_resolution?$a(o,g.seller_proposed_solution||g.proposed_resolution):o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaints.finalResolution`)}),(0,Z.jsx)(`div`,{children:g.final_resolution?$a(o,g.final_resolution):o(`ops.complaints.notProvided`)})]})]})]}),(()=>{let e=g.shipment||{},t=g.current_shipment||e.current||null,n=Array.isArray(g.shipment_history)?g.shipment_history:Array.isArray(e.history)?e.history:[],r=String(t?.latest_normalized_status||t?.normalized_status||g.shipment_normalized_status||``).toLowerCase(),i=String(t?.latest_provider_status||t?.provider_status||g.shipment_provider_status||``),a=String(t?.provider||``).toLowerCase(),s=String(t?.courier_type||t?.shipment_type||``).toLowerCase(),c=[`instant`,`same_day`,`sameday`,`same-day`].includes(s),u=!!t?.can_retry_pickup&&r===`pickup_retry_available`&&a===`biteship`&&c,d=pa({currentShipment:t,normalizedStatus:r,canRetryPickup:u,provider:a,isInstantOrSameDay:c}),f=Number(t?.retry_attempt_count??t?.pickup_retry_attempt??0),p=Number(t?.manual_retry_max_attempts??t?.pickup_retry_max_attempts??0),m=Co(t,f);return(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.transactionIssueShipment.title`)}),!t&&(0,Z.jsx)(`p`,{style:{margin:0,color:`#64748b`},children:o(`ops.transactionIssueShipment.noShipment`)}),t&&(0,Z.jsxs)(`div`,{className:`admin-summary-grid`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.currentShippingState`)}),(0,Z.jsx)(`div`,{children:r?da(o,r):o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.providerStatus`)}),(0,Z.jsx)(`div`,{children:i||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.courierService`)}),(0,Z.jsx)(`div`,{children:[t.courier_company,t.courier_type||t.courier_service_name].filter(
9Boolean).join(` · `)||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.waybillTracking`)}),(0,Z.jsx)(`div`,{children:t.courier_waybill_id||t.provider_tracking_id||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.providerOrder`)}),(0,Z.jsx)(`div`,{children:t.provider_order_id||o(`ops.complaints.notProvided`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.retryAttempts`)}),(0,Z.jsx)(`div`,{children:p?o(`ops.transactionIssueShipment.attemptsOf`,{current:f,max:p}):f})]})]}),r===`pickup_retry_available`&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:o(`ops.transactionIssueShipment.pickupRetryAvailableHelp`)}),r===`pickup_retry_available`&&(0,Z.jsxs)(`div`,{style:{background:`#fffbeb`,border:`1px solid #fde68a`,borderRadius:8,padding:8,marginBottom:8},children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.automaticAttempts`)}),`: `,Number(t?.pickup_retry_auto_attempt_count??0),` / `,Number(t?.auto_retry_max_attempts??0)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.totalAttempts`)}),`: `,f,` / `,p]}),t?.pickup_retry_next_at&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.nextAutomaticRetry`)}),`: `,new Date(t.pickup_retry_next_at).toLocaleString()]}),t?.pickup_retry_last_error&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.transactionIssueShipment.latestRetryError`)}),`: `,t.pickup_retry_last_error]})]}),m&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:o(m)}),d&&(0,Z.jsx)(`p`,{style:{color:`#92400e`,marginBottom:8},children:o(d)}),ce&&!u&&(0,Z.jsx)(`div`,{style:{minHeight:20,color:`crimson`,fontSize:13},children:l(ce)}),u&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:Be,disabled:oe,children:o(oe?`ops.transactionIssueRetry.retrying`:`ops.transactionIssueRetry.retryPickup`)}
9),(0,Z.jsx)(`div`,{style:{minHeight:20,color:ce?.tone===`success`?`#166534`:`crimson`,fontSize:13},children:l(ce)||` `})]}),!!n.length&&(0,Z.jsxs)(`details`,{children:[(0,Z.jsx)(`summary`,{children:o(`ops.transactionIssueShipment.history`,{count:n.length})}),(0,Z.jsx)(`div`,{style:{display:`grid`,gap:4,marginTop:8,fontSize:13},children:n.slice(0,8).map((e,t)=>(0,Z.jsxs)(`div`,{children:[e.normalized_status?da(o,e.normalized_status):e.provider_status||o(`ops.transactionIssueShipment.statusFallback`),` · `,e.provider_status||o(`ops.transactionIssueShipment.providerStatusNotAvailable`),` · `,e.courier_waybill_id||o(`ops.transactionIssueShipment.noWaybill`),` · `,e.recorded_at?mo(e.recorded_at):`-`]},`${e.id||t}-${e.recorded_at||t}`))})]})]})})(),(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`},children:g.linked_support_thread_id?(0,Z.jsx)(`button`,{type:`button`,onClick:()=>e(`/admin/support?thread=${g.linked_support_thread_id}&complaint=${g.id}`),children:o(`ops.complaints.openLinkedSupportThread`,{id:g.linked_support_thread_id})}):(0,Z.jsx)(`span`,{style:{opacity:.7},children:o(`ops.complaints.noLinkedSupportThread`)})}),(()=>{let e=Array.isArray(g.messages)?g.messages:[],t={buyer:[],seller:[]};e.forEach(e=>{let n=d(e),r=Array.isArray(e.attachments)?e.attachments:[];(n===`buyer`||n===`seller`)&&t[n].push(...r)});let n=Array.isArray(g.evidence?.buyer)?g.evidence.buyer:t.buyer,r=Array.isArray(g.evidence?.seller)?g.evidence.seller:t.seller,i=(e=[])=>e.map((e,t)=>{let n=u(e.url||e.attachment_url||e.path||``),r=String(e.mime_type||e.content_type||``).toLowerCase().startsWith(`image/`)||/\.(jpg|jpeg|png|webp|gif)$/i.test(n);return n?r?(0,Z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,style:{display:`block`,width:96,textDecoration:`none`},children:(0,Z.jsx)(`div`,{style:{aspectRatio:`1 / 1`,width:`100%`,borderRadius:8,border:`1px solid #d9e4f0`,background:`#f8fafc`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,Z.jsx)(`img`,{src:n,alt:e.name||o(`ops.complaints.attachmentAlt`),style:{width:`100%`,height:`100%`,objectFit:`contain`}})})},`${n}-${t}`):(0,Z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,style:{fontSize:12},children:e.name||o(`ops.complaints.downloadAttachment`)},`${n}-${t}`):(0,Z.jsx)(`div`,{style:{fontSize:12,color:`#64748b`},children:o(`ops.complaints.attachmentUnavailable`)},`missing-${t}`)});return(0,Z.jsxs)(`div`,{className:`admin-card admin-subcard`,style:{display:`grid`,gap:10},children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.complaints.evidence`)}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaints.buyerEvidence`)})}),(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`},children:n.length?i(n):(0,Z.jsx)(`span`,{style:{color:`#64748b`,fontSize:13},children:o(`ops.complaints.noBuyerEvidence`)})}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaints.sellerEvidence`)})}),(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`},children:r.length?i(r):(0,Z.jsx)(`span`,{style:{color:`#64748b`,fontSize:13},children:o(`ops.complaints.noSellerEvidence`)})})]})})(),(0,Z.jsxs)(`section`,{className:`admin-card admin-subcard`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.complaints.conversation`)}),(0,Z.jsxs)(`div`,{style:{border:`1px solid #f0f0f0`,borderRadius:6,padding:8,maxHeight:140,overflow:`auto`,marginBottom:10},children:[(g.status_history||[]).length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:o(`ops.complaints.noStatusHistory`)}),(g.status_history||[]).map((e,t)=>(0,Z.jsxs)(`div`,{children:[c(e.status),` · `,e.at?mo(e.at):`-`,` `,e.note?`· ${e.note}`:``]},`${e.status||`status`}-${e.at||t}-${t}`))]}),(0,Z.jsx)(`div`,{style:{marginBottom:8,fontWeight:600},children:o(`ops.complaints.messages`)}),(0,Z.jsx)(`div`,{style:{border:`1px solid #f0f0f0`,borderRadius:6,padding:8,maxHeight:180,overflow:`auto`},children:(g.messages||[]).slice().sort((e,t)=>new Date(e.created_at)-new Date(t.created_at)).map((e,t)=>{let n=(g.attachments||[]).filter(t=>String(t.message_id||``)===String(e.id||``)),r=Array.isArray(e.attachments)?e.attachments:[],i=[...n,...r].filter(e=>e&&(e.url||e.attachment_url||e.path));return(0,Z.jsxs)(`div`,{className:`admin-complaint-message role-${[`buyer`,`seller`].includes(d(e))?d(e):`platform`}`,style:{marginBottom:10,border:`1px solid #e2e8f0`,borderRadius:8,padding:8},children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:`complaint-role-badge`,children:eo(o,d(e))}),` `,e.created_at?mo(e.created_at):`-`]}),(0,Z.jsx)(`div`,{style:{marginTop:4},children:e.body||`-`}),!!i.length&&(0,Z.jsx)(`div`,{style:{marginTop:6,display:`grid`,gridTemplateColumns:`repeat(auto-fill,minmax(96px,1fr))`,gap:8},children:i.map((e,t)=>{let n=u(e.url||e.attachment_url||e.path||``),r=String(e.mime_type||e.content_type||``).toLowerCase().startsWith(`image/`)||/\.(jpg|jpeg|png|webp|gif)$/i.test(n);return n?r?(0,Z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,style:{display:`block`,textDecoration:`none`},children:(0,Z.jsx)(`div`,{style:{aspectRatio:`1 / 1`,width:`100%`,borderRadius:8,border:`1px solid #d9e4f0`,background:`#f8fafc`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,Z.jsx)(`img`,{src:n,alt:e.name||o(`ops.complaints.attachmentAlt`),style:{width:`100%`,height:`100%`,objectFit:`contain`}})})},`${e.id||n}-${t}`):(0,Z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,style:{fontSize:12,color:`#2563eb`,textDecoration:`underline`},children:e.name||o(`ops.complaints.downloadAttachment`)},`${e.id||n}-${t}`):(0,Z.jsx)(`div`,{style:{fontSize:12,color:`#64748b`},children:o(`ops.complaints.attachmentUnavailable`)},`missing-${e.id||t}`)})})]},`${e.id||t}-${e.created_at||t}`)})})]}),(0,Z.jsx)(`section`,{className:`admin-card admin-subcard`,children:(0,Z.jsxs)(`div`,{className:`complaint-workflow-block`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.complaints.messages`)}),(0,Z.jsx)(`textarea`,{value:j,onChange:e=>ee(e.target.value),rows:3,placeholder:o(`ops.complaints.sendMessagePlaceholder`)}),(0,Z.jsx)(`button`,{onClick:Ie,disabled:R||!j.trim(),children:o(R?`ops.complaints.sending`:`ops.complaints.sendMessage`)})]})}),(()=>{let e=g.resolution||null,t=!!e?.return_required,n=String(e?.return_label_mode||``).toLowerCase(),r=String(e?.return_freight_payer||``).toLowerCase(),i=g.return_shipment||null;return i||t||n===`buyer_manual`?(0,Z.jsxs)(`div`,{style:{border:`1px solid #f0f
90f0`,borderRadius:8,padding:10,display:`grid`,gap:6},children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaintReturn.title`)})}),n===`buyer_manual`?(0,Z.jsx)(`div`,{children:o(`ops.complaintReturn.buyerManual`)}):null,i?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.status`),`: `,i.status?io(o,i.status):`-`]}):null,i?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.labelMode`),`: `,i.label_mode?ro(o,i.label_mode):`-`]}):null,r||i?.freight_payer?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.freightPayer`),`: `,no(o,r||i?.freight_payer)]}):null,i?.provider_waybill?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.waybill`),`: `,i.provider_waybill]}):null,i?.provider?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.provider`),`: `,i.provider]}):null,i?.freight_cost_cents==null?null:(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.freightCost`),`: `,po(i.freight_cost_cents)]}),(r||i?.freight_payer)===`seller`&&i?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.sellerDeduction`),`: `,i.charged_to_seller_at?o(`ops.complaintReturn.deducted`):i.status===`label_created`?o(`ops.complaintReturn.pendingDeduction`):`-`]}):null,i?.manual_courier_name?(0,Z.jsxs)(`div`,{children:[o(`ops.transactionIssueShipment.courierService`),`: `,i.manual_courier_name]}):null,i?.manual_tracking_number?(0,Z.jsxs)(`div`,{children:[o(`ops.complaintReturn.tracking`),`: `,i.manual_tracking_number]}):null,ae&&(0,Z.jsx)(`div`,{style:{color:`crimson`},children:ae})]}):null})(),(0,Z.jsxs)(`div`,{style:{border:`1px solid #d9e4f0`,borderRadius:12,padding:14,display:`grid`,gap:10,background:`#fff`},children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaintDecision.title`)})}),(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#475569`},children:o(`ops.complaintDecision.help`)}),(0,Z.jsxs)(`div`,{style:{border:`1px solid #cbd5e1`,borderRadius:10,background:`#f8fafc`,padding:12,display:`grid`,gap:6},children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(fe?`ops.complaintDecision.finalSaved`:`ops.complaintDecision.finalPreview`)})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.decision`),`:`]}),` `,$a(o,X.resolution_type)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.responsibility`),`:`]}),` `,to(o,X.fault_party)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.return`),`:`]}),` `,X.return_required===`yes`?o(`ops.complaintDecision.required`):o(`ops.complaintDecision.notRequired`)]}),X.return_required===`yes`&&X.fault_party===`seller`&&(0,Z.jsx)(`div`,{style:{fontSize:13},children:o(`ops.complaintDecision.previewSellerReturn`)}),X.return_required===`yes`&&X.fault_party===`buyer`&&(0,Z.jsx)(`div`,{style:{fontSize:13},children:o(`ops.complaintDecision.previewBuyerReturn`)}),X.return_required===`yes`&&[`logistics`,`tokodepan_goodwill`].includes(X.fault_party)&&(0,Z.jsx)(`div`,{style:{fontSize:13},children:o(`ops.complaintDecision.previewOpsReturn`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.replacement`),`:`]}),` `,X.replacement_required===`yes`?o(`ops.complaintDecision.sellerSendsReplacement`):o(`ops.complaintDecision.noReplacement`)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.refund`),`:`]}),` `,Ce?Number(X.refund_total_amount||0)>0?o(`ops.complaintDecision.totalRefundPreview`,{amount:Number(X.refund_total_amount||0).toLocaleString(`id-ID`)}):o(`ops.complaintDecision.noRefundAmount`):o(`ops.complaintDecision.noRefund`)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.buyerInstruction`),`:`]}),` `,X.buyer_instruction||`-`]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.sellerInstruction`),`:`]}),` `,X.seller_instruction||`-`]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.nextStep`),`:`]}),` `,X.resolution_type===`rejected`?o(`ops.complaintDecision.nextRejected`):X.return_required===`yes`&&X.fault_party===`buyer`?o(`ops.complaintDecision.nextBuyerTracking`):o(`ops.complaintDecision.nextSaveThenWait`)]})]}),(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`},children:[(0,Z.jsx)(`span`,{style:{fontSize:12,color:`#475569`,border:`1px solid #d9e4f0`,borderRadius:999,padding:`2px 8px`},children:$a(o,X.resolution_type)}),(0,Z.jsx)(`span`,{style:{fontSize:12,color:`#475569`,border:`1px solid #d9e4f0`,borderRadius:999,padding:`2px 8px`},children:to(o,X.fault_party)})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintDecision.stepOutcome`)}),(0,Z.jsx)(`select`,{value:_e,onChange:e=>Le(`resolution_type`,xo(e.target.value,X.return_required)),children:vo.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:s(e)},e.value))})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintDecision.stepReturn`)}),(0,Z.jsxs)(`select`,{value:X.return_required,onChange:e=>Le(`resolution_type`,xo(_e,e.target.value)),disabled:[`partial_refund`,`rejected`].includes(_e),children:[(0,Z.jsx)(`option`,{value:`no`,children:o(`ops.complaintDecision.noReturnRequired`)}),(0,Z.jsx)(`option`,{value:`yes`,children:o(`ops.complaintDecision.returnRequired`)})]})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintDecision.stepResponsibility`)}),(0,Z.jsx)(`select`,{value:X.fault_party,onChange:e=>Le(`fault_party`,e.target.value),children:ho.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:s(e)},e.value))})]}),X.fault_party===`seller`&&X.return_required===`yes`&&(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#334155`},children:o(`ops.complaintDecision.sellerReturnGuidance`)}),X.fault_party===`buyer`&&X.return_required===`yes`&&(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#334155`},children:o(`ops.complaintDecision.buyerReturnGuidance`)}),(X.fault_party===`logistics`||X.fault_party===`tokodepan_goodwill`)&&X.return_required===`yes`&&(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#334155`},children:o(`ops.complaintDecision.previewOpsReturn`)}),X.fault_party===`unclear`&&X.return_required===`yes`&&(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#334155`},children:o(`ops.complaintDecision.unclearReturnGuidance`)}),Ce&&(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:8,borderTop:`1px solid #eef2ff`,paddingTop:8},children:[(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6}
9,children:[o(`ops.complaintDecision.itemRefundAmount`),(0,Z.jsx)(`input`,{type:`number`,min:`0`,step:`100`,placeholder:o(`ops.complaintDecision.refundPlaceholder`),value:X.refund_item_amount,onChange:e=>Le(`refund_item_amount`,e.target.value)})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.originalShippingRefund`),(0,Z.jsx)(`input`,{type:`number`,min:`0`,step:`100`,placeholder:o(`ops.complaintDecision.refundPlaceholder`),value:X.refund_original_shipping_amount,onChange:e=>Le(`refund_original_shipping_amount`,e.target.value)})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.totalRefund`),(0,Z.jsx)(`input`,{type:`number`,min:`0`,step:`100`,placeholder:o(`ops.complaintDecision.refundPlaceholder`),value:X.refund_total_amount,onChange:e=>Le(`refund_total_amount`,e.target.value)})]}),X.fault_party===`seller`&&(0,Z.jsx)(`div`,{style:{fontSize:12,color:`#475569`},children:o(`ops.complaintDecision.sellerRefundSuggestion`)}),X.fault_party===`buyer`&&(0,Z.jsx)(`div`,{style:{fontSize:12,color:`#475569`},children:o(`ops.complaintDecision.buyerRefundSuggestion`)})]}),[`replacement_no_return`,`replacement_after_return`].includes(X.resolution_type)&&!J&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>Y(!0),style:{justifySelf:`start`},children:o(`ops.complaintDecision.showRefundAmounts`)}),(X.return_required===`yes`||X.replacement_required===`yes`||me)&&(0,Z.jsxs)(`details`,{onToggle:e=>he(e.currentTarget.open),children:[(0,Z.jsx)(`summary`,{style:{cursor:`pointer`,color:`#334155`},children:o(`ops.complaintDecision.advancedShipping`)}),(0,Z.jsx)(`div`,{style:{fontSize:12,color:`#64748b`,marginTop:6},children:o(`ops.complaintDecision.advancedHelp`)}),(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:8,marginTop:8},children:[(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.returnFreightPayer`),(0,Z.jsx)(`select`,{value:X.return_freight_payer,onChange:e=>Le(`return_freight_payer`,e.target.value),children:go.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:s(e)},e.value))})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.returnLabelMode`),(0,Z.jsx)(`select`,{value:X.return_label_mode,onChange:e=>Le(`return_label_mode`,e.target.value),children:_o.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:s(e)},e.value))})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.replacementFreightPayer`),(0,Z.jsx)(`select`,{value:X.replacement_freight_payer,onChange:e=>Le(`replacement_freight_payer`,e.target.value),children:go.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:s(e)},e.value))})]})]})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.internalOpsNote`),(0,Z.jsx)(`textarea`,{value:X.ops_note,onChange:e=>Le(`ops_note`,e.target.value),rows:2,style:{width:`100%`}})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.messageToBuyer`),(0,Z.jsx)(`textarea`,{value:X.buyer_instruction,onChange:e=>Le(`buyer_instruction`,e.target.value),rows:2,style:{width:`100%`}})]}),(0,Z.jsxs)(`label`,{style:{display:`grid`,gap:6},children:[o(`ops.complaintDecision.messageToSeller`),(0,Z.jsx)(`textarea`,{value:X.seller_instruction,onChange:e=>Le(`seller_instruction`,e.target.value),rows:2,style:{width:`100%`}})]}),(0,Z.jsx)(`div`,{style:{minHeight:22,color:de?.tone===`success`?`#166534`:`crimson`,fontSize:13},children:l(de)||` `}),(0,Z.jsxs)(`div`,{style:{borderTop:`1px solid #eef2ff`,paddingTop:8,fontSize:13,color:`#334155`,display:`grid`,gap:4},children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[o(`ops.complaintDecision.recommendedNextStatus`),`:`]}),` `,c(ye.status)]}),ye.warningKey?(0,Z.jsx)(`div`,{style:{color:`#92400e`},children:o(ye.warningKey)}):null]}),(0,Z.jsx)(`button`,{onClick:Re,disabled:H||!!g.settlement,children:o(H?`ops.complaintDecision.saving`:`ops.complaintDecision.save`)})]}),(0,Z.jsxs)(`div`,{style:{border:`1px solid #f59e0b`,borderRadius:12,padding:14,display:`grid`,gap:10,background:`#fffbeb`},children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaintSettlement.title`)})}),(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#92400e`},children:o(`ops.complaintSettlement.warning`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintSettlement.availablePaid`)}),`: `,po(Te)]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintSettlement.maxSellerRelease`)}),`: `,po(Ee)]}),(0,Z.jsx)(`p`,{style:{margin:0,fontSize:13,color:`#92400e`},children:o(`ops.complaintSettlement.maxSellerReleaseHelp`)}),!g.settlement&&Ae?(0,Z.jsx)(`div`,{style:{color:`#b45309`},children:o(`ops.complaintSettlement.blockingReasons.${Ae}`)}):null,g.settlement?(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:4},children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`b`,{children:o(`ops.complaintSettlement.confirmed`)})}
9),(0,Z.jsxs)(`div`,{children:[o(`ops.complaintSettlement.buyerRefund`),`: `,po(g.settlement.buyer_refund_amount_cents||0),` · `,o(`ops.complaintSettlement.refundStatus`),`: `,g.settlement.refund_status||`-`]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaintSettlement.sellerRelease`),`: `,po(g.settlement.seller_release_amount_cents||0)]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaintSettlement.actor`),`: #`,g.settlement.confirmed_by_admin_id||`-`,` · `,g.settlement.confirmed_at?mo(g.settlement.confirmed_at):`-`]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaintSettlement.note`),`: `,g.settlement.confirmation_note||`-`]})]}):(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,Z.jsxs)(`label`,{className:`complaint-settlement-field`,children:[o(`ops.complaintSettlement.buyerRefund`),(0,Z.jsx)(`input`,{inputMode:`numeric`,value:W.buyer_refund_amount_cents===``?``:Number(W.buyer_refund_amount_cents).toLocaleString(`id-ID`),onChange:e=>re(t=>({...t,buyer_refund_amount_cents:e.target.value.replace(/\D/g,``)}))})]}),(0,Z.jsxs)(`label`,{className:`complaint-settlement-field`,children:[o(`ops.complaintSettlement.sellerRelease`),(0,Z.jsx)(`input`,{inputMode:`numeric`,value:W.seller_release_amount_cents===``?``:Number(W.seller_release_amount_cents).toLocaleString(`id-ID`),onChange:e=>re(t=>({...t,seller_release_amount_cents:e.target.value.replace(/\D/g,``)}))})]}),(0,Z.jsxs)(`div`,{children:[o(`ops.complaintSettlement.remaining`),`: `,po(ke)]}),(0,Z.jsxs)(`label`,{children:[o(`ops.complaintSettlement.typeSettle`),(0,Z.jsx)(`input`,{value:W.confirmation_text,onChange:e=>re(t=>({...t,confirmation_text:e.target.value}))})]}),(0,Z.jsxs)(`label`,{className:`complaint-settlement-field full-width`,children:[o(`ops.complaintSettlement.noteRequired`),(0,Z.jsx)(`textarea`,{required:!0,rows:3,value:W.confirmation_note,onChange:e=>re(t=>({...t,confirmation_note:e.target.value}))})]}),(we?.warnings||[]).map(e=>(0,Z.jsxs)(`div`,{className:`complaint-settlement-warning`,children:[`â `,e.code===`manual_return_unverified`?o(`ops.complaintSettlement.warnings.${e.code}`):e.message||o(`ops.complaintSettlement.warning`)]},e.code)),(0,Z.jsxs)(`div`,{"aria-live":`polite`,children:[(0,Z.jsx)(`b`,{children:o(`ops.complaintSettlement.requirements`)}),(0,Z.jsx)(`ul`,{style:{margin:`6px 0`,paddingLeft:22},children:ao.map(e=>(0,Z.jsxs)(`li`,{style:{color:je.checks[e]?`#166534`:`#b91c1c`},children:[je.checks[e]?`â`:`â`,` `,e===`preview_blocked`&&!je.checks[e]&&Ae?o(`ops.complaintSettlement.blockingReasons.${Ae}`):o(`ops.complaintSettlement.validation.${e}`)]},e))})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:ze,disabled:Me||G,children:o(G?`ops.complaintSettlement.submitting`:`ops.complaintSettlement.confirm`)})]})]}),(0,Z.jsx)(`section`,{className:`admin-card admin-subcard`,children:(0,Z.jsxs)(`div`,{className:`complaint-workflow-block complaint-status-controls`,children:[(0,Z.jsx)(`div`,{className:`admin-section-title`,children:o(`ops.complaints.workflowTitle`)}),(0,Z.jsx)(`p`,{className:`complaint-workflow-help`,children:o(`ops.complaints.workflowHelp`)}),(0,Z.jsxs)(`label`,{children:[o(`ops.complaints.status`),(0,Z.jsx)(`select`,{value:I,onChange:e=>L(e.target.value),children:Xa.map(e=>(0,Z.jsx)(`option`,{value:e,children:c(e)},e))})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>L(ye.status),disabled:!be||!!g.settlement,children:o(`ops.complaints.applyRecommendedStatus`)}),(0,Z.jsx)(`textarea`,{value:P,onChange:e=>F(e.target.value),rows:2,placeholder:o(`ops.complaints.optionalStatusNote`)}),(0,Z.jsx)(`p`,{className:`complaint-status-help`,children:o(`ops.complaints.statusOnlyHelp`)}),(0,Z.jsx)(`button`,{onClick:Q,disabled:B||!!g.settlement,children:o(B?`ops.complaints.updating`:`ops.complaints.updateStatus`)})]})})]})]})]})]})}function To(e){let t=e?.latest_message?.body;return typeof t==`string`&&t.trim().length>0}function Eo(e){return(e||[]).filter(To)}function Do(e){return String(e||``).trim().length>=2}function Oo(e,t){let n=n=>e(`${t}.${n}`);return{attachment:n(`attachment`),openImageAttachment:n(`openImageAttachment`),invoiceOrder:n(`invoiceOrder`),status:n(`status`),total:n(`total`),viewOrder:n(`viewOrder`),sellerProduct:n(`sellerProduct`),product:n(`product`),price:n(`price`),productLinkUnavailable:n(`productLinkUnavailable`),openProductDetail:n(`openProductDetail`),viewProduct:n(`viewProduct`),imageViewer:n(`imageViewer`),closeImageViewer:n(`closeImageViewer`),reset:n(`reset`)}}var ko=`admin_support_thread_last_read_at_v1`,Ao=15e3,jo=3e4,Mo=96,No=new Intl.NumberFormat(`id-ID`,{style:`currency`,currency:`IDR`,maximumFractionDigits:0});function Po({title:e,query:t,onQueryChange:n,onSearch:r,loading:i,items:a,empty:o,offset:s,total:c,hasMore:l,onPrevious:u,onNext:d,onClose:f,renderItem:p,t:m}){let{currentPage:h,totalPages:g}=qn({offset:s,limit:10,total:c});return(0,Z.jsx)(`div`,{className:`attachment-picker-modal`,role:`dialog`,"aria-modal":`true`,children:(0,Z.jsxs)(`div`,{className:`attachment-picker-panel`,children:[(0,Z.jsxs)(`div`,{className:`attachment-picker-head`,children:[(0,Z.jsx)(`h3`,{children:e}),(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-close-x`,onClick:f,"aria-label":m(`ops.supportAttachments.close`),children:`â`})]}),(0,Z.jsxs)(`form`,{className:`attachment-picker-search`,onSubmit:r,children:[(0,Z.jsx)(`span`,{children:m(`ops.supportAttachments.search`)}),(0,Z.jsxs)(`span`,{className:`attachment-picker-search-row`,children:[(0,Z.jsx)(`input`,{value:t,onChange:n,placeholder:m(`ops.supportAttachments.searchPlaceholder`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`attachment-picker-search-btn`,disabled:i,"aria-label":m(`ops.supportAttachments.searchAttachments`),title:m(`ops.supportAttachments.searchAttachments`),children:(0,Z.jsx)(En,{})})]})]}),(0,Z.jsx)(`div`,{className:`attachment-picker-list`,children:i?(0,Z.jsx)(`p`,{className:`attachment-picker-state attachment-picker-loading`,children:m(`ops.supportAttachments.loading`)}):a.length?a.map(p):(0,Z.jsx)(`p`,{className:`attachment-picker-state attachment-picker-empty`,children:o})}),(0,Z.jsxs)(`div`,{className:`attachment-picker-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-nav-btn`,disabled:s<=0||i,onClick:u,children:m(`ops.supportAttachments.previous`)}),(0,Z.jsx)(`span`,{className:`attachment-picker-page-text`,children:m(`ops.supportAttachments.pageOf`,{page:h,total:g})}),(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-nav-btn`,disabled:!l||i,onClick:d,children:m(`ops.supportAttachments.next`)})]})]})})}function Fo({item:e,product:t=!1,onClick:n}){let r=e.thumbnail_url||e.image_url||``;return(0,Z.jsxs)(`button`,{type:`button`,className:`attachment-picker-row`,onClick:n,children:[r?(0,Z.jsx)(`img`,{className:`attachment-picker-thumb`,src:r,alt:``}):(0,Z.jsx)(`span`,{className:`attachment-picker-icon`,"aria-hidden":!0,
9children:t?`ð¦`:`ð§¾`}),(0,Z.jsxs)(`span`,{className:`attachment-picker-row-main`,children:[(0,Z.jsx)(`strong`,{children:t?e.title:e.invoice_number||e.order_public_id}),(0,Z.jsx)(`span`,{className:`attachment-picker-row-meta`,children:No.format(Number(t?e.price_cents:e.total_cents)||0)})]}),(0,Z.jsxs)(`span`,{className:`attachment-picker-row-side`,children:[!t&&(0,Z.jsx)(`span`,{className:`attachment-picker-badge`,children:e.status}),t&&(0,Z.jsx)(`span`,{children:e.stock_qty??`-`})]})]})}function Io(e){return Number(e?.id||e?.message_id||e?.messageId||0)||0}function Lo(e){let t=e?.created_at||e?.sent_at||e?.updated_at||``,n=Date.parse(t);return Number.isFinite(n)?n:0}function Ro(e=[]){return[...Array.isArray(e)?e:[]].sort((e,t)=>Lo(e)-Lo(t)||Io(e)-Io(t))}function zo(e,t){return Ro($n(e||[],t))}function Bo(e,t){return(Array.isArray(t)?t:[]).reduce(zo,e||[])}function Vo(e){return(Array.isArray(e)?e:[]).reduce((e,t)=>Math.max(e,Io(t)),0)}function Ho(e){return[...e].sort((e,t)=>Date.parse(t?.updated_at||0)-Date.parse(e?.updated_at||0)||Number(t?.id||0)-Number(e?.id||0))}function Uo(e,t,{replace:n=!1}={}){let r=new Map;return n||(e||[]).forEach(e=>r.set(e.id,e)),(t||[]).forEach(e=>{let t=r.get(e.id);r.set(e.id,t&&e.unread==null?{...t,...e,unread:t.unread}:{...t,...e})}),Ho([...r.values()])}function Wo(e){return Number(e?.thread_id||e?.thread?.id||e?.thread?.thread_id||e?.message?.thread_id||e?.message?.thread?.id||0)||null}function Go(e){return e?.thread_public_id||e?.thread?.public_id||e?.thread?.publicId||e?.message?.thread_public_id||e?.message?.threadPublicId||e?.message?.thread?.public_id||e?.message?.thread?.publicId||``}function Ko(e){return[`message_created`,`thread_updated`].includes(e?.type)}function qo(e){let t=String(e?.support_status||`open`).trim().toLowerCase();return[`open`,`waiting_customer`,`resolved`,`closed`].includes(t)?t:`open`}function Jo(e){return String(e||`open`).trim().replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Yo(e,t){let n={open:`ops.supportStatus.open`,waiting_customer:`ops.supportStatus.waitingCustomer`,resolved:`ops.supportStatus.resolved`,closed:`ops.supportStatus.closed`}[String(t||`open`)];return n?e(n):Jo(t)}function Xo(e,t){return{buyer:e(`ops.support.participantRoles.buyer`),seller:e(`ops.support.participantRoles.seller`)}[String(t||``).trim().toLowerCase()]||e(`ops.support.participantRoles.unknown`)}function Zo(e,t){return String(t||``).startsWith(`ops.`)?e(t):t}function Qo(){try{return JSON.parse(window.localStorage.getItem(ko)||`{}`)}catch{return{}}}function $o(e,t=new Date().toISOString()){if(!e)return;let n=Qo();n[String(e)]=t,window.localStorage.setItem(ko,JSON.stringify(n))}function es({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let a=Rr(),o=(0,_.useMemo)(()=>{let e=new URLSearchParams(window.location.search);return{threadId:Number(e.get(`thread`)||0)||null,complaintId:Number(e.get(`complaint`)||0)||null,refundId:e.get(`refund`)||null}},[]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(o.threadId),[d,f]=(0,_.useState)({}),[p,m]=(0,_.useState)({}),[h,g]=(0,_.useState)(0),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)([]),[S,C]=(0,_.useState)(``),[w,T]=(0,_.useState)(!1),[E,D]=(0,_.useState)(null),[O,k]=(0,_.useState)(null),[A,j]=(0,_.useState)(null),[M,N]=(0,_.useState)(``),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(0),[L,te]=(0,_.useState)([]),[ne,z]=(0,_.useState)(0),[B,V]=(0,_.useState)(!1),[H,U]=(0,_.useState)(!1),[W,re]=(0,_.useState)(!0),[G,ie]=(0,_.useState)(!1),[ae,oe]=(0,_.useState)(!1),[se,ce]=(0,_.useState)(``),[le,ue]=(0,_.useState)(``),[K,de]=(0,_.useState)(``),[q,fe]=(0,_.useState)(!1),[pe,me]=(0,_.useState)(!1),he=(0,_.useRef)(0),J=(0,_.useRef)(0),Y=(0,_.useRef)(0),X=(0,_.useRef)(0),ge=(0,_.useRef)(``),_e=(0,_.useRef)(new Map),ve=(0,_.useRef)(new Set),ye=(0,_.useRef)(null),be=(0,_.useRef)(null),xe=(0,_.useRef)(null),Se=(0,_.useRef)(l),Ce=(0,_.useRef)(``),we=(0,_.useRef)(d),Te=(0,_.useRef)(null),Ee=(0,_.useRef)(null),De=(0,_.useRef)(!0),[Oe,ke]=(0,_.useState)(!!o.threadId),[Ae,je]=(0,_.useState)(!1),Me=(0,_.useMemo)(()=>s.find(e=>e.id===l)||null,[s,l]),Ne=d[l]||[],Pe=p[l]||{},Fe=qo(Me);(0,_.useEffect)(()=>{Se.current=l,Ce.current=Me?.public_id||``},[l,Me]),(0,_.useEffect)(()=>{we.current=d},[d]);function Ie(){let e=Ee.current;return!e||e.scrollHeight-e.scrollTop-e.clientHeight<=Mo}function Q({force:e=!1}={}){if(!e&&!De.current)return;let t=()=>Te.current?.scrollIntoView({block:`end`});window.requestAnimationFrame?.(()=>{t(),window.setTimeout(t,80),window.setTimeout(t,240)})}function Le(){De.current=Ie()}(0,_.useEffect)(()=>{De.current=!0,Q({force:!0})},[l]),(0,_.useLayoutEffect)(()=>{let e=ye.current;if(e?.threadId===l&&Ee.current){let t=Ee.current;t.scrollTop=e.scrollTop+(t.scrollHeight-e.scrollHeight),ye.current=null;return}Q({force:!1})},[l,Ne.length,h]);function Re(e){let t=Se.current;if(!t)return;let n=Io((Array.isArray(e)?e:[]).find(e=>e.id===t)?.latest_message);n&&n>Vo(we.current?.[t])&&xe.current?.(t,!0)}async function ze(e=!0,{showLoading:t=!0,query:n=ge.current,offset:r=0,append:a=!1,preserveLoaded:s=!1,generation:l=he.current}={}){t&&re(!0),a&&me(!0),ce(``);let d=++Y.current;!a&&r===0&&(J.current=d);try{let t=await i(`/admin/support/threads?${new URLSearchParams({q:n,limit:`50`,offset:String(r)}).toString()}`);if(!e||l!==he.current||n!==ge.current||!a&&r===0&&d!==J.current)return null;let f=Array.isArray(t)?t:Array.isArray(t?.items)?t.items:[],p=Eo(f);c(e=>{if(s&&!a){let t=new Set(e.map(e=>e.id));X.current+=f.filter(e=>!t.has(e.id)).length}return Uo(e,p,{replace:!a&&!s})}),a?X.current=r+f.length:s||(X.current=f.length),(!s||a)&&fe(f.length===50),Re(p);let m=Se.current;if(m&&(p.some(e=>e.id===m)||s||a))return t;if(o.threadId&&p.some(e=>e.id===o.threadId))u(o.threadId);else if(o.threadId&&!a&&r===0&&!n){let t=await i(`/admin/support/threads/${o.threadId}`);if(!e||l!==he.current)return null;t?.id&&(c(e=>Uo(e,[t])),u(t.id))}else!o.threadId&&p[0]?.id&&u(p[0].id)}catch(t){if(!e)return;ce(t?.message||`ops.support.errors.loadInbox`)}finally{e&&re(!1),e&&a&&me(!1)}return null}async function Be(){await ze(!0,{showLoading:!1,query:K,append:!0,offset:X.current})}function Ve(e){e.preventDefault();let t=le.trim(),n=++he.current;ge.current=t,de(t),X.current=0,ze(!0,{query:t,offset:0,generation:n})}function He(){let e=ge.current,t=e===``,n=t?he.current:++he.current;return be.current?.(!0,{showLoading:!1,query:e,preserveLoaded:t,generation:n})}async function Ue(e,t=!0){if(!e)return null;try{let n=String(e),r=_e.current.get(n)||i(`/admin/support/threads/${e}/messages?limit=50&offset=0`).finally(()=>_e.current.delete(n));_e.current.set(n,r);let a=await r;return t?(f(t=>{let n=Object.prototype.hasOwnProperty.call(t,e)?Bo(t[e],a):Ro(a||[]);return{...t,[e]:n}}),m(t=>Object.prototype.hasOwnProperty.call(t,e)?t:{...t,[e]:{hasOlder:(a||[]).length===50,nextOffset:(a||[]).length,loading:!1}}),$o(e),c(t=>t.map(t=>
9t.id===e?{...t,unread:0}:t)),a):null}catch(e){return t&&ce(e?.message||`ops.support.errors.loadConversation`),null}}async function We(e){if(!e||ve.current.has(e))return;let t=p[e];if(!t?.hasOlder)return;ve.current.add(e),m(t=>({...t,[e]:{...t[e],loading:!0}})),ce(``);let n=Se.current===e?Ee.current:null,r=n?{threadId:e,scrollHeight:n.scrollHeight,scrollTop:n.scrollTop}:null;try{let n=t.nextOffset,a=await i(`/admin/support/threads/${e}/messages?limit=50&offset=${n}`);r&&Se.current===e&&(ye.current=r),f(t=>({...t,[e]:Bo(t[e],a)})),r&&Se.current===e&&g(e=>e+1),m(t=>({...t,[e]:{hasOlder:(a||[]).length===50,nextOffset:n+(a||[]).length,loading:!1}}))}catch(t){ce(t?.message||`ops.support.errors.loadOlderMessages`),m(t=>({...t,[e]:{...t[e],loading:!1}}))}finally{ve.current.delete(e)}}be.current=ze,xe.current=Ue,(0,_.useEffect)(()=>{let e=!0;return ze(e),()=>{e=!1}},[]),(0,_.useEffect)(()=>{if(!o.refundId)return;let e=!0;return(async()=>{try{ce(``);let n=await i(`/admin/refund-requests/${encodeURIComponent(o.refundId)}/buyer-support-thread`,{method:`POST`});if(!e||!n?.thread_id)return;u(Number(n.thread_id)),ke(!0);let r=t?`/support`:`/admin/support`;window.history.replaceState(null,``,`${r}?thread=${encodeURIComponent(n.thread_id)}`),await be.current?.(e,{showLoading:!1})}catch(t){e&&ce(t?.message||`ops.support.errors.resolveRefund`)}})(),()=>{e=!1}},[i,t,o.refundId]),(0,_.useEffect)(()=>{if(!l)return;let e=!0;return Ue(l,e),()=>{e=!1}},[l]);function $(e){let t=Se.current;if(!t)return!1;let n=Ce.current,r=Go(e),i=Wo(e);return!!(r&&String(n)===String(r)||i&&Number(t)===Number(i))}function Ge(e){let t=Se.current,n=e?.message;if(!t||!n||!Io(n)||!$(e))return!1;let r=n?.created_at||n?.updated_at||new Date().toISOString();return f(e=>{let r={...e,[t]:zo(e[t]||[],n)};return we.current=r,r}),$o(t),c(e=>Ho(e.map(e=>e.id===t?{...e,updated_at:r,latest_message:n,unread:0}:e))),!0}(0,_.useEffect)(()=>qt(e=>{try{let t=JSON.parse(e.data||`{}`);if(!Ko(t))return;let n=Se.current,r=$(t),i=r&&Ge(t);He(),r&&!i&&xe.current?.(n)}catch{}},{surface:`admin`}),[]),(0,_.useEffect)(()=>{let e=window.setInterval(()=>{if(document.visibilityState!==`visible`)return;let e=Gt(`admin`),t=e.lastEventAt>0&&Date.now()-e.lastEventAt<jo;e.status===`open`&&t||He()},Ao);return()=>window.clearInterval(e)},[]);async function Ke(e){e.preventDefault();let t=v.trim();if(!(!l||!t&&b.length===0&&!E&&!O)){ie(!0),ce(``);try{let e=await i(`/admin/support/threads/${l}/messages`,{method:`POST`,body:{body:t,attachments:[...b.map(e=>({type:`image`,name:e.name,url:e.url})),...E?[{type:`invoice_order`,name:`Invoice / Order`,order_public_id:E.order_public_id}]:[],...O?[{type:`seller_product`,name:`Seller Product`,product_public_id:O.product_public_id,product_id:O.product_id,seller_slug:O.seller_slug,slug:O.slug}]:[]]}}),n=e?.created_at||new Date().toISOString();f(t=>({...t,[l]:zo(t[l]||[],e)})),c(t=>Uo(t,t.map(t=>t.id===l?{...t,updated_at:n,latest_message:e,unread:0}:t),{replace:!0})),y(``),x([]),D(null),k(null),C(``),ge.current&&He()}catch(e){ce(e?.message||`ops.support.errors.sendReply`)}finally{ie(!1)}}}async function qe(e){if(!(!l||ae)){oe(!0),ce(``);try{let t=await i(`/admin/support/threads/${l}/status`,{method:`PATCH`,body:{status:e}});c(e=>Uo(e,[{...t,unread:e.find(e=>e.id===l)?.unread||0}])),ge.current&&He()}catch(e){ce(e?.message||`ops.support.errors.updateStatus`)}finally{oe(!1)}}}async function Je(e){if(e.length){T(!0),C(``);try{let t=await Promise.all(e.map(async e=>Jt(await(await R(`/message-attachments/upload`,{method:`POST`,headers:{"Content-Type":e?.type||`application/octet-stream`},body:e})).json(),e))),n=t.filter(e=>e.url);if(n.length!==t.length)throw Error(`ops.support.errors.missingAttachmentUrl`);x(e=>[...e,...n])}catch{C(`ops.supportComposer.attachFailed`)}finally{T(!1)}}}async function Ye(e,t=``,n=0){if(l){U(!0);try{let r=new URLSearchParams({q:t,limit:`10`,offset:String(n)}),a=await i(`/admin/support/threads/${l}/attachable-${e}?${r.toString()}`);te(Array.isArray(a?.items)?a.items:[]),z(Number(a?.total)||0),V(!!a?.has_more)}catch(e){te([]),z(0),V(!1),ce(e?.message||`ops.supportAttachments.loadFailed`)}finally{U(!1)}}}async function Xe(e){j(e),N(``),P(``),I(0),await Ye(e,``,0)}let Ze=!!(Me?.order_id||Me?.linked_complaint_id);return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-support`,dedicatedAdminHost:t,title:a(`ops.support.title`),onLoggedOut:n,authUser:r,children:[se&&(0,Z.jsx)(`div`,{className:`ops-support-notice ops-support-notice--error`,role:`alert`,children:Zo(a,se)}),(0,Z.jsxs)(`div`,{className:`inbox-page admin-support-inbox ${Oe?`mobile-conversation-open`:`mobile-thread-list-open`}`,children:[(0,Z.jsxs)(`aside`,{className:`inbox-sidebar`,children:[(0,Z.jsx)(`h3`,{className:`inbox-sidebar-title`,children:a(`ops.support.threads`)}),(0,Z.jsxs)(`form`,{className:`inbox-search-box`,onSubmit:Ve,children:[(0,Z.jsx)(`input`,{"aria-label":a(`ops.support.searchPlaceholder`),value:le,onChange:e=>ue(e.target.value),placeholder:a(`ops.support.searchPlaceholder`)}),(0,Z.jsx)(`button`,{className:`inbox-search-submit`,type:`submit`,"aria-label":a(`ops.common.search`),title:a(`ops.common.search`),children:(0,Z.jsx)(En,{})})]}),W&&(0,Z.jsx)(Nt,{label:a(`ops.support.loading`)}),!W&&s.length===0&&(0,Z.jsx)(`p`,{children:a(`ops.support.emptyChats`)}),(0,Z.jsxs)(`div`,{className:`conversation-list`,role:`list`,children:[s.map(e=>(0,Z.jsxs)(`button`,{className:`conversation-item ${e.id===l?`is-active`:``}`,"aria-current":e.id===l?`true`:void 0,onClick:()=>{u(e.id),je(!1),ke(!0)},children:[(0,Z.jsx)(`div`,{className:`avatar-pill`,children:(e?.participant?.name||`U`).charAt(0).toUpperCase()}),(0,Z.jsxs)(`div`,{className:`conversation-item-main`,children:[(0,Z.jsxs)(`div`,{className:`conversation-top-line`,children:[(0,Z.jsx)(`strong`,{children:e?.participant?.name||a(`ops.support.unknownParticipant`)}),(0,Z.jsx)(`time`,{children:Kn(e?.latest_message?.created_at||e?.updated_at)})]}),(0,Z.jsxs)(`div`,{className:`conversation-context-line`,children:[(0,Z.jsx)(`span`,{children:Xo(a,e?.participant?.role)}),(0,Z.jsx)(`span`,{className:`support-status-badge support-status-${qo(e)}`,children:Yo(a,qo(e))})]}),(0,Z.jsx)(`p`,{children:e?.latest_message?.body||a(`ops.support.noMessages`)})]}),e.unread>0&&(0,Z.jsx)(`span`,{className:`unread-pill`,"aria-label":a(`ops.support.unreadCount`,{count:e.unread}),children:e.unread})]},e.id)),q&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-support-load-more`,disabled:pe,onClick:Be,children:a(pe?`ops.common.loading`:`ops.common.loadMore`)})]})]}),(0,Z.jsxs)(`section`,{className:`inbox-thread open`,children:[!Me&&(0,Z.jsx)(`div`,{className:`thread-empty-state`,children:(0,Z.jsx)(`p`,{children:a(`ops.support.selectThread`)})}),Me&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`thread-header admin-support-thread-header`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`admin-support-mobile-back`,onClick:()=>{je(!1),ke(!1)},"aria-label":a(`common.back`),children:[(0,Z.jsx)(jn,{size:18}),(0,Z.jsx)(`span`,{children:a(`common.back`)})]}),(0,Z.jsx)(`div`,{className:`avatar-pill admin-support-thread-avatar`,children:(Me?.participant?.name||`U`).charAt(0).toUpperCase()}),(0,Z.jsxs)(`div`,{className:`admin-support-thread-title`,children:[(0,Z.jsxs)(`div`,{className:`admin-support-mobile-primary-row`,children:[(0,Z.jsx)(`h2`,{children:Me?.participant?.name||a(`ops.support.unknownRequester`)}),(0,Z.jsx)(`span`,{className:`support-status-badge support-status-${Fe}`,children:Yo(a,Fe)})]}),(0,Z.jsxs)(`p`,{className:`admin-support-thread-meta`,children:[Me?.participant?.role===`seller`?a(`ops.support.sellerRequest`):a(`ops.support.buyerRequest`),Me?.order_id?` · ${a(`ops.support.linkedOrder`)} #${Me.order_id}${Me?.invoice_number?` · ${Me.invoice_number}`:``}`:` · ${a(`ops.support.noLinkedOrder`)}`]})]}),Ze&&(0,Z.jsxs)(`button`,{type:`button`,className:`admin-support-mobile-actions-toggle`,"aria-expanded":Ae,"aria-controls":`admin-support-mobile-actions-panel`,onClick:()=>je(e=>!e),children:[(0,Z.jsx)(Mn,{size:18}),(0,Z.jsx)(`span`,{children:a(`ops.support.actions`)})]}),(0,Z.jsxs)(`label`,{className:`admin-support-status-select admin-support-status-select-mobile`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:a(`ops.support.statusAriaLabel`)}),(0,Z.jsxs)(`select`,{"aria-label":a(`ops.support.statusAriaLabel`),value:Fe,onCh
9ange:e=>qe(e.target.value),disabled:ae,children:[(0,Z.jsx)(`option`,{value:`open`,children:Yo(a,`open`)}),(0,Z.jsx)(`option`,{value:`waiting_customer`,children:Yo(a,`waiting_customer`)}),(0,Z.jsx)(`option`,{value:`resolved`,children:Yo(a,`resolved`)}),(0,Z.jsx)(`option`,{value:`closed`,children:Yo(a,`closed`)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-support-thread-actions admin-support-thread-actions-desktop`,children:[(0,Z.jsxs)(`label`,{className:`admin-support-status-select`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:a(`ops.support.statusAriaLabel`)}),(0,Z.jsxs)(`select`,{"aria-label":a(`ops.support.statusAriaLabel`),value:Fe,onChange:e=>qe(e.target.value),disabled:ae,children:[(0,Z.jsx)(`option`,{value:`open`,children:Yo(a,`open`)}),(0,Z.jsx)(`option`,{value:`waiting_customer`,children:Yo(a,`waiting_customer`)}),(0,Z.jsx)(`option`,{value:`resolved`,children:Yo(a,`resolved`)}),(0,Z.jsx)(`option`,{value:`closed`,children:Yo(a,`closed`)})]})]}),Me?.order_id&&(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>{je(!1),e(`/admin/complaints?order_id=${Me.order_id}`)},children:a(`ops.support.viewOrderComplaints`)}),Me?.linked_complaint_id&&(0,Z.jsxs)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>{je(!1),e(`/admin/complaints?complaint=${Me.linked_complaint_id}`)},children:[a(`ops.support.openComplaint`),` #`,Me.linked_complaint_id]})]}),Ze&&Ae&&(0,Z.jsx)(`div`,{id:`admin-support-mobile-actions-panel`,className:`admin-support-mobile-actions-panel`,children:(0,Z.jsxs)(`div`,{className:`admin-support-thread-actions admin-support-thread-actions-mobile`,children:[Me?.order_id&&(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>{je(!1),e(`/admin/complaints?order_id=${Me.order_id}`)},children:a(`ops.support.viewOrderComplaints`)}),Me?.linked_complaint_id&&(0,Z.jsxs)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>{je(!1),e(`/admin/complaints?complaint=${Me.linked_complaint_id}`)},children:[a(`ops.support.openComplaint`),` #`,Me.linked_complaint_id]})]})})]}),(0,Z.jsxs)(`div`,{className:`thread-messages`,ref:Ee,onScroll:Le,children:[Pe.hasOlder&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-support-load-older`,disabled:Pe.loading,onClick:()=>We(l),children:Pe.loading?a(`ops.support.loadingOlderMessages`):a(`ops.support.loadOlderMessages`)}),Ne.length===0?(0,Z.jsx)(`div`,{className:`thread-empty-state`,children:(0,Z.jsx)(`p`,{children:a(`ops.support.noMessages`)})}):Ne.map(e=>(0,Z.jsx)(`article`,{className:`message-row ${e.sender_role===`admin`?`mine`:`their`}`,children:(0,Z.jsxs)(`div`,{className:`message-bubble`,children:[!!e.body&&(0,Z.jsx)(`p`,{children:e.body}),!!e.attachments?.length&&(0,Z.jsx)(ur,{attachments:Jn(e.attachments),labels:Oo(a,`ops.chatAttachmentViewer`),onLoad:()=>Q({force:!1}),onOpenProduct:e=>{let t=nr(e?.seller_slug,e?.slug);t&&window.open(t,`_blank`,`noopener,noreferrer`)}}),(0,Z.jsx)(`time`,{children:Kn(e.created_at)})]})},`admin-support-${e.id}`)),(0,Z.jsx)(`div`,{ref:Te,"aria-hidden":`true`})]}),(0,Z.jsxs)(pr,{value:v,onChange:y,onSubmit:Ke,attachments:b,onAttachFiles:Je,onRemoveAttachment:e=>{x(t=>t.filter(t=>t.id!==e))},placeholder:a(`ops.supportComposer.placeholder`),canSend:(v.trim().length>0||b.length>0||!!E||!!O)&&!G&&!w,sending:G,attachmentStatus:w?a(`ops.supportComposer.uploadingImage`):``,attachmentError:Zo(a,S),sendLabel:a(`ops.supportComposer.send`),sendingLabel:a(`ops.supportComposer.sending`),attachmentButtonLabel:a(`ops.supportComposer.attachImage`),attachmentMenuImageLabel:a(`ops.supportComposer.imageMenuLabel`),attachmentMenuOptions:[{label:a(`ops.supportComposer.invoiceOrder`),onClick:()=>Xe(`orders`)},{label:a(`ops.supportComposer.product`),onClick:()=>Xe(`products`)}],removeAttachmentLabel:e=>a(`ops.supportComposer.removeAttachment`,{name:e}),children:[E&&(0,Z.jsxs)(`div`,{className:`composer-chip composer-chip-attachment`,children:[(0,Z.jsx)(`span`,{className:`composer-chip-label`,children:a(`ops.supportComposer.invoiceOrder`)}),(0,Z.jsx)(`span`,{className:`composer-chip-value`,children:E.invoice_number||E.order_public_id}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":a(`ops.supportComposer.removeAttachment`,{name:E.invoice_number}),onClick:()=>D(null),children:`Ã`})]}),O&&(0,Z.jsxs)(`div`,{className:`composer-chip composer-chip-attachment`,children:[(0,Z.jsx)(`span`,{className:`composer-chip-label`,children:a(`ops.supportComposer.product`)}),(0,Z.jsx)(`span`,{className:`composer-chip-value`,children:O.title||O.product_public_id}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":a(`ops.supportComposer.removeAttachment`,{name:O.title}),onClick:()=>k(null),children:`Ã`})]})]}),A&&(0,Z.jsx)(Po,{t:a,title:a(A===`orders`?`ops.supportAttachments.chooseInvoice`:`ops.supportAttachments.chooseProduct`),query:M,onQueryChange:e=>N(e.target.value),onSearch:e=>{if(e.preventDefault(),H)return;let t=M.trim();
9(t!==ee||F!==0)&&(P(t),I(0),Ye(A,t,0))},loading:H,items:L,empty:a(A===`orders`?`ops.supportAttachments.noOrders`:`ops.supportAttachments.noProducts`),offset:F,total:ne,hasMore:B,onPrevious:()=>{let e=Math.max(0,F-10);I(e),Ye(A,ee,e)},onNext:()=>{let e=F+10;I(e),Ye(A,ee,e)},onClose:()=>j(null),renderItem:e=>(0,Z.jsx)(Fo,{item:e,product:A===`products`,onClick:()=>{A===`orders`?D(e):k(e),j(null)}},A===`orders`?e.order_id:e.product_id)})]})]})]})]})}function ts(e){return e?new Date(e).toLocaleString():``}function ns(e,t){return e(`whatsappSupport.status.${t||`unknown`}`,{defaultValue:t||`unknown`})}function rs(e){return e?.contact_display_name||e?.masked_phone||`â`}var is=25,as=50,os=5e3,ss=3e3,cs=96,ls=3,us=10485760,ds=new Set([`image/jpeg`,`image/png`,`image/webp`]),fs=50,ps=300,ms=25;function hs(e){return new Date(e.created_at||e.received_at||e.sent_at||0).getTime()}function gs(e=[],t=[]){let n=new Map;for(let r of[...e,...t])n.set(r.id,r);return[...n.values()].sort((e,t)=>hs(e)-hs(t)||String(e.id).localeCompare(String(t.id)))}function _s(){return typeof document>`u`||document.visibilityState===`visible`}function vs(){return typeof document>`u`||typeof document.hasFocus!=`function`||document.hasFocus()}function ys({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n}){let r=Rr(),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(`open`),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(``),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(0),[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(!1),[k,A]=(0,_.useState)(null),[j,M]=(0,_.useState)(!1),[N,ee]=(0,_.useState)(!1),[P,F]=(0,_.useState)(!1),[I,L]=(0,_.useState)(null),[te,ne]=(0,_.useState)(()=>new Set),[z,B]=(0,_.useState)(()=>({})),[V,H]=(0,_.useState)(null),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(100),[ie,ae]=(0,_.useState)(!1),[oe,se]=(0,_.useState)(!1),ce=(0,_.useRef)(o),le=(0,_.useRef)(f),ue=(0,_.useRef)(c),K=(0,_.useRef)(!1),de=(0,_.useRef)(!1),q=(0,_.useRef)(!1),fe=(0,_.useRef)(``),pe=(0,_.useRef)(0),me=(0,_.useRef)(null),he=(0,_.useRef)(!0),J=(0,_.useRef)(!1),Y=(0,_.useRef)(new Set),X=(0,_.useRef)({}),ge=(0,_.useRef)(null),_e=(0,_.useRef)(``),ve=(0,_.useRef)(null),ye=(0,_.useRef)(null),be=(0,_.useMemo)(()=>i.find(e=>e.id===o)||null,[i,o]);(0,_.useEffect)(()=>()=>{Object.values(X.current).forEach(e=>URL.revokeObjectURL(e)),_e.current&&URL.revokeObjectURL(_e.current),X.current={}},[]),(0,_.useEffect)(()=>{let e=c?.messages||[],t=new Set(e.filter(e=>e.message_type===`image`&&e.has_media&&e.media_url).map(e=>e.id));B(e=>{let n={};for(let[r,i]of Object.entries(e))t.has(r)?n[r]=i:URL.revokeObjectURL(i);return n});for(let n of e)n.message_type!==`image`||!n.has_media||!n.media_url||X.current[n.id]||Y.current.has(n.id)||te.has(n.id)||(Y.current.add(n.id),R(n.media_url,{authSurface:`admin`}).then(e=>e.blob()).then(e=>{let r=URL.createObjectURL(e);B(e=>t.has(n.id)?(e[n.id]&&URL.revokeObjectURL(e[n.id]),{...e,[n.id]:r}):(URL.revokeObjectURL(r),e))}).catch(()=>ne(e=>new Set(e).add(n.id))).finally(()=>Y.current.delete(n.id)))},[c?.thread?.id,c?.messages,te]),(0,_.useEffect)(()=>{ce.current=o},[o]),(0,_.useEffect)(()=>{se(!1)},[o]),(0,_.useEffect)(()=>{X.current=z},[z]),(0,_.useEffect)(()=>{_e.current=U},[U]),(0,_.useEffect)(()=>{le.current=f},[f]),(0,_.useEffect)(()=>{ue.current=c},[c]);let xe=(0,_.useCallback)(()=>{let e=me.current;if(!e)return!0;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=cs;return he.current=t,t},[]),Se=(0,_.useCallback)(()=>{let e=me.current;e&&(e.scrollTop=e.scrollHeight)},[]),Ce=(0,_.useCallback)(e=>{pe.current+=1,pe.current>=ls&&v(e?.message||r(`whatsappSupport.backgroundRefreshError`))},[r]),we=(0,_.useCallback)(()=>{pe.current=0,v(``)},[]),Te=(0,_.useCallback)(async(e=le.current,t=0,{append:n=!1,preferredSelectedId:r=ce.current,background:i=!1}={})=>{i||O(!0);try{let o=(await(await R(`/admin/whatsapp-support/threads?status=${encodeURIComponent(e)}&limit=${is}&offset=${t}`,{authSurface:`admin`})).json()).items||[];if(a(e=>n?[...e,...o.filter(t=>!e.some(e=>e.id===t.id))]:o),w(t+o.length),E(o.length===is),!n){let e=r&&o.some(e=>e.id===r);s(e||i?r:o[0]?.id||``)}i&&we()}catch(e){if(i)Ce(e);else throw e}finally{i||O(!1)}},[Ce,we]),Ee=(0,_.useCallback)(async e=>
9{if(!e?.id||!e.unread_count||!_s()||!vs())return;let t=`${e.id}:${e.unread_count}:${e.last_message_at||``}`;if(!(q.current||fe.current===t)){q.current=!0,fe.current=t;try{await R(`/admin/whatsapp-support/threads/${e.id}/read`,{method:`POST`,authSurface:`admin`}),a(t=>t.map(t=>t.id===e.id?{...t,unread_count:0}:t)),l(t=>t?.thread?.id===e.id?{...t,thread:{...t.thread,unread_count:0}}:t)}catch{fe.current=``}finally{q.current=!1}}},[]),De=(0,_.useCallback)(async(e=ce.current,t=null,{appendOlder:n=!1,background:r=!1}={})=>{if(!e)return;r||ee(!0);let i=xe(),a=new Set((ue.current?.messages||[]).map(e=>e.id));try{let o=await(await R(`/admin/whatsapp-support/threads/${e}?limit=${as}${t?.createdAt&&t?.id?`&before_created_at=${encodeURIComponent(t.createdAt)}&before_id=${encodeURIComponent(t.id)}`:``}`,{authSurface:`admin`})).json(),s=o.messages||[],c=await new Promise(t=>{l(i=>{let a=n&&i?.thread?.id===e?{...o,messages:gs(s,i.messages||[])}:r&&i?.thread?.id===e?{...o,messages:gs(i.messages||[],s)}:o;return t(a),a})});if(!r||n){let e=o.oldest_message_cursor_created_at||o.oldest_message_cursor||s[0]?.created_at||``,t=o.oldest_message_cursor_id||null;A(e&&t?{createdAt:e,id:t}:null),M(typeof o.has_more_messages==`boolean`?o.has_more_messages:s.length===as)}r&&(c.messages||[]).some(e=>!a.has(e.id))?i?setTimeout(Se,0):F(!0):!r&&i&&setTimeout(Se,0),setTimeout(()=>Ee(c.thread),0),r&&we()}catch(e){if(r)Ce(e);else throw e}finally{r||ee(!1)}},[Ee,Ce,we,xe,Se]);(0,_.useEffect)(()=>{a([]),s(``),l(null),ae(!1),w(0),E(!1),Te(f,0,{preferredSelectedId:``}).catch(e=>h(e.message))},[f,Te]),(0,_.useEffect)(()=>{L(null),G(100),Ae(),l(null),A(null),M(!1),F(!1),De(o).catch(e=>h(e.message))},[o,De]),(0,_.useEffect)(()=>{function e(){!_s()||K.current||(K.current=!0,Te(le.current,0,{preferredSelectedId:ce.current,background:!0}).finally(()=>{K.current=!1}))}function t(){!ce.current||!_s()||de.current||(de.current=!0,De(ce.current,null,{background:!0}).finally(()=>{de.current=!1}))}function n(){_s()&&(e(),t())}let r=setInterval(e,os),i=setInterval(t,ss);return document.addEventListener(`visibilitychange`,n),window.addEventListener(`focus`,n),()=>{clearInterval(r),clearInterval(i),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`focus`,n)}},[De,Te]);async function Oe(){await Te(f,C,{append:!0,preferredSelectedId:o})}async function ke(){await De(o,k,{appendOlder:!0})}function Ae(){_e.current&&URL.revokeObjectURL(_e.current),_e.current=``,W(``),H(null),ge.current&&(ge.current.value=``)}function je(e){let t=e.target.files?.[0];if(b(``),!t)return;if(!ds.has(t.type)){Ae(),b(r(`whatsappSupport.imageTypeError`));return}if(!t.size){Ae(),b(r(`whatsappSupport.imageEmptyError`));return}if(t.size>us){Ae(),b(r(`whatsappSupport.imageSizeError`));return}_e.current&&URL.revokeObjectURL(_e.current);let n=URL.createObjectURL(t);_e.current=n,H(t),W(n)}async function Me(){let e=u.trim(),t=V;if(!(!e&&!t||!o||x||J.current)){J.current=!0,b(``),S(!0);try{let n=crypto.randomUUID?.()||String(Date.now());if(t){let i=new FormData;i.append(`image`,t),e&&i.append(`caption`,e);let a=await(await R(`/admin/whatsapp-support/threads/${o}/image-reply`,{method:`POST`,authSurface:`admin`,headers:{"Idempotency-Key":n},body:i})).json();if(![`sent`,`delivered`,`read`].includes(a?.provider_status)){let e=Error(r(`whatsappSupport.imageSendUncertain`));throw e.code=`image_send_status_unknown`,e}}else await R(`/admin/whatsapp-support/threads/${o}/reply`,{method:`POST`,authSurface:`admin`,headers:{"Idempotency-Key":n},body:{text:e}});d(``),Ae(),await Te(f,0,{preferredSelectedId:o}),await De(o)}catch(e){let t=e?.message||r(`whatsappSupport.replyErrorFallback`),n=/image_send_in_progress|image_send_status_unknown/i.test(e?.code||``),i=/whatsapp rejected|free-form reply|customer-service window|allowed list|131030|meta/i.test(t);b(n?r(`whatsappSupport.imageSendUncertain`):i?r(`whatsappSupport.replyErrorMeta`):t),await De(o).catch(()=>{})}finally{J.current=!1,S(!1)}}}function Ne(e){e.preventDefault(),Me()}function Pe(e){let t=e.isComposing||e.nativeEvent?.isComposing;e.key!==`Enter`||e.shiftKey||t||!u.trim()&&!V||!o||x||J.current||(e.preventDefault(),Me())}let Fe=be||c?.thread||null,Ie=c?.thread?.phone||Fe?.masked_phone||``,Q=!!(c?.thread?.phone&&c.thread.phone!==c.thread.masked_phone);(0,_.useEffect)(()=>
9{if(!I)return;G(100),setTimeout(()=>ye.current?.focus(),0);function e(){L(null),G(100),setTimeout(()=>ve.current?.focus?.(),0)}function t(t){if(t.key===`Escape`){e();return}t.key===`+`||t.key===`=`?G(e=>Math.min(ps,e+ms)):t.key===`-`?G(e=>Math.max(fs,e-ms)):(t.key===`0`||t.key.toLowerCase()===`f`)&&G(100)}return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[I]);function Le(e){if(e.message_type===`image`){let t=te.has(e.id),n=z[e.id];return e.has_media&&n&&!t?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`button`,className:`support-image-thumb-button`,"aria-label":r(`whatsappSupport.openImagePreview`),onClick:t=>{ve.current=t.currentTarget,L({...e,blob_url:n})},children:(0,Z.jsx)(`img`,{src:n,alt:r(`whatsappSupport.imageAttachmentAlt`),loading:`lazy`,className:`support-image-thumb`,onError:()=>ne(t=>new Set(t).add(e.id))})}),e.text_body&&e.text_body!==`Image`?(0,Z.jsx)(`p`,{children:e.text_body}):null]}):(0,Z.jsx)(`p`,{className:`support-image-unavailable`,children:e.text_body&&e.text_body!==`Image`?e.text_body:r(`whatsappSupport.imageUnavailable`)})}return(0,Z.jsx)(`p`,{children:e.text_body})}async function Re(){if(!Fe)return;let e=Fe.status===`closed`?`reopen`:`close`;await R(`/admin/whatsapp-support/threads/${Fe.id}/${e}`,{method:`POST`,authSurface:`admin`}),await Te(f,0,{preferredSelectedId:o}),await De(o)}async function ze(){Q&&(await navigator.clipboard.writeText(c.thread.phone),se(!0))}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-whatsapp-support`,dedicatedAdminHost:t,title:r(`whatsappSupport.title`),onLoggedOut:n,children:[m&&(0,Z.jsx)(`p`,{className:`ops-support-notice ops-support-notice--error`,role:`alert`,children:m}),g&&(0,Z.jsx)(`p`,{className:`support-background-status`,role:`status`,children:g}),(0,Z.jsxs)(`div`,{className:`admin-support-layout ${ie?`is-mobile-conversation-open`:``}`,children:[(0,Z.jsxs)(`aside`,{className:`support-thread-list`,"aria-label":r(`whatsappSupport.threads`),children:[(0,Z.jsxs)(`div`,{className:`support-thread-list-header`,children:[(0,Z.jsx)(`h2`,{children:r(`whatsappSupport.threads`)}),(0,Z.jsxs)(`label`,{children:[r(`whatsappSupport.filter`),` `,(0,Z.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),children:[(0,Z.jsx)(`option`,{value:`open`,children:ns(r,`open`)}),(0,Z.jsx)(`option`,{value:`closed`,children:ns(r,`closed`)})]})]})]}),D&&!i.length?(0,Z.jsx)(`p`,{className:`support-empty-state`,role:`status`,children:r(`whatsappSupport.loading`)}):null,i.length?i.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"aria-current":e.id===o?`true`:void 0,className:`support-thread-card ${e.id===o?`is-active`:``} ${e.unread_count?`has-unread`:``}`,onClick:()=>{s(e.id),ae(!0)},children:[(0,Z.jsxs)(`span`,{className:`support-thread-card-main`,children:[(0,Z.jsx)(`span`,{className:`support-thread-card-title`,children:rs(e)}),(0,Z.jsxs)(`span`,{className:`support-thread-card-preview`,children:[e.latest_direction===`outbound`?`â`:`â`,` `,e.latest_message_type===`image`?`ð¼ ${e.last_message_preview||r(`whatsappSupport.imageLabel`)}`:e.last_message_preview||r(`whatsappSupport.noMessages`)]})]}),(0,Z.jsxs)(`span`,{className:`support-thread-card-meta`,children:[(0,Z.jsx)(`span`,{className:`support-badge ${e.unread_count?`support-badge--unread`:`support-badge--${e.status||`unknown`}`}`,children:e.unread_count?r(`whatsappSupport.unread`,{count:e.unread_count}):ns(r,e.status)}),(0,Z.jsx)(`time`,{children:ts(e.last_message_at)})]})]},e.id)):(0,Z.jsx)(`p`,{className:`support-empty-state`,children:r(`whatsappSupport.emptyThreads`)}),T?(0,Z.jsx)(`button`,{type:`button`,className:`support-load-more`,onClick:Oe,disabled:D,children:r(D?`whatsappSupport.loading`:`whatsappSupport.loadMoreThreads`)}):null]}),(0,Z.jsx)(`section`,{className:`support-conversation-pane`,children:c?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`support-conversation-header`,children:[(0,Z.jsxs)(`div`,{className:`support-conversation-title`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`support-mobile-back`,onClick:()=>ae(!1),"aria-label":r(`whatsappSupport.backToThreads`),children:[`â `,(0,Z.jsx)(`span`,{children:r(`common.back`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:rs(Fe)}),(0,Z.jsxs)(`div`,{className:`support-customer-phone`,children:[(0,Z.jsx)(`span`,{children:Ie||r(`whatsappSupport.channelLabel`)}),Q?(0,Z.jsx)(`button`,{type:`button`,onClick:ze,children:r(oe?`whatsappSupport.phoneCopied`:`whatsappSupport.copyPhone`)}):null]})]})]}),(0,Z.jsxs)(`div`,{className:`support-conversation-actions`,children:[(0,Z.jsx)(`span`,{className:`support-badge support-badge--${Fe?.status||`unknown`}`,children:ns(r,Fe?.status)}),Fe?.unread_count?(0,Z.jsx)(`span`,{className:`support-badge support-badge--unread`,children:r(`whatsappSupport.unread`,{count:Fe.unread_count})}):null,(0,Z.jsx)(`button`,{type:`button`,onClick:Re,children:Fe?.status===`closed`?r(`whatsappSupport.reopen`):r(`whatsappSupport.close`)})]})]}),(0,Z.jsxs)(`div`,{className:`support-message-list`,ref:me,onScroll:xe,children:[j?(0,Z.jsx)(`button`,{type:`button`,className:`support-load-older`,onClick:ke,disabled:N,children:r(N?`whatsappSupport.loading`:`whatsappSupport.loadOlderMessages`)}):null,P?(0,Z.jsx)(`button`,{type:`button`,className:`support-new-messages`,onClick:()=>{F(!1),Se()},children:r(`whatsappSupport.newMessages`)}):null,(c.messages||[]).length?(c.messages||[]).map(e=>
9(0,Z.jsxs)(`div`,{className:`support-message-row support-message-${e.direction}`,children:[(0,Z.jsx)(`div`,{className:`support-message-bubble`,children:Le(e)}),(0,Z.jsxs)(`small`,{className:`support-message-meta`,children:[ts(e.received_at||e.sent_at),` · `,e.provider_status||e.processing_classification||e.message_type]})]},e.id)):(0,Z.jsx)(`p`,{className:`support-empty-state`,children:r(`whatsappSupport.noMessages`)})]}),(0,Z.jsxs)(`form`,{onSubmit:Ne,className:`support-reply-form`,children:[(0,Z.jsx)(`label`,{className:`support-reply-label`,htmlFor:`whatsapp-support-reply`,children:r(`whatsappSupport.replyLabel`)}),y?(0,Z.jsx)(`p`,{className:`support-reply-error`,role:`alert`,children:y}):null,V&&U?(0,Z.jsxs)(`div`,{className:`support-selected-image`,children:[(0,Z.jsx)(`img`,{src:U,alt:r(`whatsappSupport.selectedImageAlt`)}),(0,Z.jsxs)(`span`,{children:[V.name||r(`whatsappSupport.imageLabel`),` · `,(V.size/1024).toFixed(1),` KB`]}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:Ae,disabled:x,children:r(`whatsappSupport.removeImage`)})]}):null,(0,Z.jsxs)(`div`,{className:`support-reply-controls`,children:[(0,Z.jsx)(`input`,{ref:ge,className:`support-file-input`,type:`file`,accept:`image/jpeg,image/png,image/webp`,onChange:je,disabled:x}),(0,Z.jsx)(`button`,{type:`button`,className:`support-attach-button`,onClick:()=>ge.current?.click(),disabled:x,"aria-label":r(`whatsappSupport.attachImage`),children:`ð`}),(0,Z.jsx)(`textarea`,{id:`whatsapp-support-reply`,"aria-label":r(`whatsappSupport.replyLabel`),value:u,onChange:e=>d(e.target.value),onKeyDown:Pe,placeholder:r(`whatsappSupport.replyPlaceholder`),rows:1,maxLength:V?1024:4096}),(0,Z.jsx)(`button`,{className:`support-send-button`,disabled:!u.trim()&&!V||x,children:r(x?`whatsappSupport.sending`:`whatsappSupport.send`)})]})]})]}):(0,Z.jsx)(`p`,{className:`support-empty-state`,children:r(`whatsappSupport.selectThread`)})})]}),I?(0,Z.jsx)(`div`,{className:`support-image-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`whatsappSupport.imagePreviewLabel`),onMouseDown:e=>{e.target===e.currentTarget&&L(null)},children:(0,Z.jsxs)(`div`,{className:`support-image-modal-card`,children:[(0,Z.jsxs)(`div`,{className:`support-image-modal-toolbar`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>G(e=>Math.max(fs,e-ms)),"aria-label":r(`whatsappSupport.zoomOut`),children:`â`}),(0,Z.jsxs)(`span`,{"aria-live":`polite`,children:[re,`%`]}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>G(e=>Math.min(ps,e+ms)),"aria-label":r(`whatsappSupport.zoomIn`),children:`+`}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>G(100),"aria-label":r(`whatsappSupport.resetZoom`),children:r(`whatsappSupport.fit`)}),(0,Z.jsx)(`button`,{ref:ye,type:`button`,className:`support-image-modal-close`,onClick:()=>L(null),"aria-label":r(`whatsappSupport.closeImagePreview`),children:r(`common.close`)})]}),(0,Z.jsxs)(`div`,{className:`support-image-modal-scroll`,onWheel:e=>{!e.ctrlKey&&!e.metaKey||(e.preventDefault(),G(t=>Math.max(fs,Math.min(ps,t+(e.deltaY<0?ms:-25)))))},children:[(0,Z.jsx)(`img`,{src:I.blob_url,alt:r(`whatsappSupport.imageAttachmentAlt`),style:{width:`${re}%`}}),I.text_body&&I.text_body!==`Image`?(0,Z.jsx)(`p`,{children:I.text_body}):null]})]})}):null]})}function bs(e){let t=String(e||``).trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}function xs(e){return String(e||``).trim()||void 0}function Ss(e){let t={couriers:xs(e.couriers),items:[{name:xs(e.item_name)||`Test Item`,quantity:Math.max(1,bs(e.quantity)||1),weight:Math.max(1,bs(e.weight)||1),value:Math.max(0,bs(e.value)||0)}]},n=xs(e.origin_postal_code);n&&(t.origin_postal_code=n);let r=xs(e.destination_postal_code);r&&(t.destination_postal_code=r);let i=xs(e.origin_area_id);i&&(t.origin_area_id=i);let a=xs(e.destination_area_id);a&&(t.destination_area_id=a);let o=bs(e.origin_latitude),s=bs(e.origin_longitude),c=bs(e.destination_latitude),l=bs(e.destination_longitude);return o!==void 0&&(t.origin_latitude=o),s!==void 0&&(t.origin_longitude=s),c!==void 0&&(t.destination_latitude=c),l!==void 0&&(t.destination_longitude=l),t}function Cs(e){let t={internal_order_id:bs(e.internal_order_id),reference_id:xs(e.reference_id),courier_company:xs(e.courier_company),courier_type:xs(e.courier_type),origin_contact_name:xs(e.sender_name),origin_contact_phone:xs(e.sender_phone),origin_address:xs(e.sender_address),destination_contact_name:xs(e.receiver_name),destination_contact_phone:xs(e.receiver_phone),destination_address:xs(e.receiver_address),items:[{name:xs(e.item_name)||`Test Item`,quantity:Math.max(1,bs(e.quantity)||1),weight:Math.max(1,bs(e.weight)||1),value:Math.max(0,bs(e.value)||0)}]},n=xs(e.origin_postal_code);n&&(t.origin_postal_code=n);let r=xs(e.destination_postal_code);r&&(t.destination_postal_code=r);
9let i=xs(e.origin_area_id);i&&(t.origin_area_id=i);let a=xs(e.destination_area_id);a&&(t.destination_area_id=a);let o=bs(e.origin_latitude),s=bs(e.origin_longitude),c=bs(e.destination_latitude),l=bs(e.destination_longitude);return o!==void 0&&(t.origin_latitude=o),s!==void 0&&(t.origin_longitude=s),c!==void 0&&(t.destination_latitude=c),l!==void 0&&(t.destination_longitude=l),t}function ws(e){return{message:e?.message||`Unknown error`,status:e?.status??null,code:e?.code||null,path:e?.path||null,method:e?.method||null}}function Ts(e){return JSON.stringify(e??null,null,2)}function Es({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let a=Rr(),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)([]),[f,p]=(0,_.useState)([]),[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)(null),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[T,E]=(0,_.useState)(null),[D,O]=(0,_.useState)(null),[k,A]=(0,_.useState)({}),[j,M]=(0,_.useState)(``),[N,ee]=(0,_.useState)({origin_area_id:``,destination_area_id:``,origin_postal_code:``,destination_postal_code:``,origin_latitude:``,origin_longitude:``,destination_latitude:``,destination_longitude:``,sender_name:`Tokodepan Sender`,sender_phone:`081234567890`,sender_address:`Jl. Kebon Jeruk No. 1, Jakarta`,receiver_name:`Tokodepan Receiver`,receiver_phone:`081298765432`,receiver_address:`Jl. Buah Batu No. 88, Bandung`,courier_company:`jne`,courier_type:`reg`,couriers:`jne`,item_name:`Test Item`,quantity:`1`,weight:`1000`,value:`250000`,internal_order_id:``,reference_id:``,shipment_id:``,provider_order_id:``,tracking_id:``}),P=(0,_.useCallback)((e,t)=>{ee(n=>({...n,[e]:t}))},[]),F=(0,_.useCallback)((e,t)=>{A(n=>({...n,[e]:t?ws(t):null}))},[]);async function I(e,t){M(e),F(e,null);try{await t()}catch(t){F(e,t)}finally{M(t=>t===e?``:t)}}let L=(0,_.useCallback)(async e=>{let t=String(e||``).trim();return i(`/shipping/providers/biteship/areas?input=${encodeURIComponent(t)}`)},[i]);return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-shipping-test`,dedicatedAdminHost:t,title:a(`ops.shippingTest.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsx)(`p`,{className:`shipping-test-note`,children:a(`ops.shippingTest.intro`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-grid`,children:[(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`span`,{className:`shipping-test-phase`,children:a(`ops.shippingTest.phases.discovery`)}),(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.origin`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),"aria-label":a(`ops.shippingTest.placeholders.originSearch`),placeholder:a(`ops.shippingTest.placeholders.originSearch`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`origin-area`,async()=>{let e=await L(o);d(e?.items||[])}),disabled:j===`origin-area`||!o.trim(),children:a(j===`origin-area`?`ops.shippingTest.actions.searching`:`ops.shippingTest.actions.search`)})]}),k[`origin-area`]&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k[`origin-area`])}),(0,Z.jsx)(`div`,{className:`shipping-test-list`,children:u.map(e=>(0,Z.jsxs)(`button`,{type:`button`,className:N.origin_area_id===e.area_id?`is-selected`:``,"aria-pressed":N.origin_area_id===e.area_id,onClick:()=>P(`origin_area_id`,e.area_id),children:[e.area_id,` â `,e.name]},`origin-${e.area_id}`))})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.destination`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),"aria-label":a(`ops.shippingTest.placeholders.destinationSearch`),placeholder:a(`ops.shippingTest.placeholders.destinationSearch`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`destination-area`,async()=>{let e=await L(c);p(e?.items||[])}),disabled:j===`destination-area`||!c.trim(),children:a(j===`destination-area`?`ops.shippingTest.actions.searching`:`ops.shippingTest.actions.search`)})]}),k[`destination-area`]&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k[`destination-area`])}),(0,Z.jsx)(`div`,{className:`shipping-test-list`,children:f.map(e=>(0,Z.jsxs)(`button`,{type:`button`,className:N.destination_area_
9id===e.area_id?`is-selected`:``,"aria-pressed":N.destination_area_id===e.area_id,onClick:()=>P(`destination_area_id`,e.area_id),children:[e.area_id,` â `,e.name]},`destination-${e.area_id}`))})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.couriers`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`couriers`,async()=>{let e=await i(`/shipping/providers/biteship/couriers`);h(e||null)}),disabled:j===`couriers`,children:a(j===`couriers`?`ops.shippingTest.actions.loading`:`ops.shippingTest.actions.fetchCouriers`)}),k.couriers&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k.couriers)}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(m)})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`span`,{className:`shipping-test-phase`,children:a(`ops.shippingTest.phases.input`)}),(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.inputs`)}),(0,Z.jsx)(`p`,{className:`shipping-test-hint`,children:a(`ops.shippingTest.guid
9ance`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-form-grid`,children:[(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.origin_postal_code`),(0,Z.jsx)(`input`,{value:N.origin_postal_code,onChange:e=>P(`origin_postal_code`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.destination_postal_code`),(0,Z.jsx)(`input`,{value:N.destination_postal_code,onChange:e=>P(`destination_postal_code`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.origin_area_id`),(0,Z.jsx)(`input`,{value:N.origin_area_id,onChange:e=>P(`origin_area_id`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.destination_area_id`),(0,Z.jsx)(`input`,{value:N.destination_area_id,onChange:e=>P(`destination_area_id`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.origin_latitude`),(0,Z.jsx)(`input`,{value:N.origin_latitude,onChange:e=>P(`origin_latitude`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.origin_longitude`),(0,Z.jsx)(`input`,{value:N.origin_longitude,onChange:e=>P(`origin_longitude`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.destination_latitude`),(0,Z.jsx)(`input`,{value:N.destination_latitude,onChange:e=>P(`destination_latitude`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.destination_longitude`),(0,Z.jsx)(`input`,{value:N.destination_longitude,onChange:e=>P(`destination_longitude`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.sender_name`),(0,Z.jsx)(`input`,{value:N.sender_name,onChange:e=>P(`sender_name`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.sender_phone`),(0,Z.jsx)(`input`,{value:N.sender_phone,onChange:e=>P(`sender_phone`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.sender_address`),(0,Z.jsx)(`textarea`,{value:N.sender_address,onChange:e=>P(`sender_address`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.receiver_name`),(0,Z.jsx)(`input`,{value:N.receiver_name,onChange:e=>P(`receiver_name`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.receiver_phone`),(0,Z.jsx)(`input`,{value:N.receiver_phone,onChange:e=>P(`receiver_phone`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.receiver_address`),(0,Z.jsx)(`textarea`,{value:N.receiver_address,onChange:e=>P(`receiver_address`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.courier_company`),(0,Z.jsx)(`input`,{value:N.courier_company,onChange:e=>P(`courier_company`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.courier_type`),(0,Z.jsx)(`input`,{value:N.courier_type,onChange:e=>P(`courier_type`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.couriers`),(0,Z.jsx)(`input`,{value:N.couriers,onChange:e=>P(`couriers`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.item_name`),(0,Z.jsx)(`input`,{value:N.item_name,onChange:e=>P(`item_name`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.quantity`),(0,Z.jsx)(`input`,{value:N.quantity,onChange:e=>P(`quantity`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.weight`),(0,Z.jsx)(`input`,{value:N.weight,onChange:e=>P(`weight`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.value`),(0,Z.jsx)(`input`,{value:N.value,onChange:e=>P(`value`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.internal_order_id`),(0,Z.jsx)(`input`,{value:N.internal_order_id,onChange:e=>P(`internal_order_id`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.shippingTest.fields.reference_id`),(0,Z.jsx)(`input`,{value:N.reference_id,onChange:e=>P(`reference_id`,e.target.value)})]})]})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`span`,{className:`shipping-test-phase`,children:a(`ops.shippingTest.phases.execution`)}),(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.rates`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:()=>I(`rates`,async()=>{let e=await i(`/shipping/providers/biteship/rates`,{method:`POST`,body:Ss({origin_area_
9id:N.origin_area_id,destination_area_id:N.destination_area_id,origin_postal_code:N.origin_postal_code,destination_postal_code:N.destination_postal_code,origin_latitude:N.origin_latitude,origin_longitude:N.origin_longitude,destination_latitude:N.destination_latitude,destination_longitude:N.destination_longitude,couriers:N.couriers,item_name:N.item_name,quantity:N.quantity,weight:N.weight,value:N.value})});v(e||null)}),disabled:j===`rates`,children:a(j===`rates`?`ops.shippingTest.actions.checking`:`ops.shippingTest.actions.checkRates`)}),k.rates&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k.rates)}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(g)})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.create`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:()=>I(`create-shipment`,async()=>{let e=await i(`/shipping/providers/biteship/shipments`,{method:`POST`,body:Cs(N)});b(e||null),e?.shipment?.id&&P(`shipment_id`,String(e.shipment.id)),e?.shipment?.provider_order_id&&P(`provider_order_id`,e.shipment.provider_order_id),e?.shipment?.provider_tracking_id&&P(`tracking_id`,e.shipment.provider_tracking_id)}),disabled:j===`create-shipment`,children:a(j===`create-shipment`?`ops.shippingTest.actions.creating`:`ops.shippingTest.actions.createShipment`)}),k[`create-shipment`]&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k[`create-shipment`])}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(y)})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`span`,{className:`shipping-test-phase`,children:a(`ops.shippingTest.phases.inspection`)}),(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.shipment`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:N.shipment_id,onChange:e=>P(`shipment_id`,e.target.value),"aria-label":a(`ops.shippingTest.fields.shipment_id`),placeholder:a(`ops.shippingTest.placeholders.localShipment`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`shipment-detail`,async()=>{let e=await i(`/shipping/providers/biteship/shipments/${encodeURIComponent(N.shipment_id.trim())}`);S(e||null),e?.provider_order_id&&P(`provider_order_id`,e.provider_order_id),e?.provider_tracking_id&&P(`tracking_id`,e.provider_tracking_id)}),disabled:j===`shipment-detail`||!N.shipment_id.trim(),children:a(j===`shipment-detail`?`ops.shippingTest.actions.fetching`:`ops.shippingTest.actions.fetch`)})]}),k[`shipment-detail`]&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k[`shipment-detail`])}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(x)})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.orderTracking`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:N.provider_order_id,onChange:e=>P(`provider_order_id`,e.target.value),"aria-label":a(`ops.shippingTest.fields.provider_order_id`),placeholder:a(`ops.shippingTest.placeholders.providerOrder`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`provider-order`,async()=>{let e=await i(`/shipping/providers/biteship/orders/${encodeURIComponent(N.provider_order_id.trim())}`);w(e||null),e?.tracking_id&&P(`tracking_id`,e.tracking_id),e?.synced_local_shipment_id&&P(`shipment_id`,String(e.synced_local_shipment_id))}),disabled:j===`provider-order`||!N.provider_order_id.trim(),children:a(j===`provider-order`?`ops.shippingTest.actions.refreshing`:`ops.shippingTest.actions.refreshOrder`)})]}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:N.tracking_id,onChange:e=>P(`tracking_id`,e.target.value),"aria-label":a(`ops.shippingTest.fields.tracking_id`),placeholder:a(`ops.shippingTest.placeholders.tracking`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`tracking`,async()=>{let e=await i(`/shipping/providers/biteship/trackings/${encodeURIComponent(N.tracking_id.trim())}`);E(e||null),e?.shipment_id&&P(`shipment_id`,String(e.shipment_id))}),disabled:j===`tracking`||!N.tracking_id.trim(),children:a(j===`tracking`?`ops.shippingTest.actions.refreshing`:`ops.shippingTest.actions.refreshTracking`)})]}),k[`provider-order`]&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k[`provider-order`])}),k.tracking&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k.tracking)}),(0,Z.jsx)(`h4`,{children:a(`ops.shippingTest.outputs.providerOrder`)}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(C)}),(0,Z.jsx)(`h4`,{children:a(`ops.shippingTest.outputs.tracking`)}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(T)})]}),(0,Z.jsxs)(`section`,{className:`shipping-test-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.shippingTest.steps.history`)}),(0,Z.jsxs)(`div`,{className:`shipping-test-row`,children:[(0,Z.jsx)(`input`,{value:N.shipment_id,onChange:e=>P(`shipment_id`,e.target.value),"aria-label":a(`ops.shippingTest.placeholders.historyShipment`),placeholder:a(`ops.shippingTest.placeholders.historyShipment`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>I(`history`,async()=>{let e=await i(`/shipping/providers/biteship/shipments/${encodeURIComponent(N.shipment_id.trim())}/history?desc=true`);O(e||null)}),disabled:j===`history`||!N.shipment_id.trim(),children:a(j===`history`?`ops.shippingTest.actions.loading`:`ops.shippingTest.actions.loadHistory`)})]}),k.history&&(0,Z.jsx)(`pre`,{className:`shipping-test-error`,role:`alert`,children:Ts(k.history)}),(0,Z.jsx)(`pre`,{className:`shipping-test-output`,role:`status`,"aria-label":a(`ops.shippingTest.outputs.response`),children:Ts(D)})]})]})]})}var Ds={paid:`ops.financeOrderStatus.paid`,shipped:`ops.financeOrderStatus.shipped`,delivered:`ops.financeOrderStatus.delivered`,completed:`ops.financeOrderStatus.completed`},Os={pending_review:`ops.financeWithdrawalStatus.pending_review`,approved:`ops.financeWithdrawalStatus.approved`,processing:`ops.financeWithdrawalStatus.processing`,paid:`ops.financeWithdrawalStatus.paid`,rejected:`ops.financeWithdrawalStatus.rejected`,cancelled:`ops.financeWithdrawalStatus.cancelled`},ks={commission_rate_out_of_range:`ops.financeValidation.commissionRateOutOfRange`,effective_from_required:`ops.financeValidation.effectiveFromRequired`};
9function As(e){return String(e||``).split(/[_\s-]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function js(e,t){let n=Ds[String(t||``).toLowerCase()];return n?e(n):As(t)}function Ms(e,t){let n=Os[String(t||``).toLowerCase()];return n?e(n):As(t)}function Ns(e){return ks[e]||null}var Ps=class extends Error{constructor(e,t){super(t),this.name=`AdminFinanceValidationError`,this.code=e}};function Fs(e){let t=Number(e);return Number.isFinite(t)?(t/100).toFixed(2).replace(/\.00$/,``).replace(/(\.\d*[1-9])0+$/,`$1`):`0`}function Is(e){let t=String(e??``).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?Math.round(n*100):null}function Ls({ratePercentInput:e,effectiveFromInput:t,noteInput:n=``}){let r=Is(e);if(r===null||r<0||r>1e4)throw new Ps(`commission_rate_out_of_range`,`Commission rate must be between 0% and 100%.`);let i=new Date(t);if(Number.isNaN(i.getTime()))throw new Ps(`effective_from_required`,`Effective-from datetime is required.`);let a={rate_percent:r/100,effective_at:i.toISOString()},o=String(n||``).trim();return o&&(a.note=o),a}var Rs=20,zs={pending_review:[`approved`,`rejected`],approved:[`processing`,`paid`,`rejected`],processing:[`paid`,`rejected`],paid:[],rejected:[],cancelled:[]};function Bs(e){return zs[String(e||``).toLowerCase()]||[]}function Vs(e){return e===`approved`?`ops.financeWithdrawal.actionApprove`:e===`rejected`?`ops.financeWithdrawal.actionReject`:e===`processing`?`ops.financeWithdrawal.actionProcessing`:e===`paid`?`ops.financeWithdrawal.actionMarkPaid`:`ops.financeWithdrawal.actionUpdate`}function Hs(e){return e?new Date(e).toLocaleString():`â`}function Us(e){return e&&[e.destination_bank_name,e.destination_account_number,e.destination_account_name].filter(Boolean).join(` ⢠`)||`â`}function Ws({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)({items:[],totals:{product_gross_amount:0,commission_amount:0,product_net_amount:0,store_courier_shipping_fee:0,seller_payout_amount:0}}),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(0),[d,f]=(0,_.useState)(1),[p,m]=(0,_.useState)(1),[h,g]=(0,_.useState)(0),[v,y]=(0,_.useState)([]),[b,x]=(0,_.useState)(!0),[S,C]=(0,_.useState)(!0),[w,T]=(0,_.useState)(!0),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(!1),[A,j]=(0,_.useState)(!1),[M,N]=(0,_.useState)(``),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(``),[L,te]=(0,_.useState)(``),[ne,R]=(0,_.useState)(``),[z,B]=(0,_.useState)(!1),[V,H]=(0,_.useState)(`5`),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(``),[ie,ae]=(0,_.useState)(``),[oe,se]=(0,_.useState)(``),[ce,le]=(0,_.useState)(``),[ue,K]=(0,_.useState)(``),[de,q]=(0,_.useState)(``),[fe,pe]=(0,_.useState)(``),[me,he]=(0,_.useState)(!1),[J,Y]=(0,_.useState)(`all`),[X,ge]=(0,_.useState)(`date_desc`),[_e,ve]=(0,_.useState)(``),[ye,be]=(0,_.useState)(``),[xe,Se]=(0,_.useState)(`all`),[Ce,we]=(0,_.useState)(`requested_desc`),[Te,Ee]=(0,_.useState)(null),[De,Oe]=(0,_.useState)(null),[ke,Ae]=(0,_.useState)(``),[je,Me]=(0,_.useState)(``),[Ne,Pe]=(0,_.useState)(!1),Fe=(0,_.useRef)(0),Ie=(0,_.useRef)(0),Q=Rr(),Le=e=>{if(!e)return``;if(typeof e==`string`)return e;if(e.type===`key`)return Q(e.key);if(e.type===`validation`){let t=Ns(e.code);return t?Q(t):e.message}return e.message||``},Re=(0,_.useCallback)(async()=>{let e=++Fe.current;x(!0),N(``);try{let t=new URLSearchParams;ce&&t.set(`date_from`,ce),ue&&t.set(`date_to`,ue),fe&&t.set(`q`,fe),J!==`all`&&t.set(`status`,J),t.set(`sort`,X),t.set(`limit`,String(Rs)),t.set(`offset`,String((d-1)*Rs));let n=await i(`/admin/finance/commissions?${t.toString()}`);if(e!==Fe.current)return;o(n||{items:[],totals:{product_gross_amount:0,commission_amount:0,product_net_amount:0,store_courier_shipping_fee:0,seller_payout_amount:0}}),u(Number(n?.total_count||0))}catch(t){e===Fe.current&&N(t?.message?{type:`raw`,message:t.message}:{type:`key`,key:`ops.finance.loadFailed`})}finally{e===Fe.current&&(x(!1),D(!0))}},[i,ce,ue,fe,J,X,d]),ze=(0,_.useCallback)(async()=>{C(!0);try{y(await i(`/admin/finance/commission-rates`)||[])}catch(e){P(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.finance.loadFailed`})}finally{C(!1),k(!0)}},[i]),Be=(0,_.useCallback)(async()=>{let e=++Ie.current;T(!0),te(``);try{let t=new URLSearchParams({limit:String(Rs),offset:String((p-1)*Rs),sort:Ce});xe!==`all`&&t.set(`status`,xe),ye&&t.set(`q`,ye);let n=await i(`/admin/finance/withdrawals?${t.toString()}`);if(e!==Ie.current)return;c(n?.items||[]),g(Number(n?.total_count||0))}catch(t){e===Ie.current&&te(t?.message?{type:`raw`,message:t.message}:{type:`key`,key:`ops.finance.loadFailed`})}finally{e===Ie.current&&(T(!1),j(!0))}},[i,ye,xe,Ce,p]);(0,_.useEffect)(()=>{Re()},[Re]),(0,_.useEffect)(()=>{ze()},[ze]),(0,_.useEffect)(()=>{Be()},[Be]);let Ve=!E||!O||!A;(0,_.useEffect)(()=>{m(1)},[xe,Ce]);function He(e){e.preventDefault(),f(1),pe(de.trim())}function Ue(e){e.preventDefault(),m(1),be(_e.trim())}let We=Math.max(1,Math.ceil(l/Rs));(0,_.useEffect)(()=>{d>We&&f(We)},[d,We]);function $(){P(``),I(``),G(U)}function Ge(){let e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)),n=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)),r=t.toISOString().slice(0,10),i=n.toISOString().slice(0,10);ae(r),se(i),f(1),le(r),K(i)}async function Ke(e){e.preventDefault(),B(!0),P(``),I(``);try{await i(`/admin/finance/commission-rates`,{method:`POST`,body:Ls({ratePercentInput:V,effectiveFromInput:re})}),await ze(),I(Q(`ops.financeSchedule.saveSuccess`))}catch(e){P(Ns(e?.code)?{type:`validation`,code:e.code,message:e.message}:e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.finance.createScheduleFailed`})}finally{B(!1)}}async function qe(){he(!0);try{let e=new URLSearchParams;ce&&e.set(`date_from`,ce),ue&&e.set(`date_to`,ue),fe&&e.set(`q`,fe),J!==`all`&&e.set(`status`,J),e.set(`sort`,X);
9let t=await i(`/admin/finance/commissions/export.csv?${e}`,{responseType:`blob`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`tokodepan-admin-commissions${ce||ue?`-${ce||`start`}-to-${ue||`end`}`:`-${new Date().toISOString().slice(0,10)}`}.csv`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}finally{he(!1)}}let Je=a.items||[],Ye=s||[],Xe=Math.max(1,Math.ceil(h/Rs));(0,_.useEffect)(()=>{p>Xe&&m(Xe)},[p,Xe]);let Ze=Ye,Qe=(0,_.useMemo)(()=>Ye.find(e=>e.id===Te)||null,[Ye,Te]);(0,_.useEffect)(()=>{Te&&!Ye.some(e=>e.id===Te)&&(Ee(null),Oe(null),Ae(``))},[Ye,Te]);function $e(e,t){Ee(e.id),Oe({withdrawalId:e.id,status:t}),Ae(``),Me(``),R(``)}async function et(){if(!De)return;let e=ke.trim();if(!((De.status===`rejected`||De.status===`paid`)&&!e)){R(``),Pe(!0);try{let t={status:De.status};e&&(t.admin_note=e);let n=await i(`/admin/finance/withdrawals/${De.withdrawalId}`,{method:`PATCH`,body:t});c(e=>e.map(e=>e.id===De.withdrawalId?n:e)),Ee(Ye.some(e=>e.id===De.withdrawalId)?De.withdrawalId:null),Oe(null),Ae(``),Me(Q(`ops.financeWithdrawal.actionSuccess`,{status:Ms(Q,n.status)}))}catch(e){R(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.finance.updateWithdrawalFailed`})}finally{Pe(!1)}}}function tt(e){return`admin-finance-status admin-finance-status--${String(e||`unknown`).toLowerCase()}`}function nt(e){return e===`rejected`?`btn-danger`:e===`processing`?`btn-secondary`:`btn-primary`}function rt(e,t=!1){return e?(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawals__detail-card${t?` admin-finance-withdrawals__detail-card--mobile`:``}`,children:[(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawals__detail-title`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h4`,{children:e.seller_name||Q(`ops.financeWithdrawal.fallbackSeller`,{id:e.seller_id})}),(0,Z.jsx)(`p`,{children:e.seller_slug||`â`})]}),(0,Z.jsx)(`span`,{className:tt(e.status),children:Ms(Q,e.status)})]}),(0,Z.jsx)(`dl`,{children:[[`amount`,Yt(e.amount_cents)],[`availableSnapshot`,Yt(e.available_balance_snapshot_cents)],[`destination`,Us(e)],[`requestedAt`,Hs(e.requested_at)],[`sellerNote`,e.seller_note||`â`],[`adminNote`,e.admin_note||`â`],[`approvedAt`,Hs(e.approved_at)],[`paidAt`,Hs(e.paid_at)],[`rejectedAt`,Hs(e.rejected_at)]].map(([e,t])=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:Q(`ops.financeWithdrawal.${e}`)}),(0,Z.jsx)(`dd`,{children:t})]},e))}),(0,Z.jsx)(`div`,{className:`admin-finance-withdrawals__guidance`,children:Q(`ops.financeWithdrawal.transitionGuidance`)}),(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawal-card__actions`,children:[Bs(e.status).map(t=>(0,Z.jsx)(`button`,{className:nt(t),type:`button`,onClick:()=>$e(e,t),children:Q(Vs(t))},t)),Bs(e.status).length===0&&(0,Z.jsx)(`span`,{children:Q(`ops.financeWithdrawal.noActions`)})]})]}):(0,Z.jsx)(`div`,{className:`admin-finance-withdrawals__empty`,children:Q(`ops.financeWithdrawal.selectPrompt`)})}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-finance`,dedicatedAdminHost:t,title:Q(`ops.finance.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsxs)(`div`,{className:`admin-finance`,children:[Ve&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--loading`,role:`status`,children:Q(`ops.finance.loadingOverview`)}),!Ve&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`section`,{className:`admin-finance-overview`,"aria-label":Q(`ops.finance.title`),children:[[`totalProductGross`,a.totals?.product_gross_amount],[`totalCommission`,a.totals?.commission_amount],[`totalProductNet`,a.totals?.product_net_amount],[`totalStoreCourierFreight`,a.totals?.store_courier_shipping_fee],[`totalSellerPayout`,a.totals?.seller_payout_amount]].map(([e,t])=>(0,Z.jsxs)(`div`,{className:`admin-finance-summary`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.finance.${e}`)}),(0,Z.jsx)(`strong`,{children:Yt(t||0)})]},e))}),(0,Z.jsxs)(`section`,{className:`admin-finance-section admin-finance-period`,children:[(0,Z.jsx)(`h3`,{children:Q(`ops.finance.periodFilter`)}),(0,Z.jsxs)(`div`,{className:`admin-finance-toolbar admin-finance-period__controls`,children:[(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.finance.from`)}),(0,Z.jsx)(`input`,{className:`form-control`,type:`date`,value:ie,onChange:e=>ae(e.target.value)})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.finance.to`)}),(0,Z.jsx)(`input`,{className:`form-control`,type:`date`,value:oe,onChange:e=>se(e.target.value)})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-actions`,children:[(0,Z.jsx)(`button`,{className:`btn-primary`,type:`button`,onClick:()=>{f(1),le(ie),K(oe)},children:Q(`ops.finance.applyPeriod`)}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:Ge,children:Q(`ops.finance.thisMonth`)}),(0,Z.jsx)(`button`,{className:`btn-neutral`,type:`button`,onClick:()=>{ae(``),se(``),f(1),le(``),K(``)},children:Q(`ops.common.clear`)})]})]})]}),(0,Z.jsxs)(`section`,{className:`admin-finance-section admin-finance-commission`,children:[(0,Z.jsxs)(`div`,{className:`admin-finance-section__title-row`,children:[(0,Z.jsx)(`h3`,{children:Q(`ops.financeCommission.title`)}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:me,onClick:qe,children:Q(me?`ops.financeCommission.exporting`:`ops.financeCommission.exportCsv`)})]}),b&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--loading`,role:`status`,children:Q(`ops.finance.loadingOverview`)}),M&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--error`,role:`alert`,children:Le(M)}),(0,Z.jsxs)(`div`,{className:`admin-finance-toolbar admin-finance-filters`,children:[(0,Z.jsxs)(`form`,{className:`admin-finance-field admin-finance-search`,onSubmit:He,children:[(0,Z.jsx)(`label`,{htmlFor:`admin-finance-commission-search`,children:Q(`ops.financeCommission.searchPlaceholder`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`input`,{id:`admin-finance-commission-search`,className:`form-control`,type:`search`,placeholder:Q(`ops.financeCommission.searchPlaceholder`),value:de,onChange:e=>q(e.target.value)}),(0,Z.jsx)(`button`,{className:`btn-secondary admin-finance-search__submit`,type:`submit`,"aria-label":Q(`ops.common.search`),title:Q(`ops.common.search`),children:(0,Z.jsx)(En,{})})]})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.financeCommission.status`)}),(0,Z.jsxs)(`select`,{className:`form-select`,value:J,onChange:e=>{f(1),Y(e.target.value)},children:[(0,Z.jsx)(`option`,{value:`all`,children:Q(`ops.financeCommission.allStatus`)}),(0,Z.jsx)(`option`,{value:`paid`,children:js(Q,`paid`)}),(0,Z.jsx)(`option`,{value:`shipped`,children:js(Q,`shipped`)}),(0,Z.jsx)(`option`,{value:`delivered`,children:js(Q,`delivered`)}),(0,Z.jsx)(`option`,{value:`completed`,children:js(Q,`completed`)}),(0,Z.jsx)(`option`,{value:`complaint_open`,children:js(Q,`complaint_open`)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.finance.sort`)}),(0,Z.jsxs)(`select`,{className:`form-select`,value:X,onChange:e=>{f(1),ge(e.target.value)},children:[(0,Z.jsx)(`option`,{value:`date_desc`,children:Q(`ops.financeSort.newestDate`)}),(0,Z.jsx)(`option`,{value:`date_asc`,children:Q(`ops.financeSort.olde
9stDate`)}),(0,Z.jsx)(`option`,{value:`seller_asc`,children:Q(`ops.financeSort.sellerAz`)}),(0,Z.jsx)(`option`,{value:`amount_desc`,children:Q(`ops.financeSort.amountHighLow`)}),(0,Z.jsx)(`option`,{value:`status_asc`,children:Q(`ops.financeSort.statusAz`)})]})]})]}),(0,Z.jsx)(`div`,{className:`admin-finance-table-region`,tabIndex:`0`,children:(0,Z.jsxs)(`table`,{className:`admin-finance-table`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`th`,{children:Q(`ops.financeCommission.invoice`)}),(0,Z.jsx)(`th`,{children:Q(`ops.financeCommission.seller`)}),(0,Z.jsx)(`th`,{className:`admin-finance-money`,children:Q(`ops.financeCommission.productGross`)}),(0,Z.jsx)(`th`,{className:`admin-finance-money`,children:Q(`ops.financeCommission.commission`)}),(0,Z.jsx)(`th`,{className:`admin-finance-money`,children:Q(`ops.financeCommission.productNet`)}),(0,Z.jsx)(`th`,{className:`admin-finance-money`,children:Q(`ops.financeCommission.storeCourierFreight`)}),(0,Z.jsx)(`th`,{className:`admin-finance-money`,children:Q(`ops.financeCommission.sellerPayout`)}),(0,Z.jsx)(`th`,{children:Q(`ops.financeCommission.status`)})]})}),(0,Z.jsxs)(`tbody`,{children:[Je.map(e=>(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`td`,{children:e.invoice_number}),(0,Z.jsx)(`td`,{children:e.seller_name||`â`}),(0,Z.jsx)(`td`,{className:`admin-finance-money`,children:Yt(e.product_gross_amount??e.gross_order_amount)}),(0,Z.jsx)(`td`,{className:`admin-finance-money`,title:`${Number(e.commission_percent||0).toFixed(2).replace(/\.00$/,``)}% commission_percent`,children:Yt(e.commission_amount)}),(0,Z.jsx)(`td`,{className:`admin-finance-money`,children:Yt(e.product_net_amount)}),(0,Z.jsx)(`td`,{className:`admin-finance-money`,children:e.store_courier_shipping_fee?Yt(e.store_courier_shipping_fee):`â`}),(0,Z.jsx)(`td`,{className:`admin-finance-money`,children:Yt(e.seller_payout_amount??e.net_seller_amount)}),(0,Z.jsx)(`td`,{children:(0,Z.jsx)(`span`,{className:`admin-finance-status admin-finance-status--info`,children:js(Q,e.order_status)})})]},e.order_id)),Je.length===0&&(0,Z.jsx)(`tr`,{children:(0,Z.jsx)(`td`,{className:`admin-finance-table__empty`,colSpan:8,children:Q(`ops.financeCommission.empty`)})})]})]})}),(0,Z.jsxs)(`div`,{className:`admin-finance-pagination`,children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:d<=1,onClick:()=>f(e=>Math.max(1,e-1)),children:Q(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:Q(`ops.finance.pageOf`,{page:d,totalPages:We})}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:d>=We,onClick:()=>f(e=>e+1),children:Q(`ops.common.next`)}),(0,Z.jsx)(`span`,{className:`admin-finance-pagination__total`,children:Q(`ops.finance.total`,{count:l})})]})]}),(0,Z.jsxs)(`section`,{className:`admin-finance-section admin-finance-withdrawals`,children:[w&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--loading`,role:`status`,children:Q(`ops.finance.loadingOverview`)}),L&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--error`,role:`alert`,children:Le(L)}),ne&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--error`,role:`alert`,children:Le(ne)}),(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawals__header`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:Q(`ops.financeWithdrawal.title`)}),(0,Z.jsx)(`p`,{children:Q(`ops.financeWithdrawal.reviewHelp`)})]}),je&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--success`,role:`status`,children:je})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-toolbar admin-finance-filters`,children:[(0,Z.jsxs)(`form`,{className:`admin-finance-field admin-finance-search`,onSubmit:Ue,children:[(0,Z.jsx)(`label`,{htmlFor:`admin-finance-withdrawal-search`,children:Q(`ops.financeWithdrawal.searchPlaceholder`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`input`,{id:`admin-finance-withdrawal-search`,className:`form-control`,type:`search`,placeholder:Q(`ops.financeWithdrawal.searchPlaceholder`),value:_e,onChange:e=>ve(e.target.value)}),(0,Z.jsx)(`button`,{className:`btn-secondary admin-finance-search__submit`,type:`submit`,"aria-label":Q(`ops.common.search`),title:Q(`ops.common.search`),children:(0,Z.jsx)(En,{})})]})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.financeCommission.status`)}),(0,Z.jsxs)(`select`,{className:`form-select`,value:xe,onChange:e=>Se(e.target.value),children:[(0,Z.jsx)(`option`,{value:`all`,children:Q(`ops.financeWithdrawal.allStatus`)}),(0,Z.jsx)(`option`,{value:`pending_review`,children:Ms(Q,`pending_review`)}),(0,Z.jsx)(`option`,{value:`approved`,children:Ms(Q,`approved`)}),(0,Z.jsx)(`option`,{value:`processing`,children:Ms(Q,`processing`)}),(0,Z.jsx)(`option`,{value:`paid`,children:Ms(Q,`paid`)}),(0,Z.jsx)(`option`,{value:`rejected`,children:Ms(Q,`rejected`)}),(0,Z.jsx)(`option`,{value:`cancelled`,children:Ms(Q,`cancelled`)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.finance.sort`)}),(0,Z.jsxs)(`select`,{className:`form-select`,value:Ce,onChange:e=>we(e.target.value),children:[(0,Z.jsx)(`option`,{value:`requested_desc`,children:Q(`ops.financeSort.newestRequest`)}),(0,Z.jsx)(`option`,{value:`requested_asc`,children:Q(`ops.financeSort.olde
9stRequest`)}),(0,Z.jsx)(`option`,{value:`amount_desc`,children:Q(`ops.financeSort.amountHighLow`)}),(0,Z.jsx)(`option`,{value:`status_asc`,children:Q(`ops.financeSort.statusAz`)}),(0,Z.jsx)(`option`,{value:`seller_asc`,children:Q(`ops.financeSort.sellerAz`)})]})]})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawals__layout`,children:[(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawals__list`,children:[Ze.map(e=>{let t=e.id===Te;return(0,Z.jsxs)(`article`,{className:`admin-finance-withdrawal-card${t?` admin-finance-withdrawal-card--selected`:``}`,children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-pressed":t,className:`admin-finance-withdrawal-card__select`,onClick:()=>{Ee(e.id),Oe(null),Me(``)},children:[(0,Z.jsxs)(`span`,{className:`admin-finance-withdrawal-card__summary`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:e.seller_name||Q(`ops.financeWithdrawal.fallbackSeller`,{id:e.seller_id})}),(0,Z.jsx)(`small`,{children:e.seller_slug||`â`})]}),(0,Z.jsx)(`span`,{className:`admin-finance-withdrawal-card__amount`,children:Yt(e.amount_cents)})]}),(0,Z.jsxs)(`span`,{className:`admin-finance-withdrawal-card__meta`,children:[(0,Z.jsx)(`span`,{className:tt(e.status),children:Ms(Q,e.status)}),(0,Z.jsx)(`span`,{children:Hs(e.requested_at)}),(0,Z.jsx)(`span`,{children:Us(e)})]})]}),t&&(0,Z.jsx)(`div`,{className:`admin-finance-withdrawals__mobile-detail`,children:rt(e,!0)})]},e.id)}),Ye.length===0&&(0,Z.jsx)(`div`,{className:`admin-finance-withdrawals__empty`,children:Q(`ops.financeWithdrawal.empty`)})]}),(0,Z.jsx)(`aside`,{className:`admin-finance-withdrawals__detail`,children:rt(Qe)})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-pagination`,children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:p<=1,onClick:()=>m(e=>Math.max(1,e-1)),children:Q(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:Q(`ops.finance.pageOf`,{page:p,totalPages:Xe})}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:p>=Xe,onClick:()=>m(e=>e+1),children:Q(`ops.common.next`)}),(0,Z.jsx)(`span`,{className:`admin-finance-pagination__total`,children:Q(`ops.finance.total`,{count:h})})]})]}),(0,Z.jsx)(`section`,{className:`admin-finance-section admin-finance-schedule`,children:(0,Z.jsxs)(`form`,{onSubmit:Ke,children:[S&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--loading`,role:`status`,children:Q(`ops.finance.loadingOverview`)}),(0,Z.jsxs)(`div`,{className:`admin-finance-section__header`,children:[(0,Z.jsx)(`h3`,{children:Q(`ops.financeSchedule.title`)}),(0,Z.jsx)(`p`,{children:Q(`ops.financeSchedule.futureOnlyHelp`)})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.financeSchedule.rate`)}),(0,Z.jsxs)(`div`,{className:`admin-finance-rate`,children:[(0,Z.jsx)(`input`,{className:`form-control`,type:`number`,step:`0.01`,min:0,max:100,value:V,onChange:e=>{H(e.target.value),P(``),I(``)},required:!0}),(0,Z.jsx)(`strong`,{children:`%`})]})]}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:Q(`ops.financeSchedule.effectiveFromDraft`)}),(0,Z.jsxs)(`div`,{className:`admin-finance-schedule__effective`,children:[(0,Z.jsx)(`input`,{className:`form-control`,type:`datetime-local`,value:U,onChange:e=>{W(e.target.value),P(``),I(``)},required:!0}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:$,children:Q(`ops.financeSchedule.saveEffectiveFrom`)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-schedule__selected`,role:`status`,children:[Q(`ops.financeSchedule.selectedEffectiveFrom`),`: `,(0,Z.jsx)(`strong`,{children:re?new Date(re).toLocaleString():Q(`ops.financeSchedule.notSet`)})]}),ee&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--error`,role:`alert`,children:Le(ee)}),F&&(0,Z.jsx)(`div`,{className:`admin-finance-notice admin-finance-notice--success`,role:`status`,children:F}),(0,Z.jsx)(`button`,{className:`btn-primary admin-finance-schedule__create`,type:`submit`,disabled:z,children:Q(z?`ops.financeSchedule.saving`:`ops.financeSchedule.addSchedule`)}),(0,Z.jsx)(`div`,{className:`admin-finance-schedule__rows`,children:(v||[]).map(e=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:Q(`ops.financeSchedule.effective`,{date:new Date(e.effective_at).toLocaleStr
9ing()})}),(0,Z.jsxs)(`strong`,{children:[Fs(e.rate_bps),`%`]})]},e.id||e.effective_at))})]})})]})]}),De&&Qe&&(0,Z.jsx)(`div`,{className:`admin-finance-withdrawal-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`withdrawal-confirm-title`,children:(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawal-modal__card`,children:[(0,Z.jsx)(`h3`,{id:`withdrawal-confirm-title`,children:Q(`ops.financeWithdrawal.confirmTitle`)}),(0,Z.jsx)(`dl`,{children:[[`seller`,Qe.seller_name||Q(`ops.financeWithdrawal.fallbackSeller`,{id:Qe.seller_id})],[`amount`,Yt(Qe.amount_cents)],[`currentStatus`,Ms(Q,Qe.status)],[`targetStatus`,Ms(Q,De.status)],[`destination`,Us(Qe)]].map(([e,t])=>(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:Q(`ops.financeWithdrawal.${e}`)}),(0,Z.jsx)(`dd`,{children:t})]},e))}),De.status===`paid`&&(0,Z.jsx)(`p`,{className:`admin-finance-withdrawal-modal__warning`,children:Q(`ops.financeWithdrawal.markPaidWarning`)}),(0,Z.jsxs)(`label`,{className:`admin-finance-field`,children:[(0,Z.jsx)(`span`,{children:De.status===`paid`?Q(`ops.financeWithdrawal.transferReference`):De.status===`rejected`?Q(`ops.financeWithdrawal.rejectReason`):Q(`ops.financeWithdrawal.optionalAdminNote`)}),(0,Z.jsx)(`textarea`,{className:`form-textarea`,value:ke,onChange:e=>Ae(e.target.value),rows:3})]}),(0,Z.jsxs)(`div`,{className:`admin-finance-withdrawal-modal__actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:()=>{Oe(null),Ae(``)},children:Q(`ops.common.cancel`)}),(0,Z.jsx)(`button`,{type:`button`,className:nt(De.status),disabled:Ne||(De.status===`paid`||De.status===`rejected`)&&!ke.trim(),onClick:et,children:Q(Ne?`ops.financeWithdrawal.saving`:Vs(De.status))})]})]})})]})}function Gs(e,t){let n=new Map(e.map(e=>[e.id,e]));return t.forEach(e=>n.set(e.id,e)),[...n.values()]}function Ks(e,t){let n=String(e??``);if(t===`fixed`)return n.replace(/\D/g,``);let r=n.replace(/,/g,`.`).replace(/[^\d.]/g,``),i=r.indexOf(`.`),a=i===-1?r:`${r.slice(0,i+1)}${r.slice(i+1).replace(/\./g,``)}`,[o=``,s=``]=a.split(`.`),c=o.replace(/\D/g,``),l=s.replace(/\D/g,``).slice(0,1);return!c&&!l?``:a.includes(`.`)?`${c||`0`}.${l}`:c}function qs(e,t){if(t===`fixed`){let t=String(e||``).replace(/\D/g,``);return t?Number(t):0}let n=Number(e);return Number.isFinite(n)?n:NaN}var Js=class extends Error{constructor(e){super(e),this.name=`OpsPromotionValidationError`,this.code=e}};function Ys(e){return String(e||``).trim().split(/[\s_-]+/).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1).toLowerCase()}`).join(` `)}function Xs(e){return`ops.promotionValidation.${e}`}function Zs(e,t){let n={all_sellers_all_products:`ops.promotionCoverage.all_sellers_all_products`,specific_sellers:`ops.promotionCoverage.specific_sellers`,specific_products_or_category:`ops.promotionCoverage.specific_products_or_category`};return n[t]?e(n[t]):Ys(t)}function Qs(e,t){let n={percent:`ops.promotionDiscountType.percent`,fixed:`ops.promotionDiscountType.fixed`};return n[t]?e(n[t]):Ys(t)}function $s(e,t){let n={store:`ops.promotionScope.store`,products:`ops.promotionScope.products`};return n[t]?e(n[t]):Ys(t)}function ec(e,t){let n={qris:`ops.promotionPaymentMethod.qris`,card:`ops.promotionPaymentMethod.card`,virtual_account:`ops.promotionPaymentMethod.virtual_account`};return n[t]?e(n[t]):Ys(t)}function tc(e,t){let n={active:`ops.promotionStatus.active`,scheduled:`ops.promotionStatus.scheduled`,ended:`ops.promotionStatus.ended`,inactive:`ops.promotionStatus.inactive`};return n[t]?e(n[t]):Ys(t)}function nc(e){return/(^https?:\/\/|^\/?products\/)/i.test(String(e||``).trim())}function rc(e){let t=new URLSearchParams,n=String(e||``).trim();return nc(n)?t.set(`url`,n):n&&t.set(`q`,n),`/admin/promotions/product-targets${t.toString()?`?${t.toString()}`:``}`}function ic(e,t){return!t||!Number.isInteger(Number(t.id))||(e||[]).some(e=>Number(e.id)===Number(t.id))?e:[...e||[],t]}function ac(e,t){return(e||[]).filter(e=>Number(e.id)!==Number(t))}function oc(e,t){let n=new Set((t||[]).map(Number));return(e||[]).filter(e=>!n.has(Number(e.seller_id)))}function sc(e){return(e||[]).reduce((e,t)=>
9{let n=Number(t.id),r=Number(t.seller_id);if(!Number.isInteger(n)||n<=0||!Number.isInteger(r)||r<=0)return e;let i=String(r);return e[i]=[...e[i]||[],n],e},{})}function cc(e){let t=e.discountType===`fixed`?qs(e.discountValue,`fixed`):qs(e.discountValue,`percent`),n=qs(e.minPurchase,`fixed`),r=String(e.maxDiscount||``).trim()?qs(e.maxDiscount,`fixed`):null;if(e.scopeType===`products`&&!e.coverageNeedsSellerSelection)throw new Js(`product_scope_requires_seller_targeting`);let i={title:e.title.trim(),code:e.code.replace(/\s+/g,``).toUpperCase(),requires_code:!!e.requiresCode,seller_ids:e.coverageNeedsSellerSelection?e.effectiveSellerIds:[],all_sellers:!e.coverageNeedsSellerSelection,scope_type:e.scopeType,discount_type:e.discountType,discount_value:t,min_purchase_cents:n,max_discount_cents:r,start_at:new Date(e.startAt).toISOString(),end_at:new Date(e.endAt).toISOString(),is_active:!0,allowed_payment_methods:e.allowedPaymentMethods};if(e.scopeType===`products`){let t=(e.selectedProductTargets||[]).map(e=>Number(e.id)).filter(e=>Number.isInteger(e)&&e>0);if(!t.length)throw new Js(`product_target_required`);if(e.coverageNeedsSellerSelection&&oc(e.selectedProductTargets,e.effectiveSellerIds).length)throw new Js(`product_target_seller_mismatch`);i.product_ids=t,i.product_ids_by_seller=sc(e.selectedProductTargets)}return i}var lc=50;function uc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(0),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)([]),[b,x]=(0,_.useState)(``),[S,C]=(0,_.useState)(``),[w,T]=(0,_.useState)(1),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(`all_sellers_all_products`),[A,j]=(0,_.useState)(`store`),[M,N]=(0,_.useState)(`percent`),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(``),[L,te]=(0,_.useState)(!1),[ne,R]=(0,_.useState)(``),[z,B]=(0,_.useState)(``),[V,H]=(0,_.useState)(``),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(``),[ie,ae]=(0,_.useState)(``),[oe,se]=(0,_.useState)([]),[ce,le]=(0,_.useState)([]),[ue,K]=(0,_.useState)(!1),[de,q]=(0,_.useState)(null),[fe,pe]=(0,_.useState)([]),[me,he]=(0,_.useState)(!1),J=Rr(),[Y,X]=(0,_.useState)(null),[ge,_e]=(0,_.useState)(null),[ve,ye]=(0,_.useState)(!1),[be,xe]=(0,_.useState)(!1),[Se,Ce]=(0,_.useState)(null),[we,Te]=(0,_.useState)(null),Ee=(0,_.useRef)(0);function De(e){let t=String(e||``).replace(/\D/g,``);return t?Number(t).toLocaleString(`en-US`):``}function Oe(e){return t=>{e(De(t.target.value))}}function ke(e){H(Ks(e.target.value,`percent`))}function Ae(e){u(e.target.value),f(0),m(!1)}async function je(e=l,{append:t=!1}={}){let n=t?d:0;g(!0);try{let r=new URLSearchParams;e.trim()&&r.set(`search`,e.trim()),r.set(`limit`,String(lc)),r.set(`offset`,String(n));let a=await i(`/admin/promotions/seller-targets?${r.toString()}`),o=Array.isArray(a)?a:Array.isArray(a?.items)?a.items:[];c(e=>t?Gs(e,o):o),f(n+o.length),m(Array.isArray(a)?o.length===lc:!!a?.has_more)}catch(e){X(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.promotions.errors.loadSellers`})}finally{g(!1)}}async function Me(e=S,t=w,n=me){let r=++Ee.current;ye(!0),X(null);try{let a=new URLSearchParams;e.trim()&&a.set(`search`,e.trim()),n&&a.set(`active_only`,`true`),a.set(`limit`,`50`),a.set(`offset`,String((t-1)*50));let s=await i(`/admin/promotions?${a.toString()}`);if(r!==Ee.current)return null;let c=Array.isArray(s)?s:[];if(c.length===0&&t>1){let r=t-1;return T(r),Me(e,r,n)}return o(c),D(c.length===50),c}catch(e){return r===Ee.current?(X(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.promotions.errors.loadPromotions`}),o([]),D(!1),null):null}finally{r===Ee.current&&ye(!1)}}(0,_.useEffect)(()=>{je(``),Me(``,1,!1)},[]);let Ne=O===`specific_sellers`||O===`specific_products_or_category`,Pe=(0,_.useMemo)(()=>Ne?v:[],[Ne,v]);function Fe(e){e.preventDefault();let t=b.trim();C(t),T(1),Me(t,1,me)}function Ie(e){let t=e.target.checked;he(t),T(1),Me(S,1,t)}function Q(e){T(e),Me(S,e,me)}function Le(e){pe(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function Re(e){e.preventDefault(),xe(!0),X(null),_e(null);try{if(!ee.trim()||!F.trim()||!ne||!z||!V)throw new Js(`required_fields`);let e=M===`fixed`?qs(V,`fixed`):qs(V,`percent`),t=re.trim()?qs(re,`fixed`):null;
9if(!Number.isFinite(e)||e<=0)throw new Js(`invalid_discount_value`);if(M===`percent`&&(e<1||e>100))throw new Js(`percent_out_of_range`);if(t!==null&&(!Number.isFinite(t)||t<0))throw new Js(`invalid_max_discount`);if(Ne&&!Pe.length)throw new Js(`seller_target_required`);await i(`/admin/promotions`,{method:`POST`,body:cc({title:ee,code:F,requiresCode:L,effectiveSellerIds:Pe,scopeType:A,discountType:M,discountValue:V,minPurchase:U,maxDiscount:re,startAt:ne,endAt:z,allowedPaymentMethods:fe,selectedProductTargets:ce,coverageNeedsSellerSelection:Ne})}),_e({type:`key`,key:`ops.promotions.notices.saved`}),P(``),I(``),te(!1),H(``),W(``),G(``),ae(``),se([]),le([]),q(null),pe([]),await Me(S,w,me)}catch(e){X(e instanceof Js?{type:`key`,key:Xs(e.code)}:e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.promotions.errors.save`})}finally{xe(!1)}}async function ze(){let e=ie.trim();if(e){K(!0),q(null);try{let t=await i(rc(e)),n=Array.isArray(t)?t:[];nc(e)&&n.length===1?(le(e=>{let t=ic(e,n[0]);return t===e&&q({type:`key`,key:`ops.promotions.productTargetDuplicate`}),t}),se([])):(se(n),n.length||q({type:`key`,key:`ops.promotions.noProductTargetResults`}))}catch{q({type:`key`,key:`ops.promotions.productTargetLookupFailed`}),se([])}finally{K(!1)}}}function Be(e){le(t=>{let n=ic(t,e);return q(n===t?{type:`key`,key:`ops.promotions.productTargetDuplicate`}:null),n})}async function Ve(e){if(we===null){Te(e);try{X(null),await i(`/admin/promotions/${e}/deactivate`,{method:`POST`,body:{}}),Ce(null),await Me(S,w,me)}catch(e){X(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.promotions.errors.deactivate`})}finally{Te(null)}}}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-promotions`,dedicatedAdminHost:t,title:J(`ops.promotions.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsxs)(`div`,{className:`admin-promotions-page`,children:[(0,Z.jsxs)(`form`,{onSubmit:Re,className:`admin-promotions-form`,children:[(0,Z.jsx)(`header`,{className:`admin-promotions-surface-header`,children:(0,Z.jsx)(`h2`,{children:J(`ops.promotions.createTitle`)})}),(0,Z.jsxs)(`section`,{className:`admin-promotions-section`,"aria-labelledby":`promotion-basic-title`,children:[(0,Z.jsx)(`h3`,{id:`promotion-basic-title`,children:J(`ops.promotions.sections.basic`)}),(0,Z.jsxs)(`div`,{className:`admin-promotions-grid`,children:[(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.titleLabel`),(0,Z.jsx)(`input`,{type:`text`,value:ee,onChange:e=>P(e.target.value),required:!0})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.codeLabel`),(0,Z.jsx)(`input`,{type:`text`,value:F,onChange:e=>I(e.target.value.replace(/\s+/g,``).toUpperCase().replace(/[^A-Z0-9_-]/g,``)),minLength:3,maxLength:32,required:!0})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field admin-promotions-requires-code`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:L,onChange:e=>te(e.target.checked)}),(0,Z.jsx)(`span`,{children:J(`ops.promotions.requiresCode`)})]}),(0,Z.jsx)(`small`,{children:J(`ops.promotions.requiresCodeHelp`)})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.startDate`),(0,Z.jsx)(`input`,{type:`datetime-local`,value:ne,onChange:e=>R(e.target.value),required:!0})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.endDate`),(0,Z.jsx)(`input`,{type:`datetime-local`,value:z,onChange:e=>B(e.target.value),required:!0})]})]})]}),(0,Z.jsxs)(`section`,{className:`admin-promotions-section`,"aria-labelledby":`promotion-discount-title`,children:[(0,Z.jsx)(`h3`,{id:`promotion-discount-title`,children:J(`ops.promotions.sections.discount`)}),(0,Z.jsxs)(`div`,{className:`admin-promotions-grid`,children:[(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.discountType`),(0,Z.jsxs)(`select`,{value:M,onChange:e=>N(e.target.value),children:[(0,Z.jsx)(`option`,{value:`percent`,children:Qs(J,`percent`)}),(0,Z.jsx)(`option`,{value:`fixed`,children:Qs(J,`fixed`)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.discountValue`),(0,Z.jsxs)(`span`,{className:`admin-promotions-inline-field`,children:[(0,Z.jsx)(`input`,{type:`text`,inputMode:M===`percent`?`decimal`:`numeric`,value:V,onChange:M===`percent`?ke:Oe(H),required:!0}),(0,Z.jsx)(`strong`,{children:M===`percent`?`%`:`IDR`})]}),M===`percent`&&(0,Z.jsx)(`small`,{children:J(`ops.promotions.percentHelp`)})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.minimumPurchase`),(0,Z.jsxs)(`span`,{className:`admin-promotions-inline-field`,children:[(0,Z.jsx)(`strong`,{children:`Rp`}),(0,Z.jsx)(`input`,{type:`text`,inputMode:`numeric`,value:U,onChange:Oe(W)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.maxDiscount`),(0,Z.jsxs)(`span`,{className:`admin-promotions-inline-field`,children:[(0,Z.jsx)(`strong`,{children:`Rp`}),(0,Z.jsx)(`input`,{type:`text`,inputMode:`numeric`,value:re,onChange:Oe(G)})]})]})]})]}),(0,Z.jsxs)(`section`,{className:`admin-promotions-section admin-promotions-targeting`,"aria-labelledby":`promotion-target-title`,children:[(0,Z.jsx)(`h3`,{id:`promotion-target-title`,children:J(`ops.promotions.sections.coverageTarget`)}),(0,Z.jsxs)(`div`,{className:`admin-promotions-target-flow`,children:[(0,Z.jsxs)(`div`,{className:`admin-promotions-target-panel`,children:[(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.coverage`),(0,Z.jsxs)(`select`,{value:O,onChange:e=>k(e.target.value),children:[(0,Z.jsx)(`option`,{value:`all_sellers_all_products`,children:Zs(J,`all_sellers_all_products`)}),(0,Z.jsx)(`option`,{value:`specific_sellers`,children:Zs(J,`specific_sellers`)}
9),(0,Z.jsx)(`option`,{value:`specific_products_or_category`,children:Zs(J,`specific_products_or_category`)})]})]}),!Ne&&(0,Z.jsx)(`small`,{children:J(`ops.promotions.noSellerSelectionNeeded`)}),Ne&&(0,Z.jsxs)(`div`,{className:`admin-promotions-seller-picker`,children:[(0,Z.jsxs)(`div`,{className:`admin-promotions-picker-heading`,children:[(0,Z.jsx)(`strong`,{children:J(`ops.promotions.targetSellers`)}),(0,Z.jsx)(`span`,{children:J(`ops.promotions.selectedSellerCount`,{count:v.length})})]}),(0,Z.jsxs)(`div`,{className:`admin-promotions-seller-search`,children:[(0,Z.jsx)(`input`,{value:l,onChange:Ae,placeholder:J(`ops.promotions.sellerSearchPlaceholder`),"aria-label":J(`ops.promotions.findSellers`)}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>je(l),disabled:h,children:J(`ops.promotions.refreshSellers`)})]}),(0,Z.jsx)(`div`,{className:`admin-promotions-seller-options`,children:s.map(e=>(0,Z.jsxs)(`label`,{className:v.includes(e.id)?`is-selected`:``,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:v.includes(e.id),onChange:()=>y(t=>t.includes(e.id)?t.filter(t=>t!==e.id):[...t,e.id])}),(0,Z.jsxs)(`span`,{children:[e.name,` `,(0,Z.jsxs)(`small`,{children:[`(`,e.slug,`)`]})]})]},e.id))}),p&&(0,Z.jsx)(`button`,{className:`btn-secondary admin-promotions-load-more`,type:`button`,onClick:()=>je(l,{append:!0}),disabled:h,children:J(h?`ops.promotions.loadingSellers`:`ops.promotions.loadMoreSellers`)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-promotions-scope-panel`,children:[(0,Z.jsxs)(`label`,{className:`admin-promotions-field`,children:[J(`ops.promotions.scope`),(0,Z.jsxs)(`select`,{value:A,onChange:e=>j(e.target.value),children:[(0,Z.jsx)(`option`,{value:`store`,children:$s(J,`store`)}),(0,Z.jsx)(`option`,{value:`products`,children:$s(J,`products`)})]})]}),A===`store`&&(0,Z.jsx)(`small`,{children:J(`ops.promotions.scopeStoreHelp`)}),A===`products`&&(0,Z.jsxs)(`div`,{className:`admin-promotions-product-targets`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`strong`,{children:J(`ops.promotions.productTargetSearch`)}),(0,Z.jsxs)(`div`,{className:`admin-promotions-product-search`,children:[(0,Z.jsx)(`input`,{type:`text`,value:ie,onChange:e=>ae(e.target.value),placeholder:J(`ops.promotions.productTargetSearchPlaceholder`),"aria-label":J(`ops.promotions.productTargetSearch`)}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:ze,disabled:ue,children:J(ue?`ops.promotions.loading`:`ops.promotions.productTargetSearchButton`)})]}),(0,Z.jsx)(`small`,{children:J(`ops.promotions.productTargetUrlHelp`)}),ue&&(0,Z.jsx)(`span`,{className:`admin-promotions-lookup-status`,role:`status`,children:J(`ops.promotions.loading`)}),de&&(0,Z.jsx)(`span`,{className:`admin-promotions-lookup-message`,role:de.key===`ops.promotions.productTargetLookupFailed`?`alert`:`status`,children:J(de.key)})]}),oe.length>0&&(0,Z.jsxs)(`div`,{className:`admin-promotions-product-results`,children:[(0,Z.jsx)(`strong`,{children:J(`ops.promotions.productTargetResults`)}),oe.map(e=>(0,Z.jsxs)(`div`,{className:`admin-promotions-product-card`,children:[(0,Z.jsxs)(`span`,{children:[e.title,` · `,e.seller_name,(0,Z.jsxs)(`small`,{children:[e.url_path,` · ID `,e.id]})]}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>Be(e),children:J(`ops.promotions.productTargetAddButton`)})]},e.id))]}),(0,Z.jsxs)(`div`,{className:`admin-promotions-selected-products`,children:[(0,Z.jsxs)(`div`,{className:`admin-promotions-picker-heading`,children:[(0,Z.jsx)(`strong`,{children:J(`ops.promotions.selectedProducts`)}),(0,Z.jsx)(`span`,{children:J(`ops.promotions.selectedProductCount`,{count:ce.length})})]}),Ne&&ce.some(e=>!v.includes(e.seller_id))&&(0,Z.jsx)(`small`,{children:J(`ops.promotions.productTargetSellerMismatchWarning`)}),ce.map(e=>(0,Z.jsxs)(`div`,{className:`admin-promotions-product-card`,children:[(0,Z.jsxs)(`span`,{children:[e.title,` · `,e.seller_name,(0,Z.jsxs)(`small`,{children:[e.url_path,` · ID `,e.id]})]}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>le(t=>ac(t,e.id)),children:J(`ops.promotions.removeProductTarget`)})]},e.id))]})]})]})]})]}),(0,Z.jsxs)(`section`,{className:`admin-promotions-section`,"aria-labelledby":`promotion-payment-title`,children:[(0,Z.jsx)(`h3`,{id:`promotion-payment-title`,children:J(`ops.promotions.sections.payment`)}),(0,Z.jsxs)(`fieldset`,{className:`admin-promotions-payment-methods`,children:[(0,Z.jsx)(`legend`,{children:J(`ops.promotions.paymentRestriction`)}),[`qris`,`card`,`virtual_account`].map(e=>(0,Z.jsxs)(`label`,{className:`admin-promotions-payment-chip`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,value:e,checked:fe.includes(e),onChange:()=>Le(e)}),(0,Z.jsx)(`span`,{children:ec(J,e)})]},e)),(0,Z.jsx)(`small`,{children:J(`ops.promotions.paymentRestrictionHelp`)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-promotions-actions`,children:[(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:be,children:J(be?`ops.promotions.saving`:`ops.promotions.save`)}),ge&&(0,Z.jsx)(`span`,{className:`admin-promotions-message admin-
9promotions-message-success`,role:`status`,children:ge.type===`raw`?ge.message:J(ge.key)}),Y&&(0,Z.jsx)(`span`,{className:`admin-promotions-message admin-promotions-message-error`,role:`alert`,children:Y.type===`raw`?Y.message:J(Y.key)})]})]}),(0,Z.jsxs)(`section`,{className:`admin-promotions-list-card`,"aria-labelledby":`promotion-list-title`,children:[(0,Z.jsx)(`header`,{className:`admin-promotions-surface-header`,children:(0,Z.jsx)(`h2`,{id:`promotion-list-title`,children:J(`ops.promotions.listTitle`)})}),(0,Z.jsxs)(`form`,{className:`admin-promotions-list-toolbar`,onSubmit:Fe,children:[(0,Z.jsx)(`input`,{placeholder:J(`ops.promotions.listSearchPlaceholder`),"aria-label":J(`ops.promotions.listSearchPlaceholder`),value:b,onChange:e=>x(e.target.value)}),(0,Z.jsx)(`button`,{className:`btn-secondary admin-promotions-search-submit`,type:`submit`,"aria-label":J(`ops.promotionActions.search`),title:J(`ops.promotionActions.search`),children:(0,Z.jsx)(En,{})}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:me,onChange:Ie}),J(`ops.promotions.activeOnly`)]})]}),ve&&(0,Z.jsx)(`div`,{className:`admin-promotions-loading`,role:`status`,children:J(`ops.promotions.loading`)}),!ve&&(0,Z.jsxs)(`div`,{className:`admin-promotions-table-wrap`,children:[(0,Z.jsxs)(`table`,{className:`admin-promotions-table`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsx)(`tr`,{children:[`code`,`title`,`seller`,`type`,`discountValue`,`minimumPurchase`,`maximumDiscount`,`scope`,`paymentMethods`,`status`,`start`,`end`,`action`].map(e=>(0,Z.jsx)(`th`,{className:[`minimumPurchase`,`maximumDiscount`,`paymentMethods`].includes(e)?`admin-promotions-table-wrap-heading`:void 0,children:J(`ops.promotions.table.${e}`)},e))})}),(0,Z.jsx)(`tbody`,{children:a.map(e=>(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.code`),children:(0,Z.jsx)(`strong`,{children:e.code})}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.title`),children:e.title}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.seller`),children:e.applies_to_all_sellers?J(`ops.promotions.allSellers`):e.seller_name||e.seller_slug||J(`ops.promotions.sellerFallback`,{id:e.seller_id})}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.type`),children:Qs(J,e.discount_type)}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.discountValue`),children:e.discount_type===`percent`?`${Number(e.discount_value||0).toFixed(1).replace(/\.0$/,``)}%`:Yt(Number(e.discount_value||0))}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.minimumPurchase`),children:Yt(Number(e.min_purchase_cents||0))}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.maximumDiscount`),children:e.max_discount_cents==null?J(`ops.promotions.noMaximumDiscount`):Yt(Number(e.max_discount_cents))}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.scope`),children:$s(J,e.scope_type)}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.paymentMethods`),children:Array.isArray(e.allowed_payment_methods)&&e.allowed_payment_methods.length>0?e.allowed_payment_methods.map(e=>ec(J,e)).join(`, `):J(`ops.promotions.all`)}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.status`),children:(0,Z.jsx)(`span`,{className:`admin-promotions-status admin-promotions-status--${e.status}`,children:tc(J,e.status)})}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.start`),children:new Date(e.start_at).toLocaleString()}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.end`),children:new Date(e.end_at).toLocaleString()}),(0,Z.jsx)(`td`,{"data-label":J(`ops.promotions.table.action`),children:e.is_active?(0,Z.jsx)(`button`,{className:`btn-danger`,type:`button`,onClick:()=>Ce(e),children:J(`ops.promotionActions.deactivate`)}):(0,Z.jsx)(`span`,{className:`admin-promotions-archived`,children:J(`ops.promotions.archivedAction`)})})]},e.id))})]}),a.length===0&&(0,Z.jsx)(`p`,{className:`admin-promotions-empty`,children:J(`ops.promotions.empty`)})]}),(0,Z.jsxs)(`nav`,{className:`admin-promotions-pagination`,"aria-label":J(`ops.promotions.paginationLabel`),children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:w<=1||ve,onClick:()=>Q(w-1),children:J(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:J(`ops.promotions.page`,{page:w})}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:!E||ve,onClick:()=>Q(w+1),children:J(`ops.common.next`)})]})]})]}),Se&&(0,Z.jsx)(`div`,{className:`admin-promotions-dialog-backdrop`,children:(0,Z.jsxs)(`section`,{className:`admin-promotions-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`promotion-deactivate-title`,children:[(0,Z.jsx)(`h2`,{id:`promotion-deactivate-title`,children:J(`ops.promotions.deactivateTitle`)}),(0,Z.jsx)(`p`,{children:J(`ops.promotions.deactivateText`,{title:Se.title,code:Se.code})}),(0,Z.jsxs)(`div`,{className:`admin-promotions-dialog-actions`,children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>Ce(null),disabled:we!==null,children:J(`ops.promotions.cancel`)}),(0,Z.jsx)(`button`,{className:`btn-danger`,type:`button`,onClick:()=>Ve(Se.id),disabled:we===Se.id,children:we===Se.id?J(`ops.promotions.deactivating`):J(`ops.promotionActions.deactivate`)})]})]})})]})}var dc=[{code:`qris`,nameKey:`qris`},{code:`va`,nameKey:`va`},{code:`card`,nameKey:`card`}],fc=[[`bca`,`BCA`],[`mandiri`,`Mandiri`],[`bri`,`BRI`],[`bni`,`BNI`],[`bsi`,`BSI`],[`permata`,`Permata`],[`cimb`,`CIMB Niaga`],[`danamon`,`Danamon`],[`btn`,`BTN`],[`bnc`,`BNC`],[`doku`,`DOKU VA`]],pc=Object.fromEntries(fc.map(([e])=>[`payment.va.${e}.enabled`,![`danamon`,`btn`,`bnc`].includes(e)]));function mc(e,t){return e?e.type===`raw`?e.message:t(e.key):``}function hc(e){let t=String(e||``).replace(/\D/g,``);
9return t?Number(t).toLocaleString(`en-US`):``}function gc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)({"payment.qris.enabled":!0,"payment.qris.min_amount_cents":`0`,"payment.qris.max_amount_cents":`10,000,000`,"payment.va.enabled":!0,"payment.va.min_amount_cents":`150,000`,"payment.va.max_amount_cents":``,...pc,"payment.card.enabled":!0,"payment.card.min_amount_cents":`500,000`,"payment.card.max_amount_cents":``}),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(!1),d=Rr(),[f,p]=(0,_.useState)(null),[m,h]=(0,_.useState)(null),g=(0,_.useCallback)((e,t=0)=>{let n=String(e??``).replace(/\D/g,``);return n?Number(n):t},[]),v=(0,_.useCallback)(async()=>{c(!0),p(null);try{let e=await i(`/admin/payment-method-settings`);o({"payment.qris.enabled":!!(e?.[`payment.qris.enabled`]??!0),"payment.qris.min_amount_cents":hc(e?.[`payment.qris.min_amount_cents`]??0),"payment.qris.max_amount_cents":hc(e?.[`payment.qris.max_amount_cents`]??1e7),"payment.va.enabled":!!(e?.[`payment.va.enabled`]??!0),"payment.va.min_amount_cents":hc(e?.[`payment.va.min_amount_cents`]??15e4),"payment.va.max_amount_cents":hc(e?.[`payment.va.max_amount_cents`]??0),...Object.fromEntries(fc.map(([t])=>{let n=`payment.va.${t}.enabled`;return[n,!!(e?.[n]??pc[n])]})),"payment.card.enabled":!!(e?.[`payment.card.enabled`]??!0),"payment.card.min_amount_cents":hc(e?.[`payment.card.min_amount_cents`]??5e5),"payment.card.max_amount_cents":hc(e?.[`payment.card.max_amount_cents`]??0)})}catch(e){p(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.paymentSettings.errors.load`})}finally{c(!1)}},[i]);(0,_.useEffect)(()=>{v()},[v]);function y(e){return t=>{let n=!!t.target.checked;o(t=>({...t,[e]:n}))}}function b(e){return t=>{o(n=>({...n,[e]:hc(t.target.value)}))}}async function x(e){if(e.preventDefault(),!l){p(null),h(null);for(let{code:e}of dc){let t=g(a[`payment.${e}.min_amount_cents`],0),n=g(a[`payment.${e}.max_amount_cents`],0);if(n!==0&&n<t){p({type:`key`,key:`ops.paymentSettings.errors.maxBelowMin.${e}`});return}}u(!0);try{await i(`/admin/payment-method-settings`,{method:`PUT`,body:{"payment.qris.enabled":!!a[`payment.qris.enabled`],"payment.qris.min_amount_cents":g(a[`payment.qris.min_amount_cents`],0),"payment.qris.max_amount_cents":g(a[`payment.qris.max_amount_cents`],0),"payment.va.enabled":!!a[`payment.va.enabled`],"payment.va.min_amount_cents":g(a[`payment.va.min_amount_cents`],15e4),"payment.va.max_amount_cents":g(a[`payment.va.max_amount_cents`],0),...Object.fromEntries(fc.map(([e])=>{let t=`payment.va.${e}.enabled`;return[t,!!a[t]]})),"payment.card.enabled":!!a[`payment.card.enabled`],"payment.card.min_amount_cents":g(a[`payment.card.min_amount_cents`],5e5),"payment.card.max_amount_cents":g(a[`payment.card.max_amount_cents`],0)}}),h({type:`key`,key:`ops.paymentSettings.notices.saved`}),await v()}catch(e){p(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.paymentSettings.errors.save`})}finally{u(!1)}}}return(0,Z.jsx)($i,{navigate:e,currentPage:`admin-payment-settings`,dedicatedAdminHost:t,title:d(`ops.paymentSettings.title`),onLoggedOut:n,authUser:r,children:(0,Z.jsxs)(`form`,{className:`payment-settings`,onSubmit:x,children:[(0,Z.jsxs)(`header`,{className:`payment-settings__header`,children:[(0,Z.jsx)(`h2`,{children:d(`ops.paymentSettings.sectionTitle`)}),(0,Z.jsx)(`p`,{children:d(`ops.paymentSettings.intro`)})]}),s&&(0,Z.jsx)(`p`,{className:`payment-settings__state payment-settings__state--loading`,role:`status`,children:d(`ops.paymentSettings.loading`)}),!s&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`payment-settings__grid`,children:dc.map(({code:e,nameKey:t})=>{let n=`payment.${e}.enabled`,r=`payment.${e}.min_amount_cents`,i=`payment.${e}.max_amount_cents`,o=`payment-${e}-minimum`,s=`payment-${e}-maximum`,c=`payment-${e}-maximum-help`,l=!!a[n];return(0,Z.jsxs)(`section`,{className:`payment-method-card${l?``:` is-disabled`}`,"aria-labelledby":`payment-${e}-title`,children:[(0,Z.jsxs)(`div`,{className:`payment-method-card__heading`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{id:`payment-${e}-title`,children:d(`ops.paymentSettings.methods.${t}`)}),(0,Z.jsx)(`p`,{children:d(`ops.paymentSettings.descriptions.${t}`)})]}),(0,Z.jsxs)(`label`,{className:`payment-method-toggle`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:l,onChange:y(n)}),(0,Z.jsx)(`span`,{children:d(`ops.paymentSettings.fields.enabled`)})]})]}),(0,Z.jsxs)(`div`,{className:`payment-method-card__amounts`,children:[(0,Z.jsxs)(`label`,{className:`form-field`,htmlFor:o,children:[(0,Z.jsx)(`span`,{children:d(`ops.paymentSettings.fields.minAmount`)}),(0,Z.jsxs)(`span`,{className:`payment-settings__money`,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`Rp`}),(0,Z.jsx)(`input`,{className:`form-control`,id:o,type:`text`,inputMode:`numeric`,autoComplete:`off`,value:a[r],onChange:b(r),placeholder:`0`})]})]}),(0,Z.jsxs)(`label`,{className:`form-field`,htmlFor:s,children:[(0,Z.jsx)(`span`,{children:d(`ops.paymentSettings.fields.maxAmount`)}),(0,Z.jsxs)(`span`,{className:`payment-settings__money`,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`Rp`}),(0,Z.jsx)(`input`,{className:`form-control`,id:s,type:`text`,inputMode:`numeric`,autoComplete:`off`,"aria-describedby":c,value:a[i],onChange:b(i),placeholder:e===`qris`?`10,000,000`:`0`})]}),(0,Z.jsx)(`small`,{className:`form-helper`,id:c,children:d(`ops.paymentSettings.noMaxHelp`)})]})]}),e===`va`&&(0,Z.jsxs)(`fieldset`,{className:`payment-method-card__banks`,children:[(0,Z.jsx)(`legend`,{children:d(`ops.paymentSettings.vaBanks`)}),(0,Z.jsx)(`div`,{className:`payment-method-card__bank-grid`,children:fc.map(([e,t])=>{let n=`payment.va.${e}.enabled`;return(0,Z.jsxs)(`label`,{className:`payment-method-toggle payment-method-toggle--bank`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:!!a[n],onChange:y(n)}),(0,Z.jsx)(`span`,{children:t})]},e)})})]})]},e)})}),(0,Z.jsx)(`div`,{className:`payment-settings__actions`,children:(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:l,children:d(l?`ops.paymentSettings.saving`:`ops.paymentSettings.save`)})})]}),m&&(0,Z.jsx)(`p`,{className:`payment-settings__state payment-settings__state--success`,role:`status`,children:mc(m,d)}),f&&(0,Z.jsx)(`p`,{className:`payment-settings__state payment-settings__state--error`,role:`alert`,children:mc(f,d)})]})})}var _c=1,vc=30,yc=1,bc=1440,xc=10,Sc={seller_sla:`ops.orderSettings.fields.sellerSla`,first_retry_delay:`ops.orderSettings.fields.firstDelay`,retry_interval:`ops.orderSettings.fields.retryInterval`,max_auto_attempts:`ops.orderSettings.fields.maxAutoAttempts`};function Cc(e,t,n,r){let i=Number(e);return!Number.isInteger(i)||i<t||i>n?{type:`validation`,field:r,min:t,max:n}:null}function wc(e,t){return e?e.type===`raw`?e.message:e.type===`validation`?t(`ops.orderSettings.val
9idation.wholeNumberRange`,{label:t(Sc[e.field]),min:e.min,max:e.max}):t(e.key):``}function Tc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)(`3`),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(`10`),[p,m]=(0,_.useState)(`20`),[h,g]=(0,_.useState)(`3`),[v,y]=(0,_.useState)(!0),[b,x]=(0,_.useState)(!1),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)(null),E=Rr(),D=(0,_.useCallback)(async()=>{y(!0),C(null);try{let e=await i(`/admin/order-fulfillment-settings`);o(String(e?.fulfillment_sla_working_days??3)),c(!!(e?.pickup_auto_retry_enabled??!0)),u(!!(e?.biteship_tracking_reconciliation_enabled??!1)),f(String(e?.pickup_auto_retry_first_delay_minutes??10)),m(String(e?.pickup_auto_retry_interval_minutes??20)),g(String(e?.pickup_auto_retry_max_attempts??3))}catch(e){C(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.orderSettings.errors.load`})}finally{y(!1)}},[i]);(0,_.useEffect)(()=>{D()},[D]);function O(){return Cc(a,_c,vc,`seller_sla`)||Cc(d,yc,bc,`first_retry_delay`)||Cc(p,yc,bc,`retry_interval`)||Cc(h,0,xc,`max_auto_attempts`)}async function k(e){if(e.preventDefault(),b)return;let t=O();if(t){C(t),T(null);return}x(!0),C(null),T(null);try{await i(`/admin/order-fulfillment-settings`,{method:`PUT`,body:{fulfillment_sla_working_days:Number(a),pickup_auto_retry_enabled:s,biteship_tracking_reconciliation_enabled:l,pickup_auto_retry_first_delay_minutes:Number(d),pickup_auto_retry_interval_minutes:Number(p),pickup_auto_retry_max_attempts:Number(h)}}),T({type:`key`,key:`ops.orderSettings.notices.saved`}),await D()}catch(e){C(e?.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.orderSettings.errors.save`})}finally{x(!1)}}let A=()=>{C(null),T(null)},j=wc(w,E),M=wc(S,E);return(0,Z.jsx)($i,{navigate:e,currentPage:`admin-order-settings`,dedicatedAdminHost:t,title:E(`ops.orderSettings.title`),onLoggedOut:n,authUser:r,children:(0,Z.jsxs)(`form`,{className:`order-settings`,onSubmit:k,children:[v&&(0,Z.jsx)(`div`,{className:`order-settings__status order-settings__status--loading`,role:`status`,children:E(`ops.orderSettings.loading`)}),!v&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`order-settings__card`,"aria-labelledby":`order-settings-sla-title`,children:[(0,Z.jsxs)(`div`,{className:`order-settings__section-heading`,children:[(0,Z.jsx)(`h2`,{id:`order-settings-sla-title`,children:E(`ops.orderSettings.fulfillmentTitle`)}),(0,Z.jsx)(`p`,{className:`form-helper`,id:`seller-sla-help`,children:E(`ops.orderSettings.sellerSlaHelp`)})]}),(0,Z.jsxs)(`div`,{className:`form-field order-settings__number-field`,children:[(0,Z.jsx)(`label`,{htmlFor:`seller-sla`,children:E(`ops.orderSettings.fields.sellerSla`)}),(0,Z.jsx)(`input`,{className:`form-control`,id:`seller-sla`,type:`number`,inputMode:`numeric`,min:_c,max:vc,step:`1`,value:a,"aria-describedby":`seller-sla-help seller-sla-example`,onChange:e=>{o(e.target.value),A()}})]}),(0,Z.jsx)(`div`,{className:`order-settings__information`,id:`seller-sla-example`,children:E(`ops.orderSettings.sellerSlaExample`)})]}),(0,Z.jsxs)(`section`,{className:`order-settings__card`,"aria-labelledby":`order-settings-retry-title`,children:[(0,Z.jsxs)(`div`,{className:`order-settings__section-heading`,children:[(0,Z.jsx)(`h2`,{id:`order-settings-retry-title`,children:E(`ops.orderSettings.autoRetryTitle`)}),(0,Z.jsx)(`p`,{className:`form-helper`,id:`auto-retry-help`,children:E(`ops.orderSettings.autoRetryHelp`)})]}),(0,Z.jsxs)(`label`,{className:`order-settings__toggle`,htmlFor:`auto-retry-enabled`,children:[(0,Z.jsx)(`input`,{id:`auto-retry-enabled`,type:`checkbox`,checked:s,"aria-describedby":`auto-retry-help`,onChange:e=>{c(e.target.checked),A()}}),(0,Z.jsx)(`span`,{children:E(`ops.orderSettings.fields.autoRetryEnabled`)})]}),(0,Z.jsxs)(`div`,{className:`order-settings__retry-fields`,"data-enabled":s,children:[(0,Z.jsxs)(`div`,{className:`form-field`,children:[(0,Z.jsx)(`label`,{htmlFor:`first-retry-delay`,children:E(`ops.orderSettings.fields.firstDelay`)}),(0,Z.jsx)(`input`,{className:`form-control`,id:`first-retry-delay`,type:`number`,inputMode:`numeric`,min:yc,max:bc,step:`1`,value:d,onChange:e=>{f(e.target.value),A()}})]}),(0,Z.jsxs)(`div`,{className:`form-field`,children:[(0,Z.jsx)(`label`,{htmlFor:`retry-interval`,children:E(`ops.orderSettings.fields.retryInterval`)}),(0,Z.jsx)(`input`,{className:`form-control`,id:`retry-interval`,type:`number`,inputMode:`numeric`,min:yc,max:bc,step:`1`,value:p,onChange:e=>{m(e.target.value),A()}})]}),(0,Z.jsxs)(`div`,{className:`form-field`,children:[(0,Z.jsx)(`label`,{htmlFor:`max-auto-attempts`,children:E(`ops.orderSettings.fields.maxAutoAttempts`)}),(0,Z.jsx)(`input`,{className:`form-control`,id:`max-auto-attempts`,type:`number`,inputMode:`numeric`,min:`0`,max:xc,step:`1`,value:h,onChange:e=>{g(e.target.value),A()}})]})]})]}),(0,Z.jsxs)(`section`,{className:`order-settings__card`,"aria-labelledby":`order-settings-tracking-reconciliation-title`,children:[(0,Z.jsxs)(`div`,{className:`order-settings__section-heading`,children:[(0,Z.jsx)(`h2`,{id:`order-settings-tracking-reconciliation-title`,children:E(`ops.orderSettings.trackingReconciliationTitle`)}),(0,Z.jsx)(`p`,{className:`form-helper`,id:`tracking-reconciliation-help`,children:E(`ops.orderSettings.trackingReconciliationHelp`)})]}),(0,Z.jsxs)(`label`,{className:`order-settings__toggle`,htmlFor:`tracking-reconciliation-enabled`,children:[(0,Z.jsx)(`input`,{id:`tracking-reconciliation-enabled`,type:`checkbox`,checked:l,"aria-describedby":`tracking-reconciliation-help`,onChange:e=>{u(e.target.checked),A()}}),(0,Z.jsx)(`span`,{children:E(`ops.orderSettings.fields.trackingReconciliationEnabled`)})]})]}),(0,Z.jsx)(`div`,{className:`order-settings__actions`,children:(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:b,children:E(b?`ops.orderSettings.saving`:`ops.orderSettings.save`)})})]}),j&&(0,Z.jsx)(`div`,{className:`order-settings__status order-settings__status--success`,role:`status`,children:j}),M&&(0,Z.jsx)(`div`,{className:`order-settings__status order-settings__status--error`,role:`alert`,children:M})]})})}var Ec=[`normal`,`write_freeze`,`maintenance`],Dc=[`buyer_home`,`seller_dashboard`];function Oc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let a=Rr(),[o,s]=(0,_.useState)(`id`),[c,l]=(0,_.useState)(!0),[u,d]=(0,_.useState)(`normal`),[f,p]=(0,_.useState)(`normal`),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(!0),[y,b]=(0,_.useState)(!0),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(null),[D,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(null),[j,M]=(0,_.useState)(null),[N,ee]=(0,_.useState)([]),[P,F]=(0,_.useState)(!0),[I,L]=(0,_.useState)(null),[te,ne]=(0,_.useState)(null),[R,z]=(0,_.useState)([]),[B,V]=(0,_.useState)(!0),[H,U]=(0,_.useState)(``),[W,re]=(0,_.useState)(``),G=(0,_.useCallback)(async()=>{V(!0),re(``);try{z(await i(`/admin/site-banners`))}catch(e){re(e?.message||a(`ops.siteSettings.banners.loadFailed`))}finally{V(!1)}},[i,a]),ie=(0,_.useCallback)(async()=>{v(!0),A(null),E(null);try{let e=await i(`/admin/site-settings`);s(Cr(e?.default_language)||`id`),l(e?.guest_checkout_enabled!==!1)}catch(e){A(e?.message?{message:e.message}:{key:`ops.siteSettings.loadFailed`})}finally{v(!1)}},[i]),ae=(0,_.useCallback)(async()=>{b(!0),M(null),O(null);
9try{let e=await i(`/platform/status`,{authSurface:`admin`}),t=e?.mode||`normal`;p(t),d(t),h(e?.message||``)}catch(e){M(e?.message?{message:e.message}:{key:`ops.siteSettings.platform.loadFailed`})}finally{b(!1)}},[i]),oe=(0,_.useCallback)(async()=>{F(!0),ne(null);try{let e=await i(`/admin/shipping/providers`);ee(Array.isArray(e?.items)?e.items:[])}catch(e){ne(e?.message?{message:e.message}:{key:`ops.siteSettings.shippingProviders.loadFailed`})}finally{F(!1)}},[i]);(0,_.useEffect)(()=>{ae(),ie(),oe(),G()},[ae,ie,oe,G]);async function se(e,t){if(t){U(`upload-${e}`),re(``);try{await i(`/admin/site-banners`,{method:`POST`,body:{surface:e,storage_ref:(await i(`/admin/site-banners/upload?surface=${encodeURIComponent(e)}`,{method:`POST`,body:t,authSurface:`admin`})).storage_ref},authSurface:`admin`}),await G()}catch(e){re(e?.message||a(`ops.siteSettings.banners.mutationFailed`))}finally{U(``)}}}async function ce(e){U(`banner-${e.id}`),re(``);try{await i(`/admin/site-banners/${e.id}`,{method:`PATCH`,body:{is_active:!e.is_active},authSurface:`admin`}),await G()}catch(e){re(e?.message||a(`ops.siteSettings.banners.mutationFailed`))}finally{U(``)}}async function le(e,t,n){let r=R.filter(t=>t.surface===e),o=r.findIndex(e=>e.id===t),s=o+n;if(o<0||s<0||s>=r.length)return;let c=r.map(e=>e.id);[c[o],c[s]]=[c[s],c[o]],U(`banner-${t}`),re(``);try{await i(`/admin/site-banners/reorder`,{method:`PUT`,body:{surface:e,ids:c},authSurface:`admin`}),await G()}catch(e){re(e?.message||a(`ops.siteSettings.banners.mutationFailed`))}finally{U(``)}}async function ue(e){U(`banner-${e.id}`),re(``);try{await i(`/admin/site-banners/${e.id}`,{method:`DELETE`,authSurface:`admin`}),await G()}catch(e){re(e?.message||a(`ops.siteSettings.banners.mutationFailed`))}finally{U(``)}}async function K(e){L(e.id),ne(null);try{let t=await i(`/admin/shipping/providers/${e.id}/activation`,{method:`PUT`,body:{is_active:!e.is_active}});ee(e=>e.map(e=>e.id===t.id?t:e))}catch(e){ne(e?.message?{message:e.message}:{key:`ops.siteSettings.shippingProviders.saveFailed`})}finally{L(null)}}async function de(e){e.preventDefault();let t=Cr(o);if(!t){A({key:`ops.siteSettings.invalidLanguage`});return}S(!0),A(null),E(null);try{let e=await i(`/admin/site-settings`,{method:`PUT`,body:{default_language:t,guest_checkout_enabled:c}});s(Cr(e?.default_language)||t),l(e?.guest_checkout_enabled!==!1),E({key:`ops.siteSettings.saved`})}catch(e){A(e?.message?{message:e.message}:{key:`ops.siteSettings.saveFailed`})}finally{S(!1)}}async function q(e){e.preventDefault(),w(!0),M(null),O(null);try{let e=await i(`/admin/platform/mode`,{method:`POST`,authSurface:`admin`,body:{mode:u,message:m}}),t=e?.mode||u;p(t),d(t),h(e?.message||``),O({key:`ops.siteSettings.platform.saved`})}catch(e){M(e?.message?{message:e.message}:{key:`ops.siteSettings.platform.saveFailed`})}finally{w(!1)}}return(0,Z.jsx)($i,{navigate:e,currentPage:`admin-site-settings`,dedicatedAdminHost:t,title:a(`ops.siteSettings.title`),onLoggedOut:n,authUser:r,children:(0,Z.jsxs)(`div`,{className:`admin-site-settings-page`,children:[(0,Z.jsxs)(`form`,{className:`admin-settings-card admin-settings-card--platform`,onSubmit:q,children:[(0,Z.jsxs)(`div`,{className:`admin-settings-heading`,children:[(0,Z.jsx)(`h2`,{children:a(`ops.siteSettings.platform.title`)}),(0,Z.jsxs)(`p`,{className:`admin-platform-status admin-platform-status--${f}`,children:[(0,Z.jsx)(`span`,{children:a(`ops.siteSettings.platform.current`)}),(0,Z.jsx)(`strong`,{children:a(`ops.siteSettings.platform.modes.${f}.label`)})]})]}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.platform.help`)}),y?(0,Z.jsx)(`p`,{role:`status`,className:`admin-settings-state`,children:a(`ops.siteSettings.platform.loading`)}):null,j&&(0,Z.jsx)(`p`,{role:`alert`,className:`admin-settings-error`,children:j.message||a(j.key)}),D&&(0,Z.jsx)(`p`,{role:`status`,className:`admin-settings-success`,children:D.message||a(D.key)}),(0,Z.jsxs)(`label`,{className:`admin-settings-field`,children:[(0,Z.jsx)(`span`,{children:a(`ops.siteSettings.platform.modeLabel`)}),(0,Z.jsx)(`select`,{className:`form-control`,value:u,onChange:e=>d(e.target.value),disabled:y||C,children:Ec.map(e=>(0,Z.jsxs)(`option`,{value:e,children:[a(`ops.siteSettings.platform.modes.${e}.label`),` â `,a(`ops.siteSettings.platform.modes.${e}.description`)]},e))})]}),u===f?null:(0,Z.jsx)(`p`,{className:`admin-settings-unsaved`,role:`status`,children:a(`ops.siteSettings.platform.unsavedSelection`)}),u===`normal`?null:(0,Z.jsx)(`p`,{className:`admin-settings-warning`,role:`status`,children:a(`ops.siteSettings.platform.modes.${u}.warning`)}),(0,Z.jsxs)(`label`,{className:`admin-settings-field`,children:[(0,Z.jsx)(`span`,{children:a(`ops.siteSettings.platform.messageLabel`)}),(0,Z.jsx)(`textarea`,{className:`form-control`,value:m,onChange:e=>h(e.target.value),maxLength:500,rows:3,disabled:y||C,placeholder:a(`ops.siteSettings.platform.messagePlaceholder`)})]}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.platform.messageHelp`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`btn-primary admin-settings-save`,disabled:y||C,children:a(C?`ops.siteSettings.platform.saving`:`ops.siteSettings.platform.save`)})]}),(0,Z.jsxs)(`section`,{className:`admin-settings-card admin-settings-card--banners`,children:[(0,Z.jsx)(`h2`,{children:a(`ops.siteSettings.banners.title`)}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.banners.help`)}),B?(0,Z.jsx)(`p`,{role:`status`,children:a(`ops.siteSettings.banners.loading`)}):null,W?(0,Z.jsx)(`p`,{role:`alert`,className:`admin-settings-error`,children:W}):null,Dc.map(e=>{let t=R.filter(t=>t.surface===e);return(0,Z.jsxs)(`div`,{className:`admin-banner-surface`,children:[(0,Z.jsxs)(`div`,{className:`admin-settings-heading`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.siteSettings.banners.surfaces.${e}`)}),(0,Z.jsxs)(`label`,{className:`btn-primary admin-banner-upload`,children:[H===`upload-${e}`?a(`ops.siteSettings.banners.uploading`):a(`ops.siteSettings.banners.upload`),(0,Z.jsx)(`input`,{type:`file`,accept:`image/jpeg,image/png,image/webp,image/gif`,disabled:!!H,onChange:t=>{se(e,t.target.files?.[0]),t.target.value=``}})]})]}),!B&&t.length===0?(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.banners.empty`)}):null,(0,Z.jsx)(`div`,{className:`admin-banner-list`,children:t.map((n,r)=>(0,Z.jsxs)(`article`,{className:`admin-banner-item`,children:[(0,Z.jsx)(`img`,{src:n.image_url,alt:``}),(0,Z.jsxs)(`div`,{className:`admin-banner-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>ce(n),disabled:!!H,children:a(`ops.siteSettings.banners.${n.is_active?`disable`:`enable`}`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>le(e,n.id,-1),disabled:!!H||r===0,children:a(`ops.siteSettings.banners.up`)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>le(e,n.id,1),disabled:!!H||r===t.length-1,children:a(`ops.siteSettings.banners.down`)}),(0,Z.jsx)(`button`,{type:`button`,className:`admin-banner-delete`,onClick:()=>ue(n),disabled:!!H,children:a(`ops.siteSettings.banners.delete`)})]})]},n.id))})]},e)})]}),(0,Z.jsxs)(`form`,{className:`admin-settings-card`,onSubmit:de,children:[(0,Z.jsx)(`h3`,{children:a(`ops.siteSettings.defaultLanguage`)}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.defaultLanguageHelp`)}),g?(0,Z.jsxs)(`p`,{role:`status`,children:[a(`ops.siteSettings.loading`),`...`]}):null,k&&(0,Z.jsx)(`p`,{role:`alert`,className:`admin-settings-error`,children:k.message||a(k.key)}),T&&(0,Z.jsx)(`p`,{role:`status`,className:`admin-settings-success`,children:T.message||a(T.key)}),(0,Z.jsxs)(`label`,{className:`admin-settings-field`,children:[(0,Z.jsx)(`span`,{children:a(`ops.siteSettings.defaultLanguage`)}),(0,Z.jsxs)(`select`,{value:o,className:`form-control`,onChange:e=>s(e.target.value),disabled:g||x,children:[(0,Z.jsx)(`option`,{value:`id`,children:a(`language.bahasa`)}),(0,Z.jsx)(`option`,{value:`en`,children:a(`language.english`)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-settings-toggle-row`,children:[(0,Z.jsx)(`span`,{className:`admin-settings-toggle-label`,children:a(`ops.siteSettings.guestCheckout`)}),(0,Z.jsx)(`span`,{className:`admin-settings-toggle-control`,children:(0,Z.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>l(e.target.checked),disabled:g||x})})]}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.guestCheckoutHelp`)}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.guestCheckoutDisabledHelp`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`btn-primary admin-settings-save`,disabled:g||x||!Cr(o),children:a(x?`ops.siteSettings.saving`:`ops.siteSettings.save`)})]}),(0,Z.jsxs)(`section`,{className:`admin-settings-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.siteSettings.shippingProviders.title`)}),P?(0,Z.jsx)(`p`,{role:`status`,children:a(`ops.siteSettings.shippingProviders.loading`)}):null,te?(0,Z.jsx)(`p`,{role:`alert`,className:`admin-settings-error`,children:te.message||a(te.key)}):null,!P&&N.length===0?(0,Z.jsx)(`p`,{children:a(`ops.siteSettings.shippingProviders.empty`)}):null,N.map(e=>(0,Z.jsxs)(`label`,{className:`admin-settings-toggle-row`,children:[(0,Z.jsx)(`span`,{className:`admin-settings-toggle-label`,children:(0,Z.jsx)(`strong`,{children:e.name})}),(0,Z.jsx)(`span`,{className:`admin-settings-toggle-control`,children:(0,Z.jsx)(`input`,{type:`checkbox`,checked:e.is_active===!0,onChange:()=>K(e),disabled:P||I===e.id,"aria-label":a(`ops.siteSettings.shippingProviders.toggle`,{name:e.name})})})]},e.id)),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.shippingProviders.storeCourierHelp`)})]}),(0,Z.jsxs)(`section`,{className:`admin-settings-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.siteSettings.myLanguage`)}),(0,Z.jsx)(`p`,{className:`admin-settings-help`,children:a(`ops.siteSettings.myLanguageHelp`)}),(0,Z.jsx)(zr,{compact:!0,displayMode:`languageNames`,ariaLabel:a(`ops.siteSettings.myLanguage`)})]})]})})}function kc({banners:e=[],ariaLabel:t=`Site banners`}){let[n,r]=(0,_.useState)(()=>new Set),[i,a]=(0,_.useState)(0),[o,s]=(0,_.useState)(0),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(()=>typeof document>`u`||!document.hidden),f=(0,_.useMemo)(()=>e.filter(e=>e?.image_url&&!n.has(e.id)),[e,n]),p=(0,_.useMemo)(()=>f.map(e=>e.image_url),[f]);if((0,_.useEffect)(()=>
9{p.length<2||p.slice(1).forEach(e=>{let t=new Image;t.src=e})},[p]),(0,_.useEffect)(()=>{let e=window.matchMedia?.(`(prefers-reduced-motion: reduce)`);if(!e)return;let t=()=>l(e.matches);return t(),e.addEventListener?.(`change`,t),()=>e.removeEventListener?.(`change`,t)},[]),(0,_.useEffect)(()=>{let e=()=>d(!document.hidden);return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),(0,_.useEffect)(()=>{if(f.length<2||c||!u)return;let e=window.setInterval(()=>a(e=>(e+1)%f.length),5e3);return()=>window.clearInterval(e)},[f.length,c,u,o]),!f.length)return null;let m=Math.min(i,f.length-1),h=f[m]||f[0];return(0,Z.jsxs)(`section`,{className:`site-banner-carousel`,"aria-roledescription":`carousel`,"aria-label":t,children:[(0,Z.jsx)(`img`,{src:h.image_url,alt:``,onError:()=>r(e=>new Set(e).add(h.id))}),f.length>1?(0,Z.jsx)(`div`,{className:`site-banner-dots`,role:`group`,"aria-label":`Choose banner`,children:f.map((e,t)=>(0,Z.jsx)(`button`,{type:`button`,className:t===m?`active`:``,"aria-label":`Show banner ${t+1} of ${f.length}`,"aria-current":t===m?`true`:void 0,onClick:()=>{a(t),s(e=>e+1)}},e.id))}):null]})}function Ac({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(!0),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(!0),[b,x]=(0,_.useState)(!1),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)(null),E=Rr(),D=w?w.type===`raw`?w.message:E(w.key):``;async function O(){y(!0),T(null);try{let e=await i(`/admin/holidays`);o(e||[])}catch(e){T(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.holidays.errors.load`})}finally{y(!1)}}(0,_.useEffect)(()=>{O()},[]);function k(){m(null),c(``),u(``),f(!0)}function A(e){m(e.id),c(e.holiday_date||``),u(e.name||``),f(!!e.is_active),T(null)}async function j(e){if(e.preventDefault(),!s||!l.trim()){T({type:`key`,key:`ops.holidays.errors.requiredFields`});return}x(!0),T(null);try{let e={holiday_date:s,name:l.trim(),is_active:d};p?await i(`/admin/holidays/${p}`,{method:`PUT`,body:e}):await i(`/admin/holidays`,{method:`POST`,body:e}),k(),await O()}catch(e){T(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.holidays.errors.save`})}finally{x(!1)}}async function M(){let e=h.id;x(!0),C(e),T(null);try{await i(`/admin/holidays/${e}`,{method:`DELETE`}),p===e&&k(),g(null),await O()}catch(e){T(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.holidays.errors.delete`})}finally{C(null),x(!1)}}return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-holidays`,dedicatedAdminHost:t,title:E(`ops.holidays.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsxs)(`main`,{className:`admin-holidays-page`,children:[(0,Z.jsx)(`p`,{className:`admin-holidays-intro`,children:E(`ops.holidays.slaExplanation`)}),D&&(0,Z.jsx)(`div`,{className:`admin-holidays-error`,role:`alert`,children:D}),(0,Z.jsxs)(`section`,{className:`admin-holiday-editor`,"aria-labelledby":`holiday-editor-title`,children:[(0,Z.jsxs)(`div`,{className:`admin-holiday-editor__heading`,children:[(0,Z.jsx)(`h2`,{id:`holiday-editor-title`,children:E(p?`ops.holidays.editingTitle`:`ops.holidays.editorTitle`)}),p&&(0,Z.jsx)(`span`,{className:`admin-holiday-edit-badge`,children:E(`ops.holidays.editingBadge`)})]}),(0,Z.jsxs)(`form`,{className:`admin-holiday-form`,onSubmit:j,children:[(0,Z.jsxs)(`label`,{className:`admin-holiday-field`,children:[(0,Z.jsx)(`span`,{children:E(`ops.holidays.dateLabel`)}),(0,Z.jsx)(`input`,{className:`form-control`,type:`date`,value:s,onChange:e=>c(e.target.value),disabled:b,required:!0})]}),(0,Z.jsxs)(`label`,{className:`admin-holiday-field admin-holiday-field--name`,children:[(0,Z.jsx)(`span`,{children:E(`ops.holidays.nameLabel`)}),(0,Z.jsx)(`input`,{className:`form-control`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:E(`ops.holidays.namePlaceholder`),disabled:b,required:!0})]}),(0,Z.jsxs)(`label`,{className:`admin-holiday-active`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked),disabled:b}),(0,Z.jsx)(`span`,{children:E(`ops.holidays.active`)})]}),(0,Z.jsxs)(`div`,{className:`admin-holiday-form__actions`,children:[(0,Z.jsx)(`button`,{type:`submit`,className:`btn-primary`,disabled:b,children:E(p?`ops.holidays.save`:`ops.holidays.add`)}),p&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:k,disabled:b,children:E(`ops.holidays.cancelEdit`)})]})]})]}),(0,Z.jsxs)(`section`,{className:`admin-holiday-list`,"aria-labelledby":`holiday-list-title`,children:[(0,Z.jsx)(`h2`,{id:`holiday-list-title`,children:E(`ops.holidays.listTitle`)}),v?(0,Z.jsx)(`div`,{className:`admin-holidays-state`,role:`status`,children:E(`ops.holidays.loading`)}):a.length===0?(0,Z.jsx)(`div`,{className:`admin-holidays-state`,children:E(`ops.holidays.empty`)}):(0,Z.jsxs)(`table`,{className:`admin-holiday-table`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`th`,{children:E(`ops.holidays.date`)}),(0,Z.jsx)(`th`,{children:E(`ops.holidays.name`)}),(0,Z.jsx)(`th`,{children:E(`ops.holidays.status`)}),(0,Z.jsx)(`th`,{children:E(`ops.holidays.actions`)})]})}),(0,Z.jsx)(`tbody`,{children:a.map(e=>(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`td`,{"data-label":E(`ops.holidays.date`),children:e.holiday_date}),(0,Z.jsx)(`td`,{"data-label":E(`ops.holidays.name`),className:`admin-holiday-table__name`,children:e.name}),(0,Z.jsx)(`td`,{"data-label":E(`ops.holidays.status`),children:(0,Z.jsx)(`span`,{className:`admin-holiday-status admin-holiday-status--${e.is_active?`active`:`inactive`}`,children:e.is_active?E(`ops.holidays.active`):E(`ops.holidays.inactive`)})}),(0,Z.jsx)(`td`,{"data-label":E(`ops.holidays.actions`),children:(0,Z.jsxs)(`div`,{className:`admin-holiday-row-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>A(e),disabled:b,children:E(`ops.holidays.edit`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-danger`,onClick:()=>g(e),disabled:b,children:E(`ops.holidays.delete`)})]})})]},e.id))})]})]})]}),h&&(0,Z.jsx)(`div`,{className:`admin-holiday-dialog-backdrop`,role:`presentation`,children:(0,Z.jsxs)(`section`,{className:`admin-holiday-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`holiday-delete-title`,children:[(0,Z.jsx)(`h2`,{id:`holiday-delete-title`,children:E(`ops.holidays.deleteDialogTitle`)}),(0,Z.jsx)(`p`,{children:E(`ops.holidays.deleteDialogBody`,{name:h.name,date:h.holiday_date})}),(0,Z.jsxs)(`div`,{className:`admin-holiday-dialog__actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:()=>g(null),disabled:S===h.id,children:E(`ops.holidays.cancelDelete`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-danger`,onClick:M,disabled:S===h.id,children:E(`ops.holidays.confirmDelete`)})]})]})})]})}function jc(e,t){let n=new Set(t||[]),r=(e?.candidate_orders||[]).filter(e=>n.has(e.seller_id));return{selectedSellerIds:[...n],candidateOrders:r,eligibleOrderCount:r.length}}var Mc={name:``,province_id:``,city_regency_id:``,district_id:``,extra_working_days:1,internal_reason:``};function Nc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let a=Rr(),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)([]),[m,h]=(0,_.useState)(Mc),[g,v]=(0,_.useState)([]),[y,b]=(0,_.useState)([]),[x,S]=(0,_.useState)([]),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)(``);async function k(){s(await i(`/admin/emergency-sla-incidents`))}async function A(e){E(``),O(``),d(null),p([]),l(await i(`/admin/emergency-sla-incidents/${e.public_id}`))}(0,_.useEffect)(()=>{k().catch(e=>E(e.message)),i(`/locations/indonesia/canonical/provinces`).then(v).catch(e=>E(e.message))},[]);async function j(e){h(t=>({...t,province_id:e,city_regency_id:``,district_id:``})),S([]),b(e?await i(`/locations/indonesia/canonical/cities?province_code=${e}`):[])}async function M(e){h(t=>({...t,city_regency_id:e,district_id:``})),S(e?await i(`/locations/indonesia/canonical/districts?city_code=${e}`):[])}async function N(e){e.preventDefault(),w(!0),E(``),O(``);try{let e=await i(`/admin/emergency-sla-incidents`,{method:`POST`,body:{...m,province_id:Number(m.province_id),city_regency_id:m.city_regency_id?Number(m.city_regency_id):null,district_id:m.district_id?Number(m.district_id):null,extra_working_days:Number(m.extra_working_days)}});h(Mc),b([]),S([]),await k(),l(e),O(a(`ops.emergencySla.created`))}catch(e){E(e.message)}finally{w(!1)}}async function ee(){w(!0),E(``),O(``);try{let e=await i(`/admin/emergency-sla-incidents/${c.public_id}/preview`,{method:`POST`,body:{selected_seller_ids:null}});d(e),p(e.sellers.map(e=>e.seller_id))}catch(e){E(e.message)}finally{w(!1)}}async function P(){if(!(!u||!window.confirm(a(`ops.emergencySla.confirmApply`,{count:te.length})))){w(!0),E(``),O(``);try{let e=await i(`/admin/emergency-sla-incidents/${c.public_id}/apply`,{method:`POST`,body:{selected_seller_ids:f}});O(a(`ops.emergencySla.applied`,{extended:e.extended,skipped:e.skipped})),await k(),await A(e.incident),d(null)}catch(e){E(e.message)}finally{w(!1)}}}async function F(){if(window.confirm(a(`ops.emergencySla.confirmClose`))){w(!0),E(``);try{let e=await i(`/admin/emergency-sla-incidents/${c.public_id}/close`,{method:`POST`});l(e),d(null),await k()}catch(e){E(e.message)}finally{w(!1)}}}function I(e){p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}let L=jc(u,f),te=L.candidateOrders,ne=L.eligibleOrderCount;return(0,Z.jsx)($i,{navigate:e,currentPage:`admin-emergency-sla`,dedicatedAdminHost:t,title:a(`ops.emergencySla.title`),onLoggedOut:n,authUser:r,children:(0,Z.jsxs)(`main`,{className:`emergency-sla-page`,children:[(0,Z.jsx)(`p`,{children:a(`ops.emergencySla.helper`)}),T&&(0,Z.jsx)(`div`,{className:`emergency-alert is-error`,role:`alert`,children:T}),D&&(0,Z.jsx)(`div`,{className:`emergency-alert is-success`,role:`status`,children:D}),(0,Z.jsxs)(`section`,{className:`emergency-card`,children:[(0,Z.jsx)(`h2`,{children:a(`ops.emergencySla.createTitle`)}),(0,Z.jsxs)(`form`,{className:`emergency-form`,onSubmit:N,children:[(0,Z.jsxs)(`label`,{children:[a(`ops.emergencySla.name`),(0,Z.jsx)(`input`,{required:!0,minLength:`3`,maxLength:`160`,value:m.name,onChange:e=>h({...m,name:e.target.value})})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.emergencySla.province`),(0,Z.jsxs)(`select`,{required:!0,value:m.province_id,onChange:e=>j(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:`â`}),g.map(e=>(0,Z.jsx)(`option`,{value:e.code,children:e.name},e.code))]})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.emergencySla.city`),(0,Z.jsxs)(`select`,{value:m.city_regency_id,disabled:!m.province_id,onChange:e=>M(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:a(`ops.emergencySla.allDescendants`)}),y.map(e=>(0,Z.jsx)(`option`,{value:e.code,children:e.name},e.code))]})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.emergencySla.district`),(0,Z.jsxs)(`select`,{value:m.district_id,disabled:!m.city_regency_id,onChange:e=>h({...m,district_id:e.target.value}),children:[(0,Z.jsx)(`option`,{value:``,children:a(`ops.emergencySla.allDescendants`)}),x.map(e=>(0,Z.jsx)(`option`,{value:e.code,children:e.name},e.code))]})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.emergencySla.days`),(0,Z.jsx)(`input`,{required:!0,type:`number`,min:`1`,max:`30`,value:m.extra_working_days,onChange:e=>h({...m,extra_working_days:e.target.value})})]}),(0,Z.jsxs)(`label`,{className:`wide`,children:[a(`ops.emergencySla.reason`),(0,Z.jsx)(`textarea`,{required:!0,minLength:`10`,maxLength:`500`,value:m.internal_reason,onChange:e=>h({...m,internal_reason:e.target.value})})]}),(0,Z.jsx)(`button`,{className:`btn-primary`,disabled:C,children:a(`ops.emergencySla.create`)})]})]}),(0,Z.jsxs)(`section`,{className:`emergency-card`,children:[(0,Z.jsx)(`h2`,{children:a(`ops.emergencySla.history`)}),(0,Z.jsx)(`div`,{className:`emergency-table-wrap`,children:(0,Z.jsxs)(`table`,{children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.name`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.area`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.days`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.status`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.affected`)})]})}),(0,Z.jsx)(`tbody`,{children:o.map(e=>(0,Z.jsxs)(`tr`,{onClick:()=>A(e),tabIndex:`0`,children:[(0,Z.jsx)(`td`,{children:e.name}),(0,Z.jsx)(`td`,{children:e.area}),(0,Z.jsxs)(`td`,{children:[`+`,e.extra_working_days]}),(0,Z.jsx)(`td`,{children:e.status}),(0,Z.jsxs)(`td`,{children:[e.total_unique_sellers_affected,` / `,e.total_unique_orders_affected]})]},e.public_id))})]})})]}),c&&(0,Z.jsxs)(`section`,{className:`emergency-card`,children:[(0,Z.jsxs)(`div`,{className:`emergency-heading`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{children:c.name}),(0,Z.jsxs)(`p`,{children:[c.area,` · +`,c.extra_working_days,` · `,c.status]})]}),c.status===`active`&&(0,Z.jsx)(`button`,{className:`btn-danger`,disabled:C,onClick:F,children:a(`ops.emergencySla.close`)})]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.reason`),`:`]}),` `,c.internal_reason]}),c.status===`active`&&(0,Z.jsx)(`button`,{className:`btn-secondary`,disabled:C,onClick:ee,children:a(`ops.emergencySla.preview`)}),u&&(0,Z.jsxs)(`div`,{className:`emergency-preview`,children:[(0,Z.jsxs)(`div`,{className:`emergency-counts`,children:[(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.areaSellers`),`: `,u.matched_seller_count]}),(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.areaEligible`),`: `,u.eligible_order_count]}),(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.selectedEligible`),`: `,ne]}),(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.covered`),`: `,u.already_covered_count]}),(0,Z.jsxs)(`strong`,{children:[a(`ops.emergencySla.skipped`),`: `,u.skipped_count]})]}),(0,Z.jsx)(`div`,{className:`skip-reasons`,children:Object.entries(u.ski
9pped_reason_counts).map(([e,t])=>(0,Z.jsxs)(`span`,{children:[a(`ops.emergencySla.skipReasons.${e}`),`: `,t]},e))}),(0,Z.jsx)(`h3`,{children:a(`ops.emergencySla.sellerSelection`)}),u.sellers.map(e=>(0,Z.jsxs)(`label`,{className:`seller-choice`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:f.includes(e.seller_id),onChange:()=>I(e.seller_id)}),` `,(0,Z.jsxs)(`span`,{children:[e.seller_name,` â `,e.eligible_new_order_count,` / `,e.already_covered_count]})]},e.seller_id)),(0,Z.jsx)(`div`,{className:`emergency-table-wrap`,children:(0,Z.jsxs)(`table`,{children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.invoice`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.sellers`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.currentDeadline`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.projectedDeadline`)}),(0,Z.jsx)(`th`,{children:a(`ops.emergencySla.shippingState`)})]})}),(0,Z.jsx)(`tbody`,{children:te.map(e=>(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`td`,{children:e.invoice_number}),(0,Z.jsx)(`td`,{children:e.seller_name}),(0,Z.jsx)(`td`,{children:new Date(e.current_ship_by_deadline_at).toLocaleString()}),(0,Z.jsx)(`td`,{children:new Date(e.projected_new_deadline_at).toLocaleString()}),(0,Z.jsx)(`td`,{children:e.shipping_state})]},e.public_id))})]})}),(0,Z.jsx)(`button`,{className:`btn-primary`,disabled:C||ne===0,onClick:P,children:a(`ops.emergencySla.apply`)})]}),(0,Z.jsx)(`h3`,{children:a(`ops.emergencySla.appliedOrders`)}),c.applied_orders?.map(e=>(0,Z.jsxs)(`div`,{className:`application-row`,children:[(0,Z.jsx)(`strong`,{children:e.invoice_number}),(0,Z.jsx)(`span`,{children:e.seller_name}),(0,Z.jsxs)(`span`,{children:[new Date(e.old_ship_by_deadline_at).toLocaleString(),` â `,new Date(e.new_ship_by_deadline_at).toLocaleString()]})]},`${e.public_id}-${e.applied_at}`))]})]})})}var Pc=e=>String(e||`-`).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),Fc=(e,t,n)=>{let r=e(t);return r===t||r===t.split(`.`).pop()?Pc(n):r},Ic=[``,`requested`,`approved`,`rejected`,`cancelled`,`received`,`refunded`,`shipped_back`];function Lc(e,t){let n=String(t||``).trim();return n?Fc(e,`ops.returnStatus.${n}`,n):`-`}function Rc(e,t){let n=String(t||``).trim();return n?Fc(e,`ops.returnReason.${n}`,n):`-`}function zc({page:e,status:t=``}){let n=new URLSearchParams({limit:`50`,offset:String((Math.max(1,e)-1)*50)});return t&&n.set(`status`,t),`/admin/returns?${n.toString()}`}function Bc(e){return Array.isArray(e)&&e.length===50}function Vc(e,t){return e>1&&Array.isArray(t)&&t.length===0?e-1:e}function Hc(e,t){return e&&t.some(t=>t.id===e.id)?e:null}function Uc(){let e=0;return{begin(){return e+=1,e},isLatest(t){return t===e}}}function Wc({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let a=Rr(),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(`approve`),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(1),[C,w]=(0,_.useState)(!1),T=(0,_.useRef)(null),E=(0,_.useRef)(``),D=(0,_.useRef)(1),O=(0,_.useRef)(Uc()),k=(0,_.useRef)(Uc());(0,_.useEffect)(()=>{T.current=u},[u]),(0,_.useEffect)(()=>{E.current=o},[o]);let A=(0,_.useCallback)(async e=>{let t=k.current.begin();v(null);try{let n=await i(`/admin/returns/${e}`);if(!k.current.isLatest(t))return;d(n),T.current=n,h(n.admin_note||``)}catch(e){k.current.isLatest(t)&&v(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.returns.errors.loadDetail`})}},[i]),j=(0,_.useCallback)(()=>{k.current.begin(),T.current=null,d(null),h(``)},[]),M=(0,_.useCallback)(async(e=E.current,t=D.current,{stepBackIfEmpty:n=!1}={})=>{let r=O.current.begin();b(!0),v(null);try{let a=await i(zc({page:t,status:e}))||[];if(!O.current.isLatest(r))return;let o=n?Vc(t,a):t;if(o!==t){D.current=o,S(o),await M(e,o);return}D.current=t,S(t),l(a),w(Bc(a));let s=Hc(T.current,a);s?await A(s.id):j()}catch(e){O.current.isLatest(r)&&v(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.returns.errors.loadList`})}finally{O.current.isLatest(r)&&b(!1)}},[i,j,A]),N=(0,_.useCallback)(async()=>
9{if(u){v(null);try{let e=await i(`/admin/returns/${u.id}/mediate`,{method:`POST`,body:{decision:f,admin_note:m||void 0}});d(e),T.current=e,await M(E.current,D.current,{stepBackIfEmpty:!0})}catch(e){v(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.returns.errors.mediate`})}}},[m,i,f,M,u]);(0,_.useEffect)(()=>{M()},[M]);let ee=g?.type===`key`?a(g.key):g?.message;return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-returns`,dedicatedAdminHost:t,title:a(`ops.returns.title`),onLoggedOut:n,authUser:r,children:[ee&&(0,Z.jsx)(`div`,{style:{color:`crimson`,marginBottom:8},children:ee}),(0,Z.jsxs)(`div`,{style:{marginBottom:10,display:`flex`,gap:8,alignItems:`center`},children:[(0,Z.jsx)(`label`,{children:a(`ops.returns.statusFilter`)}),(0,Z.jsx)(`select`,{value:o,onChange:e=>{let t=e.target.value;E.current=t,s(t),D.current=1,S(1),j(),M(t,1)},children:Ic.map(e=>(0,Z.jsx)(`option`,{value:e,children:e?Lc(a,e):a(`ops.returns.all`)},e||`all`))}),(0,Z.jsx)(`button`,{onClick:()=>M(),children:a(`ops.common.refresh`)})]}),(0,Z.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12},children:[(0,Z.jsxs)(`div`,{style:{border:`1px solid #eee`,borderRadius:8,padding:10},children:[(0,Z.jsx)(`h3`,{style:{marginTop:0},children:a(`ops.returns.requests`)}),y&&(0,Z.jsxs)(`div`,{children:[a(`ops.common.loading`),`â¦`]}),!y&&c.length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:a(`ops.returns.noReturns`)}),(0,Z.jsx)(`div`,{style:{display:`grid`,gap:8},children:c.map(e=>(0,Z.jsxs)(`button`,{onClick:()=>A(e.id),style:{textAlign:`left`,border:u?.id===e.id?`1px solid #222`:`1px solid #ddd`,borderRadius:8,padding:8,background:`white`},children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`b`,{children:[`#`,e.id]}),` · `,Lc(a,e.status)]}),(0,Z.jsx)(`div`,{children:a(`ops.returns.order`,{id:e.order_id})})]},e.id))}),(0,Z.jsxs)(`div`,{className:`admin-pagination-row`,"aria-label":a(`ops.returns.paginationLabel`),children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:y||x<=1,onClick:()=>{j(),M(E.current,x-1)},children:a(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:a(`ops.returns.page`,{page:x})}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:y||!C,onClick:()=>{j(),M(E.current,x+1)},children:a(`ops.common.next`)})]})]}),(0,Z.jsxs)(`div`,{style:{border:`1px solid #eee`,borderRadius:8,padding:10},children:[(0,Z.jsx)(`h3`,{style:{marginTop:0},children:a(`ops.returns.detailTitle`)}),!u&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:a(`ops.returns.pickRequest`)}),u&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{children:a(`ops.returns.returnId`,{id:u.id})}),(0,Z.jsxs)(`div`,{children:[a(`ops.returns.status`),` `,(0,Z.jsx)(`b`,{children:Lc(a,u.status)})]}),(0,Z.jsx)(`div`,{children:a(`ops.returns.buyerSeller`,{buyerId:u.buyer_id,sellerId:u.seller_id})}),(0,Z.jsxs)(`div`,{children:[a(`ops.returns.reason`),` `,Rc(a,u.reason_code)]}),u.reason_text&&(0,Z.jsxs)(`div`,{children:[a(`ops.returns.buyerNote`),` `,u.reason_text]}),u.admin_note&&(0,Z.jsxs)(`div`,{children:[a(`ops.returns.adminNote`),` `,u.admin_note]}),u.mediated_at&&(0,Z.jsx)(`div`,{children:a(`ops.returns.mediatedAt`,{date:new Date(u.mediated_at).toLocaleString(),userId:u.mediated_by_user_id})}),(0,Z.jsxs)(`div`,{style:{marginTop:10,borderTop:`1px solid #eee`,paddingTop:10},children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,marginBottom:8},children:[(0,Z.jsx)(`button`,{onClick:()=>p(`approve`),style:{background:f===`approve`?`#d6f5d6`:`white`},children:a(`ops.returnDecision.approve`)}),(0,Z.jsx)(`button`,{onClick:()=>p(`reject`),style:{background:f===`reject`?`#ffdcdc`:`white`},children:a(`ops.returnDecision.reject`)})]}),(0,Z.jsx)(`textarea`,{value:m,onChange:e=>h(e.target.value),placeholder:a(`ops.returns.adminNoteOptional`),rows:4,style:{width:`100%`,marginBottom:8}}),(0,Z.jsx)(`button`,{onClick:N,children:a(`ops.returns.submitDecision`)})]})]})]})]})]})}var Gc={active:`ops.productStatus.active`,draft:`ops.productStatus.draft`,archived:`ops.productStatus.archived`,takedown:`ops.productStatus.takedown`};
9function Kc(e){return String(e||``).split(/[_\s-]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function qc(e,t){let n=Gc[String(t||``).toLowerCase()];return n?e(n):Kc(t)}var Jc=`Asia/Jakarta`;function Yc(e,t=`long`){return new Intl.DateTimeFormat(e===`id`||e===`id-ID`?`id-ID`:`en-GB`,{timeZone:Jc,day:`2-digit`,month:t,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}var Xc=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/;function Zc(e){if(!e)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e==`string`){let t=e.trim();if(!t)return null;let n=!/(?:Z|[+-]\d{2}:?\d{2})$/i.test(t)&&Xc.test(t)?`${t}Z`:t,r=new Date(n);return Number.isNaN(r.getTime())?null:r}let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Qc(e,t=`en`){let n=Zc(e);if(!n)return`-`;let r=Yc(t).formatToParts(n);return`${`${r.find(e=>e.type===`day`)?.value} ${r.find(e=>e.type===`month`)?.value} ${r.find(e=>e.type===`year`)?.value}`}, ${`${r.find(e=>e.type===`hour`)?.value}:${r.find(e=>e.type===`minute`)?.value}`} WIB`}function $c(e,t=`en`){let n=Zc(e);if(!n)return`-`;let r=Yc(t,`short`).formatToParts(n);return`${`${r.find(e=>e.type===`day`)?.value} ${r.find(e=>e.type===`month`)?.value} ${r.find(e=>e.type===`year`)?.value}`}, ${`${r.find(e=>e.type===`hour`)?.value}:${r.find(e=>e.type===`minute`)?.value}`} WIB`}var el=50;function tl({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let{t:a,language:o}=Lr(),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)({total:0,limit:el,offset:0}),[v,y]=(0,_.useState)(null),[b,x]=(0,_.useState)(!1),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)(``),[O,k]=(0,_.useState)(null);async function A(e,t,n=0){if(!Do(e)){m([]),C(!1),y({type:`key`,key:`ops.products.searchMinimum`});return}let r={search:e.trim(),status:t};x(!0),y(null),C(!0),f(r);try{let e=new URLSearchParams({limit:String(el),offset:String(n)});r.search&&e.set(`search`,r.search),r.status&&e.set(`status`,r.status);let t=await i(`/admin/products?${e.toString()}`);return m(t.items||[]),g({total:t.total,limit:t.limit,offset:t.offset}),t}catch(e){return y(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.products.errors.load`}),null}finally{x(!1)}}async function j(){let e=w?.product,t=w?.action;if(!(!e||!t)){k(e.id),y(null);try{t===`takedown`?await i(`/admin/products/${e.id}/takedown`,{method:`POST`,body:{reason:E}}):await i(`/admin/products/${e.id}/restore`,{method:`POST`}),T(null),D(``);let n=await A(d.search,d.status,h.offset);n&&n.items.length===0&&h.offset>0&&await A(d.search,d.status,Math.max(0,h.offset-h.limit))}catch(e){y(e.message?{type:`raw`,message:e.message}:{type:`key`,key:`ops.products.errors.${t}`})}finally{k(null)}}}let M=h.offset>0,N=h.offset+h.limit<h.total;return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-products`,dedicatedAdminHost:t,title:a(`ops.products.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsxs)(`section`,{className:`admin-products`,"aria-labelledby":`products-context-title`,children:[(0,Z.jsxs)(`header`,{className:`admin-products-context`,children:[(0,Z.jsx)(`h2`,{id:`products-context-title`,children:a(`ops.products.contextTitle`)}),(0,Z.jsx)(`p`,{children:a(`ops.products.searchHelp`)})]}),(0,Z.jsxs)(`form`,{className:`admin-products-search`,onSubmit:e=>{e.preventDefault(),A(l,s,0)},children:[(0,Z.jsxs)(`label`,{className:`admin-products-search-query`,children:[a(`ops.products.searchLabel`),(0,Z.jsx)(`input`,{className:`form-control`,value:l,onChange:e=>u(e.target.value),placeholder:a(`ops.products.searchPlaceholder`)})]}),(0,Z.jsxs)(`label`,{children:[a(`ops.products.statusLabel`),(0,Z.jsxs)(`select`,{className:`form-select`,value:s,onChange:e=>c(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:a(`ops.products.allStatuses`)}),(0,Z.jsx)(`option`,{value:`active`,children:qc(a,`active`)}),(0,Z.jsx)(`option`,{value:`draft`,children:qc(a,`draft`)}),(0,Z.jsx)(`option`,{value:`archived`,children:qc(a,`archived`)}),(0,Z.jsx)(`option`,{value:`takedown`,children:qc(a,`takedown`)})]})]}),(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:b,children:a(`ops.productActions.search`)})]}),b&&(0,Z.jsx)(`p`,{className:`admin-products-state`,role:`status`,children:a(`ops.products.loading`)}
9),v&&(0,Z.jsx)(`p`,{className:`form-error admin-products-state`,role:`alert`,children:v.type===`raw`?v.message:a(v.key)}),!b&&!S&&!v&&(0,Z.jsx)(`p`,{className:`admin-products-state`,children:a(`ops.products.searchMinimum`)}),!b&&!v&&S&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`admin-products-results`,children:[p.map(e=>{let t=nr(e.seller_slug,e.slug),n=O===e.id;return(0,Z.jsxs)(`article`,{className:`admin-product-card`,children:[(0,Z.jsxs)(`div`,{className:`admin-product-main`,children:[(0,Z.jsx)(`h3`,{children:e.title}),(0,Z.jsxs)(`p`,{children:[a(`ops.products.seller`),` `,(0,Z.jsx)(`strong`,{children:e.seller_name}),` `,(0,Z.jsx)(`span`,{children:e.seller_slug})]})]}),(0,Z.jsxs)(`div`,{className:`admin-product-statuses`,children:[(0,Z.jsx)(`span`,{className:`admin-product-status is-${e.status}`,children:qc(a,e.status)}),e.is_takedown&&(0,Z.jsx)(`span`,{className:`admin-product-status is-takedown`,children:a(`ops.products.takedownMarker`)})]}),(0,Z.jsxs)(`div`,{className:`admin-product-moderation`,children:[e.takedown_reason&&(0,Z.jsxs)(`p`,{className:`admin-product-reason`,children:[(0,Z.jsx)(`strong`,{children:a(`ops.products.reason`)}),` `,e.takedown_reason]}),e.takedown_at&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:a(`ops.products.takedownAt`)}),` `,(0,Z.jsx)(`time`,{dateTime:e.takedown_at,children:Qc(e.takedown_at,o)})]})]}),(0,Z.jsxs)(`div`,{className:`admin-product-actions`,children:[t&&(0,Z.jsx)(`a`,{className:`btn-secondary`,href:t,target:`_blank`,rel:`noreferrer`,children:a(`ops.products.viewProduct`)}),(0,Z.jsx)(`button`,{className:e.is_takedown?`btn-secondary`:`btn-danger`,type:`button`,disabled:n,onClick:()=>{D(``),T({product:e,action:e.is_takedown?`restore`:`takedown`})},children:a(n?`ops.products.actionPending`:`ops.productActions.${e.is_takedown?`restore`:`takedown`}`)})]})]},e.id)}),p.length===0&&(0,Z.jsx)(`p`,{className:`admin-products-state`,children:a(`ops.products.noProducts`)})]}),(M||N)&&(0,Z.jsxs)(`nav`,{className:`admin-products-pagination`,"aria-label":a(`ops.products.paginationLabel`),children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:!M||b,onClick:()=>A(d.search,d.status,Math.max(0,h.offset-h.limit)),children:a(`ops.products.previous`)}),(0,Z.jsx)(`span`,{children:a(`ops.products.resultRange`,{start:h.offset+1,end:Math.min(h.offset+h.limit,h.total),total:h.total})}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,disabled:!N||b,onClick:()=>A(d.search,d.status,h.offset+h.limit),children:a(`ops.products.next`)})]})]})]}),w&&(0,Z.jsx)(`div`,{className:`admin-product-dialog-backdrop`,children:(0,Z.jsxs)(`div`,{className:`admin-product-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`product-confirm-title`,children:[(0,Z.jsx)(`h2`,{id:`product-confirm-title`,children:a(`ops.products.${w.action}ConfirmTitle`)}),(0,Z.jsx)(`p`,{children:a(`ops.products.${w.action}ConfirmText`,{title:w.product.title})}),w.action===`takedown`&&(0,Z.jsxs)(`label`,{children:[a(`ops.products.reasonField`),(0,Z.jsx)(`textarea`,{className:`form-control`,value:E,maxLength:2e3,onChange:e=>D(e.target.value)}),(0,Z.jsx)(`small`,{children:a(`ops.products.reasonOptional`)})]}),(0,Z.jsxs)(`div`,{className:`admin-product-dialog-actions`,children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>{T(null),D(``)},children:a(`ops.products.cancel`)}),(0,Z.jsx)(`button`,{className:w.action===`takedown`?`btn-danger`:`btn-primary`,type:`button`,disabled:O===w.product.id,onClick:j,children:O===w.product.id?a(`ops.products.actionPending`):a(`ops.products.${w.action}Confirm`)})]})]})})]})}function nl(e){let t=String(e??``).trim();return t?t.replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase()):`Unknown`}function rl(e,t){let n=String(t??``).trim();return n&&new Set([`active`,`frozen`,`inactive`,`pending`,`pending_review`,`verified_pending_setup`,`approved`,`rejected`,`suspended`,`disabled`]).has(n)?e(`ops.sellerStatus.${n}`):nl(n)}function il(e,t){let n=String(t??``).trim();return new Set([`active`,`inactive`,`suspended`,`disabled`,`verified`,`unverified`,`frozen`]).has(n)?e(`ops.userStatus.${n}`):nl(n)}function al({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(1),[p,m]=(0,_.useState)(0),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(0),S=(0,_.useRef)(0),C=Rr(),w=(0,_.useCallback)(async function(e=d,t=v){let n=++S.current,r=(e-1)*50,a=new URLSearchParams({limit:`50`,offset:String(r)});t&&a.set(`q`,t),c(``),u(!0);try{let t=await i(`/admin/users?${a}`);if(n!==S.current)return null;let r=t?.items||[],s=Number(t?.total_count)||0,c=Math.max(1,Math.ceil(s/50));return e>c||e>1&&r.length===0?(f(Math.min(e-1,c)),t):(o(r),m(s),t)}catch(e){return n===S.current&&c(e.message),null}finally{n===S.current&&u(!1)}},[i,v,d]);function T(e){e.preventDefault();let t=h.trim();S.current+=1,y(t),f(1),x(e=>e+1)}let E=(0,_.useCallback)(async function(e){try{await i(`/admin/users/${e.id}/${e.is_active?`freeze`:`unfreeze`}`,{method:`POST`})}catch(e){c(e.message);return}await w(d,v)},[i,v,w,d]);(0,_.useEffect)(()=>{let e=window.setTimeout(()=>{w()},0);return()=>window.clearTimeout(e)},[w,b]);let D=Math.max(1,Math.ceil(p/50));return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-users`,dedicatedAdminHost:t,title:C(`ops.users.adminTitle`),onLoggedOut:n,authUser:r,children:[s&&(0,Z.jsx)(`div`,{style:{color:`crimson`},children:s}),(0,Z.jsxs)(`form`,{onSubmit:T,style:{display:`flex`,gap:8,marginBottom:12},children:[(0,Z.jsx)(`input`,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:C(`ops.users.searchPlaceholder`),"aria-label":C(`ops.users.searchPlaceholder`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`btn-secondary`,disabled:l,"aria-label":C(`ops.common.search`),title:C(`ops.common.search`),children:(0,Z.jsx)(En,{})})]}),(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[a.map(e=>(0,Z.jsxs)(`div`,{style:{border:`1px solid #eee`,borderRadius:8,padding:10},children:[(0,Z.jsxs)(`div`,{children:[`#`,e.id,` `,e.email]}),(0,Z.jsxs)(`div`,{children:[C(`ops.users.admin`),`: `,e.is_admin?C(`ops.users.yes`):C(`ops.users.no`),` ⢠`,C(`ops.users.active`),`: `,il(C,e.is_active?`active`:`frozen`)]}),(0,Z.jsx)(`button`,{style:{marginTop:6},onClick:()=>E(e),children:e.is_active?C(`ops.users.freeze`):C(`ops.users.unfreeze`)})]},e.id)),a.length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:C(`ops.users.noUsers`)})]}),(0,Z.jsxs)(`nav`,{className:`admin-pagination-row`,"aria-label":C(`ops.users.paginationLabel`),style:{marginTop:12},children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-pagination-button`,disabled:d<=1||l,onClick:()=>f(e=>Math.max(1,e-1)),children:C(`ops.common.previous`)}),(0,Z.jsx)(`span`,{children:C(`ops.users.pageOf`,{page:d,totalPages:D})}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-pagination-button`,disabled:d>=D||l,onClick:()=>f(e=>
9Math.min(D,e+1)),children:C(`ops.common.next`)})]})]})}var ol=50,sl=50,cl=[`policy_abuse`,`payment_risk`,`seller_conflict`,`fraud_risk`,`ops_manual`],ll=[{value:``,labelKey:`ops.buyers.statusAll`},{value:`active`,labelKey:`ops.buyers.statusActive`},{value:`frozen`,labelKey:`ops.buyers.statusFrozen`},{value:`banned`,labelKey:`ops.buyers.statusBanned`}];function ul({t:e,orderCount:t=0,complaintCount:n=0,refundCount:r=0}){return(0,Z.jsxs)(`div`,{className:`admin-activity-chips`,children:[(0,Z.jsx)(`span`,{children:e(`ops.buyers.orderCount`,{count:t})}),(0,Z.jsx)(`span`,{children:e(`ops.buyers.complaintCount`,{count:n})}),(0,Z.jsx)(`span`,{children:e(`ops.buyers.refundCount`,{count:r})})]})}function dl({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,publicId:r=null}){let{language:i,t:a}=Lr(),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(!0),[y,b]=(0,_.useState)(``),[x,S]=(0,_.useState)(``),[C,w]=(0,_.useState)(cl[0]),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)([]),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(0),[N,ee]=(0,_.useState)(0),[P,F]=(0,_.useState)(ol),[I,L]=(0,_.useState)(0),[te,ne]=(0,_.useState)(0),[z,B]=(0,_.useState)(sl),[V,H]=(0,_.useState)(`email`),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(cl[0]),[ie,ae]=(0,_.useState)(``),[oe,se]=(0,_.useState)(``),[ce,le]=(0,_.useState)(``);async function ue(e=u,t=f,n=j){h(``),v(!0);try{if(r){let e=await R(`/admin/buyers/${r}`,{authSurface:`admin`});l(await e.json())}else{let r=new URLSearchParams;t&&r.set(`q`,t),e&&r.set(`status`,e),r.set(`limit`,String(ol)),r.set(`offset`,String(n));let i=await(await R(`/admin/buyers?${r.toString()}`,{authSurface:`admin`})).json();s(i.items||[]),M(i.offset??n),F(i.limit??ol),ee(i.total??(i.items||[]).length),await K(0,!1)}}catch(e){h(e?.message||a(`ops.buyers.loadFailed`))}finally{v(!1)}}(0,_.useEffect)(()=>{ue()},[r]),(0,_.useEffect)(()=>{r||ue(u,f,0)},[u]);async function K(e=0,t=!1){A(!0),se(``);try{let n=await(await R(`/admin/buyer-identity-blocks?${new URLSearchParams({limit:String(sl),offset:String(e)}).toString()}`,{authSurface:`admin`})).json();O(e=>t?[...e,...(n.items||[]).filter(t=>!e.some(e=>e.id===t.id))]:n.items||[]),L(n.offset??e),B(n.limit??sl),ne(n.total??(t?D.length+(n.items||[]).length:(n.items||[]).length))}catch(e){se(e?.message||a(`ops.buyers.identityBlockLoadFailed`))}finally{A(!1)}}async function de(e){if(e.preventDefault(),h(``),b(``),se(``),!U.trim()){se(a(`ops.buyers.identityValueRequired`));return}if(window.confirm(a(`ops.buyers.confirmCreateIdentityBlock`))){le(`create`);try{await R(`/admin/buyer-identity-blocks`,{method:`POST`,authSurface:`admin`,headers:{"Content-Type":`application/json`},body:JSON.stringify({identity_type:V,value:U,reason_code:re,internal_note:ie,confirmation:!0})}),W(``),ae(``),b(a(`ops.buyers.identityBlockCreated`)),await K(0,!1)}catch(e){se(e?.message||a(`ops.buyers.identityBlockCreateFailed`))}finally{le(``)}}}async function q(e){if(se(``),window.confirm(a(`ops.buyers.confirmRevokeIdentityBlock`))){le(`revoke-${e}`);try{await R(`/admin/buyer-identity-blocks/${e}/revoke`,{method:`POST`,authSurface:`admin`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reason_code:re,internal_note:ie,confirmation:!0})}),b(a(`ops.buyers.identityBlockRevoked`)),await K(0,!1)}catch(e){se(e?.message||a(`ops.buyers.identityBlockRevokeFailed`))}finally{le(``)}}}let fe=c?.status||`active`,pe=fe===`frozen`?[`unfreeze`,`ban`]:fe===`banned`?[`restore`]:[`freeze`,`ban`];async function me(e){if(e===`ban`&&!x.trim()){h(a(`ops.buyers.banNoteRequired`));return}let t=e===`ban`?a(`ops.buyers.banConfirm`):a(`ops.buyers.actionConfirm`,{action:a(`ops.buyers.actions.${e}`)});if(window.confirm(t)){E(e),h(``),b(``);try{let t=await(await R(`/admin/buyers/${c.id}/${e}`,{method:`POST`,authSurface:`admin`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reason_code:C,internal_note:x,confirmation:!0})})).json();b(t?.session_revocation_error?a(`ops.buyers.sessionPartial`):a(`ops.buyers.sessionResult`,{count:t?.buyer_sessions_revoked_count??0})),await ue()}catch(e){h(e?.message||a(`ops.buyers.actionFailed`))}finally{E(``)}}}let he=e=>a(`ops.buyers.status${e?`${e[0].toUpperCase()}${e.slice(1)}`:`All`}`),J=e=>a(`ops.buyers.reasons.${e}`),Y=e=>a(`ops.buyers.identityTypes.${e}`),X=n=>e(_t(`admin-buyer-detail`,{dedicatedHost:t,query:new URLSearchParams([[`id`,n.id]])})),ge=e=>t=>{t.key===`Enter`&&X(e)};return(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-buyers`,dedicatedAdminHost:t,title:a(`ops.buyers.title`),onLoggedOut:n,children:[y&&(0,Z.jsx)(`p`,{role:`status`,className:`form-success`,children:y}),!r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`admin-buyer-summary-card admin-buyers-section`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.workflowTitle`)}),(0,Z.jsx)(`p`,{className:`admin-buyer-intro`,children:a(`ops.buyers.intro`)})]}),(0,Z.jsx)(`div`,{className:`admin-status-chips`,"aria-label":a(`ops.buyers.status`),children:ll.map(e=>(0,Z.jsx)(`button`,{type:`button`,className:`admin-nav-pill ${u===e.value?`is-active`:``}`,"aria-pressed":u===e.value,onClick:()=>{M(0),d(e.value)},children:a(e.labelKey)},e.value||`all`))}),(0,Z.jsxs)(`form`,{className:`admin-buyer-search`,onSubmit:e=>{e.preventDefault(),M(0),ue(u,f,0)},children:[(0,Z.jsx)(`label`,{htmlFor:`admin-buyer-search`,children:a(`ops.buyers.searchLabel`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`input`,{id:`admin-buyer-search`,className:`form-control`,value:f,onChange:e=>p(e.target.value),placeholder:a(`ops.buyers.search`)}),(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:g,children:a(`common.search`)})]})]}),(0,Z.jsxs)(`section`,{className:`admin-buyer-list-card`,"aria-labelledby":`buyer-results-heading`,children:[(0,Z.jsx)(`h3`,{id:`buyer-results-heading`,children:a(`ops.buyers.results`)}),m&&(0,Z.jsx)(`p`,{role:`alert`,className:`form-error`,children:m}),g?(0,Z.jsx)(`p`,{role:`status`,className:`admin-buyer-empty-state`,children:a(`ops.buyers.loadingBuyers`)}):o.length?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`table`,{className:`admin-table admin-buyer-table`,children:[(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`th`,{children:a(`ops.buyers.buyer`)}),(0,Z.jsx)(`th`,{children:a(`ops.buyers.identity`)}),(0,Z.jsx)(`th`,{children:a(`ops.buyers.status`)}),(0,Z.jsx)(`th`,{children:a(`ops.buyers.activity`)})]})}),(0,Z.jsx)(`tbody`,{children:o.map(e=>(0,Z.jsxs)(`tr`,{className:`admin-buyer-row`,tabIndex:0,role:`link`,onClick:()=>X(e),onKeyDown:ge(e),children:[(0,Z.jsxs)(`td`,{children:[(0,Z.jsx)(`strong`,{children:e.name||e.public_id}),(0,Z.jsx)(`small`,{children:e.masked_email})]}),(0,Z.jsxs)(`td`,{children:[e.masked_phone||`â`,(0,Z.jsx)(`small`,{children:e.public_id})]}),(0,Z.jsx)(`td`,{children:(0,Z.jsx)(`span`,{className:`admin-buyer-status-chip is-${e.status}`,children:he(e.status)})}),(0,Z.jsx)(`td`,{children:(0,Z.jsx)(ul,{t:a,orderCount:e.order_count,complaintCount:e.complaint_count,refundCount:e.refund_count})})]},e.id))})]}),(0,Z.jsx)(`div`,{className:`admin-buyer-mobile-list`,children:o.map(e=>(0,Z.jsxs)(`div`,{className:`admin-buyer-mobile-card`,tabIndex:0,role:`link`,onClick:()=>X(e),onKeyDown:ge(e),children:[(0,Z.jsxs)(`div`,{className:`admin-buyer-mobile-heading`,children:[(0,Z.jsx)(`strong`,{children:e.name||e.public_id}),(0,Z.jsx)(`span`,{className:`admin-buyer-status-chip is-${e.status}`,children:he(e.status)})]}),(0,Z.jsx)(`span`,{children:e.masked_email||`â`}),(0,Z.jsx)(`span`,{children:e.masked_phone||`â`}),(0,Z.jsx)(`small`,{children:e.public_id}),(0,Z.jsx)(ul,{t:a,orderCount:e.order_count,complaintCount:e.complaint_count,refundCount:e.refund_count})]},e.id))})]}):(0,Z.jsx)(`p`,{className:`admin-buyer-empty-state`,children:a(`ops.buyers.noBuyers`)}),(0,Z.jsxs)(`div`,{className:`admin-pagination-row`,children:[(0,Z.jsx)(`span`,{children:N?a(`ops.common.showingRangeOfTotal`,{start:o.length?j+1:0,end:j+o.length,total:N}):a(`ops.common.showingRange`,{start:o.length?j+1:0,end:j+o.length})}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-pagination-button`,disabled:j<=0,onClick:()=>ue(u,f,Math.max(0,j-P)),children:a(`ops.common.previousPage`)}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-pagination-button`,disabled:N?j+o.length>=N:o.length<P,onClick:()=>ue(u,f,j+P),children:a(`ops.common.nextPage`)})]})]}),(0,Z.jsxs)(`section`,{className:`admin-buyer-blocked-identities-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.blockedIdentities`)}),(0,Z.jsx)(`p`,{className:`admin-buyer-section-help`,children:a(`ops.buyers.blockedIdentitiesHelp`)})]}),oe&&(0,Z.jsx)(`p`,{role:`alert`,className:`form-error`,children:oe}),(0,Z.jsxs)(`form`,{className:`admin-buyer-identity-block-form`,onSubmit:de,children:[(0,Z.jsxs)(`div`,{className:`admin-buyer-identity-block-grid`,children:[(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.identityType`),(0,Z.jsxs)(`select`,{className:`form-select`,value:V,onChange:e=>H(e.target.value),children:[(0,Z.jsx)(`option`,{value:`email`,children:Y(`email`)}),(0,Z.jsx)(`option`,{value:`phone`,children:Y(`phone`)})]})]}),(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.identityValue`),(0,Z.jsx)(`input`,{className:`form-control`,value:U,onChange:e=>W(e.target.value),placeholder:a(`ops.buyers.identityValuePlaceholder`)})]}),(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.reasonCode`),(0,Z.jsx)(`select`,{className:`form-select`,value:re,onChange:e=>G(e.target.value),children:cl.map(e=>(0,Z.jsx)(`option`,{value:e,children:J(e)},e))})]})]}),(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.internalNote`),(0,Z.jsx)(`textarea`,{className:`form-textarea`,value:ie,onChange:e=>ae(e.target.value)})]}),(0,Z.jsx)(`button`,{type:`submit`,className:`btn-secondary`,disabled:ce===`create`,children:a(ce===`create`?`common.loading`:`ops.buyers.blockIdentity`)})]}),(0,Z.jsx)(`div`,{className:`admin-buyer-identity-block-list`,"aria-label":a(`ops.buyers.blockedIdentityList`),children:k?(0,Z.jsx)(`p`,{role:`status`,className:`admin-buyer-empty-state`,children:a(`common.loading`)}):D.length?D.map(e=>(0,Z.jsxs)(`div`,{className:`admin-buyer-identity-block-row`,children:[(0,Z.jsx)(`strong`,{children:Y(e.identity_type)}),(0,Z.jsx)(`span`,{children:e.masked_value||`â`}),(0,Z.jsx)(`small`,{children:J(e.reason_code)}),(0,Z.jsx)(`small`,{children:e.created_at?Qc(e.created_at,i):`â`}),(0,Z.jsx)(`small`,{children:e.source_buyer_public_id||e.source_user_id||e.source_masked_email||e.source_masked_phone||`â`}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:ce===`revoke-${e.id}`,onClick:()=>q(e.id),children:ce===`revoke-${e.id}`?a(`common.loading`):a(`ops.buyers.revokeIdentityBlock`)})]},e.id)):(0,Z.jsx)(`p`,{className:`admin-buyer-empty-state`,children:a(`ops.buyers.noBlockedIdentities`)})}),D.length>0&&D.length<te&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:k,onClick:()=>K(I+z,!0),children:a(k?`common.loading`:`ops.common.loadMore`)}),D.length>0&&te>0&&D.length>=te&&(0,Z.jsx)(`p`,{className:`admin-muted`,children:a(`ops.common.noMoreResults`)})]})]}),r&&g&&!c&&(0,Z.jsx)(`p`,{role:`status`,className:`admin-buyer-empty-state`,children:a(`ops.buyers.loadingBuyer`)}),r&&m&&!c&&(0,Z.jsx)(`p`,{role:`alert`,className:`form-error`,children:m}),r&&c&&(0,Z.jsxs)(`section`,{className:`admin-buyer-moderation-page`,children:[m&&(0,Z.jsx)(`p`,{role:`alert`,className:`form-error admin-buyer-moderation-message`,children:m}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>e(_t(`admin-buyers`,{dedicatedHost:t})),children:a(`ops.buyers.backToList`)}),(0,Z.jsxs)(`section`,{className:`admin-buyer-summary-card`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.buyerSummary`)}),(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`strong`,{children:c.name||c.public_id})}),(0,Z.jsxs)(`dl`,{className:`admin-buyer-key-values`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`ops.buyers.identity`)}),(0,Z.jsxs)(`dd`,{children:[c.masked_email,` ⢠`,c.masked_phone||`â`]})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`ops.buyers.phoneVerification`)}),(0,Z.jsx)(`dd`,{children:c.phone_verified?a(`ops.buyers.verified`):a(`ops.buyers.unverified`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`ops.buyers.status`)}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`span`,{className:`admin-buyer-status-chip is-${c.status}`,children:he(c.status)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`ops.buyers.createdAt`)}),(0,Z.jsx)(`dd`,{children:c.created_at?Qc(c.created_at,i):`â`})]})]})]}),(0,Z.jsxs)(`div`,{className:`admin-buyer-detail-grid`,children:[(0,Z.jsxs)(`section`,{className:`admin-buyer-section admin-buyer-danger-zone`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.moderationActions`)}),(0,Z.jsx)(`p`,{className:`admin-buyer-section-help`,children:a(`ops.buyers.moderationActions
9Help`)}),(0,Z.jsxs)(`div`,{className:`admin-buyer-moderation-form`,children:[(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.reasonCode`),(0,Z.jsx)(`select`,{className:`form-select`,value:C,onChange:e=>w(e.target.value),children:cl.map(e=>(0,Z.jsx)(`option`,{value:e,children:J(e)},e))})]}),(0,Z.jsxs)(`label`,{className:`admin-buyer-moderation-field`,children:[a(`ops.buyers.internalNote`),(0,Z.jsx)(`textarea`,{className:`form-textarea`,value:x,onChange:e=>S(e.target.value),required:pe.includes(`ban`)})]}),(0,Z.jsx)(`small`,{className:`admin-buyer-field-help`,children:pe.includes(`ban`)?a(`ops.buyers.banRequiresNoteHelp`):a(`ops.buyers.internalNoteHelp`)}),(0,Z.jsx)(`div`,{className:`admin-buyer-moderation-actions`,children:pe.map(e=>(0,Z.jsx)(`button`,{type:`button`,className:e===`ban`?`btn-danger`:e===`freeze`?`btn-warning`:`btn-primary`,disabled:!!T,onClick:()=>me(e),children:a(T===e?`common.loading`:`ops.buyers.actions.${e}`)},e))})]})]}),(0,Z.jsxs)(`section`,{className:`admin-buyer-section admin-buyer-identity-status`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.identityRestrictions`)}),(c.active_identity_blocks||[]).length?(0,Z.jsx)(`div`,{className:`admin-buyer-identity-list`,children:(c.active_identity_blocks||[]).map(e=>(0,Z.jsxs)(`div`,{className:`admin-buyer-identity-row`,children:[(0,Z.jsx)(`strong`,{children:Y(e.identity_type)}),(0,Z.jsx)(`span`,{children:e.masked_value}),(0,Z.jsx)(`small`,{children:J(e.reason_code)})]},e.id))}):(0,Z.jsx)(`p`,{className:`admin-buyer-empty-state`,children:a(`ops.buyers.identityNoActiveRestrictions`)})]}),(0,Z.jsxs)(`section`,{className:`admin-buyer-section`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.activitySignals`)}),(0,Z.jsx)(ul,{t:a,orderCount:c.order_count,complaintCount:c.complaint_count,refundCount:c.refund_count})]}),(0,Z.jsxs)(`section`,{className:`admin-buyer-section admin-buyer-audit-log`,children:[(0,Z.jsx)(`h3`,{children:a(`ops.buyers.recentAuditLog`)}),(c.audit_history||[]).length?(0,Z.jsx)(`ul`,{children:(c.audit_history||[]).map((e,t)=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`strong`,{children:a(`ops.buyers.actions.${e.action}`)}),(0,Z.jsx)(`br`,{}),(0,Z.jsx)(`small`,{children:e.created_at?Qc(e.created_at,i):`â`})]},`${e.action}-${e.created_at}-${t}`))}):(0,Z.jsx)(`p`,{className:`admin-buyer-empty-state`,children:a(`ops.buyers.auditLogEmpty`)})]})]})]})]})}var fl=50,pl=[`contact_email`,`contact_phone`,`settings_address_id`,`finance_pin`,`name`,`support_hours`,`seller_legal_acceptance`],ml={seller_name:``,owner_name:``,owner_email:``,owner_phone:``,verification_note:``,verified_offline:!1,send_invitation_email:!1};function hl(e){return e.status===`verified_pending_setup`?`verified_pending_setup`:e.status===`active`&&e.is_active||e.is_active?`active`:`frozen`}function gl(e){let t=new Set(e.activation_missing_fields||[]),n={contact_email:!!e.contact_email,contact_phone:!!e.contact_phone,settings_address_id:!!e.settings_address_id,finance_pin:!!e.has_finance_pin,name:!!e.name,support_hours:!!e.has_support_hours,seller_legal_acceptance:!!e.has_seller_legal_acceptance};return pl.map(e=>({field:e,complete:n[e]&&!t.has(e)}))}function _l({seller:e}){return(0,Z.jsxs)(`div`,{className:`admin-sellers-identity`,children:[(0,Z.jsx)(`strong`,{children:e.name||`â`}),(0,Z.jsx)(`span`,{children:e.slug||`â`}),(0,Z.jsxs)(`small`,{children:[`#`,e.id]})]})}function vl({seller:e,t}){let n=hl(e);return(0,Z.jsx)(`span`,{className:`admin-sellers-status is-${n}`,children:rl(t,n)})}function yl({seller:e,t,compact:n=!1}){let r=gl(e),i=r.filter(e=>e.complete).length;return(0,Z.jsxs)(`div`,{className:`admin-sellers-checklist${n?` is-compact`:``}`,children:[(0,Z.jsx)(`span`,{className:`admin-sellers-progress`,children:t(`ops.sellers.checklistProgress`,{complete:i,total:r.length})}),(0,Z.jsx)(`div`,{children:r.map(e=>(0,Z.jsxs)(`span`,{className:e.complete?`is-complete`:`is-missing`,children:[e.complete?`â`:`â`,` `,t(`ops.sellers.fields.${e.field}`)]},e.field))})]})}function bl({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null,api:i}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(0),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)({}),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(!1),[A,j]=(0,_.useState)(0),[M,N]=(0,_.useState)(!1),[ee,P]=(0,_.useState)(!1),[F,I]=(0,_.useState)(null),[L,te]=(0,_.useState)(ml),[ne,R]=(0,_.useState)(null),[H,U]=(0,_.useState)(null),[W,re]=(0,_.useState)(!1),[G,ie]=(0,_.useState)(``),[ae,oe]=(0,_.useState)({}),[se,ce]=(0,_.useState)(null),[le,ue]=(0,_.useState)(null),[K,de]=(0,_.useState)(null),q=Rr(),{language:fe}=Lr(),pe=(e,t)=>e?.message||q(t);async function me(e=0,t=!1){t?f(!0):u(!0),T(null);try{let n=await i(`/admin/sellers?${new URLSearchParams({status:`verified_pending_setup`,limit:String(fl),offset:String(e)}).toString()}`);c(e=>t?[...e,...(n||[]).filter(t=>!e.some(e=>e.id===t.id))]:n||[]),m(e),g((n||[]).length===fl)}catch(e){T(pe(e,`ops.sellers.loadFailed`))}finally{u(!1),f(!1)}}(0,_.useEffect)(()=>{me()},[]);async function he(e=v,t=0,n=!1){if(!Do(e)){o([]),k(!1),C(q(`ops.sellers.searchMin`));return}n?P(!0):D(!0),C(null),k(!0);try{let r=await i(`/admin/sellers?${new URLSearchParams({search:e.trim(),limit:String(fl),offset:String(t)}).toString()}`);o(e=>n?[...e,...(r||[]).filter(t=>!e.some(e=>e.id===t.id))]:r||[]),j(t),N((r||[]).length===fl)}catch(e){C(pe(e,`ops.sellers.loadFailed`))}finally{D(!1),P(!1)}}async function J(e){I(e.id);try{let t=await i(`/admin/sellers/${e.id}/activate`,{method:`POST`,authSurface:`admin`});c(t=>t.filter(t=>t.id!==e.id)),o(n=>n.map(n=>n.id===e.id?t:n)),T(null),C(null)}catch(t){let n=t?.missing_fields||t?.error?.missing_fields||[],r=n.length?q(`ops.sellers.activationMissing`,{fields:n.map(e=>q(`ops.sellers.fields.${e}`)).join(`, `)}):pe(t,`ops.sellers.actionFailed`);e.status===`verified_pending_setup`&&s.some(t=>t.id===e.id)?T(r):C(r)}finally{I(null)}}async function Y(e){I(e.id),C(null);try{let t=(b[e.id]||``).trim();await i(`/admin/sellers/${e.id}/${e.is_active?`freeze`:`unfreeze`}`,{method:`POST`,body:t?{note:t}:{}}),await he(v,0,!1)}catch(e){C(pe(e,`ops.sellers.actionFailed`))}finally{I(null)}}function X(e,t){te(n=>({...n,[e]:t})),R(null),ie(``)}async function ge(e){e.preventDefault(),U(null),ie(``);let t={seller_name:L.seller_name.trim(),owner_name:L.owner_name.trim(),owner_email:L.owner_email.trim(),owner_phone:L.owner_phone.trim(),verification_note:L.verification_note.trim(),verified_offline:L.verified_offline,send_invitation_email:L.send_invitation_email};if([t.seller_name,t.owner_name,t.owner_email,t.owner_phone,t.verification_note].some(e=>!e)){R(q(`ops.sellers.inviteAllRequired`));return}if(!t.verified_offline){R(q(`ops.sellers.inviteVerifyRequired`));return}re(!0),R(null);try{let e=i?await i(`/admin/sellers/invite`,{method:`POST`,body:t,authSurface:`admin`}):await z(t);U({...e,invitation_email_recipient:t.owner_email}),te(ml)}catch(e){R(e?.message||q(`ops.sellers.inviteFailed`))}finally{re(!1)}}async function _e(){H?.invite_link&&(await navigator.clipboard.writeText(H.invite_link),ie(q(`ops.sellers.inviteCopied`)))}async function ve(){se?.invite_link&&(await navigator.clipboard.writeText(se.invite_link),ie(q(`ops.sellers.inviteCopied`)))}async function ye(){K?.invite_link&&(await navigator.clipboard.writeText(K.invite_link),ie(q(`ops.sellers.inviteCopied`)))}function be(e){de(null),ie(``),ue({seller_id:e.id,seller_name:e.name||``,owner_name:e.owner_name||``,owner_email:e.owner_email||e.contact_email||``,owner_phone:e.owner_phone||``,send_invitation_email:!1})}async function xe(e){if(e.preventDefault(),!window.confirm(q(`ops.sellers.correctConfirm`)))return;let t={seller_name:le.seller_name.trim(),owner_name:le.owner_name.trim(),owner_email:le.owner_email.trim(),owner_phone:le.owner_phone.trim(),send_invitation_email:le.send_invitation_email};I(le.seller_id),T(null),de(null),ie(``);try{let e=i?await i(`/admin/sellers/${le.seller_id}/pending-invite-details`,{method:`PUT`,body:t,authSurface:`admin`}):await V(le.seller_id,t);de(e),ue(null),await me(0,!1)}catch(e){T(pe(e,`ops.sellers.correctFailed`))}finally{I(null)}}async function Se(e){if(!window.confirm(q(`ops.sellers.reissueConfirm`)))return;I(e.id),T(null),ce(null),ie(``);let t={send_invitation_email:!!ae[e.id]};try{let n=i?await i(`/admin/sellers/${e.id}/invite/reissue`,{method:`POST`,body:t,authSurface:`admin`}):await B(e.id,t);ce(n)}catch(e){T(pe(e,`ops.sellers.reissueFailed`))}finally{I(null)}}let Ce=e=>e.can_reissue_invite&&(0,Z.jsxs)(`div`,{className:`admin-sellers-reissue`,children:[(0,Z.jsxs)(`label`,{className:`admin-sellers-checkbox`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:!!ae[e.id],onChange:t=>oe(n=>({...n,[e.id]:t.target.checked}))}),` `,(0,Z.jsx)(`span`,{children:q(`ops.sellers.sendInvitationEmail`)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,disabled:F===e.id,onClick:()=>Se(e),children:F===e.id?q(`ops.sellers.reissuing`):q(`ops.sellers.reissue`)})]}),we=e=>e.can_edit_pending_invite&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary`,onClick:()=>be(e),children:q(`ops.sellers.correctDetails`)}),Te=e=>{let t=gl(e).some(e=>!e.complete);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn-primary`,disabled:t||F===e.id,onClick:()=>J(e),children:F===e.id?q(`ops.sellers.activating`):q(`ops.sellers.activate`)}),t&&(0,Z.jsx)(`small`,{className:`admin-sellers-guidance`,children:q(`ops.sellers.completeBeforeActivation`)})]})};return(0,Z.jsx)($i,{navigate:e,currentPage:`admin-sellers`,dedicatedAdminHost:t,title:q(`ops.sellers.adminTitle`),onLoggedOut:n,authUser:r,children:(0,Z.jsxs)(`main`,{className:`admin-sellers-page`,children:[(0,Z.jsxs)(`section`,{className:`admin-sellers-section`,"aria-labelledby":`seller-onboarding-title`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`h2`,{id:`seller-onboarding-title`,children:q(`ops.sellers.onboardingTitle`)}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.onboardingHelp`)})]}),w&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,role:`alert`,children:w}),l?(0,Z.jsx)(`p`,{role:`status`,children:q(`ops.sellers.loadingOnboarding`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`admin-sellers-table-wrap`,children:(0,Z.jsxs)(`table`,{className:`admin-table admin-sellers-table`,children:[(0,Z.jsxs)(`colgroup`,{children:[(0,Z.jsx)(`col`,{className:`admin-sellers-col-contact`}),(0,Z.jsx)(`col`,{className:`admin-sellers-col-setup`}),(0,Z.jsx)(`col`,{className:`admin-sellers-col-action`})]}),(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{children:[(0,Z.jsxs)(`th`,{children:[q(`ops.sellers.seller`),` / `,q(`ops.sellers.ownerContact`)]}),(0,Z.jsx)(`th`,{children:q(`ops.sellers.setupChecklist`)}),(0,Z.jsxs)(`th`,{children:[q(`ops.sellers.status`),` / `,q(`ops.sellers.action`)]})]})}),(0,Z.jsxs)(`tbody`,{children:[s.map(e=>{let t=gl(e).filter(e=>!e.complete);return(0,Z.jsxs)(`tr`,{children:[(0,Z.jsx)(`td`,{children:(0,Z.jsxs)(`div`,{className:`admin-sellers-contact`,children:[(0,Z.jsx)(_l,{seller:e}),(0,Z.jsx)(`span`,{children:Ea(e.contact_email)||`â`}),(0,Z.jsx)(`span`,{children:Da(e.owner_phone)||`â`})]})}),(0,Z.jsx)(`td`,{children:(0,Z.jsxs)(`div`,{className:`admin-sellers-setup-cell`,children:[(0,Z.jsx)(yl,{seller:e,t:q,compact:!0}),(0,Z.jsxs)(`div`,{className:`admin-sellers-missing`,children:[(0,Z.jsx)(`strong`,{children:t.length?`${q(`ops.sellers.missingItems`)}:`:q(`ops.sellers.ready`)}),t.length&&(0,Z.jsx)(`span`,{children:t.map(e=>q(`ops.sellers.fields.${e.field}`)).join(`, `)})]})]})}),(0,Z.jsx)(`td`,{children:(0,Z.jsxs)(`div`,{className:`admin-sellers-status-action`,children:[(0,Z.jsx)(vl,{seller:e,t:q}),Te(e),we(e),Ce(e)]})})]},e.id)}),!s.length&&(0,Z.jsx)(`tr`,{children:(0,Z.jsx)(`td`,{colSpan:`3`,className:`admin-sellers-empty`,children:q(`ops.sellers.noOnboarding`)})})]})]})}),(0,Z.jsxs)(`div`,{className:`admin-sellers-mobile-list`,children:[s.map(e=>{let t=gl(e).filter(e=>!e.complete);return(0,Z.jsxs)(`article`,{className:`admin-sellers-card`,children:[(0,Z.jsxs)(`div`,{className:`admin-sellers-card-heading`,children:[(0,Z.jsx)(_l,{seller:e}),(0,Z.jsx)(vl,{seller:e,t:q})]}),(0,Z.jsxs)(`p`,{children:[Ea(e.contact_email)||`â`,` · `,Da(e.owner_phone)||`â`]}),(0,Z.jsx)(yl,{seller:e,t:q}),(0,Z.jsxs)(`div`,{className:`admin-sellers-missing`,children:[(0,Z.jsx)(`strong`,{children:q(`ops.sellers.missingItems`)}),(0,Z.jsx)(`span`,{children:t.length?t.map(e=>q(`ops.sellers.fields.${e.field}`)).join(`, `):q(`ops.sellers.ready`)})]}),Te(e),we(e),Ce(e)]},e.id)}),!s.length&&(0,Z.jsx)(`p`,{className:`admin-sellers-empty`,children:q(`ops.sellers.noOnboarding`)})]}),le&&(0,Z.jsxs)(`form`,{className:`admin-sellers-invite admin-sellers-correction`,onSubmit:xe,children:[(0,Z.jsx)(`h3`,{children:q(`ops.sellers.correctDetails`)}),(0,Z.jsxs)(`div`,{className:`admin-sellers-invite-grid`,children:[(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.sellerName`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:le.seller_name,onChange:e=>ue(t=>({...t,seller_name:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerName`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:le.owner_name,onChange:e=>ue(t=>({...t,owner_name:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerEmail`),(0,Z.jsx)(`input`,{className:`form-control`,type:`email`,required:!0,value:le.owner_email,onChange:e=>ue(t=>({...t,owner_email:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerPhone`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:le.owner_phone,onChange:e=>ue(t=>({...t,owner_phone:e.target.value}))})]})]}),(0,Z.jsxs)(`label`,{className:`admin-sellers-checkbox`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:le.send_invitation_email,onChange:e=>ue(t=>({...t,send_invitation_email:e.target.checked}))}),(0,Z.jsx)(`span`,{children:q(`ops.sellers.sendNewInvitationEmail`)})]}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.correctConfirm`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{className:`btn-primary`,disabled:F===le.seller_id,children:q(`ops.sellers.saveCorrection`)}),` `,(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:()=>ue(null),children:q(`ops.common.cancel`)})]})]}),K?.invite_link&&(0,Z.jsxs)(`div`,{className:`admin-sellers-invite-result`,role:`status`,children:[(0,Z.jsx)(`strong`,{children:q(`ops.sellers.correctCreated`)}),(0,Z.jsxs)(`p`,{children:[Ea(K.owner_email),` · `,Da(K.owner_phone)]}),K.invitation_email_status===`sent`&&(0,Z.jsx)(`p`,{children:q(`ops.sellers.invitationEmailSent`,{email:Ea(K.owner_email)})}),K.invitation_email_status===`failed`&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,children:q(`ops.sellers.invitationEmailFailed`)}),K.invitation_email_status===`not_requested`&&(0,Z.jsx)(`p`,{children:q(`ops.sellers.invitationEmailNotRequested`)}),(0,Z.jsxs)(`p`,{children:[q(`ops.sellers.inviteExpires`),`: `,Qc(K.invite_expires_at,fe)]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.inviteLink`),(0,Z.jsx)(`span`,{className:`admin-sellers-invite-link`,children:K.invite_link})]}),(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:ye,children:q(`ops.sellers.inviteCopy`)}),G&&(0,Z.jsx)(`span`,{role:`status`,children:G})]}),se?.invite_link&&(0,Z.jsxs)(`div`,{className:`admin-sellers-invite-result`,role:`status`,children:[(0,Z.jsx)(`strong`,{children:q(`ops.sellers.reissueCreated`)}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.inviteSecurity`)}),se.invitation_email_status===`sent`&&(0,Z.jsx)(`p`,{children:q(`ops.sellers.invitationEmailSent`,{email:Ea(se.invitation_email_recipient)})}),se.invitation_email_status===`failed`&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,children:q(`ops.sellers.invitationEmailFailed`)}),se.invitation_email_status===`not_requested`&&(0,Z.jsx)(`p`,{children:q(`ops.sellers.invitationEmailNotRequested`)}),(0,Z.jsxs)(`p`,{children:[q(`ops.sellers.inviteExpires`),`: `,Qc(se.invite_expires_at,fe)]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.inviteLink`),(0,Z.jsx)(`span`,{className:`admin-sellers-invite-link`,children:se.invite_link})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:ve,children:
9q(`ops.sellers.inviteCopy`)}),G&&(0,Z.jsx)(`span`,{className:`admin-sellers-copy-status`,role:`status`,children:G})]})]}),h&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-sellers-load-more`,disabled:d,onClick:()=>me(p+fl,!0),children:q(d?`ops.sellers.loadingMore`:`ops.common.loadMore`)})]})]}),(0,Z.jsxs)(`section`,{className:`admin-sellers-section`,"aria-labelledby":`seller-moderation-title`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`h2`,{id:`seller-moderation-title`,children:q(`ops.sellers.title`)}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.moderationHelp`)})]}),(0,Z.jsxs)(`form`,{className:`admin-sellers-search`,onSubmit:e=>{e.preventDefault(),he(v,0,!1)},children:[(0,Z.jsx)(`label`,{htmlFor:`seller-search`,children:q(`ops.sellers.searchSellers`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`input`,{id:`seller-search`,className:`form-control`,value:v,onChange:e=>y(e.target.value),placeholder:q(`ops.sellers.searchPlaceholder`)}),(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:E,children:q(E?`ops.sellers.searching`:`ops.common.search`)})]})]}),S&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,role:`alert`,children:S}),!E&&!O&&!S&&(0,Z.jsx)(`p`,{className:`admin-sellers-empty`,children:q(`ops.sellers.searchHelp`)}),!E&&O&&(0,Z.jsxs)(`div`,{className:`admin-sellers-results`,children:[a.map(e=>(0,Z.jsxs)(`article`,{className:`admin-sellers-card`,children:[(0,Z.jsxs)(`div`,{className:`admin-sellers-card-heading`,children:[(0,Z.jsx)(_l,{seller:e}),(0,Z.jsx)(vl,{seller:e,t:q})]}),e.status===`verified_pending_setup`&&(0,Z.jsxs)(`div`,{className:`admin-sellers-setup`,children:[(0,Z.jsx)(yl,{seller:e,t:q}),Te(e)]}),!e.is_active&&e.status!==`verified_pending_setup`&&e.freeze_note&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[q(`ops.sellers.freezeNote`),`:`]}),` `,e.freeze_note]}),!e.is_active&&e.status!==`verified_pending_setup`&&e.frozen_at&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[q(`ops.sellers.frozenAt`),`:`]}),` `,Qc(e.frozen_at,fe)]}),(0,Z.jsxs)(`label`,{className:`admin-sellers-note`,children:[q(`ops.sellers.internalNote`),(0,Z.jsx)(`textarea`,{className:`form-textarea`,value:b[e.id]||``,onChange:t=>x(n=>({...n,[e.id]:t.target.value})),placeholder:e.is_active?q(`ops.sellers.reasonFreeze`):q(`ops.sellers.reasonUnfreeze`),disabled:e.status===`verified_pending_setup`||F===e.id})]}),e.status!==`verified_pending_setup`&&(0,Z.jsx)(`button`,{type:`button`,className:e.is_active?`btn-danger`:`btn-primary`,disabled:F===e.id,onClick:()=>Y(e),children:F===e.id?q(`ops.sellers.updating`):e.is_active?q(`ops.sellers.freeze`):q(`ops.sellers.unfreeze`)})]},e.id)),!a.length&&(0,Z.jsx)(`p`,{className:`admin-sellers-empty`,children:q(`ops.sellers.noSellers`)}),M&&(0,Z.jsx)(`button`,{type:`button`,className:`btn-secondary admin-sellers-load-more`,disabled:ee,onClick:()=>he(v,A+fl,!0),children:q(ee?`ops.sellers.loadingMore`:`ops.common.loadMore`)})]})]}),(0,Z.jsxs)(`section`,{className:`admin-sellers-section`,"aria-labelledby":`seller-invite-title`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`h2`,{id:`seller-invite-title`,children:q(`ops.sellers.inviteTitle`)}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.inviteHelp`)})]}),(0,Z.jsxs)(`form`,{className:`admin-sellers-invite`,onSubmit:ge,children:[(0,Z.jsxs)(`fieldset`,{children:[(0,Z.jsx)(`legend`,{children:q(`ops.sellers.storeGroup`)}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.sellerName`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:L.seller_name,onChange:e=>X(`seller_name`,e.target.value)})]})]}),(0,Z.jsxs)(`fieldset`,{children:[(0,Z.jsx)(`legend`,{children:q(`ops.sellers.ownerGroup`)}),(0,Z.jsxs)(`div`,{className:`admin-sellers-invite-grid`,children:[(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerName`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:L.owner_name,onChange:e=>X(`owner_name`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerEmail`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,type:`email`,value:L.owner_email,onChange:e=>X(`owner_email`,e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.ownerPhone`),(0,Z.jsx)(`input`,{className:`form-control`,required:!0,value:L.owner_phone,onChange:e=>X(`owner_phone`,e.target.value)})]})]})]}),(0,Z.jsxs)(`fieldset`,{children:[(0,Z.jsx)(`legend`,{children:q(`ops.sellers.verificationGroup`)}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.verificationNote`),(0,Z.jsx)(`textarea`,{className:`form-textarea`,required:!0,value:L.verification_note,onChange:e=>X(`verification_note`,e.target.value)})]}),(0,Z.jsxs)(`label`,{className:`admin-sellers-checkbox`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:L.verified_offline,onChange:e=>X(`verified_offline`,e.target.checked)}),` `,(0,Z.jsx)(`span`,{children:q(`ops.sellers.verifiedOffline`)})]}),(0,Z.jsxs)(`label`,{className:`admin-sellers-checkbox`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:L.send_invitation_email,onChange:e=>X(`send_invitation_email`,e.target.checked)}),` `,(0,Z.jsx)(`span`,{children:q(`ops.sellers.sendInvitationEmail`)})]}),(0,Z.jsx)(`small`,{children:q(`ops.sellers.sendInvitationEmailHelp`)})]}),ne&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,role:`alert`,children:ne}),(0,Z.jsx)(`button`,{className:`btn-primary`,type:`submit`,disabled:W,children:q(W?`ops.sellers.inviteCreating`:`ops.sellers.inviteCreate`)})]}),H?.invite_link&&(0,Z.jsxs)(`div`,{className:`admin-sellers-invite-result`,role:`status`,children:[(0,Z.jsx)(`strong`,{children:q(`ops.sellers.inviteCreated`)}),(0,Z.jsx)(`p`,{children:q(`ops.sellers.inviteSecurity`)}),H.invitation_email_status===`sent`&&(0,Z.jsx)(`p`,{children:q(`ops.sellers.invitationEmailSent`,{email:Ea(H.invitation_email_recipient)})}),H.invitation_email_status===`failed`&&(0,Z.jsx)(`p`,{className:`admin-sellers-alert`,children:q(`ops.sellers.invitationEmailFailed`)}),H.seller_id&&(0,Z.jsxs)(`p`,{children:[q(`ops.sellers.sellerId`),`: #`,H.seller_id]}),H.seller_status&&(0,Z.jsxs)(`p`,{children:[q(`ops.sellers.status`),`: `,rl(q,H.seller_status)]}),H.invite_expires_at&&(0,Z.jsxs)(`p`,{children:[q(`ops.sellers.inviteExpires`),`: `,Qc(H.invite_expires_at,fe)]}),(0,Z.jsxs)(`label`,{children:[q(`ops.sellers.inviteLink`),(0,Z.jsx)(`span`,{className:`admin-sellers-invite-link`,children:H.invite_link})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`button`,{className:`btn-secondary`,type:`button`,onClick:_e,children:q(`ops.sellers.inviteCopy`)}),G&&(0,Z.jsx)(`span`,{className:`admin-sellers-copy-status`,role:`status`,children:G})]})]})]})]})})}var xl=Object.freeze({LOADING:`loading`,ENABLED:`enabled`,DISABLED:`disabled`,ERROR:`error`});function Sl(e){return!e||typeof e!=`object`?xl.ERROR:e.guest_checkout_enabled===!0?xl.ENABLED:e.guest_checkout_enabled===!1?xl.DISABLED:xl.ER
9ROR}var Cl=Sl;function wl(e){let[t,n]=(0,_.useState)(xl.LOADING),r=(0,_.useCallback)(async()=>{if(typeof e!=`function`)return n(xl.ERROR),xl.ERROR;n(xl.LOADING);try{let t=Sl(await e(`/site/config`,{skipAuthHandling:!0}));return n(t),t}catch{return n(xl.ERROR),xl.ERROR}},[e]);return(0,_.useEffect)(()=>{let e=!0;async function t(){let t=await r();e&&n(t)}return t(),()=>{e=!1}},[r]),{availability:t,isLoading:t===xl.LOADING,isEnabled:t===xl.ENABLED,isUnavailable:t===xl.DISABLED||t===xl.ERROR,refresh:r}}var Tl=wl;function El(e=``){let t=String(e||``);return{draftQuery:t,submittedQuery:t.trim()}}function Dl(e,t){return!e||typeof e!=`object`?El(``):!t||typeof t!=`object`?e:t.type===`change-draft`?{...e,draftQuery:String(t.value||``)}:t.type===`submit-draft`?{...e,submittedQuery:String(e.draftQuery||``).trim()}:e}function Ol({sellerSlug:e,sortBy:t,sortDir:n,submittedQuery:r}){let i=new URLSearchParams({seller:String(e||``).trim(),limit:`24`,offset:`0`,sort_by:t||`sold_quantity`,sort_dir:n||`desc`}),a=String(r||``).trim();return a&&i.set(`search`,a),i}function kl(e,t=5){let n=Number.isInteger(t)&&t>0?t:5,r=Math.max(0,Math.min(n,Number(e)||0));return Array.from({length:n},(e,t)=>({key:`star-${t}`,filled:t<r}))}function Al({rating:e=0,max:t=5,showValue:n=!0,className:r=``}){let i=kl(e,t);return(0,Z.jsxs)(`span`,{className:`star-rating ${r}`.trim(),"aria-label":`${e}/${t} stars`,children:[i.map(e=>(0,Z.jsx)(`span`,{className:`star-rating-icon ${e.filled?`filled`:`empty`}`,"aria-hidden":`true`,children:`â
`},e.key)),n&&(0,Z.jsx)(`span`,{className:`star-rating-value`,children:Number(e||0).toFixed(1)})]})}function jl({sellerSlug:e,navigate:t,authState:n,onAuthSuccess:r,deps:i={}}){let a=Rr(),{language:o}=Lr(),{api:s,BuyerLayout:c,InlineLoading:l,SectionLoadingOverlay:u,SkeletonBlock:d,formatIdr:f,RouteLink:p}=i,[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)([]),[y,b]=(0,_.useReducer)(Dl,void 0,()=>El(``)),[x,S]=(0,_.useState)(`sold_quantity-desc`),[C,w]=(0,_.useState)(!0),[T,E]=(0,_.useState)(!0),[D,O]=(0,_.useState)(``),[k,A]=(0,_.useState)(``),[j,M]=(0,_.useState)(`products`),[N,ee]=(0,_.useState)([]),[P,F]=(0,_.useState)(!1),[I,L]=(0,_.useState)(``),[te,ne]=(0,_.useState)({average_rating:null,review_count:0}),[R,z]=(0,_.useState)(`all`),[B,V]=(0,_.useState)(`newest`),[H,U]=(0,_.useState)(null),[W,re]=x.split(`-`);Cn(C?{title:`Toko | Tokodepan`,canonical:`/stores/${encodeURIComponent(e)}`,robots:`noindex,nofollow`}:m?{title:`${m.name} | Tokodepan`,description:_n(m.info)||`Belanja produk dari ${m.name} di Tokodepan.`,canonical:`/stores/${encodeURIComponent(e)}`,image:yn(m.banner_image_url)}:{title:`Toko tidak ditemukan | Tokodepan`,canonical:`/stores/${encodeURIComponent(e)}`,robots:`noindex,nofollow`}),(0,_.useEffect)(()=>{let t=!0;async function n(){w(!0),O(``);try{let n=await s(`/stores/${encodeURIComponent(e)}`);
9if(!t)return;h(n||null)}catch(e){if(!t)return;O(e.message||a(`buyer.storePage.errors.loadStore`)),h(null)}finally{t&&w(!1)}}return n(),()=>{t=!1}},[s,e,a]),(0,_.useEffect)(()=>{let t=!0;async function n(){E(!0),A(``);try{let n=Ol({sellerSlug:e,sortBy:W,sortDir:re,submittedQuery:y.submittedQuery}),r=await s(`/products?${n.toString()}`);if(!t)return;v(r?.items||[])}catch(e){if(!t)return;A(e.message||a(`buyer.storePage.errors.loadProducts`)),v([])}finally{t&&E(!1)}}return n(),()=>{t=!1}},[s,y.submittedQuery,e,W,re,a]),(0,_.useEffect)(()=>{let t=!0;async function n(){if(j===`reviews`){F(!0),L(``);try{let n=new URLSearchParams({limit:`30`,sort:B});R!==`all`&&n.set(`rating`,R);let r=await s(`/stores/${encodeURIComponent(e)}/reviews?${n.toString()}`);if(!t)return;ee(r?.items||[]),ne({average_rating:r?.average_rating??null,review_count:Number(r?.review_count||0)})}catch(e){if(!t)return;ee([]),L(e.message||a(`buyer.storePage.errors.loadReviews`))}finally{t&&F(!1)}}}return n(),()=>{t=!1}},[j,s,R,B,e,a]);let G=Array.isArray(g)?g.filter(t=>{if(!t)return!1;let n=String(t?.seller?.slug||``).trim().toLowerCase(),r=String(e||``).trim().toLowerCase();return!!n&&n===r}):[],ie=T&&G.length===0&&!k;return(0,Z.jsxs)(c,{navigate:t,authState:n,onAuthSuccess:r,children:[(0,Z.jsxs)(`section`,{className:`store-page`,children:[C&&(0,Z.jsx)(`p`,{className:`results-message`,children:(0,Z.jsx)(l,{label:a(`buyer.storePage.loadingStore`)})}),D&&(0,Z.jsx)(`p`,{className:`results-message error`,children:D}),!C&&!D&&m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`store-hero`,children:[(0,Z.jsx)(`div`,{className:`store-banner`,role:`img`,"aria-label":a(`buyer.storePage.storeBanner`,{store:m.name}),children:m.banner_image_url?(0,Z.jsx)(`img`,{src:m.banner_image_url,alt:`${m.name} banner`}):(0,Z.jsx)(`span`,{children:a(`buyer.storePage.defaultStoreName`)})}),(0,Z.jsxs)(`div`,{className:`store-hero-main`,children:[(0,Z.jsx)(`h1`,{children:m.name}),(0,Z.jsx)(`p`,{children:m.info||a(`buyer.storePage.noDescription`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.storePage.locationLabel`)}),` `,m.location_summary||a(`buyer.storePage.noLocation`)]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.storePage.announcementLabel`)}),` `,m.announcement||a(`buyer.storePage.noAnnouncement`)]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.storePage.operationalHoursLabel`)}),` `,m.operational_hours||a(`buyer.storePage.noOperationalHours`)]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.storePage.ratingLabel`)}),` `,m.review_summary?.review_count?a(`buyer.storePage.ratingSummary`,{rating:Number(m.review_summary.average_rating||0).toFixed(1),count:m.review_summary.review_count}):a(`buyer.storePage.noReviews`)]})]})]}),(0,Z.jsxs)(`section`,{className:`store-products`,children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,marginBottom:12,flexWrap:`wrap`},children:[(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,"aria-pressed":j===`products`,onClick:()=>M(`products`),children:a(`buyer.storePage.productsTab`)}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,"aria-pressed":j===`reviews`,onClick:()=>M(`reviews`),children:a(`buyer.storePage.reviewsTab`)})]}),j===`products`&&(0,Z.jsx)(`h2`,{children:a(`buyer.storePage.productsHeading`)}),j===`reviews`&&(0,Z.jsx)(`h2`,{children:a(`buyer.storePage.reviewsHeading`)}),j===`products`&&(0,Z.jsxs)(`form`,{className:`store-products-toolbar`,onSubmit:e=>{e.preventDefault(),b({type:`submit-draft`})},children:[(0,Z.jsx)(`input`,{value:y.draftQuery,onChange:e=>b({type:`change-draft`,value:e.target.value}),placeholder:a(`buyer.storePage.searchPlaceholder`),"aria-label":a(`buyer.storePage.searchAria`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`store-search-btn`,children:a(`buyer.storePage.searchButton`)}),(0,Z.jsxs)(`select`,{value:x,onChange:e=>S(e.target.value),"aria-label":a(`buyer.storePage.sortProductsAria`),children:[(0,Z.jsx)(`option`,{value:`sold_quantity-desc`,children:a(`buyer.storePage.sort.bestSelling`)}),(0,Z.jsx)(`option`,{value:`price-asc`,children:a(`buyer.storePage.sort.priceLow`)}),(0,Z.jsx)(`option`,{value:`price-desc`,children:a(`buyer.storePage.sort.priceHigh`)}),(0,Z.jsx)(`option`,{value:`name-asc`,children:a(`buyer.storePage.sort.nameAsc`)}),(0,Z.jsx)(`option`,{value:`name-desc`,children:a(`buyer.storePage.sort.nameDesc`)}),(0,Z.jsx)(`option`,{value:`sold_quantity-asc`,children:a(`buyer.storePage.sort.soldLow`)})]})]}),j===`reviews`&&(0,Z.jsxs)(`div`,{className:`results-list-wrap store-products-results-wrap`,children:[(0,Z.jsxs)(`div`,{className:`review-filter-row`,children:[(0,Z.jsxs)(`label`,{className:`review-select-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.storePage.reviewFilters.rating`)}),(0,Z.jsxs)(`select`,{value:R,onChange:e=>z(e.target.value),children:[(0,Z.jsx)(`option`,{value:`all`,children:a(`buyer.storePage.reviewFilters.allRatings`)}),(0,Z.jsx)(`option`,{value:`5`,children:a(`buyer.storePage.reviewFilters.stars`,{count:5})}),(0,Z.jsx)(`option`,{value:`4`,children:a(`buyer.storePage.reviewFilters.stars`,{count:4})}),(0,Z.jsx)(`option`,{value:`3`,children:a(`buyer.storePage.reviewFilters.stars`,{count:3})}),(0,Z.jsx)(`option`,{value:`2`,children:a(`buyer.storePage.reviewFilters.stars`,{count:2})}),(0,Z.jsx)(`option`,{value:`1`,children:a(`buyer.storePage.reviewFilters.stars`,{count:1})})]})]}),(0,Z.jsxs)(`label`,{className:`review-select-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.storePage.reviewFilters.sort`)}),(0,Z.jsxs)(`select`,{value:B,onChange:e=>V(e.target.value),children:[(0,Z.jsx)(`option`,{value:`newest`,children:a(`buyer.storePage.reviewFilters.newest`)}),(0,Z.jsx)(`option`,{value:`oldest`,children:a(`buyer.storePage.reviewFilters.oldest`)}),(0,Z.jsx)(`option`,{value:`highest`,children:a(`buyer.storePage.reviewFilters.highe
9st`)}),(0,Z.jsx)(`option`,{value:`lowest`,children:a(`buyer.storePage.reviewFilters.lowest`)})]})]})]}),(0,Z.jsx)(`p`,{className:`results-message`,children:te.review_count>0?a(`buyer.storePage.filteredRatingSummary`,{rating:Number(te.average_rating||0).toFixed(1),count:te.review_count}):a(`buyer.storePage.noReviews`)}),P&&(0,Z.jsx)(`p`,{className:`results-message`,children:(0,Z.jsx)(l,{label:a(`buyer.storePage.loadingReviews`)})}),I&&(0,Z.jsx)(`p`,{className:`results-message error`,children:I}),!P&&!I&&N.length===0&&(0,Z.jsx)(`p`,{className:`results-message`,children:a(`buyer.storePage.noCommentary`)}),!P&&!I&&N.length>0&&(0,Z.jsx)(`div`,{className:`results-list`,children:N.map(n=>(0,Z.jsxs)(`article`,{className:`store-review-card${n.product_image_url?``:` store-review-card-no-image`}`,children:[n.product_image_url&&(0,Z.jsx)(`div`,{className:`store-review-product-image`,children:n.product_slug?(0,Z.jsx)(p,{to:`/products/${encodeURIComponent(n.seller_slug||e)}/${encodeURIComponent(n.product_slug)}`,navigate:t,className:`store-review-product-image-link`,"aria-label":a(`buyer.storePage.openReviewedProduct`,{product:n.product_name||``}),children:(0,Z.jsx)(`img`,{src:n.product_image_url,alt:n.product_name||a(`buyer.storePage.reviewedProduct`),loading:`lazy`})}):(0,Z.jsx)(`img`,{src:n.product_image_url,alt:n.product_name||a(`buyer.storePage.reviewedProduct`),loading:`lazy`})}),(0,Z.jsxs)(`div`,{className:`store-review-content`,children:[(0,Z.jsxs)(`div`,{className:`store-review-heading`,children:[(0,Z.jsx)(Al,{rating:n.rating,showValue:!1}),(0,Z.jsx)(`span`,{className:`store-review-buyer`,children:n.buyer_display_name||n.buyer_name||a(`buyer.storePage.buyer`)})]}),n.product_name&&(n.product_slug?(0,Z.jsx)(p,{to:`/products/${encodeURIComponent(n.seller_slug||e)}/${encodeURIComponent(n.product_slug)}`,navigate:t,className:`store-review-product-link`,children:n.product_name}):(0,Z.jsx)(`p`,{className:`store-review-product-name`,children:n.product_name})),(0,Z.jsx)(`p`,{className:`store-review-note`,children:n.note||a(`buyer.storePage.ratingWithoutNote`)}),n.seller_response&&(0,Z.jsxs)(`div`,{className:`seller-response-card store-review-seller-response`,children:[(0,Z.jsx)(`strong`,{children:a(`buyer.storePage.sellerResponse`)}),n.seller_response.edited?(0,Z.jsxs)(`span`,{children:[` · `,a(`buyer.storePage.edited`)]}):null,(0,Z.jsx)(`p`,{style:{whiteSpace:`pre-line`},children:n.seller_response.body})]}),(0,Z.jsx)(`time`,{className:`store-review-date`,dateTime:n.created_at,children:Qc(n.created_at,o)}),Array.isArray(n.attachments)&&n.attachments.length>0&&(0,Z.jsx)(`div`,{className:`store-review-images`,children:n.attachments.slice(0,3).map((e,t)=>(0,Z.jsx)(`button`,{type:`button`,onClick:t=>{t.preventDefault(),U({url:e.url,alt:e.name||a(`buyer.storePage.reviewImage`)})},className:`store-review-image-button`,"aria-label":a(`buyer.storePage.openReviewImage`,{number:t+1}),children:(0,Z.jsx)(`img`,{src:e.url,alt:e.name||a(`buyer.storePage.reviewImage`)})},`${n.id}-store-review-attachment-${t}`))})]})]},`store-review-${n.id}`))})]}),j===`products`&&(0,Z.jsxs)(`div`,{className:`results-list-wrap store-products-results-wrap`,"aria-busy":T?`true`:`false`,children:[(0,Z.jsx)(u,{show:T&&G.length>0,label:a(`buyer.storePage.refreshingProducts`)}),k&&(0,Z.jsx)(`p`,{className:`results-message error`,children:k}),ie&&(0,Z.jsx)(`div`,{className:`results-list`,"aria-hidden":`true`,children:[0,1,2].map(e=>(0,Z.jsxs)(`article`,{className:`curated-result-card`,children:[(0,Z.jsx)(`div`,{className:`result-image`,children:(0,Z.jsx)(d,{width:`100%`,height:92})}),(0,Z.jsxs)(`div`,{className:`result-main`,style:{display:`grid`,gap:`0.45rem`},children:[(0,Z.jsx)(d,{width:`68%`,height:22}),(0,Z.jsx)(d,{width:`36%`,height:18}),(0,Z.jsx)(d,{width:`30%`,height:14})]})]},`store-product-skeleton-${e}`))}),!k&&!ie&&G.length===0&&(0,Z.jsx)(`p`,{className:`results-message`,children:y.submittedQuery?a(`buyer.storePage.noMatchingProducts`):a(`buyer.storePage.noActiveProducts`)}),!ie&&(0,Z.jsx)(`div`,{className:`results-list`,children:G.map((n,r)=>{let i=String(n?.slug||``).trim(),o=String(n?.seller?.slug||e||``).trim(),s=i&&o?`/products/${encodeURIComponent(o)}/${encodeURIComponent(i)}`:``,c=Number(n?.stock),l=!!n?.is_out_of_stock||Number.isFinite(c)&&c<=0,u=(0,Z.jsxs)(`article`,{className:`curated-result-card${l?` curated-result-card-out-of-stock`:``}`,children:[(0,Z.jsx)(`div`,{className:`result-image`,"aria-hidden":`true`,children:n?.primary_image_thumb_url||n?.primary_image_url?(0,Z.jsx)(`img`,{src:n.primary_image_thumb_url||n.primary_image_url,alt:n?.title||``,loading:`lazy`}):(0,Z.jsx)(`span`,{children:`ð¦`})}),(0,Z.jsxs)(`div`,{className:`result-main`,children:[(0,Z.jsx)(`h2`,{children:n?.title||a(`buyer.storePage.untitledProduct`)}),(0,Z.jsx)(`p`,{className:`result-price`,children:f(n?.price||0)}),(0,Z.jsxs)(`p`,{className:`result-meta`,children:[a(`buyer.storePage.soldLabel`),` `,Number(n?.sold_quantity||0)]})]}),(0,Z.jsxs)(`div`,{className:`store-product-stock-state`,children:[(0,Z.jsx)(`span`,{className:`stock-pill ${l?`stock-pill-out`:`stock-pill-in`}`,children:a(l?`buyer.storePage.outOfStock`:`buyer.storePage.inStock`)}),l&&(0,Z.jsx)(`p`,{children:a(`buyer.storePage.unavailableCheckout`)})]})]});return!s||l?(0,Z.jsx)(`div`,{style:{textDecoration:`none`,color:`inherit`},"aria-disabled":l?`true`:void 0,children:u},n?.id||`store-product-${r}`):(0,Z.jsx)(p,{to:s,navigate:t,style:{textDecoration:`none`,color:`inherit`},children:u},n?.id||`${o}-${i}`)})})]})]})]})]}),H&&(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,onClick:()=>U(null),children:(0,Z.jsxs)(`div`,{className:`address-modal review-image-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":a(`buyer.storePage.reviewImageViewer`),onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.storePage.reviewImage`)}),(0,Z.jsx)(`button`,{className:`close-modal`,type:`button`,onClick:()=>U(null),"aria-label":a(`buyer.storePage.closeReviewImageViewer`),children:`Ã`})]}),(0,Z.jsx)(`img`,{src:H.url,alt:H.alt||a(`buyer.storePage.reviewImage`),className:`review-image-modal-preview`})]})})]})}var Ml=`tokodepan_guest_identity_v1`;function Nl(){if(typeof window>`u`)return null;try{let e=window.sessionStorage.getItem(Ml);if(!e)return null;let t=JSON.parse(e);return!t||typeof t!=`object`?null:{verified:!!t.verified,profile:t.profile&&typeof t.profile==`object`?t.profile:{},addresses:Array.isArray(t.addresses)?t.addresses:[],updatedAt:typeof t.updatedAt==`string`?t.updatedAt:``}}catch{return null}}function Pl(){if(!(typeof window>`u`))try{window.sessionStorage.removeItem(Ml)}catch{}}function Fl(e){if(!(typeof window>`u`))try{window.sessionStorage.setItem(Ml,JSON.stringify({verified:!!e?.verified,profile:e?.profile||{},addresses:Array.isArray(e?.addresses)?e.addresses:[],updatedAt:new Date().toISOString()}))}catch{}}function Il({guestPrefill:e,addresses:t=[],fallbackProfile:n={}}={}){return{verified:!!e?.has_verified_guest,profile:{name:e?.name||n?.name||``,phone:e?.phone_number||n?.phone||``,shipping_address:e?.shipping_address||n?.shipping_address||null},addresses:Array.isArray(t)?t:[],updatedAt:new Date().toISOString()}}function Ll(e){let t=Number(e);return Number.isFinite(t)&&t>0?Math.ceil(t):0}function Rl(e){let t=Ll(e?.retry_after_seconds??e?.retry_after??e?.cooldown_seconds);if(t>0)return t;let n=String(e?.message||``).match(/wait\s+(\d+)\s+seconds/i);return n?Ll(n[1]):0}function zl(e,{requesting:t,cooldownSeconds:n,requested:r}){return t?e(`buyer.cart.guestOtp.sending`):n>0?e(`buyer.cart.guestOtp.resendIn`,{seconds:n}):e(r?`buyer.cart.guestOtp.resend`:`buyer.cart.guestOtp.request`)}async function Bl({inFlightRef:e,cooldownSeconds:t,phone:n,api:r,t:i,setGuestNotice:a,setGuestOtpRequesting:o,setGuestOtpRequested:s,setGuestOtpCooldownSeconds:c,focusOtpInput
9:l,turnstileMountElement:u}){if(e.current||t>0)return{submitted:!1,reason:`blocked`};if(!n.trim())return a(i(`buyer.cart.guestOtp.enterPhone`)),{submitted:!1,reason:`missing_phone`};e.current=!0,o(!0),a(``);try{let e=await pe(`guest_checkout_otp`,{mountElement:u}),t=await r(`/auth/phone-otp/request`,{method:`POST`,body:{phone:n.trim(),purpose:`guest_checkout`,channel:`whatsapp`,turnstile_token:e},skipAuthHandling:!0});return s(!0),c(Ll(t?.cooldown_seconds)),a(i(`buyer.cart.guestOtp.sent`)),l?.(),{submitted:!0,response:t}}catch(e){let t=Rl(e);return e?.status===429&&t>0?(s(!0),c(t),a(i(`buyer.cart.guestOtp.cooldownNotice`)),{submitted:!0,error:e,retryAfterSeconds:t}):(a(e.message||i(`buyer.cart.guestOtp.sendFailed`)),{submitted:!0,error:e})}finally{e.current=!1,o(!1)}}var Vl={AUTHENTICATED:`authenticated`,VERIFIED_GUEST:`verified_guest`,ANONYMOUS:`anonymous`};function Hl(e=[]){return!Array.isArray(e)||e.length===0?null:e.find(e=>e?.is_default)||e[0]||null}async function Ul({api:e,authState:t,includeAddresses:n=!0,requestOptions:r={}}={}){if(t?.status===`authenticated`){let t=n?await e(`/addresses`,r):[];return{kind:Vl.AUTHENTICATED,verified:!0,guestProfile:null,addresses:Array.isArray(t)?t:[]}}let i=Nl(),a=null,o=!1;try{a=await e(`/signup/guest-prefill`,{...r,skipAuthHandling:!0}),o=!0}catch{a=null}if(o&&!a?.has_verified_guest&&Pl(),!(o&&a?.has_verified_guest))return{kind:Vl.ANONYMOUS,verified:!1,guestProfile:i?.profile||null,addresses:[]};let s=Array.isArray(i?.addresses)?i.addresses:[];if(n)try{let t=await e(`/addresses`,{...r,skipAuthHandling:!0});s=Array.isArray(t)?t:s}catch{}return o&&Fl(Il({guestPrefill:a,addresses:s,fallbackProfile:i?.profile||{}})),{kind:Vl.VERIFIED_GUEST,verified:!0,guestProfile:{name:a?.name||i?.profile?.name||``,phone:a?.phone_number||i?.profile?.phone||``,shipping_address:a?.shipping_address||i?.profile?.shipping_address||null},addresses:s}}function Wl(e=[]){let t=(Array.isArray(e)?e:[]).filter(e=>!!e?.isEligible);return t.length&&t.reduce((e,t)=>{if(!e)return t;let n=Number(e.estimatedDiscountCents||0);return Number(t.estimatedDiscountCents||0)>n?t:e},null)?.code||``}function Gl(e={},t={}){let n={};Object.entries(t).forEach(([t,r])=>{let i=e[t]||``,a=Array.isArray(r)?r:[],o=a.some(e=>e?.code===i&&e?.isEligible);n[t]=o?i:Wl(a)});let r=Object.keys(e),i=Object.keys(n);return r.length===i.length&&i.every(t=>e[t]===n[t])?e:n}function Kl({subtotalCents:e,sellerPromoDiscountCents:t,platformPromoDiscountCents:n}){let r=Number(e||0),i=Number(t||0),a=Number(n||0);return Math.max(0,r-i-a)}function ql({eligibilityAmountCents:e,hasItems:t,recalculating:n}){if(!t||n||e==null||e===``)return!1;let r=Number(e);return Number.isFinite(r)&&r>=0}function Jl(e,t){let n=(e||[]).map(e=>({id:Number(e?.id),quantity:Number(e?.quantity)})).filter(e=>Number.isInteger(e.id)&&e.id>0&&Number.isInteger(e.quantity)&&e.quantity>0).sort((e,t)=>e.id-t.id);return JSON.stringify({items:n,paymentMethod:String(t||``)})}function Yl(e,t){return e?.key!==t||e?.status!==`inflight`&&e?.status!==`success`}function Xl(e,t){return e?.requestId===t}var Zl=`tokodepan:cart-selection:`;function Ql(e){if(!Array.isArray(e))return null;let t=e.map(Number);return t.some(e=>!Number.isInteger(e)||e<=0)?null:[...new Set(t)]}function $l(e){let t=Number(e);return Number.isInteger(t)&&t>0?`${Zl}${t}`:null}function eu(e,t){let n=$l(t);if(!n||!e)return null;try{let t=e.getItem(n);if(t===null)return null;let r=JSON.parse(t),i=Ql(r?.knownItemIds),a=Ql(r?.selectedItemIds);if(!i||!a)return null;let o=new Set(i);return a.some(e=>!o.has(e))?null:{knownItemIds:i,selectedItemIds:a}}catch{return null}}function tu(e,t){let n=Ql(t)||[];if(!e)return{knownItemIds:n,selectedItemIds:n};let r=new Set(e.knownItemIds),i=new Set(e.selectedItemIds);return{knownItemIds:n,selectedItemIds:n.filter(e=>!r.has(e)||i.has(e))}}function nu(e,t,n){let r=$l(t);if(!(!r||!e))try{n.knownItemIds.length?e.setItem(r,JSON.stringify(n)):e.removeItem(r)}catch{}}function ru(e,t,n){let r=tu(eu(e,t),n);return nu(e,t,r),r}var iu=[{value:`qris`,label:`QRIS`,group:`qris`,code:`QRIS`},{value:`bca_va`,label:`BCA Virtual Account`,group:`virtual_account`,code:`BCA_VIRTUAL_ACCOUNT`},{value:`bni_va`,label:`BNI Virtual Account`,group:`virtual_account`,code:`BNI_VIRTUAL_ACCOUNT`},{value:`bri_va`,label:`BRI Virtual Account`,group:`virtual_account`,code:`BRI_VIRTUAL_ACCOUNT`},{value:`bsi_va`,label:`BSI Virtual Account`,group:`virtual_account`,code:`BSI_VIRTUAL_ACCOUNT`},{value:`mandiri_va`,label:`Mandiri Virtual Account`,group:`virtual_account`,code:`MANDIRI_VIRTUAL_ACCOUNT`},{value:`permata_va`,label:`Permata Virtual Account`,group:`virtual_account`,code:`PERMATA_VIRTUAL_ACCOUNT`},{value:`cimb_va`,label:`CIMB Niaga Virtual Account`,group:`virtual_account`,code:`CIMB_VIRTUAL_ACCOUNT`},{value:`danamon_va`,label:`Danamon Virtual Account`,group:`virtual_account`,code:`DANAMON_VIRTUAL_ACCOUNT`},{value:`btn_va`,label:`BTN Virtual Account`,group:`virtual_account`,code:`BTN_VIRTUAL_ACCOUNT`},{value:`bnc_va`,label:`BNC Virtual Account`,group:`virtual_account`,code:`BNC_VIRTUAL_ACCOUNT`},{value:`doku_va`,label:`DOKU Virtual Account`,group:`virtual_account`,code:`DOKU_VIRTUAL_ACCOUNT`},{value:`card`,label:`Credit Card`,group:`card`,code:`CARDS`}],au=`tokodepan_buyer_preferred_payment_method_v1`;function ou({cardEnabled:e=!1,capabilities:t=null}={}){let n=Array.isArray(t),r=new Map(n?t.map(e=>[e.method,e]):[]);return iu.filter(t=>{if(t.group===`card`&&!e)return!1;let i=r.get(t.group);return n?i?.available===!0?t.group!==`virtual_account`||Array.isArray(i.available_channels)&&i.available_channels.includes(t.code):!1:!0})}function su({currentMethod:e,preferredMethod:t,options:n=[]}={}
9){let r=Array.isArray(n)?n.filter(Boolean):[];if(!r.length)return null;let i=e=>r.some(t=>t.value===uu(e).value),a=uu(e).value;if(e&&i(a))return a;let o=uu(t).value;if(t&&i(o))return o;let s=[e,t].filter(Boolean).some(e=>uu(e).group===`qris`),c=r.find(e=>e.group===`virtual_account`);return s&&!i(`qris`)&&c?c.value:r[0].value}var cu={qris:`qris`,"credit-card":`card`,credit_card:`card`,card:`card`,va:`bca_va`,virtual_account:`bca_va`,bank_va:`bca_va`,"bank-va":`bca_va`};function lu(e){let t=String(e||``).trim().toLowerCase(),n=cu[t]||t;return iu.some(e=>e.value===n&&!e.disabled)?n:`qris`}function uu(e){let t=lu(e);return iu.find(e=>e.value===t)||iu[0]}function du(){return typeof window>`u`||!window.localStorage?null:lu(window.localStorage.getItem(`tokodepan_buyer_preferred_payment_method_v1`)||``)}function fu(e){typeof window>`u`||!window.localStorage||window.localStorage.setItem(au,lu(e))}function pu(e){let t=String(e||``).trim().toLowerCase().replace(/-/g,`_`);return t?t===`virtual_account`||t===`va`||t.endsWith(`_va`)||t.endsWith(`_virtual_account`)||t===`bank_va`?`virtual_account`:t===`qris`?`qris`:t===`card`||t===`cards`||t===`credit_card`?`card`:t:``}function mu(e){return e&&typeof e==`object`?[e.value,e.group,e.code].map(pu).filter(Boolean):[pu(e)].filter(Boolean)}function hu(e,t){if(!Array.isArray(e)||e.length===0)return!0;let n=e.map(pu).filter(Boolean);return mu(t).some(e=>n.includes(e))}function gu(e){return`/checkout/payment/${encodeURIComponent(e)}`}function _u(e={}){if(e?.isFullyRefunded===!0||e?.is_fully_refunded===!0)return[];let t=String(e?.rawStatus||``).toLowerCase(),n=String(e?.paymentStatus||``).toLowerCase();if(t===`cancelled`||[`expired`,`cancelled`,`failed`].includes(n)||[`paid`,`review`].includes(String(e?.buyerPaymentPresentation||``).toLowerCase()))return[];let r=String(e?.shippingState||``).toLowerCase();return t===`pending_payment`?[`Continue payment`]:t===`delivered`||r===`awaiting_buyer_confirmation`?[`Confirm receipt`]:t===`paid`||t===`shipped`||r===`awaiting_seller_handoff`||r===`shipped`||r===`in_transit`?[`Track shipment`]:t===`completed`?e?.hasUnreviewedItems?[`Review`,`Reorder`]:[`Reorder`]:[]}var vu=`tokodepan_current_delivery_address_id`,yu=`tokodepan:current-delivery-address-changed`;function bu(e){let t=String(e||``).trim();return t?`${vu}:${t}`:``}function xu(e,t){let n=bu(t);return n?String(e?.getItem(n)||``):``}function Su(e,t,n,r=globalThis.window){let i=bu(t);if(!i)return``;let a=n==null?``:String(n);return a?e?.setItem(i,a):e?.removeItem(i),r?.dispatchEvent?.(new CustomEvent(yu,{detail:{buyerId:String(t),addressId:a}})),a}function Cu(e,t,n){let r=Array.isArray(n)?n:[],i=xu(e,t),a=r.find(e=>String(e.id)===i)||null,o=r.find(e=>e?.is_default)||r[0]||null;return i&&!a&&e?.removeItem(bu(t)),a||o}function wu(e,t,n){if(!t)return``;let r={};try{r=JSON.parse(e?.getItem(t)||`{}`)||{}}catch{r={}}let i=String(n||``);return e?.setItem(t,JSON.stringify({...r,shippingAddressId:i?Number(i):null})),i}function Tu({shopperKind:e,localStorage:t,sessionStorage:n,buyerId:r,checkoutDraftKey:i,addressId:a}){return e===`authenticated`?Su(t,r,a):e===`verified_guest`?wu(n,i,a):``}function Eu({guestOtpVerified:e,hasVerifiedGuestSession:t}){return!!(e||t)}function Du({addresses:e,draftShippingAddressId:t}){let n=Array.isArray(e)?e:[],r=new Set(n.map(e=>Number(e.id)).filter(e=>e>0)),i=Number(t||0);if(i>0&&r.has(i))return String(i);let a=n.find(e=>e.is_default)||n[0];return a?.id?String(a.id):``}function Ou({verifiedGuest:e,savedAddressCount:t}){return!(e&&Number(t||0)>0)}function ku({checkoutMode:e,shippingAddressId:t,checkoutItemsCount:n,guestOtpVerified:r,hasVerifiedGuestSession:i,hasSelectedAddress:a}){let o=!!t,s=typeof a==`boolean`?a:o,c=Number(n||0)>0;return!o||!s||!c?!1:e===`account`||Eu({guestOtpVerified:r,hasVerifiedGuestSession:i})}function Au(e){if(!e)return null;try{let t=JSON.parse(e);return!t||typeof t!=`object`?null:{guestName:typeof t.guestName==`string`?t.guestName:``,guestPhone:typeof t.guestPhone==`string`?t.guestPhone:``,guestOtpVerified:!!t.guestOtpVerified,guestAddress:t.guestAddress&&typeof t.guestAddress==`object`?t.guestAddress:null,guestAddressFormOpen:typeof t.guestAddressFormOpen==`boolean`?t.guestAddressFormOpen:null}}catch{return null}}function ju(e,t){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>e!==t))}function Mu({sellerSelections:e,platformSelections:t,previousClaimedCode:n,claimResult:r}){let i=String(r?.code||``),a=ju(e,n),o=ju(t,n);for(let e of r?.seller_promotions||[])a[String(e.seller_id)]=i;for(let e of r?.platform_promotions||[])o[String(e.seller_id)]=i;return{sellerSelections:a,platformSelections:o}}function Nu({sellerSelections:e,platformSelections:t,claimedCode:n}){return{sellerSelections:ju(e,n),platformSelections:ju(t,n)}}var Pu=15e3,Fu=3e4,Iu=(e,t)=>{let n=Number(e?.preorder_days);return!Number.isFinite(n)||n<=0?t(`buyer.product.preorderProduct`):t(`buyer.product.preorderShipsWithin`,{days:n})};function Lu({navigate:e,authState:t,onAuthSuccess:n,deps:r={}}){let i=Rr(),{api:a,BuyerLayout:o,FullPageLoadingOverlay:s,InlineLoading:c,SectionLoadingOverlay:l,SkeletonBlock:u,RouteLink:d,StoreNameLink:f,CHECKOUT_DRAFT_STORAGE_KEY:p,AddressMapPicker:m,AUTH_UNAUTHORIZED_EVENT:h,SESSION_EXPIRED_REASON:g,ChatAttachmentViewer:v,ChatComposer:y}=r,[b,x]=(0,_.useState)({items:[],subtotal:0}),[S,C]=(0,_.useState)([]),[w,T]=(0,_.useState)(``),[E,D]=(0,_.useState)({}),O=(0,_.useRef)(null),[k,A]=(0,_.useState)({}),[j,M]=(0,_.useState)({}),[N,ee]=(0,_.useState)(()=>du()||`qris`),[P,F]=(0,_.useState)(!1),[I,L]=(0,_.useState)([]),[te,ne]=(0,_.useState)({}),[R,z]=(0,_.useState)({}),[B,V]=(0,_.useState)(``),[H,U]=(0,_.useState)(null),[W,re]=(0,_.useState)(``),[G,ie]=(0,_.useState)({open:!1,sellerKey:``}),[ae,oe]=(0,_.useState)(!0),[se,ce]=(0,_.useState)(!1),[le,ue]=(0,_.useState)(``),[K,de]=(0,_.useState)(!1),[q,fe]=(0,_.useState)(!1),[pe,me]=(0,_.useState)(``),[he,J]=(0,_.useState)(``),[Y,X]=(0,_.useState)(``),[ge,_e]=(0,_.useState)(``),[ve,ye]=(0,_.useState)(!1),[be,xe]=(0,_.useState)(0),[Se,Ce]=(0,_.useState)(!1),we=(0,_.useRef)(null),Te=(0,_.useRef)(null),Ee=(0,_.useRef)(!1),[De,Oe]=(0,_.useState)(t?.status!==`loading`),[ke,Ae]=(0,_.useState)({}),[je,Me]=(0,_.useState)({}),[Ne,Pe]=(0,_.useState)({seller_promotions:[],platform_promotions:[]}),Fe=(0,_.useRef)({key:``,status:`idle`,requestId:0}),Ie=(0,_.useRef)(``),[Q,Le]=(0,_.useState)(Vl.ANONYMOUS),[Re,ze]=(0,_.useState)(xl.LOADING);async function Be(){if(t?.status!==`loading`){if(t?.status===`authenticated`){de(!1);return}try{let e=xl.ERROR;try{e=Cl(await a(`/site/config`,{skipAuthHandling:!0}))}catch{e=xl.ERROR}ze(e);let t=await a(`/signup/guest-prefill`,{skipAuthHandling:!0}),n=!!t?.has_verified_guest;n||Pl(),de(!n),fe(!1),n&&Fl(Il({guestPrefill:t,addresses:S}))}catch{de(!0),ze(e=>e===xl.LOADING?xl.ERROR:e)}}}async function Ve(){oe(!0),ue(``);
9try{let e=await Ul({api:a,authState:t,includeAddresses:!0,requestOptions:{timeoutMs:Pu}});Le(e.kind);let n=await a(`/cart`,{skipAuthHandling:e.kind!==Vl.AUTHENTICATED,timeoutMs:Pu}),r=Array.isArray(e.addresses)?e.addresses:[];x(n),C(r);let i=(n.items||[]).map(e=>Number(e.id)),o=t?.status===`authenticated`?ru(window.localStorage,t?.me?.id,i):{knownItemIds:i,selectedItemIds:i},s=new Set(o.selectedItemIds),c={},l={},u={};(n.items||[]).forEach(e=>{c[e.id]=s.has(Number(e.id)),l[e.id]=Number(e.quantity)||1,u[e.id]=String(Number(e.quantity)||1)}),O.current=String(t?.me?.id||``),D(c),A(l),M(u);let d;if(e.kind===Vl.AUTHENTICATED)d=Cu(window.localStorage,t?.me?.id,r);else if(e.kind===Vl.VERIFIED_GUEST){let e=null;try{e=JSON.parse(window.sessionStorage.getItem(p)||`null`)}catch{e=null}let t=Du({addresses:r,draftShippingAddressId:e?.shippingAddressId});d=r.find(e=>String(e.id)===t)||Hl(r)}else d=Hl(r);let f=d?String(d.id):``;T(f)}catch(e){ue(e.message)}finally{ce(!0),oe(!1)}}let He=(0,_.useMemo)(()=>ou({cardEnabled:P,capabilities:I}),[P,I]),Ue=(0,_.useMemo)(()=>{let e=du();return su({currentMethod:N,preferredMethod:e,options:He})},[N,He]),We=(0,_.useMemo)(()=>uu(Ue),[Ue]);(0,_.useEffect)(()=>{Ue!==N&&(ee(Ue),fu(Ue))},[Ue,N]),(0,_.useEffect)(()=>{t?.status!==`loading`&&Ve()},[t?.status,t?.me?.id]),(0,_.useEffect)(()=>{let e=Nl();e?.verified&&(e?.profile?.name&&me(e.profile.name),e?.profile?.phone&&J(e.profile.phone))},[]),(0,_.useEffect)(()=>{if(Oe(t?.status!==`loading`),t?.status!==`loading`){if(t?.status===`authenticated`){de(!1);return}Be()}},[t?.status]),(0,_.useEffect)(()=>{if(t?.status!==`authenticated`||O.current!==String(t?.me?.id||``))return;let e=(b.items||[]).map(e=>Number(e.id)),n=e.filter(e=>!!E[e]);nu(window.localStorage,t?.me?.id,{knownItemIds:e,selectedItemIds:n})},[t?.me?.id,t?.status,b.items,E]);let $=(0,_.useMemo)(()=>S.find(e=>String(e.id)===w)||null,[S,w]),Ge=(0,_.useMemo)(()=>(b.items||[]).filter(e=>!!E[e.id]),[b.items,E]),Ke=(0,_.useMemo)(()=>Ge.map(e=>Number(e.id)).filter(e=>Number.isInteger(e)&&e>0),[Ge]),qe=(0,_.useMemo)(()=>Ge.map(e=>({id:Number(e.id),quantity:Number(k[e.id]??e.quantity??1)})),[k,Ge]),Je=(0,_.useMemo)(()=>Jl(qe,We.value),[qe,We.value]),Ye=Object.values(ke).some(Boolean);(0,_.useEffect)(()=>{if(!qe.length){Fe.current={key:``,status:`idle`,requestId:Fe.current.requestId},Pe({seller_promotions:[],platform_promotions:[]});return}if(Ye)return;let e=Fe.current;if(!Yl(e,Je))return;let n=e.requestId+1;Fe.current={key:Je,status:`inflight`,requestId:n};let r=new AbortController,i=setTimeout(async()=>{try{let e=await a(`/cart/promotion-preview`,{method:`POST`,body:{cart_item_ids:Ke,payment_method:We.value},skipAuthHandling:t?.status!==`authenticated`,signal:r.signal,timeoutMs:Pu});if(!Xl(Fe.current,n))return;Fe.current={key:Je,status:`success`,requestId:n},Pe({seller_promotions:Array.isArray(e?.seller_promotions)?e.seller_promotions:[],platform_promotions:Array.isArray(e?.platform_promotions)?e.platform_promotions:[]})}catch(e){if(!Xl(Fe.current,n)||(Fe.current={key:Je,status:`idle`,requestId:n},e?.name===`AbortError`))return;Pe({seller_promotions:[],platform_promotions:[]})}},150);return()=>{r.abort(),clearTimeout(i),Fe.current.requestId===n&&Fe.current.status===`inflight`&&(Fe.current={key:Je,status:`idle`,requestId:n})}},[a,t?.status,qe.length,Ye,Je,Ke,We.value]);let Xe=(0,_.useMemo)(()=>{let e=new Map;return b.items.forEach(t=>{let n=String(t.product.seller?.id||t.product.seller.name);e.has(n)||e.set(n,{sellerName:t.product.seller.name,items:[]}),e.get(n).items.push(t)}),Array.from(e.entries()).map(([e,t])=>({sellerKey:e,...t}))},[b.items]),Ze=(0,_.useMemo)(()=>Xe.map(e=>{let t=e.items.filter(e=>E[e.id]),n=t.reduce((e,t)=>e+(Number(k[t.id])||1),0),r=t.reduce((e,t)=>e+t.product.price*(Number(k[t.id])||1),0);return{...e,selectedGroupItems:t,selectedQuantity:n,subtotal:r}}),[Xe,k,E]),Qe=(0,_.useMemo)(()=>Ze.reduce((e,t)=>e+t.selectedQuantity,0),[Ze]),$e=(0,_.useMemo)(()=>Ze.reduce((e,t)=>e+t.subtotal,0),[Ze]),et=(0,_.useMemo)(()=>{let e={};return(Ne.seller_promotions||[]).forEach(t=>{e[String(t.seller_id)]=Array.isArray(t.promotions)?t.promotions:[]}
9),(H?.seller_promotions||[]).forEach(t=>{e[String(t.seller_id)]=[...e[String(t.seller_id)]||[],...t.promotions.map(e=>({...e,is_private_claim:!0}))]}),e},[H,Ne.seller_promotions]),tt=(0,_.useMemo)(()=>{let e={};return(Ne.platform_promotions||[]).forEach(t=>{e[String(t.seller_id)]=Array.isArray(t.promotions)?t.promotions:[]}),(H?.platform_promotions||[]).forEach(t=>{e[String(t.seller_id)]=[...e[String(t.seller_id)]||[],...t.promotions.map(e=>({...e,is_private_claim:!0}))]}),e},[H,Ne.platform_promotions]),nt=(0,_.useMemo)(()=>{let e={};return Ze.forEach(t=>{t.selectedQuantity<=0||(e[t.sellerKey]=(et[t.sellerKey]||[]).map(e=>({id:`seller-promotion-${e.id}`,code:e.code,title:`${e.code} · ${e.title}`,summary:e.is_eligible?`Estimated discount: ${pt(e.estimated_discount_cents)}`:e.ineligibility_reason||i(`buyer.checkout.notEligibleCart`),isEligible:!!e.is_eligible,estimatedDiscountCents:Number(e.estimated_discount_cents||0),isPrivateClaim:!!e.is_private_claim,terms:[`Scope: ${e.scope_type===`store`?`Entire store`:`Selected products`}`,`Eligibility follows checkout rules`]})))}),e},[et,Ze]),rt=(0,_.useMemo)(()=>{let e={};return Ze.forEach(t=>{t.selectedQuantity<=0||(e[t.sellerKey]=(tt[t.sellerKey]||[]).map(e=>({id:`platform-promotion-${e.id}`,code:e.code,title:`${e.code} · ${e.title}`,summary:e.is_eligible?`Estimated discount: ${pt(e.estimated_discount_cents)}`:e.ineligibility_reason||i(`buyer.checkout.notEligibleCart`),isEligible:!!e.is_eligible&&hu(e.allowed_payment_methods,We),estimatedDiscountCents:Number(e.estimated_discount_cents||0),isPrivateClaim:!!e.is_private_claim,paymentMethods:Array.isArray(e.allowed_payment_methods)?e.allowed_payment_methods:[]})))}),e},[tt,We,Ze]);(0,_.useEffect)(()=>{ne(e=>{let t={};return Ze.forEach(n=>{let r=n.sellerKey,i=nt[r]||[],a=e[r]||``,o=i.some(e=>e.code===a&&e.isEligible);t[r]=o?a:Wl(i)}),t})},[Ze,nt]),(0,_.useEffect)(()=>{z(e=>{let t={};return Ze.forEach(n=>{let r=n.sellerKey,i=rt[r]||[],a=e[r]||``,o=i.some(e=>e.code===a&&e.isEligible);t[r]=o?a:Wl(i)}),t})},[rt,Ze]);let it=(0,_.useMemo)(()=>Ze.reduce((e,t)=>{let n=t.sellerKey,r=te[n]||``;if(!r)return e;let i=(nt[n]||[]).find(e=>e.code===r&&e.isEligible);return e+Number(i?.estimatedDiscountCents||0)},0),[te,Ze,nt]),at=(0,_.useMemo)(()=>Ze.reduce((e,t)=>{let n=t.sellerKey,r=R[n]||``;if(!r)return e;let i=(rt[n]||[]).find(e=>e.code===r&&e.isEligible);return e+Number(i?.estimatedDiscountCents||0)},0),[rt,R,Ze]),ot=it+at,st=(0,_.useMemo)(()=>Kl({subtotalCents:$e,sellerPromoDiscountCents:it,platformPromoDiscountCents:at}),[at,it,$e]),ct=Math.max(0,$e-ot),lt=(0,_.useRef)(null),ut=(0,_.useRef)(0);(0,_.useEffect)(()=>{let e=Object.values(ke).some(Boolean);if(!ql({eligibilityAmountCents:st,hasItems:Ge.length>0,recalculating:e})||lt.current===st)return;let t=new AbortController,n=ut.current+1;ut.current=n;let r=setTimeout(async()=>{lt.current=st;try{let e=await a(`/checkout/payment-capabilities?eligibility_amount_cents=${encodeURIComponent(String(st))}`,{skipAuthHandling:!0,signal:t.signal,timeoutMs:Pu});if(ut.current!==n)return;F(!!e?.card_enabled),L(Array.isArray(e?.methods)?e.methods:[])}catch(e){if(e?.name===`AbortError`||ut.current!==n)return;lt.current=null,F(!1),L([])}},180);return()=>{t.abort(),clearTimeout(r)}},[a,st,Ge.length,ke]);let dt=(0,_.useMemo)(()=>{let e={};return(b.items||[]).forEach(t=>{let n=Math.max(1,Number(t?.product?.min_purchase_qty||1)),r=Number(t?.product?.max_purchase_qty),i=Number.isInteger(r)&&r>=n,a=Math.max(0,Number(t?.product?.stock_qty??t?.product?.stock??0)),o=Math.max(n,Math.min(a,i?r:2**53-1)),s=Number(k[t.id]||t.quantity||1);e[t.id]={min:n,maxRule:i?r:null,stock:a,hardMax:o,qty:s,invalid:s<n||s>o}}),e},[b.items,k]),ft=(0,_.useMemo)(()=>Ge.some(e=>dt[e.id]?.invalid),[dt,Ge]);function pt(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}async function mt(e,n){let r=dt[e],i=Number(k[e])||1,o=Math.max(r?.min||1,Math.min(r?.hardMax||2**53-1,i+n));if(!(o===i||ke[e])){A(t=>({...t,[e]:o})),M(t=>({...t,[e]:String(o)})),Ae(t=>({...t,[e]:!0})),ue(``);try{let n=await a(`/cart/items/${e}`,{method:`PATCH`,body:{quantity:o},skipAuthHandling:t?.status!==`authenticated`});x(n),Me(t=>({...t,[e]:``}))}catch(t){A(t=>({...t,[e]:i})),Me(n=>({...n,[e]:t.message||`Failed to update quantity.`}))}finally{Ae(t=>({...t,[e]:!1}))}}}async function ht(e){if(ke[e])return;let n=dt[e];if(!n)return;let r=Number(k[e])||n.min||1,i=String(j[e]??``).trim(),o=Number(i);if(!i||!Number.isFinite(o)){M(t=>({...t,[e]:String(r||n.min||1)}));return}let s=Math.round(o),c=``;
9if(s<n.min?(s=n.min,c=`Minimum quantity is ${n.min.toLocaleString(`id-ID`)}.`):s>n.stock?(s=n.stock,c=`Only ${n.stock.toLocaleString(`id-ID`)} item(s) currently in stock.`):s>n.hardMax&&(s=n.hardMax,c=`Maximum quantity is ${n.hardMax.toLocaleString(`id-ID`)}.`),M(t=>({...t,[e]:String(s)})),s===r){c&&Me(t=>({...t,[e]:c}));return}A(t=>({...t,[e]:s})),Ae(t=>({...t,[e]:!0})),ue(``);try{let n=await a(`/cart/items/${e}`,{method:`PATCH`,body:{quantity:s},skipAuthHandling:t?.status!==`authenticated`});x(n),Me(t=>({...t,[e]:c}))}catch(t){A(t=>({...t,[e]:r})),M(t=>({...t,[e]:String(r)})),Me(n=>({...n,[e]:t.message||`Failed to update quantity.`}))}finally{Ae(t=>({...t,[e]:!1}))}}async function gt(e){ue(``);try{await a(`/cart/items/${e}`,{method:`DELETE`,skipAuthHandling:t?.status!==`authenticated`}),await Ve()}catch(e){ue(e.message)}}async function _t(){let e=B.replace(/\s+/g,``).toUpperCase().replace(/[^A-Z0-9_-]/g,``);V(e),re(``);try{let n=await a(`/cart/promotion-code/claim`,{method:`POST`,body:{code:e,payment_method:We.value,cart_item_ids:Ke},skipAuthHandling:t?.status!==`authenticated`}),r=H?.code||``;U(n),ne(e=>Mu({sellerSelections:e,platformSelections:{},previousClaimedCode:r,claimResult:n}).sellerSelections),z(e=>Mu({sellerSelections:{},platformSelections:e,previousClaimedCode:r,claimResult:n}).platformSelections),Ie.current=`${n.code}|${Je}`}catch{U(null),re(i(`buyer.cart.invalidPromoCode`))}}function vt(){let e=H?.code;ne(t=>Nu({sellerSelections:t,platformSelections:{},claimedCode:e}).sellerSelections),z(t=>Nu({sellerSelections:{},platformSelections:t,claimedCode:e}).platformSelections),U(null),Ie.current=``,V(``)}(0,_.useEffect)(()=>{if(!H?.code)return;let e=`${H.code}|${Je}`;if(Ie.current===e)return;Ie.current=e;let n=!1;return a(`/cart/promotion-code/claim`,{method:`POST`,body:{code:H.code,payment_method:We.value,cart_item_ids:Ke},skipAuthHandling:t?.status!==`authenticated`}).then(e=>{if(n)return;let t=H.code;U(e),ne(n=>Mu({sellerSelections:n,platformSelections:{},previousClaimedCode:t,claimResult:e}).sellerSelections),z(n=>Mu({sellerSelections:{},platformSelections:n,previousClaimedCode:t,claimResult:e}).platformSelections)}).catch(()=>{if(n)return;let e=H.code;U(null),ne(t=>Nu({sellerSelections:t,platformSelections:{},claimedCode:e}).sellerSelections),z(t=>Nu({sellerSelections:{},platformSelections:t,claimedCode:e}).platformSelections),re(i(`buyer.cart.promoCodeNoLongerApplies`))}),()=>{n=!0}},[a,t?.status,H?.code,Je,Ke,We.value,i]);function yt(){ue(``);let n=b.items.filter(e=>!!E[e.id]).map(e=>Number(e.id));if(n.length===0){ue(`Select at least one cart item before continuing to checkout.`);return}if(ft){ue(`Fix quantity limits for selected items before checkout.`);return}if(t?.status===`authenticated`&&!w){ue(`Add or choose a shipping address before checkout.`);return}window.sessionStorage.setItem(p,JSON.stringify({shippingAddressId:Number(w),selectedCartItemIds:n,paymentMethod:We.value,sellerPromoCodes:te,platformPromoCodes:R,claimedPromo:H,createdAt:new Date().toISOString()})),e(`/checkout`)}(0,_.useEffect)(()=>{if(be<=0)return;let e=window.setTimeout(()=>{xe(e=>Math.max(0,e-1))},1e3);return()=>window.clearTimeout(e)},[be]);async function bt(){if(!At){_e(i(`buyer.auth.entryChoiceAccountOnly`));return}await Bl({inFlightRef:Ee,cooldownSeconds:be,phone:he,api:a,t:i,setGuestNotice:_e,setGuestOtpRequesting:ye,setGuestOtpRequested:Ce,setGuestOtpCooldownSeconds:xe,focusOtpInput:()=>window.setTimeout(()=>we.current?.focus?.(),0),turnstileMountElement:Te.current})}async function xt(){if(!pe.trim()||!he.trim()||!Y.trim()){_e(i(`buyer.cart.guestOtp.required`));return}if(!At){_e(i(`buyer.auth.entryChoiceAccountOnly`));return}_e(``);try{let e=await a(`/guest/checkout/verify-otp`,{method:`POST`,body:{name:pe.trim(),phone:he.trim(),code:Y.trim()},skipAuthHandling:!0}),t=await a(`/addresses`,{skipAuthHandling:!0}).catch(()=>[]);Fl(Il({guestPrefill:{has_verified_guest:!!e?.phone_verified,name:e?.name,phone_number:e?.phone,shipping_address:e?.shipping_address},addresses:t})),de(!1),fe(!1),_e(i(`buyer.cart.guestOtp.verified`))}catch(e){_e(e.message||i(`buyer.cart.guestOtp.verifyFailed`))}}function St(e){ie({open:!0,sellerKey:e})}function Ct(){ie(e=>({...e,open:!1}))}function wt(){Ct()}let Tt=(0,_.useMemo)(()=>G.open?(nt[G.sellerKey]||[]).filter(e=>e.isEligible&&!e.isPrivateClaim):[],[G.open,G.sellerKey,nt]),Et=ae&&!se,Dt=ae&&se&&b.items.length>0,At=Re===xl.ENABLED;return(0,Z.jsxs)(o,{navigate:e,authState:t,onAuthSuccess:n,children:[(0,Z.jsx)(s,{show:Et,label:i(`buyer.cart.loading`)}),(0,Z.jsxs)(`section`,{className:`cart-page`,children:[De&&K&&(0,Z.jsxs)(`div`,{className:`checkout-auth-toggle`,children:[(0,Z.jsx)(`p`,{children:i(At?`buyer.auth.entryChoiceWithGuest`:`buyer.auth.entryChoiceAccountOnly`)}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>e(Ot(`/cart`)),children:i(`buyer.auth.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>e(kt(`/cart`)),children:i(`buyer.auth.signup`)}),At&&(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:()=>fe(!0),children:i(`buyer.auth.continueAsGuest`)})]}),At&&q&&(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-card`,style:{marginTop:12},children:[(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-header`,children:[(0,Z.jsx)(`strong`,{children:i(`buyer.cart.guestOtp.title`)}),(0,Z.jsx)(`p`,{children:i(`buyer.cart.guestOtp.description`)})]}),(0,Z.jsxs)(`div`,{className:`checkout-guest-grid`,children:[(0,Z.jsx)(`input`,{placeholder:i(`buyer.auth.fullName`),value:pe,onCh
9ange:e=>me(e.target.value)}),(0,Z.jsx)(`input`,{placeholder:i(`buyer.auth.phoneNumber`),value:he,onChange:e=>J(e.target.value)}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-primary-btn checkout-guest-action-btn`,disabled:ve||be>0||!he.trim(),"aria-disabled":ve||be>0||!he.trim(),onClick:bt,children:zl(i,{requesting:ve,cooldownSeconds:be,requested:Se})}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:Te}),(0,Z.jsxs)(`div`,{className:`checkout-otp-row`,children:[(0,Z.jsx)(`input`,{ref:we,placeholder:i(`buyer.auth.verificationCode`),value:Y,onChange:e=>X(e.target.value)}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-verify-btn`,onClick:xt,children:`Verify OTP`})]}),ge&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:ge})]})]})]}),De&&Q===Vl.VERIFIED_GUEST&&(0,Z.jsx)(`div`,{className:`checkout-inline-note`,style:{marginBottom:12},children:(0,Z.jsxs)(`strong`,{children:[`Guest `,he||`phone`,` verified`]})}),(0,Z.jsxs)(`div`,{className:`cart-topbar`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{children:i(`buyer.cart.shippingTo`)}),(0,Z.jsx)(`strong`,{children:$?`${$.line1}, ${$.city}`:i(`buyer.cart.noShippingAddressSelected`)}),!$&&(0,Z.jsx)(`p`,{style:{margin:`6px 0 0`,opacity:.75},children:i(`buyer.cart.addSavedAddressBeforeCheckout`)})]}),(0,Z.jsx)(`button`,{onClick:()=>e(`/addresses?mode=checkout&returnTo=/cart`),children:i($?`buyer.checkout.changeAddress`:`buyer.checkout.addAddress`)})]}),(0,Z.jsxs)(`div`,{className:`cart-loading-scope`,children:[le&&(0,Z.jsx)(`div`,{className:`detail-error`,children:le}),!ae&&!le&&b.items.length===0&&(0,Z.jsxs)(`div`,{style:{opacity:.75},children:[i(`buyer.cart.empty`),`.`]}),!ae&&!le&&b.items.length>0&&(0,Z.jsxs)(`div`,{className:`cart-layout`,children:[(0,Z.jsx)(`div`,{className:`cart-items-column`,children:Ze.map(t=>{let n=(nt[t.sellerKey]||[]).filter(e=>e.isEligible&&!e.isPrivateClaim).length,r=`${n} seller promo${n>1?`s`:``} available`;return(0,Z.jsxs)(`article`,{className:`seller-group`,children:[(0,Z.jsx)(`h3`,{children:t.sellerName}),t.items.map(t=>{let n=String(t?.product?.slug||``).trim(),r=String(t?.product?.seller?.slug||``).trim(),a=n&&r?`/products/${encodeURIComponent(r)}/${encodeURIComponent(n)}`:``;return(0,Z.jsxs)(`div`,{className:`cart-item-row`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:!!E[t.id],onChange:()=>D(e=>({...e,[t.id]:!e[t.id]}))}),a?(0,Z.jsx)(d,{to:a,navigate:e,className:`cart-item-thumb cart-item-thumb-clickable`,children:t.product.primary_image_thumb_url||t.product.primary_image_url?(0,Z.jsx)(`img`,{src:t.product.primary_image_thumb_url||t.product.primary_image_url,alt:t.product.title,loading:`lazy`}):(0,Z.jsx)(`span`,{className:`cart-item-thumb-fallback`,children:`No image`})}):(0,Z.jsx)(`div`,{className:`cart-item-thumb`,children:t.product.primary_image_thumb_url||t.product.primary_image_url?(0,Z.jsx)(`img`,{src:t.product.primary_image_thumb_url||t.product.primary_image_url,alt:t.product.title,loading:`lazy`}):(0,Z.jsx)(`span`,{className:`cart-item-thumb-fallback`,children:`No image`})}),(0,Z.jsxs)(`div`,{className:`cart-item-main`,children:[a?(0,Z.jsx)(d,{to:a,navigate:e,className:`cart-item-title-clickable`,children:(0,Z.jsx)(`strong`,{children:t.product.title})}):(0,Z.jsx)(`strong`,{children:t.product.title}),t.product.is_preorder?(0,Z.jsx)(`div`,{className:`cart-item-meta`,children:(0,Z.jsx)(`span`,{children:Iu(t.product,i)})}):null,(0,Z.jsxs)(`div`,{className:`cart-item-commerce`,children:[(0,Z.jsxs)(`div`,{className:`cart-item-quantity`,children:[(0,Z.jsxs)(`div`,{className:`qty-stepper`,children:[(0,Z.jsx)(`button`,{disabled:!!ke[t.id]||(k[t.id]||1)<=(dt[t.id]?.min||1),onClick:()=>mt(t.id,-1),children:`-`}),(0,Z.jsx)(`input`,{value:j[t.id]??String(k[t.id]||1),inputMode:`numeric`,"aria-label":`Quantity for ${t.product.title}`,disabled:!!ke[t.id],onChange:e=>M(n=>({...n,[t.id]:e.target.value})),onBlur:()=>ht(t.id),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),ht(t.id))}}),(0,Z.jsx)(`button`,{disabled:!!ke[t.id]||(k[t.id]||1)>=(dt[t.id]?.hardMax||2**53-1),onClick:()=>mt(t.id,1),children:`+`})]}),(0,Z.jsx)(`small`,{className:`voucher-notice`,children:dt[t.id]?.maxRule?i(`buyer.cart.quantityRangePerTransaction`,{min:dt[t.id].min,max:dt[t.id].maxRule}):i(`buyer.cart.quantityMinimumPerTransaction`,{min:dt[t.id]?.min||1})}),dt[t.id]?.invalid&&(0,Z.jsx)(`small`,{className:`purchase-hint error`,children:i(`buyer.cart.quantityInvali
9dCurrentRules`)}),je[t.id]&&(0,Z.jsx)(`small`,{className:`purchase-hint error`,children:je[t.id]})]}),(0,Z.jsxs)(`div`,{className:`cart-item-price-actions`,children:[(0,Z.jsx)(`strong`,{children:pt(t.product.price*(k[t.id]||1))}),(0,Z.jsxs)(`button`,{className:`cart-remove-action btn-danger`,onClick:()=>gt(t.id),"aria-label":`${i(`buyer.cart.remove`)} ${t.product.title}`,children:[(0,Z.jsx)(Fn,{size:17}),(0,Z.jsx)(`span`,{children:i(`buyer.cart.remove`)})]})]})]})]})]},t.id)}),n>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{className:`voucher-row`,onClick:()=>St(t.sellerKey),children:r}),te[t.sellerKey]&&(0,Z.jsx)(`small`,{className:`voucher-notice`,children:i(`buyer.cart.appliedEstimate`,{code:te[t.sellerKey]})})]})]},t.sellerKey)})}),(0,Z.jsxs)(`aside`,{className:`cart-summary-panel`,children:[(0,Z.jsx)(`p`,{children:i(`buyer.cart.selectedCount`,{count:Qe})}),(0,Z.jsxs)(`div`,{className:`summary-line`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.cart.itemsSubtotal`)}),(0,Z.jsx)(`strong`,{children:pt($e)})]}),Ze.filter(e=>e.selectedQuantity>0).map(e=>{let t=(rt[e.sellerKey]||[]).filter(e=>!e.isPrivateClaim);return t.length?(0,Z.jsxs)(`label`,{className:`checkout-note-field cart-platform-promo-field`,htmlFor:`platform-promo-${e.sellerKey}`,children:[(0,Z.jsxs)(`span`,{children:[e.sellerName,` · `,i(`buyer.cart.platformPromotion`)]}),(0,Z.jsxs)(`select`,{id:`platform-promo-${e.sellerKey}`,value:R[e.sellerKey]||``,onChange:t=>z(n=>({...n,[e.sellerKey]:t.target.value})),children:[(0,Z.jsx)(`option`,{value:``,children:i(`buyer.cart.noPlatformPromotion`)}),t.map(e=>(0,Z.jsxs)(`option`,{value:e.code,disabled:!e.isEligible,children:[e.title,e.isEligible?` (-${pt(e.estimatedDiscountCents)})`:` (${e.summary})`]},e.id))]})]},`platform-promo-select-${e.sellerKey}`):null}),(0,Z.jsxs)(`div`,{className:`cart-promo-code-control`,children:[(0,Z.jsx)(`strong`,{children:i(`buyer.cart.promoCode`)}),H?(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`span`,{children:[`â `,H.code,` · `,i(`buyer.cart.claimedPromoCode`)]}),` `,(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:vt,children:i(`buyer.cart.removePromoCode`)})]}):(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`input`,{"aria-label":i(`buyer.cart.promoCode`),placeholder:i(`buyer.cart.promoCodePlaceholder`),value:B,onChange:e=>V(e.target.value.replace(/\s+/g,``).toUpperCase().replace(/[^A-Z0-9_-]/g,``)),maxLength:32}),(0,Z.jsx)(`button`,{type:`button`,className:`btn-neutral`,onClick:_t,children:i(`buyer.cart.applyPromoCode`)})]}),W&&(0,Z.jsx)(`small`,{className:`purchase-hint error`,children:W})]}),(0,Z.jsxs)(`div`,{className:`summary-line`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.cart.discount`)}),(0,Z.jsxs)(`strong`,{children:[`-`,pt(ot)]})]}),(0,Z.jsx)(`small`,{className:`voucher-notice`,children:i(`buyer.cart.promoFinalCheckout`)}),(0,Z.jsxs)(`div`,{className:`summary-line cart-estimated-total`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.cart.totalBeforeShipping`)}),(0,Z.jsx)(`strong`,{children:pt(ct)})]}),(0,Z.jsx)(`small`,{className:`voucher-notice`,children:i(`buyer.cart.checkoutSelectionsNotice`)}),(0,Z.jsx)(`button`,{className:`purchase-btn buy-now`,onClick:yt,disabled:Qe===0,children:i(Qe===0?`buyer.cart.selectAll`:`buyer.cart.continueToCheckout`)})]})]}),(0,Z.jsx)(l,{show:Dt,label:i(`buyer.cart.refreshing`)})]}),G.open&&(0,Z.jsx)(`div`,{className:`voucher-modal-backdrop`,onClick:()=>ie(e=>({...e,open:!1})),children:(0,Z.jsxs)(`div`,{className:`voucher-modal`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`voucher-modal-header`,children:[(0,Z.jsx)(`h3`,{children:i(`buyer.cart.sellerPromotion`)}),(0,Z.jsx)(`button`,{className:`voucher-close btn-neutral`,onClick:wt,"aria-label":i(`buyer.cart.saveCloseVoucherModal`),children:`Ã`})]}),(0,Z.jsx)(`p`,{children:i(`buyer.cart.sellerPromotionsEstimateRules`)}),(0,Z.jsxs)(`div`,{className:`voucher-list`,children:[Tt.map(e=>{let t=te[G.sellerKey]||``;return(0,Z.jsx)(`div`,{className:`voucher-option ${t===e.code?`selected`:``}`,children:(0,Z.jsxs)(`div`,{className:`voucher-option-head`,role:`presentation`,children:[(0,Z.jsx)(`input`,{type:`radio`,name:`seller-voucher-${G.sellerKey}`,checked:t===e.code,onChange:()=>ne(t=>({...t,[G.sellerKey]:e.code}))}),(0,Z.jsxs)(`div`,{className:`voucher-copy`,children:[(0,Z.jsx)(`strong`,{children:e.title}),(0,Z.jsx)(`p`,{children:e.summary}),(0,Z.jsx)(`small`,{children:i(`buyer.checkout.eligibleNow`)})]})]})},e.id)}),Tt.length===0&&(0,Z.jsx)(`div`,{className:`voucher-empty`,children:i(`buyer.checkout.noEligibleSellerPromotions`)}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-text-btn`,onClick:()=>ne(e=>({...e,[G.sellerKey]:``})),children:`Clear seller promotion`})]})]})})]})]})}function Ru(e=window){try{return e.open(`/payment-handoff`,`_blank`)||null}catch{return null}}function zu(e,t){if(!e)return!1;try{return e.location.replace(t),e.focus?.(),!0}catch{try{e.close()}catch{}return!1}}function Bu(e){if(e)try{e.close()}catch{}}var Vu={promo_payment_method_not_allowed:`buyer.checkout.promoPaymentMethodNotAllowed`,promo_not_active:`buyer.checkout.promoNotActive`,promo_not_found:`buyer.checkout.promoNoLongerApplicable`,invali
9d_promo:`buyer.checkout.promoNoLongerApplicable`,promo_minimum_not_met:`buyer.checkout.promoNoLongerApplicable`,promo_scope_not_applicable:`buyer.checkout.promoNoLongerApplicable`};function Hu(e,t){let n=Vu[String(e?.code||``)];return n?t(n):null}function Uu(e,t){return Hu(e,t)||(e?.code===`buyer_phone_verification_required`?t(`buyer.auth.phoneVerificationRequired`):null)||e?.message||t(`buyer.checkout.createOrderFailed`)}var Wu=/^\s*(\d+)\s*(?:-|â|â|to)\s*(\d+)\s*(hours?|days?)\s*$/i,Gu=/^\s*(\d+)\s*(hours?|days?)\s*$/i;function Ku(e){if(e==null||e===``)return null;let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function qu(e,t,n){return n(`buyer.checkout.etaUnit.${e}${t===1?`One`:`Other`}`)}function Ju(e,t){let n=String(e?.estimated_duration_text||``),r=n.match(Wu),i=r?null:n.match(Gu);if(r){let[,e,n,i]=r,a=i.toLowerCase().startsWith(`hour`)?`Hour`:`Day`;return t(`buyer.checkout.estimatedDelivery`,{duration:`${e}â${n}`,unit:qu(a,Number(n),t)})}if(i){let[,e,n]=i;return t(`buyer.checkout.estimatedDelivery`,{duration:e,unit:qu(n.toLowerCase().startsWith(`hour`)?`Hour`:`Day`,Number(e),t)})}let a=Ku(e?.estimated_duration_min),o=Ku(e?.estimated_duration_max);if(a===null&&o===null)return null;let s=a??o,c=o??a;return t(`buyer.checkout.estimatedDelivery`,{duration:s===c?String(s):`${s}â${c}`,unit:qu(`Day`,c,t)})}function Yu(e,t,n){return e&&t[e.option_id]?t[e.option_id]:n}function Xu(e){return[`shipping_quote_changed`,`shipping_option_unavailable`].includes(e?.code)}function Zu(e){let t=Number(e?.status??e?.statusCode??0),n=String(e?.code||``).trim().toUpperCase();return t===0||t>=500||n===`NETWORK_ERROR`||n===`TIMEOUT`||n===`ABORT_ERR`}function Qu(){return`/orders?tab=pending_payment`}function $u(e){return(Array.isArray(e)?e:[]).map(e=>({cart_item_id:Number(e.id),expected_quantity:Number(e.quantity),expected_unit_price_cents:Number(e?.product?.price)}))}function ed(e){return e?.status===409&&[`checkout_item_changed`,`product_price_changed`].includes(e?.code)}function td(e,t){let n=new Set((Array.isArray(t)?t:[]).map(e=>Number(e.id)));return(Array.isArray(e)?e:[]).map(Number).filter(e=>n.has(e))}var nd=`tokodepan_checkout_guest_draft_v1`,rd=new Intl.NumberFormat(`id-ID`),id={regular:`Regular`,next_day:`Next day`,same_day:`Same day`,instant:`Instant`,cargo:`Cargo`,store_courier:`Store Courier / Kurir Toko`};
9function ad(e){let t=String(e?.courier_code||``).toLowerCase(),n=String(e?.service_code||``).toLowerCase();return t===`store_courier`||n===`store_courier`}function od(e){if(!e||typeof e!=`object`)return!1;let t=[`recipient_name`,`phone`,`line1`,`province`,`city`,`district`,`postal_code`].every(t=>String(e?.[t]||``).trim().length>0),n=Number.isFinite(Number(e?.latitude))&&Number.isFinite(Number(e?.longitude));return t&&n&&De(Number(e?.latitude),Number(e?.longitude))}var sd=(e,t)=>{let n=Number(e?.preorder_days);return!Number.isFinite(n)||n<=0?t(`buyer.product.preorderProduct`):t(`buyer.product.preorderShipsWithin`,{days:n})};function cd({navigate:e,authState:t,onAuthSuccess:n,deps:r={}}){let i=Rr(),{api:a,BuyerLayout:o,InlineLoading:s,CHECKOUT_DRAFT_STORAGE_KEY:c,normalizeAddressPayload:l,AddressMapPicker:u}=r,d=t?.status===`authenticated`,[f,p]=(0,_.useState)(d?`account`:`guest`),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)({items:[],subtotal:0}),[y,b]=(0,_.useState)([]),[x,S]=(0,_.useState)(``),[C,w]=(0,_.useState)(!0),[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(``),[k,A]=(0,_.useState)(0),[j,M]=(0,_.useState)(``),[N,ee]=(0,_.useState)(null),[P,F]=(0,_.useState)(null),[I,L]=(0,_.useState)(!1),[te,ne]=(0,_.useState)(!1),[R,z]=(0,_.useState)(!1),[B,V]=(0,_.useState)(!1),[H,U]=(0,_.useState)(!1),[W,re]=(0,_.useState)({}),[G,ie]=(0,_.useState)({}),[ae,oe]=(0,_.useState)({}),[se,ce]=(0,_.useState)(null),[le,ue]=(0,_.useState)([]),[K,de]=(0,_.useState)(!1),[q,fe]=(0,_.useState)(``),[me,he]=(0,_.useState)(0),[J,Y]=(0,_.useState)(``),[X,ge]=(0,_.useState)({}),[_e,ve]=(0,_.useState)({}),[ye,be]=(0,_.useState)([]),[xe,Se]=(0,_.useState)(!1),[Ce,we]=(0,_.useState)(`qris`),Te=(0,_.useRef)(`qris`),[Ee,Oe]=(0,_.useState)(``),[ke,Ae]=(0,_.useState)(!1),[je,Me]=(0,_.useState)([]),[Ne,Pe]=(0,_.useState)(!1),[Fe,Ie]=(0,_.useState)(!1),[Q,Le]=(0,_.useState)(!1),[Re,ze]=(0,_.useState)(0),[Be,Ve]=(0,_.useState)({seller_promotions:[],platform_promotions:[]}),He=(0,_.useRef)({key:``,status:`idle`,requestId:0}),[Ue,We]=(0,_.useState)(``),[$,Ge]=(0,_.useState)(``),[Ke,qe]=(0,_.useState)(``),[Je,Ye]=(0,_.useState)(!1),[Xe,Ze]=(0,_.useState)(!1),[Qe,$e]=(0,_.useState)(``),[et,tt]=(0,_.useState)({recipient_name:``,phone:``,line1:``,line2:``,city:``,district:``,province:``,postal_code:``,latitude:null,longitude:null,country:`ID`}),[nt,rt]=(0,_.useState)(``),[it,at]=(0,_.useState)(``),[ot,st]=(0,_.useState)([]),[ct,lt]=(0,_.useState)([]),[ut,dt]=(0,_.useState)([]),[ft,pt]=(0,_.useState)([]),[mt,ht]=(0,_.useState)(!0),[gt,_t]=(0,_.useState)(!1),[vt,yt]=(0,_.useState)(0),[bt,xt]=(0,_.useState)(!1),[St,Ct]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(vt<=0)return;let e=setInterval(()=>{yt(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[vt]),(0,_.useEffect)(()=>{p(d?`account`:`guest`)},[d]),(0,_.useEffect)(()=>{let e=!0,t=new AbortController;async function n(){w(!0),O(``);try{let n={has_verified_guest:!1};if(!d)try{n=await a(`/signup/guest-prefill`,{skipAuthHandling:!0,signal:t.signal,timeoutMs:Pu})}catch(e){if(e?.status!==401)throw e}let r=!!n?.has_verified_guest;e&&h(r);let i=await a(`/cart`,{skipAuthHandling:!d,signal:t.signal,timeoutMs:Pu}),o=d||r?await a(`/addresses`,{skipAuthHandling:!d,signal:t.signal,timeoutMs:Pu}):[];if(!e)return;v(i),b(o||[]);let s=Au(window.sessionStorage.getItem(nd));s?(We(s.guestName||``),Ge(s.guestPhone||``),Ye(!!(s.guestOtpVerified||r)),tt(e=>({...e,...s.guestAddress||{}})),typeof s.guestAddressFormOpen==`boolean`&&ht(s.guestAddressFormOpen)):Ye(r),n?.name&&We(n.name),n?.phone_number&&(Ge(n.phone_number),tt(e=>({...e,phone:n.phone_number}))),n?.shipping_address&&tt(e=>({...e,...n.shipping_address}));let l=null;try{l=JSON.parse(window.sessionStorage.getItem(c)||`null`)}catch{l=null}let u=Array.isArray(l?.selectedCartItemIds)?l.selectedCartItemIds.map(e=>Number(e)).filter(e=>Number.isInteger(e)&&e>0):[];Se(Array.isArray(l?.selectedCartItemIds)),be(u);let f=du()||`qris`;Te.current=f,we(uu(l?.paymentMethod||f).value),ie(typeof l?.sellerPromoCodes==`object`&&l?.sellerPromoCodes?l.sellerPromoCodes:{}),oe(typeof l?.platformPromoCodes==`object`&&l?.platformPromoCodes?l.platformPromoCodes:{}),ce(l?.claimedPromo||null);let p=Du({addresses:o||[],draftShippingAddressId:l?.shippingAddressId});S(p),Ou({verifiedGuest:r,savedAddressCount:(o||[]).length})?(!s||typeof s.guestAddressFormOpen!=`boolean`)&&ht(!0):ht(!1),Fl(Il({guestPrefill:n,addresses:o||[],fallbackProfile:{name:n?.name||``,phone:n?.phone_number||``,shipping_address:n?.shipping_address||null}}))}catch(t){if(!e)return;O(t?.message||`Failed to load checkout.`)}finally{e&&w(!1)}}return n(),()=>{e=!1,t.abort()}},[a,c,d,k]);let wt=Eu({guestOtpVerified:Je,hasVerifiedGuestSession:m}),Tt=f===`guest`&&!wt;(0,_.useEffect)(()=>{let e=Nl();if(e&&(!Ue&&e?.profile?.name&&We(e.profile.name),!$&&e?.profile?.phone&&Ge(e.profile.phone),!Je&&e?.verified&&Ye(!0),(!y||y.length===0)&&Array.isArray(e.addresses)&&e.addresses.length>0)){b(e.addresses);let t=e.addresses.find(e=>e.is_default)||e.addresses[0];!x&&t&&S(String(t.id))}},[y,Ue,Je,$,x]),(0,_.useEffect)(()=>
9{if(f!==`guest`||!wt||x||y.length===0)return;let e=y.find(e=>e.is_default)||y[0];e?.id&&S(String(e.id))},[y,f,wt,x]),(0,_.useEffect)(()=>{window.sessionStorage.setItem(nd,JSON.stringify({guestName:Ue,guestPhone:$,guestOtpVerified:Je,guestAddress:et,guestAddressFormOpen:mt}))},[et,mt,Ue,Je,$]),(0,_.useEffect)(()=>{f===`guest`&&(ne(!0),a(`/locations/indonesia/provinces`).then(e=>st(e||[])).catch(e=>rt(e.message||`Failed to load provinces.`)).finally(()=>ne(!1)))},[a,f]),(0,_.useEffect)(()=>{if(f===`guest`){if(!et.province){lt([]),z(!1);return}z(!0),a(`/locations/indonesia/cities?province=${encodeURIComponent(et.province)}`).then(e=>lt(e||[])).catch(e=>rt(e.message||`Failed to load city/regency options.`)).finally(()=>z(!1))}},[a,f,et.province]),(0,_.useEffect)(()=>{if(f===`guest`){if(!et.province||!et.city){dt([]),V(!1);return}V(!0),a(`/locations/indonesia/districts?province=${encodeURIComponent(et.province)}&city=${encodeURIComponent(et.city)}`).then(e=>dt(e||[])).catch(e=>rt(e.message||`Failed to load district options.`)).finally(()=>V(!1))}},[a,f,et.city,et.province]),(0,_.useEffect)(()=>{if(f===`guest`){if(!et.province||!et.city||!et.district){pt([]),U(!1);return}U(!0),a(`/locations/indonesia/postal-codes?province=${encodeURIComponent(et.province)}&city=${encodeURIComponent(et.city)}&district=${encodeURIComponent(et.district)}`).then(e=>pt(e||[])).catch(e=>rt(e.message||`Failed to load postal code options.`)).finally(()=>U(!1))}},[a,f,et.city,et.district,et.province]);let Et=(0,_.useMemo)(()=>Ce?uu(Ce):null,[Ce]),Dt=(0,_.useMemo)(()=>ou({cardEnabled:ke,capabilities:je}),[ke,je]),Ot=(0,_.useMemo)(()=>Dt.filter(e=>e.group===`virtual_account`),[Dt]),kt=(0,_.useMemo)(()=>{let e=Ot[0];return Dt.filter(e=>e.group!==`virtual_account`).concat(e?[{...e,value:`virtual_account`,label:i(`buyer.checkout.virtualAccount`),group:`virtual_account`}]:[]).sort((e,t)=>({qris:0,virtual_account:1,card:2})[e.group]-{qris:0,virtual_account:1,card:2}[t.group])},[Dt,i,Ot]);(0,_.useEffect)(()=>{Ne&&we(e=>su({currentMethod:e,preferredMethod:Te.current,options:Dt}))},[Ne,Dt]);let At=(0,_.useMemo)(()=>y.find(e=>String(e.id)===String(x))||null,[y,x]),jt=(0,_.useMemo)(()=>{if(!xe)return g.items||[];if(!ye.length)return[];let e=new Set(ye);return(g.items||[]).filter(t=>e.has(Number(t.id)))},[g.items,xe,ye]),Mt=(0,_.useMemo)(()=>jt.map(e=>Number(e.id)).filter(e=>Number.isInteger(e)&&e>0),[jt]),Nt=(0,_.useMemo)(()=>jt.map(e=>({id:Number(e.id),quantity:Number(e.quantity??1)})),[jt]),Pt=(0,_.useMemo)(()=>Jl(Nt,Et?.value||``),[Nt,Et?.value]);(0,_.useEffect)(()=>{if(!Mt.length){He.current={key:``,status:`idle`,requestId:He.current.requestId},Ve({seller_promotions:[],platform_promotions:[]});return}let e=He.current;if(!Yl(e,Pt))return;let n=e.requestId+1;He.current={key:Pt,status:`inflight`,requestId:n};let r=new AbortController,i=setTimeout(async()=>{try{let e=await a(`/cart/promotion-preview`,{method:`POST`,body:{cart_item_ids:Mt,payment_method:Et?.value||``},skipAuthHandling:t?.status!==`authenticated`,signal:r.signal,timeoutMs:Pu});if(!Xl(He.current,n))return;He.current={key:Pt,status:`success`,requestId:n},Ve({seller_promotions:Array.isArray(e?.seller_promotions)?e.seller_promotions:[],platform_promotions:Array.isArray(e?.platform_promotions)?e.platform_promotions:[]})}catch(e){if(!Xl(He.current,n)||(He.current={key:Pt,status:`idle`,requestId:n},e?.name===`AbortError`))return;Ve({seller_promotions:[],platform_promotions:[]})}},150);return()=>{r.abort(),clearTimeout(i),He.current.requestId===n&&He.current.status===`inflight`&&(He.current={key:Pt,status:`idle`,requestId:n})}},[a,t?.status,Pt,Mt,Et?.value]),(0,_.useEffect)(()=>{if(!se?.code||!Mt.length)return;let e=!1;return a(`/cart/promotion-code/claim`,{method:`POST`,body:{code:se.code,payment_method:Et?.value||``,cart_item_ids:Mt},skipAuthHandling:t?.status!==`authenticated`}).then(t=>{if(e)return;let n=se.code;ce(t),ie(e=>Mu({sellerSelections:e,platformSelections:{},previousClaimedCode:n,claimResult:t}).sellerSelections),oe(e=>Mu({sellerSelections:{},platformSelections:e,previousClaimedCode:n,claimResult:t}).platformSelections)}).catch(()=>
9{if(e)return;let t=se.code;ce(null),ie(e=>Nu({sellerSelections:e,platformSelections:{},claimedCode:t}).sellerSelections),oe(e=>Nu({sellerSelections:{},platformSelections:e,claimedCode:t}).platformSelections),M(i(`buyer.checkout.promoCodeNoLongerApplies`))}),()=>{e=!0}},[a,t?.status,se?.code,Pt]);let Ft=(0,_.useMemo)(()=>jt.map(e=>{let t=Math.max(1,Number(e?.product?.min_purchase_qty||1)),n=Number(e?.product?.max_purchase_qty),r=Number.isInteger(n)&&n>=t,i=Math.max(0,Number(e?.product?.stock_qty??e?.product?.stock??0)),a=Math.max(1,Number(e?.quantity||1));return a<t?`${e.product.title}: minimum ${t}.`:r&&a>n?`${e.product.title}: maximum ${n} per transaction.`:a>i?`${e.product.title}: only ${i} in stock.`:``}).filter(Boolean),[jt]),It=(0,_.useMemo)(()=>{let e=new Map;return jt.forEach(t=>{let n=Number(t.product?.seller?.id||0);n&&(e.has(n)||e.set(n,{sellerId:n,sellerName:t.product?.seller?.name||`Seller #${n}`,items:[]}),e.get(n).items.push(t))}),Array.from(e.values())},[jt]),Lt=(0,_.useMemo)(()=>new Set(It.map(e=>String(e.sellerId))),[It]),Rt=(0,_.useMemo)(()=>{let e={};return(Be.seller_promotions||[]).forEach(t=>{e[String(t.seller_id)]=Array.isArray(t.promotions)?t.promotions:[]}),(se?.seller_promotions||[]).forEach(t=>{e[String(t.seller_id)]=[...e[String(t.seller_id)]||[],...t.promotions.map(e=>({...e,is_private_claim:!0}))]}),e},[se,Be.seller_promotions]),zt=(0,_.useMemo)(()=>{let e={};return(Be.platform_promotions||[]).forEach(t=>{e[String(t.seller_id)]=Array.isArray(t.promotions)?t.promotions:[]}),(se?.platform_promotions||[]).forEach(t=>{e[String(t.seller_id)]=[...e[String(t.seller_id)]||[],...t.promotions.map(e=>({...e,is_private_claim:!0}))]}),e},[se,Be.platform_promotions]),Bt=(0,_.useMemo)(()=>Object.fromEntries((le||[]).map(e=>[String(e.seller_id),e])),[le]);(0,_.useEffect)(()=>{ie(e=>{let t={};return It.forEach(e=>{let n=String(e.sellerId),r=Rt[n]||[];t[n]=r.map(e=>({code:e.code,isEligible:!!e.is_eligible,estimatedDiscountCents:Number(e.estimated_discount_cents||0)}))}),Gl(e,t)})},[Rt,It]),(0,_.useEffect)(()=>{oe(e=>{let t={};return It.forEach(e=>{let n=String(e.sellerId),r=zt[n]||[];t[n]=r.map(e=>({code:e.code,isEligible:!!e.is_eligible&&hu(e.allowed_payment_methods,Et),estimatedDiscountCents:Number(e.estimated_discount_cents||0)}))}),Gl(e,t)})},[It,zt,Et]);let Vt=It.length>0&&It.every(e=>{let t=Bt[String(e.sellerId)];return!t||t.error?!1:!!X[String(e.sellerId)]?.option_id}),Ht=!!x&&!!At,Ut=od(At),Wt=f===`guest`&&!Ht&&!!(et.recipient_name?.trim()||et.line1?.trim()||et.city?.trim()||et.province?.trim()||et.district?.trim()||et.postal_code?.trim()),Gt=f===`guest`&&wt?Wt?`Please save this address first.`:`Please save your delivery address before placing order.`:``,Kt=ku({checkoutMode:f,shippingAddressId:x,checkoutItemsCount:jt.length,guestOtpVerified:Je,hasVerifiedGuestSession:m,hasSelectedAddress:Ht}),qt=(0,_.useRef)({payloadKey:``,inflight:!1,unauthorizedForPayload:``}),Jt=(0,_.useRef)(null);(0,_.useEffect)(()=>{let e=!0;async function t(){if(fe(``),Y(``),!Kt){qt.current={payloadKey:``,inflight:!1,unauthorizedForPayload:``},ue([]),ge({});return}let t={shipping_address_id:Number(x),cart_item_ids:jt.map(e=>Number(e.id)),seller_insurance_selections:_e},n=JSON.stringify(t),r=qt.current;if(r.payloadKey===n&&(r.inflight||!r.unauthorizedForPayload)||r.unauthorizedForPayload===n)return;qt.current={payloadKey:n,inflight:!0,unauthorizedForPayload:r.unauthorizedForPayload},de(!0);let i=new AbortController;Jt.current=i;try{let r=await a(`/checkout/shipping-quotes`,{method:`POST`,body:t,skipAuthHandling:!d,signal:i.signal,timeoutMs:Pu});if(!e)return;let o=Array.isArray(r?.seller_blocks)?r.seller_blocks:[];ue(o),ge(e=>{let t={},n=!1;return o.forEach(r=>{let i=String(r.seller_id),a=Object.values(r.shipping_options||{}).flat(),o=Object.fromEntries(a.map(e=>[e.option_id,e])),s=e[i],c=o[r.recommended_option_id]||a.find(e=>e.is_recommended)||a[0]||null;t[i]=Yu(s,o,c),s&&!o[s.option_id]&&(n=!0)}),n&&Y(`Selected shipping method is no longer available. Please choose another.`),t}),qt.current={payloadKey:n,inflight:!1,unauthorizedForPayload:``}}catch(t){if(!e)return;if(ue([]),ge({}),f===`guest`&&t?.status===401){qt.current={payloadKey:n,inflight:!1,unauthorizedForPayload:n},fe(`Shipping estimate will appear after phone verification and a saved delivery address.`);return}if(qt.current={payloadKey:``,inflight:!1,unauthorizedForPayload:``},t?.name===`AbortError`)return;fe(t?.message||`Failed to load shipping quotes.`)}finally{e&&de(!1)}}return t(),()=>{e=!1,Jt.current?.abort(),qt.current.inflight&&(qt.current={payloadKey:``,inflight:!1,unauthorizedForPayload:qt.current.unauthorizedForPayload})}},[a,Kt,jt,f,d,_e,x,me]),(0,_.useEffect)(()=>{le.length&&ve(e=>{let t=!1,n={...e};
9return le.forEach(e=>{let r=String(e?.seller_id||``);r&&e?.insurance_required&&n[r]!==!0&&(n[r]=!0,t=!0)}),t?n:e})},[le]);let Yt=(0,_.useMemo)(()=>jt.reduce((e,t)=>e+Number(t.line_total||0),0),[jt]),Xt=(0,_.useMemo)(()=>It.reduce((e,t)=>{let n=String(t.sellerId),r=G[n]||``;if(!r)return e;let i=(Rt[n]||[]).find(e=>e.code===r);return e+Number(i?.estimated_discount_cents||0)},0),[Rt,It,G]),Zt=(0,_.useMemo)(()=>Object.values(X).reduce((e,t)=>e+Number(t?.price||0),0),[X]),Qt=(0,_.useMemo)(()=>It.reduce((e,t)=>{let n=String(t.sellerId),r=ae[n]||``;if(!r)return e;let i=(zt[n]||[]).find(e=>e.code===r);return e+Number(i?.estimated_discount_cents||0)},0),[It,zt,ae]),$t=Xt+Qt,en=(0,_.useMemo)(()=>Kl({subtotalCents:Yt,sellerPromoDiscountCents:Xt,platformPromoDiscountCents:Qt}),[Qt,Xt,Yt]),tn=Math.max(0,Yt-$t+Zt),nn=(0,_.useRef)(null),rn=(0,_.useRef)(0),an=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(!ql({eligibilityAmountCents:en,hasItems:jt.length>0,recalculating:!1})||nn.current===en)return;nn.current=en,Pe(!1),Ie(!0),Le(!1);let e=new AbortController,t=rn.current+1;rn.current=t;let n=setTimeout(async()=>{try{let n=await a(`/checkout/payment-capabilities?eligibility_amount_cents=${encodeURIComponent(String(en))}`,{skipAuthHandling:!0,signal:e.signal,timeoutMs:Pu});if(rn.current!==t)return;Ae(!!n?.card_enabled),Me(Array.isArray(n?.methods)?n.methods:[]),Pe(!0),Ie(!1)}catch(e){if(e?.name===`AbortError`||rn.current!==t)return;nn.current=null,Pe(!1),Ie(!1),Le(!0)}},180);return()=>{e.abort(),clearTimeout(n)}},[a,jt.length,Re,en]);function on(){nn.current=null,ze(e=>e+1)}let sn=e=>rd.format(Number(e||0)),cn=(0,_.useMemo)(()=>It.map(e=>{let t=String(e.sellerId),n=ae[t]||``;if(!n)return null;let r=(zt[t]||[]).find(e=>e.code===n);return r?hu(r.allowed_payment_methods,Et)?null:n:null}).filter(Boolean),[It,zt,Et,ae]),ln=!T&&jt.length>0&&!!x&&Vt&&Ne&&Dt.some(e=>e.value===Et?.value)&&cn.length===0&&(f!==`guest`||wt&&Ht&&Xe)&&Ut;async function un(){if(!(gt||vt>0)){if(M(``),ee(null),$e(``),!$.trim()){M(`Enter your phone number first.`);return}try{_t(!0);let e=await pe(`guest_checkout_otp`,{mountElement:an.current});await a(`/auth/phone-otp/request`,{method:`POST`,body:{phone:$.trim(),purpose:`guest_checkout`,channel:`whatsapp`,turnstile_token:e},skipAuthHandling:!0}),$e(`WhatsApp OTP sent. Enter the code to continue.`),yt(60)}catch(e){let t=e.message||`Failed to request OTP.`;String(t).toLowerCase().includes(`please wait`)&&yt(60),M(e.message||`Failed to request OTP.`)}finally{_t(!1)}}}async function dn(){if(!bt){if(M(``),!$.trim()||!Ke.trim()||!Ue.trim()){M(`Enter name, phone, and OTP code.`);return}try{xt(!0);let e=await a(`/guest/checkout/verify-otp`,{method:`POST`,body:{phone:$.trim(),code:Ke.trim(),name:Ue.trim()},skipAuthHandling:!0});Ye(!!e?.phone_verified),$e(`Phone verified. You can continue with shipping address.`),h(!!e?.phone_verified),e?.name&&We(e.name),e?.phone&&(Ge(e.phone),tt(t=>({...t,phone:e.phone}))),e?.shipping_address&&tt(t=>({...t,...e.shipping_address}));let t=await a(`/addresses`,{skipAuthHandling:!0,timeoutMs:Pu});b(Array.isArray(t)?t:[]);let n=Du({addresses:t||[],draftShippingAddressId:x});n&&S(n),Fl(Il({guestPrefill:{has_verified_guest:!!e?.phone_verified,name:e?.name,phone_number:e?.phone,shipping_address:e?.shipping_address},addresses:t||[]})),ht(Ou({verifiedGuest:!!e?.phone_verified,savedAddressCount:(t||[]).length}))}catch(e){Ye(!1),M(e.message||`Failed to verify OTP.`)}finally{xt(!1)}}}async function fn(){if(St)return;let e=l(et);if(!Je){M(`Verify your phone OTP before saving guest address.`);return}if(!od(e)){M(`Please complete delivery address before saving (recipient, phone, address, province/city/district/postal code, and map pin).`);return}if(!De(Number(e.latitude),Number(e.longitude))){M(`Delivery coordinates must be within Indonesia.`);return}M(``);try{Ct(!0);let t=await a(`/addresses`,{method:`POST`,body:e,skipAuthHandling:!0});t?.id&&S(String(t.id));let n=await a(`/addresses`,{skipAuthHandling:!0,timeoutMs:Pu});b(Array.isArray(n)?n:[]),Fl(Il({guestPrefill:{has_verified_guest:!0,name:Ue,phone_number:$,shipping_address:e},addresses:n||[]})),ht(!1),$e(`Saved guest address selected. Shipping options are ready.`)}catch(e){M(e?.message||`Failed to save guest address.`)}finally{Ct(!1)}}async function pn({retryKnownOrders:t=!1}={}){if(T)return;if(!Ne||!Et||!Dt.some(e=>e.value===Et.value)){M(i(`buyer.checkout.noPaymentMethodAvailable`));return}if(!jt.length){M(`Select at least one valid cart item before placing your order.`);return}if(Ft.length>0){M(`Please fix cart quantities before checkout: ${Ft.join(` `)}`);return}if(!x){M(i(`buyer.checkout.addressRequired`));return}if(!Ut){M(`Please complete delivery address before checkout/shipment handoff.`);return}if(It.find(e=>{let t=Bt[String(e.sellerId)];return!t||t.error?!0:!X[String(e.sellerId)]})){M(`Please choose one shipping option for each seller block.`);return}if(f===`guest`&&!wt){M(`Verify your phone OTP before placing a guest order.`);return}let n=Ru(window);E(!0),t||ee(null),F(null),Oe(`creating_order`),M(``);let r=t;try{let o=t?N?.created:await a(`/orders`,{method:`POST`,timeoutMs:Fu,body:{shipping_address_id:Number(x),cart_item_ids:jt.map(e=>Number(e.id)),expected_items:$u(jt),seller_notes:Object.fromEntries(Object.entries(W).map(([e,t])=>[Number(e),(t||``).trim()]).filter(([e,t])=>Lt.has(String(e))&&!!t)),seller_promo_codes:Object.fromEntries(Object.entries(G).map(([e,t])=>[Number(e),(t||``).trim().toUpperCase()]).filter(([e,t])=>Lt.has(String(e))&&!!t)),platform_promo_codes:Object.fromEntries(Object.entries(ae).map(([e,t])=>[Number(e),(t||``).trim().toUpperCase()]).filter(([e,t])=>Lt.has(String(e))&&!!t)),selected_shipping_options:Object.fromEntries(Object.entries(X).map(([e,t])=>[Number(e),t]).filter(([e,t])=>Lt.has(String(e))&&!!t?.option_id)),seller_insurance_selections:Object.fromEntries(Object.entries(_e).map(([e,t])=>[Number(e),!!t]).filter(([e])=>
9Lt.has(String(e)))),payment_method:Et.group,guest_contact_name:f===`guest`?Ue.trim():null,guest_contact_phone:f===`guest`?$.trim():null,guest_shipping_address:f===`guest`?l(et):null}});r=!0;let s=Array.isArray(o?.orders)?o.orders.map(e=>Number(e?.id)).filter(e=>Number.isInteger(e)&&e>0):[],u=Array.isArray(o?.order_ids)?o.order_ids.map(e=>Number(e)).filter(e=>Number.isInteger(e)&&e>0):[],p=[...new Set([...s,...u,...Number.isInteger(Number(o?.id))?[Number(o.id)]:[]])];if(!p.length)throw Error(i(`buyer.checkout.paymentInitializationFailed`));Oe(`creating_payment`);let m;try{m=await a(`/checkout/payments`,{method:`POST`,timeoutMs:Fu,body:{order_ids:p,payment_method_group:Et.group,payment_method_code:Et.code,legal_acceptance:f!==`guest`||Xe},skipAuthHandling:!d})}catch(e){let t=p[0]||null,n=String(o?.public_id||o?.order_public_id||``).trim()||null;if(Zu(e)){ee({orderId:t,orderPublicId:n,orderIds:p,created:o,ambiguous:!0,canRetry:!1}),M(``);return}let r=String(e?.message||``).toLowerCase();throw r.includes(`feature_disabled`)||r.includes(`xendit`)?(ee({orderId:t,orderPublicId:n,orderIds:p,created:o,canRetry:!0}),Error(i(`buyer.checkout.onlinePaymentUnavailable`))):r.includes(`payment method`)||r.includes(`promo`)?Error(i(`buyer.checkout.methodUnavailable`)):(ee({orderId:t,orderPublicId:n,orderIds:p,created:o,canRetry:!0}),Error(i(`buyer.checkout.paymentStartFailed`)))}if(m?.provider===`doku`&&String(m?.provider_status||``).toUpperCase()===`DOKU_CREATE_OUTCOME_UNKNOWN`){Bu(n),ee({orderId:p[0]||null,orderPublicId:String(o?.public_id||o?.order_public_id||``).trim()||null,orderIds:p,created:o,paymentPublicId:m.payment_public_id,ambiguous:!0,canRetry:!1}),M(``);return}if(m?.provider===`doku`&&String(m?.provider_status||``).toUpperCase()===`DOKU_CREATE_RECONCILED_NO_ACTION`){Bu(n),ee({orderId:p[0]||null,orderPublicId:String(o?.public_id||o?.order_public_id||``).trim()||null,orderIds:p,created:o,superseded:!0,canRetry:!0}),M(``);return}window.sessionStorage.removeItem(c),window.sessionStorage.removeItem(nd);let h=(Array.isArray(m?.actions)?m.actions:[]).find(e=>String(e?.action||e?.type||``).toUpperCase()===`REDIRECT_CUSTOMER`&&String(e?.method||`GET`).toUpperCase()===`GET`&&String(e?.url||``).trim());if(h?.url){Oe(`redirecting_card`),zu(n,h.url)?e(gu(m.payment_public_id),{replace:!0,state:{appParent:`/orders`,externalPaymentOpened:!0}}):e(gu(m.payment_public_id),{replace:!0,state:{appParent:`/orders`,externalPaymentBlocked:!0}});return}if(Bu(n),m?.payment_public_id){e(gu(m.payment_public_id),{replace:!0,state:{appParent:`/orders`}});return}e(`/checkout/success?orderPublicId=${encodeURIComponent(o.public_id||o.id)}`)}catch(e){if(Bu(n),!r&&ed(e)){try{let e=await a(`/cart`,{skipAuthHandling:!d,timeoutMs:Pu});v(e),be(t=>td(t,e?.items))}catch{}M(i(`buyer.checkout.itemDetailsChanged`));return}if(!r&&Xu(e)){qt.current={payloadKey:``,inflight:!1,unauthorizedForPayload:``},he(e=>e+1),M(i(`buyer.checkout.shippingOptionsChanged`));return}if(!r&&Zu(e)){F({refreshMessage:``}),M(``);return}M(Uu(e,i))}finally{Oe(``),E(!1)}}async function mn(){L(!0);try{let t=await a(`/orders?status_group=pending_payment&limit=10&offset=0`,{skipAuthHandling:!d});if(Array.isArray(t?.items)&&t.items.length>0){e(Qu());return}F({refreshMessage:i(`buyer.checkout.ambiguousNoPending`)})}catch(e){F({refreshMessage:e?.message||i(`buyer.checkout.refreshStatusFailed`)})}finally{L(!1)}}return(0,Z.jsx)(o,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`div`,{className:`checkout-page-shell`,children:[(0,Z.jsxs)(`div`,{className:`checkout-page-header`,children:[N?.orderId&&(0,Z.jsxs)(`div`,{className:`checkout-inline-note`,style:{marginTop:8},children:[N.ambiguous&&(0,Z.jsx)(`p`,{children:i(`buyer.checkout.ambiguousPayment`)}),N.superseded&&(0,Z.jsx)(`p`,{children:i(`buyer.checkout.paymentPageUnavailable`)}),N.canRetry&&(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>pn({retryKnownOrders:!0}),children:N.superseded?i(`buyer.checkout.createNewPayment`):i(`buyer.checkout.retryPayment`)}),N.paymentPublicId&&(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>e(gu(N.paymentPublicId)),children:i(`buyer.checkout.checkPayment`)}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>e(`/orders/${N.orderPublicId||N.orderId}`),children:i(`buyer.checkout.transactionDetail`)}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>e(`/orders`),children:i(`buyer.checkout.transactions`)})]}),P&&(0,Z.jsxs)(`div`,{className:`checkout-state error`,role:`alert`,style:{marginTop:8},children:[(0,Z.jsx)(`p`,{children:i(`buyer.checkout.ambiguousOrder`)}),P.refreshMessage&&(0,Z.jsx)(`p`,{children:P.refreshMessage}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>e(Qu()),children:i(`buyer.checkout.checkTransactions`)}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,disabled:I,onClick:mn,children:i(`buyer.checkout.refreshStatus`)})]}),(0,Z.jsxs)(`button`,{className:`checkout-back-btn`,onClick:()=>e(`/cart`),children:[`â `,i(`buyer.checkout.backToCart`)]}),(0,Z.jsx)(`h1`,{children:i(`buyer.checkout.title`)})]}),C&&(0,Z.jsx)(`div`,{className:`checkout-state`,children:(0,Z.jsx)(s,{label:i(`buyer.checkout.processing`)})}),D&&(0,Z.jsxs)(`div`,{className:`checkout-state error`,role:`alert`,children:[(0,Z.jsx)(`p`,{children:D}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:()=>A(e=>e+1),children:`Retry`})]}),!C&&!D&&jt.length>0&&(0,Z.jsxs)(`div`,{className:`checkout-layout`,children:[(0,Z.jsxs)(`div`,{className:`checkout-main-column`,children:[(0,Z.jsxs)(`section`,{className:`checkout-section-card`,children:[(0,Z.jsxs)(`div`,{className:`checkout-section-head`,children:[(0,Z.jsx)(`h2`,{children:i(`buyer.checkout.shippingAddress`)}),f===`account`&&(0,Z.jsx)(`button`,{className:`checkout-text-btn`,onClick:()=>e(`/addresses?mode=checkout&returnTo=/checkout`),children:i(`buyer.checkout.manageAddresses`)})]}),f===`account`&&(0,Z.jsxs)(`div`,{className:`checkout-address-controls`,children:[(0,Z.jsx)(`label`,{htmlFor:`checkout-shipping-address`,children:i(`buyer.checkout.selectAddress`)}),(0,Z.jsxs)(`div`,{className:`checkout-address-select-wrap`,children:[(0,Z.jsxs)(`select`,{id:`checkout-shipping-address`,className:`checkout-address-select`,value:x,onChange:e=>S(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:i(`buyer.checkout.selectAddress`)}),y.map(e=>(0,Z.jsxs)(`option`,{value:e.id,children:[e.label||e.recipient_name,` - `,e.line1,`, `,e.city]},e.id))]}),(0,Z.jsx)(`span`,{className:`checkout-address-chevron`,"aria-hidden":`true`})]})]}),f===`guest`&&(0,Z.jsxs)(`div`,{className:`checkout-group-list`,children:[Tt&&(0,Z.jsx)(`div`,{className:`checkout-item-row`,children:(0,Z.jsx)(`span`,{children:`Guest identity verification (OTP) required`})}),wt&&(0,Z.jsxs)(`div`,{className:`checkout-address-preview checkout-address-preview-selected`,style:{marginTop:4},children:[(0,Z.jsxs)(`strong`,{children:[`Guest `,$||`phone`,` verified`]}),(0,Z.jsx)(`p`,{children:Ue||`Verified guest`})]}),Qe&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:Qe}),(0,Z.jsx)(`small`,{className:`checkout-muted`,children:wt?`Phone verified for guest checkout.`:`Phone not verified yet.`}),wt&&At&&(0,Z.jsxs)(`div`,{className:`checkout-address-preview checkout-address-preview-selected`,style:{marginTop:8},children:[(0,Z.jsx)(`strong`,{children:`Using saved guest address (selected)`}),(0,Z.jsx)(`p`,{children:At.recipient_name}),(0,Z.jsxs)(`p`,{children:[At.line1,At.line2?`, ${At.line2}`:``,`, `,At.city]}),(0,Z.jsx)(`p`,{children:At.phone||`-`})]}),wt&&!At&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:`Add your first guest address to continue with shipping options.`}),wt&&y.length>0&&(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Saved guest addresses`}),(0,Z.jsx)(`select`,{value:x,onChange:e=>{let t=e.target.value;S(t);let n=y.find(e=>String(e.id)===String(t));n&&tt(e=>({...e,...n}))},children:y.map(e=>(0,Z.jsxs)(`option`,{value:e.id,children:[e.label||e.recipient_name,` - `,e.line1,`, `,e.city]},e.id))})]}),wt&&y.length===0&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:`No saved address yet. Please save one to continue.`}),wt&&!Ht&&(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{color:`#b42318`},children:Gt}),(0,Z.jsxs)(`details`,{className:`checkout-guest-address-form`,open:mt,onToggle:e=>ht(e.currentTarget.open),children:[(0,Z.jsx)(`summary`,{children:wt&&At?`Edit or add another address`:i(`buyer.checkout.addAddress`)}),(0,Z.jsxs)(`div`,{className:`checkout-group-list`,children:[(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Recipient name`}),(0,Z.jsx)(`input`,{value:et.recipient_name,onChange:e=>tt(t=>({...t,recipient_name:e.target.value}))})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Address line 1`}),(0,Z.jsx)(`input`,{value:et.line1,onChange:e=>tt(t=>({...t,line1:e.target.value}))})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Address line 2 (optional)`}),(0,Z.jsx)(`input`,{value:et.line2,onChange:e=>tt(t=>({...t,line2:e.target.value}))})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Province`}),(0,Z.jsxs)(`select`,{value:et.province,onChange:e=>tt(t=>({...t,province:e.target.value,city:``,district:``,postal_code:``})),disabled:te,children:[(0,Z.jsx)(`option`,{value:``,children:te?`Loading provinces...`:`Select province`}),ot.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`City / Regency`}),(0,Z.jsxs)(`select`,{value:et.city,onChange:e=>tt(t=>({...t,city:e.target.value,district:``,postal_code:``})),disabled:!et.province||R,children:[(0,Z.jsx)(`option`,{value:``,children:R?`Loading city/regency...`:`Select city/regency`}),ct.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`District / Kecamatan`}),(0,Z.jsxs)(`select`,{value:et.district,onChange:e=>tt(t=>({...t,district:e.target.value,postal_code:``})),disabled:!et.city||B,children:[(0,Z.jsx)(`option`,{value:``,children:B?`Loading district...`:`Select district`}),ut.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:`Postal code`}),(0,Z.jsxs)(`select`,{value:et.postal_code,onChange:e=>tt(t=>({...t,postal_code:e.target.value})),disabled:!et.district||H,children:[(0,Z.jsx)(`option`,{value:``,children:H?`Loading postal code...`:`
9Select postal code`}),ft.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsx)(`p`,{className:`checkout-note-field`,children:`Currently only Indonesian delivery addresses are supported.`}),(0,Z.jsx)(u,{latitude:et.latitude,longitude:et.longitude,enabled:mt,onChange:(e,t)=>tt(n=>({...n,latitude:e,longitude:t})),onWarning:at}),nt&&(0,Z.jsx)(`p`,{className:`form-error`,children:nt}),it&&(0,Z.jsx)(`p`,{className:`form-warning`,children:it}),(0,Z.jsx)(`button`,{className:`checkout-primary-btn`,type:`button`,disabled:St,onClick:fn,children:St?(0,Z.jsx)(s,{label:`Saving address`}):`Save guest address`})]})]})]}),At&&f===`account`&&(0,Z.jsxs)(`div`,{className:`checkout-address-preview`,children:[(0,Z.jsx)(`strong`,{children:At.label||At.recipient_name}),(0,Z.jsx)(`p`,{children:At.recipient_name}),(0,Z.jsxs)(`p`,{children:[At.line1,At.line2?`, ${At.line2}`:``,`, `,At.city]}),(0,Z.jsx)(`p`,{children:At.phone||`-`})]})]}),(0,Z.jsxs)(`section`,{className:`checkout-section-card`,children:[(0,Z.jsx)(`div`,{className:`checkout-section-head`,children:(0,Z.jsx)(`h2`,{children:i(`buyer.checkout.selectedItems`)})}),(0,Z.jsx)(`div`,{className:`checkout-group-list`,children:It.map(e=>{let t=Bt[String(e.sellerId)],n=X[String(e.sellerId)],r=!!t?.insurance_required,a=r||!!t?.insurance_enabled||!!_e[String(e.sellerId)],o=G[String(e.sellerId)]||``,c=ae[String(e.sellerId)]||``,l=(Rt[String(e.sellerId)]||[]).find(e=>e.is_private_claim&&e.code===o),u=(zt[String(e.sellerId)]||[]).find(e=>e.is_private_claim&&e.code===c);return(0,Z.jsxs)(`article`,{className:`checkout-seller-card`,children:[(0,Z.jsx)(`h3`,{children:e.sellerName}),(0,Z.jsx)(`div`,{className:`checkout-item-list`,children:e.items.map(e=>(0,Z.jsxs)(`div`,{className:`checkout-item-row`,children:[(0,Z.jsxs)(`span`,{className:`checkout-item-details`,children:[e.product.primary_image_thumb_url||e.product.primary_image_url?(0,Z.jsx)(`img`,{src:e.product.primary_image_thumb_url||e.product.primary_image_url,alt:e.product.title,width:36,height:36}):null,(0,Z.jsxs)(`span`,{className:`checkout-item-copy`,children:[e.product.title,` à `,e.quantity,e.product.is_preorder?(0,Z.jsxs)(`small`,{children:[` · `,sd(e.product,i)]}):null]})]}),(0,Z.jsxs)(`strong`,{className:`checkout-item-price`,children:[`Rp `,sn(e.line_total)]})]},e.id))}),(0,Z.jsxs)(`label`,{className:`checkout-note-field`,htmlFor:`seller-note-${e.sellerId}`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.noteForSellerOptional`)}),(0,Z.jsx)(`textarea`,{id:`seller-note-${e.sellerId}`,value:W[e.sellerId]||``,onChange:t=>re(n=>({...n,[e.sellerId]:t.target.value.slice(0,500)})),rows:2})]}),l?(0,Z.jsxs)(`div`,{className:`checkout-note-field checkout-promo-field checkout-claimed-promo`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.sellerPromo`)}),(0,Z.jsxs)(`strong`,{children:[`â `,l.code,` · `,l.title]}),(0,Z.jsx)(`small`,{className:`checkout-muted`,children:i(`buyer.checkout.claimedPromoApplied`)})]}):(0,Z.jsxs)(`label`,{className:`checkout-note-field checkout-promo-field`,htmlFor:`seller-promo-${e.sellerId}`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.sellerPromo`)}),(0,Z.jsxs)(`select`,{id:`seller-promo-${e.sellerId}`,value:o,onChange:t=>ie(n=>({...n,[String(e.sellerId)]:t.target.value})),children:[(0,Z.jsx)(`option`,{value:``,children:i(`buyer.checkout.noPromotion`)}),(Rt[String(e.sellerId)]||[]).filter(e=>!e.is_private_claim).map(e=>(0,Z.jsxs)(`option`,{value:e.code,disabled:!e.is_eligible,children:[e.code,` · `,e.title,e.is_eligible?` (-Rp ${sn(e.estimated_discount_cents)})`:` (${e.ineligibility_reason||i(`buyer.checkout.notEligible`)})`]},e.id))]})]}),(zt[String(e.sellerId)]||[]).length>0&&(u?(0,Z.jsxs)(`div`,{className:`checkout-note-field checkout-promo-field checkout-claimed-promo`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.platformPromo`)}),(0,Z.jsxs)(`strong`,{children:[`â `,u.code,` · `,u.title]}),(0,Z.jsx)(`small`,{className:`checkout-muted`,children:i(`buyer.checkout.claimedPromoApplied`)})]}):(0,Z.jsxs)(`label`,{className:`checkout-note-field checkout-promo-field`,htmlFor:`platform-promo-${e.sellerId}`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.platformPromo`)}),(0,Z.jsxs)(`select`,{id:`platform-promo-${e.sellerId}`,value:c,onChange:t=>oe(n=>({...n,[String(e.sellerId)]:t.target.value})),children:[(0,Z.jsx)(`option`,{value:``,children:i(`buyer.checkout.noPlatformPromotion`)}),(zt[String(e.sellerId)]||[]).filter(e=>!e.is_private_claim).map(e=>(0,Z.jsxs)(`option`,{value:e.code,disabled:!e.is_eligible||!hu(e.allowed_payment_methods,Et),children:[e.code,` · `,e.title,e.is_eligible&&hu(e.allowed_payment_methods,Et)?` (-Rp ${sn(e.estimated_discount_cents)})`:` (${e.ineligibility_reason||i(`buyer.checkout.notEligiblePaymentMethod`)})`]},e.id))]})]})),(0,Z.jsxs)(`div`,{className:`checkout-note-field`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.shipmentInsurance`)}),t&&!t.error&&(0,Z.jsxs)(`div`,{style:{marginBottom:8},children:[(0,Z.jsxs)(`label`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:a,disabled:r,onChange:t=>ve(n=>({...n,[String(e.sellerId)]:!!t.target.checked}))}),i(r?`buyer.checkout.shipmentInsuranceRequired`:`buyer.checkout.addShipmentInsurance`)]}),(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{display:`block`},children:i(r?`buyer.checkout.insuranceRequiredHelp`:`buyer.checkout.insuranceHelp`)})]}),(0,Z.jsx)(`span`,{children:i(`buyer.checkout.shippingMethod`)}),!x&&(0,Z.jsx)(`p`,{className:`checkout-muted`,children:i(`buyer.checkout.selectAddressForQuotes`)}),K&&(0,Z.jsx)(s,{label:i(`buyer.checkout.loadingShippingOptions`)}),q&&(0,Z.jsx)(`p`,{className:`checkout-muted`,style:{color:`#b42318`},children:q}),J&&(0,Z.jsx)(`p`,{className:`checkout-muted`,style:{color:`#b42318`},children:J}),!K&&x&&t?.error&&(0,Z.jsx)(`p`,{className:`checkout-muted`,children:t.error}),!K&&t&&!t.error&&(0,Z.jsx)(`div`,{className:`checkout-shipping-groups`,children:Object.entries(id).map(([o,s])=>{let c=Array.isArray(t.shipping_options?.[o])?t.shipping_options[o]:[];if(!c.length)return null;let l=Math.min(...c.map(e=>Number(e.price||0)));return(0,Z.jsxs)(`details`,{className:`checkout-shipping-group`,open:!!(n&&n.group_bucket===o),children:[(0,Z.jsx)(`summary`,{children:i(`buyer.checkout.shippingGroupMinimum`,{label:s,price:sn(l)})}),(0,Z.jsx)(`div`,{className:`checkout-item-list`,children:c.map(t=>{let o=ad(t),s=a&&!o&&!t.insurance_supported,c=Ju(t,i);return(0,Z.jsxs)(`label`,{className:`checkout-item-row`,style:{border:t.is_recommended?`1px solid #16a34a`:`1px solid #e5e7eb`,borderRadius:8,padding:8,opacity:s?.55:1}
9,children:[(0,Z.jsxs)(`span`,{style:{display:`inline-flex`,gap:8,alignItems:`center`},children:[(0,Z.jsx)(`input`,{type:`radio`,disabled:s,name:`shipping-option-${e.sellerId}`,checked:n?.option_id===t.option_id,onChange:()=>ge(n=>({...n,[String(e.sellerId)]:t}))}),(0,Z.jsxs)(`span`,{children:[ad(t)?`Store Courier / ${t.courier_name||t.service_name||`Store Courier`}`:`${t.courier_name} · ${t.service_name}`,t.is_recommended?(0,Z.jsx)(`em`,{style:{marginLeft:6,color:`#15803d`},children:i(`buyer.checkout.recommended`)}):null,t.description?(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{display:`block`},children:t.description}):null,c?(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{display:`block`},children:c}):null,s&&(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{color:`#b42318`,display:`block`},children:`This courier does not support insurance for this shipment.`}),a&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`small`,{className:`checkout-muted`,style:{display:`block`},children:[`Shipping: Rp `,sn(t.shipping_fee)]}),(0,Z.jsxs)(`small`,{className:`checkout-muted`,style:{display:`block`},children:[`Insurance: `,t.insurance_supported&&t.insurance_fee!=null?`Rp ${sn(t.insurance_fee)}`:`Unavailable`]}),o&&r?(0,Z.jsx)(`small`,{className:`checkout-muted`,style:{display:`block`},children:`Covered by store delivery`}):null,(0,Z.jsxs)(`small`,{className:`checkout-muted`,style:{display:`block`},children:[`Total: Rp `,sn(t.price)]})]})]})]}),(0,Z.jsxs)(`strong`,{children:[`Rp `,sn(t.price)]})]},t.option_id)})})]},`${e.sellerId}-${o}`)})})]})]},e.sellerId)})})]}),(0,Z.jsxs)(`section`,{className:`checkout-section-card`,children:[(0,Z.jsx)(`h2`,{children:i(`buyer.checkout.paymentMethod`)}),Fe&&(0,Z.jsx)(`div`,{className:`checkout-payment-capabilities-loading`,role:`status`,children:(0,Z.jsx)(s,{label:i(`buyer.checkout.checkingPaymentMethods`)})}),!Fe&&Q&&(0,Z.jsxs)(`div`,{className:`checkout-payment-capabilities-error`,role:`alert`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.paymentMethodsCheckFailed`)}),(0,Z.jsx)(`button`,{className:`checkout-text-btn`,type:`button`,onClick:on,children:i(`buyer.checkout.retryPaymentMethods`)})]}),(0,Z.jsx)(`div`,{className:`summary-control`,children:kt.map(e=>(0,Z.jsxs)(`div`,{className:`checkout-payment-option`,children:[(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`radio`,name:`checkout-payment`,value:e.group,checked:Et?.group===e.group,disabled:!!e.disabled,onChange:()=>we(e.group===`virtual_account`?Ot[0]?.value||`bca_va`:e.value)}),` `,e.label,e.disabled&&e.note?(0,Z.jsxs)(`span`,{className:`checkout-muted`,children:[` (`,e.note,`)`]}):null]}),e.group===`virtual_account`&&Et?.group===`virtual_account`&&Ot.length>0&&(0,Z.jsxs)(`label`,{className:`checkout-note-field`,htmlFor:`checkout-va-bank`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.bank`)}),(0,Z.jsx)(`select`,{id:`checkout-va-bank`,value:Et?.value||``,onChange:e=>we(e.target.value),children:Ot.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label.replace(` Virtual Account`,``)},e.value))})]})]},e.group))}),Ne&&Dt.length===0&&(0,Z.jsx)(`p`,{className:`checkout-muted`,role:`alert`,style:{color:`#b42318`,marginTop:8},children:i(`buyer.checkout.noPaymentMethodAvailable`)}),cn.length>0&&(0,Z.jsx)(`p`,{className:`checkout-muted`,style:{color:`#b42318`,marginTop:8},children:i(`buyer.checkout.methodUnavailable`)})]})]}),(0,Z.jsx)(`aside`,{className:`checkout-side-column`,children:(0,Z.jsxs)(`section`,{className:`checkout-section-card sticky`,children:[(0,Z.jsx)(`h2`,{children:i(`buyer.checkout.orderSummary`)}),se&&(0,Z.jsx)(`div`,{className:`checkout-inline-note`,children:(0,Z.jsxs)(`strong`,{children:[`â `,se.code]})}),(0,Z.jsxs)(`div`,{className:`checkout-summary-line`,children:[(0,Z.jsxs)(`span`,{children:[i(`buyer.checkout.products`),` (`,jt.length,`)`]}),(0,Z.jsxs)(`strong`,{children:[`Rp `,sn(Yt)]})]}),(0,Z.jsxs)(`div`,{className:`checkout-summary-line`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.shipping`)}),(0,Z.jsxs)(`strong`,{children:[`Rp `,sn(Zt)]})]}),(0,Z.jsxs)(`div`,{className:`checkout-summary-line`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.discount`)}),(0,Z.jsxs)(`strong`,{children:[`-Rp `,sn(Xt)]})]}),(0,Z.jsxs)(`div`,{className:`checkout-summary-line`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.promo`)}),(0,Z.jsxs)(`strong`,{children:[`-Rp `,sn(Qt)]})]}),(0,Z.jsxs)(`div`,{className:`checkout-summary-total`,children:[(0,Z.jsx)(`span`,{children:i(`buyer.checkout.total`)}),(0,Z.jsxs)(`strong`,{children:[`Rp `,sn(tn)]})]}),Tt&&(0,Z.jsx)(`p`,{className:`checkout-muted`,style:{color:`#b42318`,marginBottom:0},children:`Verify your phone OTP before placing order.`}),f===`guest`&&(0,Z.jsxs)(`label`,{className:`checkout-legal-consent`,style:{display:`flex`,gap:8,alignItems:`flex-start`,margin:`12px 0`},children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:Xe,onChange:e=>Ze(e.target.checked)}),(0,Z.jsxs)(`span`,{children:[`Saya menyetujui `,(0,Z.jsx)(`a`,{href:`/legal/terms`,target:`_blank`,rel:`noreferrer`,children:`Syarat dan Ketentuan`}),`, `,(0,Z.jsx)(`a`,{href:`/legal/privacy`,target:`_blank`,rel:`noreferrer`,children:`Kebijakan Privasi`}),`, dan `,(0,Z.jsx)(`a`,{href:`/legal/refund-complaint-policy`,target:`_blank`,rel:`noreferrer`,children:`Kebijakan Pengembalian/Komplain Tokodepan`}),` untuk memproses pesanan ini.`]})]}),Gt&&(0,Z.jsx)(`p`,{className:`checkout-muted`,style:{color:`#b42318`,marginBottom:0},children:Gt}),j&&(0,Z.jsx)(`p`,{className:`checkout-muted`,role:`alert`,style:{color:`#b42318`,marginBottom:8},children:j}),(0,Z.jsx)(`button`,{className:`checkout-place-order-btn`,disabled:T||!ln,onClick:pn,children:T?(0,Z.jsx)(s,{label:i(Ee===`creating_order`?`buyer.checkout.creatingOrder`:Ee===`creating_payment`?`buyer.checkout.creatingPayment`:Ee===`redirecting_card`?`buyer.checkout.redirectingCard`:`buyer.checkout.processing`)}):i(`buyer.checkout.placeOrder`)})]})})]}),!C&&!D&&Tt&&(0,Z.jsx)(`div`,{className:`checkout-gate-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`checkout-guest-gate-title`,children:(0,Z.jsxs)(`div`,{className:`checkout-gate-card`,children:[(0,Z.jsx)(`h2`,{id:`checkout-guest-gate-title`,children:`Verify ph
9one to continue checkout`}),(0,Z.jsx)(`p`,{children:`Complete phone OTP verification first. Checkout fields are locked until verification succeeds.`}),(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-card checkout-guest-otp-card-embedded`,children:[(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-header`,children:[(0,Z.jsx)(`strong`,{children:`Verify your phone number`}),(0,Z.jsx)(`p`,{children:`Weâll use WhatsApp to confirm this guest checkout.`})]}),(0,Z.jsxs)(`div`,{className:`checkout-guest-grid`,children:[(0,Z.jsx)(`input`,{placeholder:`Full name`,value:Ue,onChange:e=>We(e.target.value)}),(0,Z.jsx)(`input`,{placeholder:`Phone number`,value:$,onChange:e=>Ge(e.target.value)}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-primary-btn checkout-guest-action-btn`,disabled:gt||bt,onClick:un,children:gt?(0,Z.jsx)(s,{label:`Sending OTP`}):vt>0?`Resend OTP in ${vt}s`:`Request OTP via WhatsApp`}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:an}),(0,Z.jsxs)(`div`,{className:`checkout-otp-row`,children:[(0,Z.jsx)(`input`,{placeholder:`OTP code`,value:Ke,onChange:e=>qe(e.target.value)}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-verify-btn`,disabled:bt||gt,onClick:dn,children:bt?(0,Z.jsx)(s,{label:`Verifying OTP`}):`Verify OTP`})]}),Qe&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:Qe})]})]})]})}),!C&&!D&&jt.length===0&&(0,Z.jsxs)(`div`,{className:`checkout-state`,children:[(0,Z.jsx)(`p`,{children:`No selected items are ready for checkout.`}),(0,Z.jsx)(`button`,{className:`checkout-back-btn`,onClick:()=>e(`/cart`),children:`Return to cart`})]})]})})}function ld({navigate:e,deps:t={}}){let{BuyerLayout:n,InlineLoading:r,SectionLoadingOverlay:i,SkeletonBlock:a,RouteLink:o,StoreNameLink:s,BUYER_ESTIMATE_METHODS:c,CART_ADDRESS_STORAGE_KEY:l,CHECKOUT_DRAFT_STORAGE_KEY:u,AddressMapPicker:d,AUTH_UNAUTHORIZED_EVENT:f,SESSION_EXPIRED_REASON:p,ChatAttachmentViewer:m,ChatComposer:h}=t,g=(0,_.useMemo)(()=>{let e=new URLSearchParams(window.location.search),t=String(e.get(`orderPublicId`)||``).trim();if(t)return t;let n=Number(e.get(`orderId`));return Number.isInteger(n)&&n>0?String(n):null},[]);return(0,Z.jsx)(`div`,{className:`buyer-page-shell checkout-success-shell`,children:(0,Z.jsxs)(`div`,{className:`buyer-page-card checkout-success-card`,children:[(0,Z.jsxs)(`header`,{className:`buyer-header`,children:[(0,Z.jsx)(`button`,{className:`brand-button`,onClick:()=>e(`/`),children:`tokodepan`}),(0,Z.jsxs)(`nav`,{className:`desktop-nav`,"aria-label":`Desktop navigation`,children:[(0,Z.jsx)(`button`,{className:`nav-link`,children:`English`}),(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>e(`/inbox`),children:`Inbox`}),(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>e(`/cart`),children:`Cart`}),(0,Z.jsx)(`button`,{className:`nav-profile`,onClick:()=>e(`/profile`),children:`My Profile`})]})]}),(0,Z.jsxs)(`main`,{className:`checkout-success-main`,children:[(0,Z.jsx)(`div`,{className:`success-icon`,"aria-hidden":`true`,children:(0,Z.jsx)(`span`,{})}),(0,Z.jsx)(`h1`,{children:`Thank you, your order has been placed`}),(0,Z.jsx)(`p`,{children:`You can track your order status in Transaction List.`}),(0,Z.jsxs)(`div`,{className:`checkout-success-actions`,children:[g&&(0,Z.jsx)(`button`,{className:`success-btn primary`,onClick:()=>e(`/orders/${g}`),children:`View This Transaction`}),(0,Z.jsx)(`button`,{className:`success-btn primary`,onClick:()=>e(`/orders`),children:`View Transaction List`}),(0,Z.jsx)(`button`,{className:`success-btn secondary`,onClick:()=>e(`/`),children:`Go to Home`})]})]})]})})}var ud={QRIS:`QRIS`,BCA_VIRTUAL_ACCOUNT:`BCA Virtual Account`,BNI_VIRTUAL_ACCOUNT:`BNI Virtual Account`,BRI_VIRTUAL_ACCOUNT:`BRI Virtual Account`,BSI_VIRTUAL_ACCOUNT:`BSI Virtual Account`,MANDIRI_VIRTUAL_ACCOUNT:`Mandiri Virtual Account`,PERMATA_VIRTUAL_ACCOUNT:`Permata Virtual Account`,CARDS:`Credit Card`},dd={requires_action:`Waiting for Payment`,paid:`Payment Received`,failed:`Payment Failed`,expired:`Payment Expired`,pending:`Waiting for Payment`,unpaid:`Waiting for Payment`};function fd(e){let t=String(e||``).toUpperCase();return ud[t]||t||`-`}function pd(e,t=null){let n=String(e||``).toLowerCase();if(t){let e={requires_action:`buyer.payment.status.requiresAction`,paid:`buyer.payment.status.paid`,failed:`buyer.payment.status.failed`,expired:`buyer.payment.status.expired`,cancelled:`buyer.payment.status.cancelled`,pending:`buyer.payment.status.pending`,unpaid:`buyer.payment.status.unpaid`}[n];if(e)return t(e)}return dd[n]||String(e||`-`).replace(/_/g,` `)}function md(e){return String(e||``).toUpperCase().endsWith(`_VIRTUAL_ACCOUNT`)}function hd(e){return Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):e&&typeof e==`object`&&Array.isArray(e.actions)?e.actions.filter(e=>e&&typeof e==`object`):[]}function gd(e){let t=String(e?.type||e?.action||``),n=String(e?.descriptor||e?.name||``),r=t.toLowerCase(),i=n.toLowerCase();return{actionType:r,descriptor:i,rawType:t,rawDescriptor:n,url:e?.url||e?.checkout_url||e?.redirect_url||e?.href||null,qrString:e?.qr_string||e?.qr_string_value||e?.qr_code_string||(i===`qr_string`?e?.value:null)||null,qrUrl:e?.qr_url||e?.qr_code_url||e?.image_url||null,vaNumber:e?.virtual_account_number||e?.account_number||e?.va_number||(i===`virtual_account_number`?e?.value:null)||null,bank:e?.channel_c
9ode||e?.bank||e?.institution||null,description:e?.description||e?.name||null,raw:e}}function _d(e){return`https://api.qrserver.com/v1/create-qr-code/?${new URLSearchParams({size:`320x320`,format:`png`,qzone:`4`,bgcolor:`ffffff`,color:`000000`,data:e}).toString()}`}function vd(e){return Math.max(24,Math.min(64,Math.round(e*.125)))}function yd(e,t){let n=Number(e)||0,r=Number(t)||0,i=Math.max(n,r),a=vd(i),o=i+a*2;return{padding:a,canvasSize:o,drawX:Math.round((o-n)/2),drawY:Math.round((o-r)/2)}}function bd(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`qr_image_decode_failed`)),e.startsWith(`data:image/`)||(r.crossOrigin=`anonymous`),r.src=e})}async function xd(e){let t=``,n=!1;if(e instanceof Blob?(t=URL.createObjectURL(e),n=!0):t=String(e||``).trim(),!t)throw Error(`qr_source_missing`);try{let e=await bd(t),n=e.naturalWidth||e.width,r=e.naturalHeight||e.height;if(!n||!r)throw Error(`qr_image_size_missing`);let i=yd(n,r),a=document.createElement(`canvas`);a.width=i.canvasSize,a.height=i.canvasSize;let o=a.getContext(`2d`);if(!o)throw Error(`qr_canvas_unavailable`);return o.imageSmoothingEnabled=!1,o.fillStyle=`#ffffff`,o.fillRect(0,0,a.width,a.height),o.drawImage(e,i.drawX,i.drawY,n,r),await new Promise((e,t)=>{a.toBlob(n=>{n?e(n):t(Error(`qr_canvas_export_failed`))},`image/png`)})}finally{n&&URL.revokeObjectURL(t)}}var Sd=new Set([`restricted_card`,`insufficient_funds`,`card_declined`,`generic_card_failure`]);function Cd(e){let t=String(e?.provider||``).trim().toLowerCase(),n=String(e?.payment_method_group||``).trim().toLowerCase(),r=String(e?.status||``).trim().toLowerCase(),i=String(e?.latest_attempt_failure_code||``).trim().toLowerCase();return t!==`doku`||n!==`card`||![`requires_action`,`pending`].includes(r)||!Sd.has(i)?null:`buyer.payment.cardAttemptFailure.${i}`}function wd(e=[]){return e.find(e=>e.descriptor===`virtual_account_number`||e.descriptor===`qr_string`||e.qrUrl||e.url)||e[0]||null}function Td(e,t){return[e,t?.payment_method_group,t?.payment_method_code,t?.method].map(e=>String(e||``).toLowerCase()).some(e=>e===`qris`||e.includes(`qris`))}function Ed(e){return String(e||``).trim()}function Dd(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.rel=`noopener noreferrer`,document.body.appendChild(n),n.click(),n.remove()}async function Od(e){if(navigator?.clipboard?.writeText){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);if(t.remove(),!n)throw Error(`copy_failed`)}function kd({paymentPublicId:e,isPaymentReturn:t=!1,navigate:n,authState:r,onAuthSuccess:i,deps:a={}}){let{api:o,BuyerLayout:s,InlineLoading:c,formatIdr:l}=a,u=Rr(),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(!0),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(``),[S,C]=(0,_.useState)(``),[w,T]=(0,_.useState)(!1),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(()=>!!window.history.state?.externalPaymentBlocked),[A,j]=(0,_.useState)(!1),[M,N]=(0,_.useState)(!1),ee=(0,_.useRef)(``),P=(0,_.useRef)(!1),F=(0,_.useRef)(0),I=(0,_.useCallback)(async({refresh:i=!1}={})=>{if(!(i&&P.current)){i&&(P.current=!0),y(``),i?g(!0):m(!0);try{let a=i?`/checkout/payments/${encodeURIComponent(e)}/refresh`:`/checkout/payments/${encodeURIComponent(e)}`,s=await o(a,{method:i?`POST`:`GET`,skipAuthHandling:r?.status!==`authenticated`});f(s);let c=String(s?.status||``).toLowerCase(),l=String(s?.orders?.[0]?.order_public_id||``).trim(),u=String(s?.provider||``).toLowerCase(),d=String(s?.provider_status||``).toUpperCase();!t&&(c===`paid`||u===`doku`&&d===`DOKU_SUCCESS_AWAITING_VERIFICATION`)&&l&&n(`/orders/${encodeURIComponent(l)}`,{replace:!0,state:{appParent:`/orders`,paymentCompleted:!0}})}catch(e){y(e?.message||u(`buyer.payment.loadFailed`))}finally{i?g(!1):m(!1),i&&(P.current=!1)}}},[o,r?.status,t,n,e]);(0,_.useEffect)(()=>{if(t)return;let n=String(e||``).trim();n&&ee.current!==n&&(ee.current=n,I())},[t,I,e]),(0,_.useEffect)(()=>
9{if(t||!d)return;let e=String(d?.status||``).toLowerCase();if(![`requires_action`,`pending`,`unpaid`].includes(e))return;let n=setInterval(()=>{I({refresh:!0})},15e3);return()=>clearInterval(n)},[I,d]),(0,_.useEffect)(()=>{if(t)return;let e=()=>{if(document.visibilityState===`hidden`)return;let e=Date.now();P.current||e-F.current<1e3||(F.current=e,I({refresh:!0}))},n=()=>{document.visibilityState===`visible`&&e()};return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,n),()=>{window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,n)}},[t,I]),(0,_.useEffect)(()=>{if(!b)return;let e=setTimeout(()=>x(``),1800);return()=>clearTimeout(e)},[b]);let L=String(d?.status||``).toLowerCase(),te=d?.payment_method_code||d?.payment_method_group||``,ne=fd(te),R=String(d?.provider||``).toLowerCase()===`doku`&&String(d?.provider_status||``).toUpperCase()===`DOKU_SUCCESS_AWAITING_VERIFICATION`,z=String(d?.provider||``).toLowerCase()===`doku`&&String(d?.provider_status||``).toUpperCase()===`DOKU_VERIFICATION_DISCREPANCY`,B=String(d?.provider||``).toLowerCase()===`doku`&&String(d?.provider_status||``).toUpperCase().startsWith(`DOKU_CREATE_`),V=String(d?.provider_status||``).toUpperCase()===`DOKU_CREATE_RECONCILED_NO_ACTION`,H=R?u(`buyer.payment.status.paid`):z?u(`buyer.payment.reviewing`):u(`buyer.payment.status.${L===`requires_action`?`requiresAction`:L}`)||pd(d?.status),U=(0,_.useMemo)(()=>hd(d?.actions).map(gd),[d?.actions]),W=(0,_.useMemo)(()=>wd(U),[U]),re=Number(d?.amount_cents||0),G=l?l(re):`Rp ${re.toLocaleString(`id-ID`)}`,ie=Qc(d?.expires_at),ae=String(te||``).toUpperCase()===`CARDS`||String(d?.payment_method_group||``).toLowerCase()===`card`,oe=Cd(d),se=W?.url&&W?.actionType===`redirect_customer`&&String(W?.raw?.method||`GET`).toUpperCase()===`GET`?W:null,ce=()=>{se?.url&&(zu(Ru(window),se.url)||k(!0))},le=async()=>{if(A||M)return;let e=(Array.isArray(d?.orders)?d.orders:[]).map(e=>Number(e?.order_id)).filter(e=>Number.isInteger(e)&&e>0);if(e.length){j(!0),y(``);try{n(gu((await o(`/checkout/payments`,{method:`POST`,body:{order_ids:e,payment_method_group:d.payment_method_group,payment_method_code:d.payment_method_code,legal_acceptance:!1},skipAuthHandling:r?.status!==`authenticated`})).payment_public_id),{replace:!0,state:{appParent:`/orders`}})}catch(e){Zu(e)?(N(!0),y(u(`buyer.checkout.ambiguousPayment`))):y(e?.message||u(`buyer.checkout.paymentStartFailed`))}finally{j(!1)}}},ue=()=>{D(!1);try{window.opener?.focus?.(),window.close()}catch{D(!0);return}window.setTimeout(()=>{window.closed||D(!0)},500)};(0,_.useEffect)(()=>{if(!t)return;I({refresh:!0});try{window.opener?.focus?.()}catch{}let e=window.setTimeout(ue,250);return()=>window.clearTimeout(e)},[t,I]);let K=(0,_.useCallback)(async e=>{let t=Ed(e);if(t)try{await Od(t),x(u(`payment.copied`))}catch{x(u(`payment.copyVaFailed`))}},[u]),de=(0,_.useCallback)(async t=>{let n=String(t?.qrUrl||(t?.qrString?_d(t.qrString.trim()):``)||``).trim();if(!n||w)return;T(!0),C(``);let r=`tokodepan-qris-${String(e||`payment`).trim()||`payment`}.png`,i=``;try{let e;if(n.startsWith(`data:image/`))e=await xd(n);else{let t=await fetch(n,{mode:`cors`,credentials:`omit`});if(!t.ok)throw Error(`qr_fetch_failed`);e=await xd(await t.blob())}i=URL.createObjectURL(e),Dd(i,r)}catch{C(u(`payment.saveQrFailed`))}finally{i&&URL.revokeObjectURL(i),T(!1)}},[e,w,u]),q=()=>{if(!W)return(0,Z.jsxs)(`article`,{className:`payment-action-card`,children:[(0,Z.jsx)(`h2`,{children:u(`buyer.payment.instruction`)}),(0,Z.jsx)(`p`,{children:u(`buyer.payment.instructionUnavailable`)})]});if((W.descriptor===`qr_string`&&typeof W.qrString==`string`&&W.qrString.trim()||W.qrUrl)&&Td(te,d)&&fe){let e=W.qrUrl||_d(W.qrString.trim());return(0,Z.jsxs)(`article`,{className:`payment-action-card payment-qris-card`,children:[(0,Z.jsx)(`h2`,{children:u(`buyer.payment.scanQris`)}),(0,Z.jsx)(`p`,{className:`payment-qris-instruction`,children:u(`buyer.payment.qrisInstruction`)}),(0,Z.jsx)(`div`,{className:`payment-qris-canvas`,"aria-label":u(`buyer.payment.qrisAriaLabel`),children:(0,Z.jsx)(`img`,{src:e,alt:u(`buyer.payment.qrisAlt`),loading:`lazy`,width:`240`,height:`240`})}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,"aria-label":u(`payment.saveQr`),onClick:()=>de(W),disabled:w,children:u(w?`payment.preparingQr`:`payment.saveQr`)}),S&&(0,Z.jsx)(`p`,{className:`payment-copy-feedback`,"aria-live":`polite`,children:S})]})}if(W.descriptor===`virtual_account_number`&&Ed(W.vaNumber)&&md(te)&&fe){let e=Ed(W.vaNumber);return(0,Z.jsxs)(`article`,{className:`payment-action-card payment-va-card`,children:[(0,Z.jsxs)(`div`,{className:`payment-va-header`,children:[(0,Z.jsx)(`h2`,{children:u(`buyer.payment.vaNumber`)}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,"aria-label":u(`payment.copyVa`),onClick:()=>K(e),children:u(`payment.copyVa`)})]}),(0,Z.jsx)(`p`,{className:`payment-va-number`,children:e}),b&&(0,Z.jsx)(`p`,{className:`payment-copy-feedback`,"aria-live":`polite`,children:b})]})}return(0,Z.jsxs)(`article`,{className:`payment-action-card`,children:[(0,Z.jsx)(`h2`,{children:u(`buyer.payment.instruction`)}),oe&&(0,Z.jsx)(`p`,{className:`results-message error`,role:`alert`,children:u(oe)}),se&&(0,Z.jsx)(`button`,{className:`success-btn primary payment-continue-primary`,type:`button`,onClick:ce,children:u(`buyer.payment.continuePayment`)}),W.qrUrl&&(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`a`,{href:W.qrUrl,target:`_blank`,rel:`noreferrer`,children:u(`buyer.checkout.openPaymentCode`)})}),!W.url&&!W.qrUrl&&(0,Z.jsx)(`p`,{children:u(`buyer.checkout.followPaymentInstructions`)})]})},fe=[`requires_action`,`pending`].includes(L)&&!R&&!z,pe=L===`paid`,me=fe&&md(te);return t?(0,Z.jsx)(`main`,{className:`checkout-success-page payment-return-page`,children:(0,Z.jsxs)(`section`,{className:`checkout-success-main`,children:[(0,Z.jsx)(`img`,{className:`brand-logo`,src:`/brand/tokodepan-logo.png`,alt:`Tokodepan`}),(0,Z.jsx)(`h1`,{children:u(`buyer.checkout.paymentReturnChecking`)}),(0,Z.jsx)(`p`,{children:u(`buyer.checkout.paymentReturnInstruction`)}),(0,Z.jsxs)(`div`,{className:`checkout-success-actions`,children:[(0,Z.jsx)(`button`,{className:`success-btn primary`,type:`button`,onClick:ue,children:u(`buyer.checkout.closeAndReturn`)}),E&&(0,Z.jsx)(`p`,{className:`results-message`,role:`status`,children:u(`buyer.checkout.paymentReturnCloseFailed`)}),E&&(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>n(gu(e),{replace:!0}),children:u(`buyer.checkout.returnToTokodepan`)})]})]})}):(0,Z.jsx)(s,{navigate:n,authState:r,onAuthSuccess:i,children:(0,Z.jsxs)(`section`,{className:`transaction-detail-page`,children:[(0,Z.jsxs)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>Wn(Gn(window.location.pathname,window.history.state)),children:[`â `,u(`common.back`)]}),(0,Z.jsxs)(`div`,{className:`detail-card payment-status-card`,children:[(0,Z.jsx)(`h1`,{children:u(`buyer.payment.statusLabel`)}),(0,Z.jsxs)(`p`,{className:`checkout-muted`,children:[u(`buyer.payment.paymentId`),`: `,e]}),(p||h)&&(0,Z.jsx)(c,{label:u(h?`buyer.payment.refreshing`:`buyer.payment.loading`)}),v&&(0,Z.jsx)(`p`,{className:`results-message error`,children:v}),d&&!p&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`article`,{className:`payment-summary-card`,children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[u(`buyer.payment.statusLabel`),`:`]}),` `,H]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[u(`buyer.payment.method`),`:`]}),` `,ne]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[u(`buyer.payment.total`),`:`]}),` `,G]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[u(`buyer.payment.expires`),`:`]}),` `,ie]})]}),fe&&(0,Z.jsxs)(`div`,{className:`payment-status-stack`,children:[ae&&(0,Z.jsx)(`p`,{children:u(`buyer.checkout.secureCardWaiting`)}),q(),O&&se&&(0,Z.jsxs)(`div`,{className:`results-message`,role:`status`,children:[(0,Z.jsx)(`p`,{children:u(`buyer.checkout.paymentPopupBlocked`)}),(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>window.location.assign(se.url),children:u(`buyer.checkout.openPaymentManually`)})]}),me&&(0,Z.jsxs)(`article`,{className:`payment-action-card payment-instruction-card`,children:[(0,Z.jsx)(`h2`,{children:u(`buyer.checkout.howToPay`)}),(0,Z.jsx)(`p`,{children:u(`buyer.checkout.vaInstruction`,{amount:G,expires:ie})}),(0,Z.jsx)(`p`,{children:u(`buyer.checkout.paymentAmountReminder`)})]})]}),pe&&(0,Z.jsx)(`p`,{className:`results-message`,children:u(`buyer.payment.received`)}),R&&(0,Z.jsx)(`p`,{className:`results-message`,children:u(`buyer.payment.receivedShort`)}),z&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`results-message`,role:`status`,children:u(`buyer.payment.reviewing`)}),(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>n(`/help`),children:u(`buyer.payment.contactTokodepan`)})]}),B&&(0,Z.jsx)(`p`,{className:`results-message`,role:`status`,children:u(V?`buyer.checkout.paymentPageUnavailable`:`buyer.checkout.ambiguousPayment`)}),V&&(0,Z.jsx)(`button`,{className:`success-btn primary`,type:`button`,onClick:le,disabled:A||M,children:u(A?`buyer.payment.refreshing`:`buyer.checkout.createNewPayment`)}),[`expired`,`failed`,`cancelled`].includes(L)&&(0,Z.jsx)(`p`,{className:`results-message error`,children:d?.failure_message||(ae?`Card payment failed (${H}). Please return to checkout and choose another payment method.`:`Payment was not completed (${H}). Please create a new payment from checkout/order page.`)}),(0,Z.jsxs)(`div`,{className:`checkout-success-actions checkout-payment-status-actions`,style:{marginTop:12},children:[!pe&&(0,Z.jsx)(`button`,{className:`success-btn primary`,type:`button`,onClick:()=>I({refresh:!0}),disabled:h,children:u(`buyer.payment.refreshStatus`)}),(0,Z.jsx)(`button`,{className:`success-btn primary`,type:`button`,onClick:()=>n(`/orders`,{replace:!0}),children:u(`buyer.payment.viewOrders`)})]})]})]})]})})}function Ad(){let e=Rr();return Cn((0,_.useMemo)(()=>({title:`${e(`buyer.paymentHandoff.title`)} | Tokodepan`,description:e(`buyer.paymentHandoff.description`),canonical:`/payment-handoff`,robots:`noindex,nofollow`}),[e])),(0,Z.jsx)(`main`,{className:`payment-handoff-page`,children:(0,Z.jsxs)(`section`,{className:`payment-handoff-card`,"aria-labelledby":`payment-handoff-title`,children:[(0,Z.jsx)(`img`,{className:`payment-handoff-logo`,src:`/brand/tokodepan-logo.png`,alt:`Tokodepan`}),(0,Z.jsx)(At,{label:e(`buyer.paymentHandoff.loadingLabel`),size:`lg`}),(0,Z.jsxs)(`div`,{className:`payment-handoff-copy`,children:[(0,Z.jsx)(`h1`,{id:`payment-handoff-title`,children:e(`buyer.paymentHandoff.title`)}),(0,Z.jsx)(`p`,{children:e(`buyer.paymentHandoff.description`)})]})]})})}var jd=new Set([`open`,`complaint_open`,`complained`,`awaiting_seller_response`,`seller_proposed_solution`,`awaiting_buyer_response`,`escalated_to_ops`,`ops_review`,`under_review`]),Md=new Set([`closed`,`resolved_refund`,`resolved_replacement`,`resolved_rejected`,`resolved_buyer`,`resolved_seller`,`rejected`]),Nd=new Set([`replacement_after_return`,`replacement_no_return`,`refund_after_return`,`refund_no_return`,`partial_refund`,`rejected`]),Pd={resolved_replacement:`replacement`,resolved_refund:`refund`,resolved_rejected:`rejected`,rejected:`rejected`},Fd=e=>String(e||``).trim().toLowerCase();function Id(e){let t=e?.complaint||e||null,n=Fd(t?.status||t?.complaint_status||e?.complaint_status);if(!n)return null;let r=Fd(t?.resolution_type||t?.resolution?.resolution_type||e?.resolution_type),i=Nd.has(r)?r:Pd[n]||null;return jd.has(n)?{state:`active`,resolution:null}:Md.has(n)?{state:n===`closed`&&!i?`closed`:`resolved`,resolution:i}:null}function Ld(e,t,n){return t?t.state===`active`?e(`${n}.active`):t.state===`closed`?e(`${n}.closed`):e(`${n}.resolved.${t.resolution||`generic`}`):null}var Rd=[`all`,`pending_payment`,`processing`,`shipped`,`completed`,`complained`,`cancelled`];function zd(e){return{paid:`processing`,ready_to_ship:`processing`,delivered:`
9shipped`,refunded:`cancelled`}[e]||(Rd.includes(e)?e:`pending_payment`)}function Bd(e,t){return e.trim()===``?``:t}var Vd=new Set([`pending_payment`,`processing`,`shipped`,`complained`]);function Hd({navigate:e,authState:t,deps:n={}}){let r=Rr(),{api:i,BuyerLayout:a,InlineLoading:o,SectionLoadingOverlay:s,SkeletonBlock:c,RouteLink:l,StoreNameLink:u,BUYER_ESTIMATE_METHODS:d,CART_ADDRESS_STORAGE_KEY:f,CHECKOUT_DRAFT_STORAGE_KEY:p,AddressMapPicker:m,AUTH_UNAUTHORIZED_EVENT:h,SESSION_EXPIRED_REASON:g,ChatAttachmentViewer:v,ChatComposer:y}=n,[b,x]=(0,_.useState)([]),[S,C]=(0,_.useState)(`pending_payment`),[w,T]=(0,_.useState)(1),[E,D]=(0,_.useState)(0),[O,k]=(0,_.useState)({}),[A,j]=(0,_.useState)(``),[M,N]=(0,_.useState)(``),[ee,P]=(0,_.useState)(()=>new Set),[F,I]=(0,_.useState)(!1),[L,te]=(0,_.useState)(``),[ne,R]=(0,_.useState)(``),[z,B]=(0,_.useState)(``),[V,H]=(0,_.useState)(!0),[U,W]=(0,_.useState)(null),[re,G]=(0,_.useState)(null),[ie,ae]=(0,_.useState)(null),[oe,se]=(0,_.useState)(!1),[ce,le]=(0,_.useState)(!1),[ue,K]=(0,_.useState)(Vl.ANONYMOUS);async function de({nextTab:e=S,nextPage:n=w,nextSearch:r=M}={}){if(t?.status===`loading`)return;H(!0),B(``);let a=ue;try{let o=await Ul({api:i,authState:t,includeAddresses:!1});if(a=o.kind,K(o.kind),o.kind===Vl.ANONYMOUS){le(!1),H(!1);return}let s=Math.max(0,(n-1)*10),c=new URLSearchParams({limit:`10`,offset:String(s),status_group:e});c.set(`count_groups`,`pending_payment,processing,shipped,complained`),r&&c.set(`q`,r);let l=await i(`/orders?${c.toString()}`,{skipAuthHandling:o.kind!==Vl.AUTHENTICATED});x(l?.items||[]),D(Number(l?.total_count??0)),k(l?.tab_counts&&typeof l.tab_counts==`object`?l.tab_counts:{}),le(!0)}catch(e){B(e.message),x([]);let t=String(e.message||``).toLowerCase();a===Vl.ANONYMOUS&&(t.includes(`verify phone otp`)||t.includes(`view orders`)||t.includes(`not authenticated`)||t.includes(`login`))||le(!1)}finally{H(!1)}}(0,_.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`tab`),n=zd(t),r=Number(e.get(`page`)||`1`);C(n),t!==n&&(e.set(`tab`,n),window.history.replaceState(null,``,`${window.location.pathname}?${e.toString()}`)),T(Number.isFinite(r)&&r>0?r:1),Nl()?.verified&&(le(!0),K(Vl.VERIFIED_GUEST)),de({nextTab:n,nextPage:Number.isFinite(r)&&r>0?r:1})},[t?.status]);function q(e){e.preventDefault();let t=A.trim();N(t),T(1),de({nextTab:S,nextPage:1,nextSearch:t})}(0,_.useEffect)(()=>{new URLSearchParams(window.location.search).get(`guestAccess`)===`phone`&&e(`/login?mode=phone&next=%2Forders`)},[e]);let fe=(0,_.useMemo)(()=>(b||[]).map(e=>({orderId:e.id,orderPublicId:String(e.public_id||e.order_public_id||``).trim()||null,invoiceNumber:e.invoice_number||`-`,orderDate:e.created_at||``,status:String(e.status||`processing`).trim().toLowerCase(),rawStatus:String(e.status||``).trim().toLowerCase(),shippingState:String(e.shipping_state||``).trim().toLowerCase(),sellerSlug:e.seller_slug||``,sellerName:e.seller_name||r(`buyer.orders.defaultSeller`),productName:e.product_name||r(`buyer.orders.sellerOrder`,{id:e.id}),itemNames:Array.isArray(e.item_names)?e.item_names.filter(e=>typeof e==`string`&&e.trim().length>0):[],itemCount:Number(e.item_count??0),imageUrl:e.image_url||null,subtotal:Number(e.subtotal_cents??e.subtotal??0),shipping:Number(e.shipping_cents??e.shipping??e.shipping_cost??0),discount:Number(e.discount_cents??e.discount??0),totalPaid:Number(e.total_cents??e.total??e.total_paid??Number(e.subtotal_cents??e.subtotal??0)+Number(e.shipping_cents??e.shipping??e.shipping_cost??0)-Number(e.discount_cents??e.discount??0)),hasUnreviewedItems:!!e.has_unreviewed_items,checkoutPaymentPublicId:String(e.checkout_payment_public_id||e.payment_public_id||``).trim()||null,checkoutPaymentStatus:String(e.checkout_payment_status||``).trim().toLowerCase()||null,checkoutPaymentProvider:String(e.checkout_payment_provider||``).trim().toLowerCase()||null,checkoutPaymentProviderStatus:String(e.checkout_payment_provider_status||``).trim().toLowerCase()||null,buyerPaymentPresentation:Oi(e),checkoutPaymentFailureMessage:String(e.checkout_payment_failure_message||``).trim()||null,checkoutGroupId:String(e.checkout_group_id||``).trim()||null,complaint:e.complaint||null,shipmentStatus:String(e.shipment_status||``).trim()||null,shipmentNormalizedStatus:String(e.shipment_normalized_status||``).trim()||null,cancelReason:String(e.cancel_reason||``).trim().toLowerCase()||``,sellerCancelReasonText:String(e.seller_cancel_reason_text||``).trim()||``,cancellationRequestStatus:String(e.cancellation_request_status||``).trim().toLowerCase()||``,cancellationRequestReasonCode:String(e.cancellation_request_reason_code||``).trim().toLowerCase()||``,cancellationRequestReasonText:String(e.cancellation_request_reason_text||``).trim()||``,cancellationRequestSellerRe
9sponseText:String(e.cancellation_request_seller_response_text||``).trim()||``,isFullyRefunded:e.is_fully_refunded===!0})),[b,r]),pe=(0,_.useMemo)(()=>[[`all`,r(`buyer.orders.tabs.all`)],[`pending_payment`,r(`buyer.orders.tabs.pendingPayment`)],[`processing`,r(`buyer.orders.tabs.processing`)],[`shipped`,r(`buyer.orders.tabs.shipped`)],[`completed`,r(`buyer.orders.tabs.completed`)],[`complained`,r(`buyer.orders.tabs.complaintOpen`)],[`cancelled`,r(`buyer.orders.tabs.cancelled`)]],[r]),me=Math.max(1,Math.ceil(E/10)),he=!!(M||L||ne),J=t?.status!==`authenticated`&&ue===Vl.ANONYMOUS&&!ce,Y=(0,_.useMemo)(()=>{let e=M.toLowerCase(),t=L?new Date(`${L}T00:00:00`):null,n=ne?new Date(`${ne}T23:59:59`):null;return fe.filter(r=>{let i=r.itemNames.length>0?r.itemNames:r.productName?[r.productName]:[],a=e.length===0||r.invoiceNumber.toLowerCase().includes(e)||r.sellerName.toLowerCase().includes(e)||i.some(t=>t.toLowerCase().includes(e)),o=Zc(r.orderDate);return o?a&&(!t||o>=t)&&(!n||o<=n):a})},[L,ne,M,fe]);function X(n,a){let o=n.orderPublicId||n.orderId;if(a===`Continue payment`){if(n.checkoutPaymentPublicId){e(gu(n.checkoutPaymentPublicId));return}(async()=>{B(``),G(n.orderId);try{let a=uu(du()||`qris`),o=await i(`/checkout/payments`,{method:`POST`,body:{order_ids:[n.orderId],recover_order_group:!0,payment_method_group:a.group,payment_method_code:a.code,legal_acceptance:ue===Vl.VERIFIED_GUEST&&ie===n.orderId&&oe},skipAuthHandling:t?.status!==`authenticated`});if(!o?.payment_public_id)throw Error(r(`buyer.orderDetail.paymentStartFailed`));e(gu(o.payment_public_id))}catch(e){e?.code===`legal_acceptance_required`&&ue===Vl.VERIFIED_GUEST?(ae(n.orderId),se(!1),B(``)):B(e?.message||r(`buyer.orderDetail.paymentStartFailed`))}finally{G(null)}})();return}if(a===`Track shipment`){e(`/orders/${o}`);return}if(a===`Review`){e(`/orders/${o}?focus=review`);return}if(a===`Reorder`){e(`/orders/${o}?focus=reorder`);return}if(a===`Confirm receipt`){(async()=>{B(``),W(n.orderId);try{let e=n.orderPublicId||n.orderId;await i(`/orders/${e}/confirm-received`,{method:`POST`,skipAuthHandling:t?.status!==`authenticated`}),await de()}catch(e){B(e?.message||r(`buyer.orderDetail.confirmReceiptFailed`))}finally{W(null)}})();return}console.info(`Action ${a} for seller-scoped order ${n.orderId}`)}function ge(e){P(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function _e(e){return`status-badge ${e.toLowerCase().replace(/\s+/g,`-`)}`}function ve(e){return e.rawStatus===`cancelled`?``:e.cancellationRequestStatus===`pending`?r(`buyer.orders.cancellationPending`):e.cancellationRequestStatus===`approved`?r(`buyer.orders.cancellationApproved`):e.cancellationRequestStatus===`rejected`?r(`buyer.orders.cancellationRejected`):``}function ye(e){return e===`Continue payment`?r(`buyer.orders.continuePayment`):e===`Confirm receipt`?r(`buyer.orderDetail.confirmReceipt`):e===`Reorder`?r(`buyer.orders.buyAgain`):e===`Track shipment`?r(`buyer.shipment.title`):e===`Invoice PDF`?r(`buyer.orders.invoicePdf`):e}function be(e){return[e?.orderDate,e?.created_at,e?.createdAt,e?.order_created_at,e?.transaction_date,e?.date].find(e=>e instanceof Date?!Number.isNaN(e.getTime()):typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim().length>0)??null}function xe(e){let t=be(e);if(!t)return r(`buyer.orders.dateUnavailable`);let n=$c(t);return!n||n===`-`||n.toLowerCase().includes(`invalid`)?r(`buyer.orders.dateUnavailable`):n}function Se(e){let t=zd(e),n=Bd(A,M);A.trim()===``&&N(``),C(t),T(1),window.history.replaceState(null,``,`/orders?tab=${encodeURIComponent(t)}&page=1`),de({nextTab:t,nextPage:1,nextSearch:n})}function Ce(e){T(e),window.history.replaceState(null,``,`/orders?tab=${encodeURIComponent(S)}&page=${e}`),de({nextTab:S,nextPage:e})}function we(){j(``),N(``),te(``),R(``),I(!1),T(1),de({nextTab:S,nextPage:1,nextSearch:``})}return(0,Z.jsxs)(`section`,{className:`transaction-page`,children:[(0,Z.jsx)(`div`,{className:`transaction-heading-row`,children:(0,Z.jsx)(`h1`,{children:r(`buyer.orders.title`)})}),!J&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`transaction-tabs`,children:pe.map(([e,t])=>(0,Z.jsxs)(`button`,{type:`button`,className:S===e?`active`:``,onClick:()=>Se(e),children:[(0,Z.jsx)(`span`,{children:t}),Vd.has(e)&&typeof O[e]==`number`?(0,Z.jsx)(`span`,{className:`transaction-tab-count`,children:O[e]}):null]},e))}),(0,Z.jsxs)(`label`,{className:`transaction-status-select-wrap`,htmlFor:`transaction-status-select`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:r(`buyer.orders.statusFilter`)}),(0,Z.jsx)(`select`,{id:`transaction-status-select`,value:S,onChange:e=>Se(e.target.value),children:pe.map(([e,t])=>(0,Z.jsx)(`option`,{value:e,children:Vd.has(e)&&typeof O[e]==`number`?`${t} (${O[e]})`:t},e))})]})]}),!J&&(0,Z.jsxs)(`div`,{className:`transaction-filters`,children:[(0,Z.jsxs)(`form`,{className:`transaction-search`,onSubmit:q,role:`search`,children:[(0,Z.jsx)(`label`,{className:`sr-only`,htmlFor:`transaction-search`,children:r(`buyer.orders.search`)}),(0,Z.jsx)(`input`,{id:`transaction-search`,value:A,onChange:e=>j(e.target.value),placeholder:r(`buyer.orders.search`)}),(0,Z.jsx)(`button`,{className:`transaction-search-submit`,type:`submit`,"aria-label":r(`buyer.orders.search`),title:r(`buyer.orders.search`),children:(0,Z.jsx)(En,{})})]}),(0,Z.jsxs)(`div`,{className:`date-filter-wrap`,children:[(0,Z.jsxs)(`button`,{className:`date-filter-button`,onClick:()=>I(e=>!e),children:[(0,Z.jsx)(An,{}),(0,Z.jsx)(`span`,{children:r(`buyer.orders.filterDate`)})]}),F&&(0,Z.jsxs)(`div`,{className:`date-filter-popover`,children:[(0,Z.jsxs)(`label`,{children:[r(`buyer.orders.orderDate`),(0,Z.jsx)(`input`,{type:`date`,value:L,onChange:e=>te(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[r(`buyer.orders.toDate`),(0,Z.jsx)(`input`,{type:`date`,value:ne,onChange:e=>R(e.target.value)})]})]})]}),he&&(0,Z.jsx)(`button`,{className:`transaction-clear-filters`,type:`button`,onClick:we,children:r(`buyer.orders.clearFilters`)})]}),z&&(0,Z.jsx)(`p`,{className:`results-message error`,children:z}),J&&(0,Z.jsxs)(`div`,{className:`transactions-empty-state`,role:`status`,children:[(0,Z.jsx)(`h2`,{children:r(`buyer.orders.title`)}),(0,Z.jsx)(`p`,{children:r(`buyer.auth.guestPhoneHelper`)}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>e(`/login?next=%2Forders`),children:r(`buyer.auth.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:()=>e(`/login?mode=phone&next=%2Forders`),children:r(`buyer.auth.continueWithPhone`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>e(`/signup?next=%2Forders`),children:r(`buyer.auth.signup`)})]})]}),V&&(0,Z.jsx)(`p`,{className:`results-message`,children:(0,Z.jsx)(o,{label:r(`buyer.orders.loading`)})}),!V&&!z&&fe.length===0&&(0,Z.jsxs)(`div`,{className:`transactions-empty-state`,role:`status`,children:[(0,Z.jsx)(`h2`,{children:r(`buyer.orders.empty`)}),(0,Z.jsx)(`p`,{children:r(`buyer.orders.emptyByTab.${S||`all`}`)})]}),!V&&!z&&fe.length>0&&Y.length===0&&he&&(0,Z.jsx)(`p`,{className:`results-message`,children:r(`buyer.orders.empty`)}),(0,Z.jsx)(`div`,{className:`transaction-list`,role:`list`,children:Y.map((t,n)=>{let i=Id(t),a=Ld(r,i,`buyer.complaintDisplay`),o=ki(t),s=t.itemNames.length>0?t.itemNames:t.productName?[t.productName]:[],c=Math.max(t.itemCount,s.length),l=c>1,d=ee.has(t.orderId),f=l&&!d?s.slice(0,1):s,p=Math.max(c-f.length,0);return(0,Z.jsxs)(`article`,{className:`transaction-card transaction-card-cl
9ickable`,role:`listitem`,onClick:()=>e(`/orders/${t.orderPublicId||t.orderId}`),onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(`/orders/${t.orderPublicId||t.orderId}`))},tabIndex:0,"aria-label":r(`buyer.orders.openTransaction`,{invoice:t.invoiceNumber}),children:[(0,Z.jsx)(`header`,{className:`transaction-meta-row`,children:(0,Z.jsxs)(`div`,{className:`transaction-meta-left`,children:[(0,Z.jsxs)(`span`,{className:`transaction-invoice-meta`,children:[r(`buyer.orders.invoice`),` `,t.invoiceNumber]}),(0,Z.jsx)(`span`,{className:`transaction-date`,children:xe(t)}),i?.state===`active`?null:(0,Z.jsx)(`span`,{className:_e(o.tone),children:Ai(r,o)}),a?(0,Z.jsx)(`span`,{className:`status-badge complaint-status`,children:a}):null]})}),ve(t)?(0,Z.jsx)(`p`,{className:`transaction-context transaction-context-${t.cancellationRequestStatus}`,children:ve(t)}):null,(0,Z.jsxs)(`div`,{className:`transaction-content-row`,children:[(0,Z.jsx)(`div`,{className:`transaction-product-image tone-${[`blue`,`light`,`mint`,`slate`][n%4]}`,children:t.imageUrl?(0,Z.jsx)(`img`,{src:t.imageUrl,alt:t.productName,className:`transaction-product-image-img`}):(0,Z.jsx)(`span`,{children:r(`buyer.orders.photo`)})}),(0,Z.jsxs)(`div`,{className:`transaction-main-info`,children:[(0,Z.jsx)(`p`,{className:`transaction-seller`,children:(0,Z.jsx)(u,{navigate:e,sellerSlug:t.sellerSlug,className:`store-inline-link`,stopPropagation:!0,children:t.sellerName})}),(0,Z.jsxs)(`div`,{className:`transaction-item-block`,children:[(0,Z.jsx)(`p`,{className:`transaction-product transaction-item-count`,children:r(`buyer.orders.itemCount`,{count:c})}),f.map((e,n)=>(0,Z.jsx)(`p`,{className:`transaction-product`,children:e},`${t.orderId}-${n}-${e}`)),l&&(0,Z.jsx)(`button`,{type:`button`,className:`transaction-toggle-items`,onClick:e=>{e.stopPropagation(),ge(t.orderId)},children:d?r(`buyer.orders.showLessItems`):r(`buyer.orders.showMoreItems`,{count:p})})]}),(0,Z.jsxs)(`div`,{className:`transaction-invoice-total`,children:[(0,Z.jsx)(`span`,{children:r(`buyer.orders.invoiceTotal`)}),(0,Z.jsx)(`strong`,{children:Yt(t.totalPaid)})]}),(0,Z.jsxs)(`div`,{className:`transaction-actions`,children:[ie===t.orderId&&!t.checkoutPaymentPublicId?(0,Z.jsxs)(`label`,{className:`checkout-legal-consent`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:oe,onChange:e=>se(e.target.checked)}),(0,Z.jsxs)(`span`,{children:[r(`buyer.signup.legalConsentPrefix`),(0,Z.jsx)(`a`,{href:`/legal/terms`,target:`_blank`,rel:`noreferrer`,children:r(`buyer.signup.termsAndConditions`)}),r(`buyer.signup.legalConsentConnector`),(0,Z.jsx)(`a`,{href:`/legal/privacy`,target:`_blank`,rel:`noreferrer`,children:r(`buyer.signup.privacyPolicy`)}),r(`buyer.orders.recoveryLegalConsentConnector`),(0,Z.jsx)(`a`,{href:`/legal/refund-complaint-policy`,target:`_blank`,rel:`noreferrer`,children:r(`buyer.orders.refundComplaintPolicy`)}),r(`buyer.signup.legalConsentSuffix`)]})]}):null,t.complaint?.public_id?(0,Z.jsx)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),e(`/complaints/${encodeURIComponent(t.complaint.public_id)}`)},children:r(`buyer.orderDetail.viewComplaint`)}):null,_u(t).map((e,n)=>(0,Z.jsx)(`button`,{className:n===0?`transaction-action-primary`:``,disabled:e===`Confirm receipt`&&U===t.orderId||e===`Continue payment`&&re===t.orderId,onClick:n=>{n.stopPropagation(),X(t,e)},children:e===`Confirm receipt`&&U===t.orderId?r(`buyer.orderDetail.confirmReceipt`):ye(e)},`${t.invoiceNumber}-${e}`))]})]})]})]},t.orderId)})}),(0,Z.jsx)(s,{show:V&&fe.length>0,label:r(`buyer.orders.loading`)}),!J&&!V&&E>0&&(0,Z.jsxs)(`div`,{className:`transaction-pagination`,children:[(0,Z.jsx)(`p`,{children:r(`buyer.orders.pageOf`,{page:w,pageCount:me,totalCount:E})}),(0,Z.jsxs)(`div`,{className:`transaction-pagination-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:w<=1,onClick:()=>Ce(w-1),children:r(`buyer.orders.previous`)}),(0,Z.jsx)(`button`,{type:`button`,disabled:w>=me,onClick:()=>Ce(w+1),children:r(`buyer.orders.next`)})]})]})]})}function Ud({navigate:e,authState:t,onAuthSuccess:n,deps:r={}}){let{BuyerLayout:i,InlineLoading:a,SectionLoadingOverlay:o,SkeletonBlock:s,RouteLink:c,StoreNameLink:l,BUYER_ESTIMATE_METHODS:u,CART_ADDRESS_STORAGE_KEY:d,CHECKOUT_DRAFT_STORAGE_KEY:f,AddressMapPicker:p,AUTH_UNAUTHORIZED_EVENT:m,SESSION_EXPIRED_REASON:h,ChatAttachmentViewer:g,ChatComposer:_,TransactionsSection:v}=r;return(0,Z.jsx)(i,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsx)(v,{navigate:e,authState:t})})}function Wd(e={},t=e=>e){let n=String(e.cancel_reason??e.cancelReason??``).trim().toLowerCase(),r=String(e.seller_cancel_reason_text??e.sellerCancelReasonText??``).trim(),i=r.toLowerCase()===`none`?``:r,a=String(e.cancellation_request_status??e.cancellationRequestStatus??``).trim().toLowerCase(),o=String(e.cancellation_request_reason_code??e.cancellationRequestReasonCode??``).trim(),s=String(e.cancellation_request_reason_text??e.cancellationRequestReasonText??``).trim(),c=s.toLowerCase()===`none`?``:s,l=String(e.cancellation_request_seller_response_text??e.cancellationRequestSellerRe
9sponseText??``).trim(),u=String(e.payment_status??e.paymentStatus??``).trim().toLowerCase(),d=String(e.checkout_payment_status??e.checkoutPaymentStatus??``).trim().toLowerCase();if([`payment_expired`,`payment_expired_unpaid`,`unpaid_expired`].includes(n))return{label:t(`buyer.cancellation.paymentExpired.title`),details:t(`buyer.cancellation.paymentExpired.detail`)};if(n===`payment_failed`)return{label:t(`buyer.cancellation.paymentFailed.title`),details:t(`buyer.cancellation.paymentFailed.detail`)};if(n.startsWith(`shipment_`))return{label:t(`buyer.cancellation.${n}.title`),details:t(`buyer.cancellation.${n}.detail`)};if([`seller_missed_shipping_deadline`,`seller_fulfillment_sla_missed`].includes(n))return{label:t(`buyer.cancellation.sellerMissedDeadline.title`),details:t(`buyer.cancellation.sellerMissedDeadline.detail`)};if([`seller_cancelled_paid_order`,`seller_cancelled`,`seller_cancelled_out_of_stock`].some(e=>n.startsWith(e)))return{label:t(`buyer.cancellation.sellerCancelled.title`),details:i||null};if(n.startsWith(`buyer_request_`)||a===`approved`||n===`buyer_cancellation_approved`){let e=[o?t(`buyer.cancellation.buyerRequest.buyerReason`,{reason:o.replaceAll(`_`,` `)}):``,c,l?t(`buyer.cancellation.buyerRequest.sellerNote`,{note:l}
9):``].filter(Boolean).join(` · `);return{label:t(`buyer.cancellation.buyerRequest.title`),details:e||null}}if([`ops_cancelled`,`admin_cancelled`,`transaction_issue`].includes(n))return{label:t(`buyer.cancellation.opsCancelled.title`),details:null};if(!n){if(d===`expired`)return{label:t(`buyer.cancellation.paymentExpired.title`),details:t(`buyer.cancellation.paymentExpired.detail`)};if(d===`failed`)return{label:t(`buyer.cancellation.paymentFailed.title`),details:t(`buyer.cancellation.paymentFailed.detail`)};if(u===`unpaid`||d===`cancelled`)return{label:t(`buyer.cancellation.paymentNotCompleted.title`),details:t(`buyer.cancellation.paymentNotCompleted.detail`)}}return{label:t(`buyer.cancellation.unknown.title`),details:i||c||null}}function Gd(e){return Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):e&&typeof e==`object`?[e]:[]}function Kd(e){if(!e||typeof e!=`object`)return{courierLink:``,courierDriver:null};let t=e.courier_driver&&typeof e.courier_driver==`object`?{name:String(e.courier_driver.name||``).trim(),plateNumber:String(e.courier_driver.plate_number||``).trim(),photoUrl:/^https?:\/\//i.test(String(e.courier_driver.photo_url||``))?String(e.courier_driver.photo_url):``}:null;return{courierLink:/^https?:\/\//i.test(String(e.courier_link||``))?String(e.courier_link):``,courierDriver:t&&(t.name||t.plateNumber||t.photoUrl)?t:null}}function qd(e,t){let n=String(e||``).trim().toLowerCase(),r=String(t||``).trim().toLowerCase();return n===`pickup_retry_available`||n===`pickup_cancelled`?`pickupCancelled`:n===`confirmed`||n===`allocated`?`labelReady`:n===`picked_up`?`handedToCourier`:n===`in_transit`||n===`on_hold`?`inTransit`:n===`delivered`?`delivered`:[`rejected`,`return_in_transit`,`returned`,`disposed`,`failed`].includes(n)?n===`return_in_transit`?`returnInTransit`:n:r===`picking_up`||r===`pickingup`?`courierPickingUp`:r===`dropping_off`||r===`droppingoff`?`enRouteToDestination`:r===`cancelled`||r===`couriernotfound`?`pickupCancelled`:r===`confirmed`||r===`allocated`?`labelReady`:r===`picked_up`||r===`pickedup`||r===`picked`?`handedToCourier`:[`in_transit`,`intransit`,`on_hold`,`onhold`].includes(r)?`inTransit`:r===`delivered`?`delivered`:r===`returnintransit`||r===`return_in_transit`?`returnInTransit`:[`rejected`,`returned`,`disposed`,`failed`].includes(r)?r:`shipmentUpdate`}function Jd(e){return[...Gd(e)].sort((e,t)=>new Date(e?.event_occurred_at||e?.recorded_at||0).getTime()-new Date(t?.event_occurred_at||t?.recorded_at||0).getTime()).map((e,t)=>({key:`${e?.id||`shipment-${t}`}`,statusKey:qd(e?.normalized_status,e?.provider_status),normalizedStatus:String(e?.normalized_status||``).trim().toLowerCase(),providerStatus:String(e?.provider_status||``).trim().toLowerCase(),description:String(e?.status_description||``).trim(),providerSubStatus:String(e?.provider_sub_status||``).trim(),proofImages:Array.isArray(e?.proof_images)?e.proof_images.filter(e=>/^https?:\/\//i.test(String(e))):[],proofSignature:/^https?:\/\//i.test(String(e?.proof_signature||``))?String(e.proof_signature):``,at:e?.event_occurred_at||e?.recorded_at||null}))}function Yd({open:e,title:t,body:n,children:r,cancelLabel:i,confirmLabel:a,loadingLabel:o,loading:s=!1,confirmDisabled:c=!1,variant:l=`warning`,onCancel:u,onConfirm:d}){return e?(0,Z.jsx)(`div`,{className:`buyer-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&!s&&u()},children:(0,Z.jsxs)(`section`,{className:`buyer-action-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`buyer-action-dialog-title`,children:[(0,Z.jsx)(`h2`,{id:`buyer-action-dialog-title`,children:t}),n&&(0,Z.jsx)(`div`,{className:`buyer-action-dialog-body`,children:n}),r,(0,Z.jsxs)(`div`,{className:`buyer-action-dialog-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,disabled:s,onClick:u,children:i}),(0,Z.jsxs)(`button`,{type:`button`,className:`detail-action-btn ${l===`warning`?`warning-outline`:`primary`}`,disabled:s||c,"aria-busy":s,onClick:d,children:[s&&(0,Z.jsx)(`span`,{className:`complaint-button-spinner`,"aria-hidden":`true`}),s?o:a]})]})]})}):null}function Xd(e={}){return e.shipping_address?.recipient_name||e.buyer_name||`-`}function Zd({statusText:e,hasDeliveryException:t,hasOpenComplaint:n}){let r=String(e||``).trim().toLowerCase()===`delivered`;return{canConfirmReceipt:r&&!t&&!n,canReportProblem:r&&!t&&!n}}function Qd(){let e=document.body,t=window.scrollX,n=window.scrollY,r={left:e.style.left,overflow:e.style.overflow,position:e.style.position,top:e.style.top,width:e.style.width};return e.style.position=`fixed`,e.style.top=`-${n}px`,e.style.left=`-${t}px`,e.style.width=`100%`,e.style.overflow=`hidden`,()=>{Object.assign(e.style,r),window.scrollTo(t,n)}}function $d(e){(0,_.useEffect)(()=>
9{if(e)return Qd()},[e])}function ef({orderId:e,navigate:t,authState:n,onAuthSuccess:r,deps:i={}}){let a=Rr(),{language:o}=Lr(),[s,c]=(0,_.useState)(null),{api:l,BuyerLayout:u,FullPageLoadingOverlay:d,InlineLoading:f,SectionLoadingOverlay:p,SkeletonBlock:m,RouteLink:h,StoreNameLink:g,BUYER_ESTIMATE_METHODS:v,CART_ADDRESS_STORAGE_KEY:y,CHECKOUT_DRAFT_STORAGE_KEY:b,formatIdr:x,formatCountryLabel:S,AddressMapPicker:C,AUTH_UNAUTHORIZED_EVENT:w,SESSION_EXPIRED_REASON:T,ChatAttachmentViewer:E,ChatComposer:D}=i,[O,k]=(0,_.useState)(null),[A,j]=(0,_.useState)(null),[M,ee]=(0,_.useState)(!0),[P,F]=(0,_.useState)(!0),[I,L]=(0,_.useState)(``),[te,ne]=(0,_.useState)(``),[z,B]=(0,_.useState)(!1),[V,H]=(0,_.useState)(null),[U,W]=(0,_.useState)(`wrong_order`),[re,G]=(0,_.useState)(``),[ie,ae]=(0,_.useState)(`wrong_goods_sent`),[oe,se]=(0,_.useState)(``),[ce,le]=(0,_.useState)(null),[ue,K]=(0,_.useState)(!1),[de,q]=(0,_.useState)({}),[fe,me]=(0,_.useState)(``),[he,J]=(0,_.useState)([]),[Y,X]=(0,_.useState)(null),[ge,_e]=(0,_.useState)(null),[ve,ye]=(0,_.useState)(!1),[be,xe]=(0,_.useState)([]),[Se,Ce]=(0,_.useState)(!1),[we,Te]=(0,_.useState)(``),[Ee,De]=(0,_.useState)(``),[Oe,ke]=(0,_.useState)(``),[Ae,je]=(0,_.useState)(``),[Me,Ne]=(0,_.useState)(!1),[Pe,Fe]=(0,_.useState)(null),Ie=(0,_.useRef)(0),Q=(0,_.useRef)(``),Le=(0,_.useRef)(null),Re=(0,_.useRef)(null),ze=(0,_.useRef)(!1),Be=(0,_.useRef)({});function Ve(e){let t=String(e?.type||``).toLowerCase();return t===`image/jpeg`||t===`image/jpg`||t===`image/png`||t===`image/webp`||t===`image/gif`}async function He(e){return String(e.headers?.get?.(`content-type`)||``).toLowerCase().includes(`application/json`)?e.json():{message:await e.text()}}let Ue=(0,_.useCallback)(async({withLoading:t=!1}={})=>{let r=Ie.current+1;Ie.current=r,t&&ee(!0),L(``),ze.current=!1;try{let t=n?.status!==`authenticated`,i=await l(`/orders/${e}`,{skipAuthHandling:t}),o=async(e,n)=>{try{return await l(e,{skipAuthHandling:t})}catch(e){let t=Number(e?.status||e?.statusCode||0);if(t===401||t===403)return ze.current=!0,n;throw e}},[s,c,u]=await Promise.all([o(`/orders/${e}/payment`,null),o(`/orders/${e}/reviews`,[]),o(`/orders/${e}/complaints`,[])]);return r===Ie.current?(k(i),j(s),J(c||[]),xe(u||[]),ze.current&&ne(a(`buyer.orderDetail.sectionsUnavailable`)),Ce(!1),{order:i,payment:s}):null}catch(e){let t=String(e?.message||``).toLowerCase();throw Ce(t.includes(`verify phone to access your guest orders`)),e}finally{t&&(ee(!1),F(!1))}},[n?.status,e,a]);(0,_.useEffect)(()=>{let e=Nl();e?.profile?.name&&Te(e.profile.name),e?.profile?.phone&&De(e.profile.phone)},[]),(0,_.useEffect)(()=>{let t=`${e}::${n?.status===`loading`?`bootstrapping`:`ready`}`;if(String(Q.current||``).startsWith(`${e}::`))return;Q.current=t;let r=!0;async function i(){try{await Ue({withLoading:!0})}catch(e){if(!r)return;L(e.message)}}return i(),()=>{r=!1}},[n?.status,Ue,e]),(0,_.useEffect)(()=>{if(!Pe)return;function e(e){e.key===`Escape`&&Fe(null)}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[Pe]);function We(e){let t=String(e||``).trim();return t?t.startsWith(`http://`)||t.startsWith(`https://`)?t:t.startsWith(`/`)?N(t):N(`/${t.replace(/^\/+/,``)}`):``}let $=O,Ge=A||{};function Ke(e){return e===`Continue payment`?a(`buyer.orders.continuePayment`):e===`Confirm receipt`?a(`buyer.orderDetail.confirmReceipt`):e===`Chat seller`?a(`buyer.orderDetail.contactSeller`):e===`Track shipment`?a(`buyer.shipment.track`):e===`Review`?a(`buyer.orderDetail.review.action`):e===`Reorder`?a(`buyer.orders.buyAgain`):e===`Invoice PDF`?a(`buyer.orders.invoicePdf`):e}let qe=String(Ge?.checkout_payment_public_id||Ge?.payment_public_id||$?.checkout_payment_public_id||``).trim(),Je=String(Ge?.checkout_payment_status||$?.checkout_payment_status||``).trim().toLowerCase(),Ye=String(Ge?.checkout_payment_failure_message||$?.checkout_payment_failure_message||``).trim(),Xe=Oi($),Ze=String($?.status||``).toLowerCase().replace(/_/g,` `).trim(),Qe=String($?.status||``).toLowerCase().trim(),$e=String($?.payment_status||Ge?.payment_status||Ge?.status||``).toLowerCase().trim(),et=String(Ge?.checkout_payment_method_code||$?.checkout_payment_method_code||``).trim(),tt=String(Ge?.checkout_payment_method_group||$?.checkout_payment_method_group||``).trim(),nt=String($?.payment_method||Ge?.payment_method||Ge?.method||et||tt||``).trim(),rt=nt?fd(nt):`-`,it=String($?.cancel_reason||``).toLowerCase().trim(),at=Qe===`cancelled`,ot=at&&([`payment_expired`,`payment_failed`,`payment_cancelled`].includes(it)||$e===`unpaid`||[`expired`,`failed`,`cancelled`].includes(Je)),st=$?.paid_at||Ge?.paid_at||null,ct=ot&&it===`payment_expired`?a(`buyer.orderDetail.paymentExpired`):ot&&it===`payment_failed`?a(`buyer.orderDetail.paymentFailed`):ot?a(`buyer.orderDetail.cancelledNotPaid`):Xe===`paid`?a(`buyer.payment.status.paid`):Xe===`review`?a(`buyer.payment.reviewing`):pd($e||`pending`,a),lt=st?Qc(st,o):a(`buyer.orderDetail.notPaid`),ut=!!st||Xe!==`paid`,dt=!!(qe&&!ot&&Qe!==`paid`&&$e!==`paid`&&[`pending_payment`,`pending`,`unpaid`,`requires_action`].includes(Qe)&&![`expired`,`cancelled`,`failed`].includes(Je)&&[`pending_payment`,`pending`,`unpaid`,`requires_action`,``].includes($e)&&!Xe),ft=Xe===`paid`?`Paid`:Xe
9===`review`?`Payment review`:Ze===`pending payment`?`Waiting for payment`:`${$?.status||`Processing`}`.replace(/_/g,` `),pt=`status-badge ${ft.toLowerCase().replace(/\s+/g,`-`)}`,mt=Qe===`cancelled`&&$e===`paid`&&!!$?.ship_by_deadline_at,ht=(()=>{let e=String($?.refund_status||``).toLowerCase();return a(e===`succeeded`?`buyer.orderDetail.refundStatuses.succeeded`:e===`failed`?`buyer.orderDetail.refundStatuses.failed`:e===`processing`||e===`pending_provider`?`buyer.orderDetail.refundStatuses.processing`:`buyer.orderDetail.refundStatuses.pending`)})(),gt={"waiting for payment":[`Continue payment`,`Invoice PDF`],paid:[`Track shipment`,`Chat seller`,`Invoice PDF`],processing:[`Track shipment`,`Chat seller`,`Invoice PDF`],shipped:[`Track shipment`,`Chat seller`,`Invoice PDF`],delivered:[`Confirm receipt`,`Chat seller`,`Track shipment`,`Invoice PDF`],completed:[`Review`,`Reorder`,`Invoice PDF`],cancelled:[`Invoice PDF`]}[ft.toLowerCase()]||[`Invoice PDF`];async function _t(){if(!Ee.trim()){je(a(`buyer.auth.guestPhoneRequired`));return}try{je(``);let e=await pe(`guest_checkout_otp`,{mountElement:Re.current});await l(`/auth/phone-otp/request`,{method:`POST`,body:{phone:Ee.trim(),purpose:`guest_checkout`,channel:`whatsapp`,turnstile_token:e},skipAuthHandling:!0}),je(a(`buyer.auth.guestOtpSent`))}catch(e){je(e.message||a(`buyer.auth.guestSendFailed`))}}async function vt(){if(!Ee.trim()||!Oe.trim()){je(a(`buyer.auth.guestFieldsRequired`));return}try{je(``),await l(`/guest/checkout/verify-otp`,{method:`POST`,body:{name:we.trim()||void 0,phone:Ee.trim(),code:Oe.trim()},skipAuthHandling:!0}),Fl(Il({guestPrefill:{has_verified_guest:!0,name:we.trim(),phone_number:Ee.trim()},addresses:[]})),await Ue({withLoading:!0}),je(a(`buyer.auth.guestOrderLoading`))}catch(e){je(e.message||a(`buyer.auth.guestVerifyFailed`))}}async function yt(){B(!0),L(``),ne(``);try{let r=await l(`/orders/${e}/threads`,{method:`POST`,skipAuthHandling:n?.status!==`authenticated`}),i=Number($?.seller_id||Et.find(e=>Number(e?.seller_id||0)>0)?.seller_id||0)||null,o=i&&r?.find(e=>Number(e?.seller?.id||0)===i)||r?.[0],s=String(o?.public_id||``).trim();if(!s)throw Error(a(`buyer.orderDetail.sellerChatUnavailable`));t(`/inbox?thread=${encodeURIComponent(s)}`)}catch(e){L(e?.message||a(`buyer.orderDetail.sellerChatOpenFailed`))}finally{B(!1)}}async function bt(r){if(r===`Continue payment`){if(qe)t(gu(qe));else{if(Je===`failed`){ne(Ye||a(`buyer.orderDetail.paymentStartFailed`));return}ne(a(`buyer.orderDetail.paymentNotStarted`))}return}if(r===`Track shipment`){Wt&&Ne(!0);return}if(r===`Invoice PDF`){if(!yn){ne(a(`buyer.orderDetail.invoiceUnavailable`));return}window.open(yn,`_blank`,`noopener,noreferrer`);return}if(r===`Confirm receipt`){B(!0),L(``),ne(``);try{await l(`/orders/${e}/confirm-received`,{method:`POST`,skipAuthHandling:n?.status!==`authenticated`}),await Ue(),ne(a(`buyer.orderDetail.receiptConfirmed`))}catch(e){L(e.message)}finally{B(!1)}return}if(r===`Chat seller`){await yt();return}if(r===`Review`){Le.current?.scrollIntoView({behavior:`smooth`,block:`start`}),ne(a(`buyer.orderDetail.review.readyNotice`));return}if(r===`Reorder`){if(!Et.length){ne(a(`buyer.orderDetail.noEligibleReorder`));return}ye(!0),B(!0),L(``),ne(``);let e=0,r=[];for(let t of Et)try{await l(`/cart/items`,{method:`POST`,skipAuthHandling:n?.status!==`authenticated`,body:{product_id:Number(t.product_id),quantity:Number(t.quantity)||1}}),e+=1}catch(e){let n=String(e?.code||``).toLowerCase(),i=Number(e?.status||0),a=`unexpected`;[`not_found`,`product_unavailable`,`seller_inactive`].includes(n)||i===404?a=`unavailable`:[`insufficient_stock`,`out_of_stock`,`purchase_limit_conflict`].includes(n)||i===409||i===422?a=`quantityConflict`:[`unauthorized`,`csrf_failed`].includes(n)||i===401||i===403&&n===`forbidden`?a=`session`:(n.startsWith(`buyer_account_`)||n===`buyer_phone_verification_required`)&&(a=`accountRestricted`),r.push({title:t.title_snapshot||`Item #${t.id}`,reasonKey:a})}let i=r.map(({title:e,reasonKey:t})=>`${e}: ${a(`buyer.orderDetail.reorderReasons.${t}`)}`).join(`; `);e>0&&r.length===0?(ne(a(`buyer.orderDetail.reorderComplete`)),t(`/cart`)):e>0?ne(a(`buyer.orderDetail.reorderPartial`,{count:e,reasons:i})):L(a(`buyer.orderDetail.reorderFailed`,{reasons:i})),ye(!1),B(!1);return}ne(a(`buyer.orderDetail.actionUnavailable`,{action:Ke(r)}))}async function xt(r){r.preventDefault(),B(!0),le(null);try{let r=await l(`/orders/${e}/complaints`,{method:`POST`,skipAuthHandling:n?.status!==`authenticated`,body:{reason_code:ie,reason_text:oe||null,evidence_attachments:[]}});await Ue();let i=r?.public_id||r?.complaint?.public_id;i?(le({tone:`success`,text:a(`buyer.orderDetail.complaintRedirecting`)}),t(`/complaints/${encodeURIComponent(i)}`)):le({tone:`success`,text:a(`buyer.orderDetail.complaintOpenedHold`)})}catch(e){console.error(`Complaint submission failed`,e),le({tone:`error`,text:a(`buyer.orderDetail.complaintSubmitFailed`)})}finally{B(!1)}}async function St(t){let r=de[t]||{rating:5,note:``,attachments:[]};X(t),B(!0),me(``),ne(``);try{await l(`/orders/${e}/reviews`,{method:`POST`,skipAuthHandling:n?.status!==`authenticated`,body:{order_item_id:Number(t),rating:Number(r.rating||5),note:r.note||null,attachments:(r.attachments||[]).slice(0,3)}}),await Ue(),ne(a(`buyer.orderDetail.review.saveSuccess`))}catch{me(a(`buyer.orderDetail.review.saveFailed`))}finally{B(!1),X(null)}}async function Ct(e,t){let n=Array.from(t||[]).slice(0,3);if(!n.length)return;let r=de[e]||{rating:5,note:``,attachments:[]},i=Array.isArray(r.attachments)?r.attachments.slice(0,3):[];if(i.length>=3){me(a(`buyer.orderDetail.review.maximumImages`));return}_e(e),me(``);try{let t=[];for(let e of n){if(i.length+t.length>=3)break;if(!Ve(e))throw Error(a(`buyer.orderDetail.review.invalidImageFormat`));if(e.size>5242880)throw Error(a(`buyer.orderDetail.review.imageTooLarge`));let n=await R(`/message-attachments/upload`,{method:`POST`,headers:{"Content-Type":e.type||`image/jpeg`},body:e}),r=await He(n);if(!n.ok)throw Error(r?.error?.message||r?.message||a(`buyer.orderDetail.review.imageUploadFailed`));t.push({name:e.name||`review-image`,url:r.image_url||r.url})}q(n=>({...n,[e]:{...r,attachments:[...i,...t].slice(0,3)}}))}catch(e){me(e.message||a(`buyer.orderDetail.review.unableToUploadImage`))}finally{let t=Be.current[e];t&&(t.value=``),_e(null)}}
9function wt(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}function Tt(e){if(e?.seller_slug&&e?.product_slug){t(`/products/${encodeURIComponent(e.seller_slug)}/${encodeURIComponent(e.product_slug)}`);return}ne(a(`buyer.orderDetail.productUnavailable`))}let Et=($?.items||[]).filter(e=>!e.seller_id||e.seller_id===$?.seller_id),Dt=Et.find(e=>e?.seller_slug)?.seller_slug||``,Ot=Number($?.subtotal_cents??$?.subtotal??Et.reduce((e,t)=>e+t.price_snapshot*t.quantity,0)),kt=Number($?.shipping_cents??$?.shipping??$?.shipping_cost??0),At=Number($?.discount_cents??$?.discount??0),jt=!!($?.shipping_insurance_enabled??$?.shipping_option_snapshot?.insurance_enabled),Mt=Number($?.shipping_insurance_fee_cents??$?.shipping_option_snapshot?.insurance_fee_cents??0),Nt=jt||Mt>0,Pt=Math.max(0,kt-Math.max(0,Mt)),Ft=Number($?.total_cents??$?.total??$?.total_paid??Ot+kt-At),It=$?.waybill_id||`-`,Lt=$?.invoice_number||`-`,Rt=(0,_.useMemo)(()=>{let e=$?.selected_shipping_option||$?.shipping_option_snapshot||null,t=String(e?.courier_name||e?.courier_co
9de||$?.courier_name||$?.shipping_courier_code||``).trim(),n=String(e?.service_name||e?.service_code||$?.service_name||``).trim();return!t&&!n?`-`:t?n?`${t} - ${n}`:t:n},[$?.courier_name,$?.service_name,$?.shipping_courier_code,$?.selected_shipping_option,$?.shipping_option_snapshot]),zt=String($?.shipping_option_snapshot?.courier_code||$?.shipping_option_snapshot?.service_code||$?.shipping_courier_code||``).toLowerCase()===`store_courier`,Bt=Gd($?.shipment_history),Vt=String($?.shipping_state||``).toLowerCase(),Ht=String($?.shipment_normalized_status||$?.shipment_status||``).trim().toLowerCase(),Ut=Mi({shippingState:Vt,providerShipmentStatus:Ht,shipmentHistory:Bt}),Wt=!!(!ot&&Ut&&!zt),Gt=Me&&Wt;$d(Gt||!!s);let Kt=Ni({shippingState:Vt,providerShipmentStatus:Ht,isStoreCourier:zt,shipmentActuallyStarted:Ut,orderStatus:$?.status,cancelReason:$?.cancel_reason}),qt=Ci(a,Kt),Jt=[`rejected`,`return_in_transit`,`returned`,`disposed`,`failed`].includes(Kt),Yt=(0,_.useMemo)(()=>Jd($?.shipment_history),[$?.shipment_history]),Xt=(0,_.useMemo)(()=>Kd($?.current_shipment),[$?.current_shipment]),Zt=(he||[]).reduce((e,t)=>(e[t.order_item_id]=t,e),{}),Qt=Et.some(e=>!Zt[e.id]),$t=[`delivered`,`completed`].includes(ft.toLowerCase()),en=ft.toLowerCase()===`completed`&&Qt,tn=[...Array.isArray(be)?be:[],...Array.isArray($?.complaints)?$.complaints:[],...$?.complaint?[$.complaint]:[],...$?.complaint_status?[{status:$.complaint_status}]:[]],nn=tn.some(e=>Id(e)?.state===`active`),{canConfirmReceipt:rn,canReportProblem:an}=Zd({statusText:ft,hasDeliveryException:Jt,hasOpenComplaint:nn}),on=String($?.confirmation_deadline_at||``).trim(),sn=!!(on&&!nn&&Qe!==`completed`&&(Qe===`delivered`||Vt===`awaiting_buyer_confirmation`)),cn=gt.filter(e=>$?.is_fully_refunded&&[`Track shipment`,`Confirm receipt`].includes(e)?!1:e===`Track shipment`?Wt:e===`Review`?Qt:e===`Continue payment`?dt:e!==`Confirm receipt`||rn),ln=(be||[])[0]||$?.complaint||$?.complaints?.[0]||null,un=ln?tn.filter(e=>!e?.public_id||!ln.public_id||e.public_id===ln.public_id).reverse().reduce((e,t)=>({...e,...t}),{...ln}):null,dn=Id(un),fn=Ld(a,dn,`buyer.complaintDisplay`),pn=!!un?.public_id,mn=dn?.state===`active`&&!!un?.can_buyer_close_complaint;async function hn(){if(!(!mn||z)){B(!0),L(``);try{return await l(`/me/complaints/${encodeURIComponent(un.public_id)}/close`,{method:`POST`}),ne(a(`buyer.orderDetail.closeComplaintSuccess`)),await Ue(),!0}catch(e){L(e?.message||a(`buyer.orderDetail.closeComplaintError`))}finally{B(!1)}return!1}}async function gn(){let e=re.trim();if(!(z||e.length<3)){B(!0),L(``);try{await l(`/orders/${encodeURIComponent(vn)}/cancellation-request`,{method:`POST`,body:{reason_code:U,reason_text:e},skipAuthHandling:n?.status!==`authenticated`}),H(null),G(``),ne(a(`buyer.orderDetail.cancellationRequestSuccess`)),await Ue()}catch(e){L(e?.message||a(`buyer.orderDetail.cancellationRequestError`))}finally{B(!1)}}}let _n=$?.invoice_number||`-`,vn=String($?.public_id||``).trim(),yn=vn?N(`/orders/${encodeURIComponent(vn)}/invoice.pdf`):``;(0,_.useEffect)(()=>{let e=String($?.invoice_number||``).trim();e&&(document.title=`${e} | Tokodepan`)},[$?.invoice_number]);let bn=String($?.cancellation_request_status||``).toLowerCase()===`pending`,xn=[`paid`,`processing`,`ready_to_ship`].includes(String($?.status||``).toLowerCase())&&![`handed_to_courier`,`in_transit`,`awaiting_buyer_confirmation`,`completed`,`delivered`].includes(String($?.shipping_state||``).toLowerCase())&&!pn&&!bn&&!!vn,Sn=(0,_.useMemo)(()=>at?Wd($||{},a):{label:``,details:``},[$,at]),Cn=P&&M,wn=new URLSearchParams(window.location.search).get(`focus`);return(0,_.useEffect)(()=>{!wn||!O||(wn===`review`&&(Le.current?.scrollIntoView({behavior:`smooth`,block:`start`}),ne(a(`buyer.orderDetail.review.readyToReview`))),wn===`reorder`&&bt(`Reorder`))},[wn,O]),(0,Z.jsxs)(u,{navigate:t,authState:n,onAuthSuccess:r,children:[(0,Z.jsx)(d,{show:Cn,label:a(`buyer.orderDetail.transactionDetails`)}),!Cn&&I&&!O&&(0,Z.jsx)(`section`,{className:`transaction-detail-page`,children:(0,Z.jsxs)(`div`,{className:`detail-card`,children:[(0,Z.jsx)(`h1`,{children:a(`buyer.orderDetail.transactionDetail
9s`)}),(0,Z.jsx)(`p`,{className:`results-message error`,children:I}),Se&&(0,Z.jsxs)(`div`,{className:`transactions-empty-state`,role:`status`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.auth.continueWithPhone`)}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.guestAccessDescription`)}),(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-card`,style:{marginTop:12},children:[(0,Z.jsxs)(`div`,{className:`checkout-guest-otp-header`,children:[(0,Z.jsx)(`strong`,{children:a(`buyer.orderDetail.verifyGuestAccess`)}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.guestAccessHelp`)})]}),(0,Z.jsxs)(`div`,{className:`checkout-guest-grid`,children:[(0,Z.jsx)(`input`,{placeholder:a(`buyer.auth.fullNameOptional`),value:we,onChange:e=>Te(e.target.value)}),(0,Z.jsx)(`input`,{placeholder:a(`buyer.auth.phoneNumber`),value:Ee,onChange:e=>De(e.target.value)}),(0,Z.jsx)(`button`,{className:`checkout-primary-btn checkout-guest-action-btn`,type:`button`,onClick:_t,children:a(`buyer.auth.requestWhatsappOtp`)}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:Re}),(0,Z.jsxs)(`div`,{className:`checkout-otp-row`,children:[(0,Z.jsx)(`input`,{placeholder:a(`buyer.auth.otpCode`),value:Oe,onChange:e=>ke(e.target.value)}),(0,Z.jsx)(`button`,{className:`checkout-verify-btn`,type:`button`,onClick:vt,children:a(`buyer.auth.verifyOtp`)})]}),Ae&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:Ae})]})]})]}),(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>Ue({withLoading:!0}),children:a(`buyer.orders.retry`)})]})}),!Cn&&!I&&!O&&(0,Z.jsx)(`section`,{className:`transaction-detail-page`,children:(0,Z.jsxs)(`div`,{className:`detail-card`,children:[(0,Z.jsx)(`h1`,{children:a(`buyer.orderDetail.transactionDetails`)}),(0,Z.jsx)(`p`,{className:`results-message`,children:a(`buyer.orderDetail.transactionUnavailable`)})]})}),!Cn&&O&&(0,Z.jsxs)(`section`,{className:`transaction-detail-page`,children:[(0,Z.jsxs)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>t(`/orders`),children:[`â `,a(`buyer.orderDetail.backToTransactions`)]}),(0,Z.jsxs)(`header`,{className:`detail-top-row`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{children:a(`buyer.orderDetail.transactionDetails`)}),(0,Z.jsxs)(`p`,{className:`detail-tx-number`,children:[a(`buyer.orderDetail.invoice`),`: `,_n]}),(0,Z.jsxs)(`p`,{className:`detail-date`,children:[a(`buyer.orderDetail.orderDate`),`: `,Qc($.created_at,o)]})]}),(0,Z.jsx)(`span`,{className:pt,children:$?.is_fully_refunded?Ai(a,ki($)):Xe===`paid`?a(`buyer.orders.status.paid`):Xe===`review`?a(`buyer.orders.status.paymentReview`):Si(a,$?.status||ft)})]}),(0,Z.jsxs)(`div`,{className:`detail-action-bar`,children:[cn.map(e=>(0,Z.jsx)(`button`,{className:`detail-action-btn ${e===`Confirm receipt`||e===`Continue payment`?`btn-primary`:``}`.trim(),onClick:()=>bt(e),disabled:z,children:z&&e===`Continue payment`?a(`buyer.payment.refreshing`):ve&&e===`Reorder`?a(`buyer.orders.buyAgain`):Ke(e)},e)),xn&&(0,Z.jsx)(`button`,{className:`detail-action-btn warning-outline`,type:`button`,onClick:()=>H(`cancel`),children:a(`buyer.orderDetail.requestCancellation`)})]}),I&&(0,Z.jsx)(`p`,{className:`results-message error`,children:I}),te&&(0,Z.jsx)(`p`,{className:`results-message`,children:te}),bn&&(0,Z.jsxs)(`p`,{className:`detail-state-notice warning`,children:[a(`buyer.orderDetail.cancellationRequested`),`. `,a(`buyer.orderDetail.cancellationWaitingSeller`),`.`]}),sn&&(0,Z.jsx)(`p`,{className:`detail-state-notice`,role:`status`,children:a(`buyer.orderDetail.autoCompletionDeadline`,{date:Qc(on,o)})}),at&&(0,Z.jsxs)(`p`,{className:`detail-state-notice destructive`,children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.cancellationReason`),`:`]}),` `,Sn.label,Sn.details?` · ${Sn.details}`:``]}),pn&&(0,Z.jsxs)(`p`,{className:`results-message complaint-action-row`,children:[fn||a(`buyer.orderDetail.complaintOpened`),`. `,(0,Z.jsx)(`button`,{className:`detail-inline-btn`,type:`button`,onClick:()=>t(`/complaints/${encodeURIComponent(un?.public_id||``)}`),disabled:!un?.public_id,children:a(`buyer.orderDetail.viewComplaint`)}),mn&&(0,Z.jsx)(`button`,{className:`detail-inline-btn warning-outline`,type:`button`,onClick:()=>H(`close`),disabled:z,children:a(`buyer.orderDetail.closeComplaint`)})]}),mt&&(0,Z.jsx)(`p`,{className:`results-message`,children:a(`buyer.orderDetail.missedShippingDeadline`)}),$?.refund_status&&(0,Z.jsxs)(`div`,{className:`results-message`,children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.refundStatus`),`:`]}),` `,ht]}),Number.isFinite($?.refund_amount_cents)&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.refundAmount`),`:`]}),` `,x($.refund_amount_cents)]})]}),(0,Z.jsxs)(`section`,{className:`detail-card`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.transactionDetail
9s`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.seller`),`:`]}),` `,(0,Z.jsx)(g,{navigate:t,sellerSlug:Dt,className:`store-inline-link`,children:$.seller_name||a(`buyer.orderDetail.seller`)})]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.invoice`),`:`]}),` `,_n]}),$.seller_note&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.noteForSeller`),`:`]}),` `,$.seller_note]}),(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.products`)}),(0,Z.jsx)(`div`,{className:`detail-item-list`,children:Et.map((e,t)=>(0,Z.jsxs)(`article`,{className:`detail-item-row ${e?.seller_slug&&e?.product_slug?`is-clickable`:``}`,onClick:()=>Tt(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),Tt(e))},role:`button`,tabIndex:0,"aria-label":a(`buyer.orderDetail.openPurchasedItem`,{product:e.title_snapshot}),children:[(0,Z.jsx)(`div`,{className:`detail-item-thumb tone-${[`blue`,`light`,`mint`,`slate`][t%4]}`,children:e.image_url?(0,Z.jsx)(`img`,{src:e.image_url,alt:e.title_snapshot||a(`buyer.orderDetail.purchasedProduct`),className:`detail-item-thumb-image`}):a(`buyer.orders.photo`)}),(0,Z.jsxs)(`div`,{className:`detail-item-meta`,children:[(0,Z.jsx)(`p`,{className:`detail-item-title`,children:e.title_snapshot}),(0,Z.jsxs)(`p`,{className:`detail-item-qty`,children:[a(`buyer.orders.quantity`),`: `,e.quantity]}),e?.seller_slug&&e?.product_slug&&(0,Z.jsx)(`p`,{className:`detail-item-link-hint`,children:a(`buyer.orderDetail.viewProductDetails`)})]}),(0,Z.jsx)(`strong`,{className:`detail-item-price`,children:wt(e.price_snapshot*e.quantity)})]},e.id||`${e.title_snapshot}-${t}`))})]}),(0,Z.jsxs)(`div`,{className:`detail-grid-2`,children:[(0,Z.jsxs)(`section`,{className:`detail-card detail-card-shipment`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.shipment.title`)}),ot?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.statusLabel`),`:`]}),` `,a(`buyer.orderDetail.notShipped`)]}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.shippingNotStartedUnpaid`)})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.courier`),`:`]}),` `,Rt]}),zt?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`strong`,{children:a(`buyer.shipment.storeCourier`)})}),(0,Z.jsx)(`p`,{children:a(`buyer.shipment.handledBySeller`)}),(0,Z.jsxs)(`p`,{children:[a(`buyer.shipment.deliveryReference`),`: `,Lt]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.statusLabel`),`:`]}),` `,qt]})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.trackingNumber`),` / AWB:`]})}),(0,Z.jsx)(`p`,{className:`detail-awb`,children:It}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.statusLabel`),`:`]}),` `,qt]}),Jt&&(0,Z.jsx)(`p`,{children:a(`buyer.shipment.deliveryExceptionNotice`)})]}),Wt&&(0,Z.jsx)(`button`,{className:`detail-inline-btn`,type:`button`,onClick:()=>Ne(!0),children:a(`buyer.shipment.track`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.insurance`),`:`]}),` `,a(zt?`buyer.shipment.storeCoveredDelivery`:Nt?`buyer.shipment.insured`:`buyer.shipment.notInsured`)]})]})]}),(0,Z.jsxs)(`section`,{className:`detail-card detail-card-address`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.recipient`)}),(0,Z.jsx)(`p`,{children:Xd($)}),(0,Z.jsxs)(`p`,{children:[$.shipping_address?.line1||``,$.shipping_address?.line2?`, ${$.shipping_address.line2}`:``,`, `,$.shipping_address?.city||``,`, `,$.shipping_address?.province||``,` `,$.shipping_address?.postal_code||``]}),(0,Z.jsx)(`p`,{children:S($.shipping_address?.country)}),(0,Z.jsx)(`p`,{children:$.shipping_address?.phone||`-`})]})]}),Gt&&(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,onClick:()=>Ne(!1),children:(0,Z.jsxs)(`div`,{className:`address-modal buyer-shipment-modal`,role:`dialog`,"aria-modal":`true`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.shipment.trackingHistory`)}),(0,Z.jsx)(`button`,{className:`close-modal btn-neutral`,type:`button`,onClick:()=>Ne(!1),children:`Ã`})]}),(0,Z.jsxs)(`div`,{className:`buyer-shipment-tracking-summary`,children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:`AWB:`}),` `,It]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.shipment.currentStatus`),`:`]}),` `,qt]}),Xt.courierDriver?(0,Z.jsxs)(`div`,{className:`buyer-shipment-courier-detail`,children:[Xt.courierDriver.photoUrl?(0,Z.jsx)(`img`,{src:Xt.courierDriver.photoUrl,alt:``,width:`32`,height:`32`,loading:`lazy`,onError:e=>{e.currentTarget.hidden=!0}}):null,(0,Z.jsx)(`span`,{children:[Xt.courierDriver.name,Xt.courierDriver.plateNumber].filter(
9Boolean).join(` · `)})]}):null,Xt.courierLink?(0,Z.jsx)(`a`,{href:Xt.courierLink,target:`_blank`,rel:`noopener noreferrer`,children:a(Xt.courierDriver?`buyer.shipment.trackCourier`:`buyer.shipment.track`)}):null]}),(0,Z.jsx)(`ol`,{className:`buyer-shipment-timeline`,children:Yt.length===0?(0,Z.jsxs)(`li`,{className:`buyer-shipment-timeline-empty`,children:[(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`strong`,{children:a(`buyer.shipment.dataUnavailable`)})}),(0,Z.jsx)(`p`,{children:a(`buyer.shipment.updatesUnavailable`)})]}):Yt.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.shipment.timeline.${e.statusKey}`)}),(0,Z.jsx)(`time`,{dateTime:e.at||void 0,children:e.at?Qc(e.at,o):a(`buyer.shipment.waitingHandoff`)}),e.proofImages.length||e.proofSignature?(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>c(e),children:a(`buyer.shipment.viewDeliveryProof`)}):null]},e.key))})]})}),s?(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,onClick:()=>c(null),children:(0,Z.jsxs)(`div`,{className:`address-modal buyer-shipment-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":a(`buyer.shipment.deliveryProof`),onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.shipment.deliveryProof`)}),(0,Z.jsx)(`button`,{className:`close-modal btn-neutral`,type:`button`,onClick:()=>c(null),children:`Ã`})]}),s.proofImages.map((e,t)=>(0,Z.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,children:(0,Z.jsx)(`img`,{src:e,alt:`${a(`buyer.shipment.deliveryProof`)} ${t+1}`,loading:`lazy`,style:{maxWidth:`100%`,maxHeight:`60vh`,objectFit:`contain`},onError:e=>{e.currentTarget.hidden=!0}})},e)),s.proofSignature?(0,Z.jsx)(`a`,{href:s.proofSignature,target:`_blank`,rel:`noopener noreferrer`,children:a(`buyer.shipment.deliveryProof`)}):null]})}):null,(0,Z.jsxs)(`div`,{className:`detail-grid-2`,children:[(0,Z.jsxs)(`section`,{className:`detail-card detail-card-payment`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.paymentStatus`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.paymentMethod`),`:`]}),` `,rt]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.paymentStatus`),`:`]}),` `,ct]}),ut&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.orderDetail.paymentDate`),`:`]}),` `,lt]}),dt&&(0,Z.jsx)(`button`,{className:`detail-action-btn btn-primary`,type:`button`,onClick:()=>t(gu(qe)),children:a(`buyer.orders.continuePayment`)}),Xe===`review`&&(0,Z.jsx)(`button`,{className:`detail-action-btn`,type:`button`,onClick:()=>t(`/help`),children:a(`buyer.payment.contactTokodepan`)})]}),(0,Z.jsxs)(`section`,{className:`detail-card detail-card-total`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.total`)}),(0,Z.jsxs)(`div`,{className:`detail-total-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.productSubtotal`)}),(0,Z.jsx)(`span`,{children:wt(Ot)})]}),(0,Z.jsxs)(`div`,{className:`detail-total-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.shippingCost`)}),(0,Z.jsx)(`span`,{children:wt(Pt)})]}),Nt&&(0,Z.jsxs)(`div`,{className:`detail-total-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.shippingInsurance`)}),(0,Z.jsx)(`span`,{children:wt(Mt)})]}),(0,Z.jsxs)(`div`,{className:`detail-total-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.discount`)}),(0,Z.jsxs)(`span`,{children:[`- `,wt(At)]})]}),(0,Z.jsxs)(`div`,{className:`detail-total-row total`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.totalPaid`)}),(0,Z.jsx)(`strong`,{children:wt(Ft)})]})]})]}),(0,Z.jsxs)(`div`,{className:`detail-grid-2`,children:[an&&(0,Z.jsxs)(`section`,{className:`detail-card complaint-create-section`,children:[(0,Z.jsxs)(`div`,{className:`complaint-create-heading`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.problemWithOrder`)}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.reportProblemDescription`)})]}),(0,Z.jsxs)(`button`,{className:`detail-action-btn complaint-expand-btn`,type:`button`,"aria-expanded":ue,"aria-controls":`new-complaint-form`,onClick:()=>K(e=>!e),children:[a(`buyer.orderDetail.reportProblem`),` `,(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:ue?`â´`:`â¾`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:a(ue?`buyer.orderDetail.hideComplaintForm`:`buyer.orderDetail.showComplaintForm`)})]})]}),ue&&(0,Z.jsxs)(`form`,{id:`new-complaint-form`,onSubmit:xt,className:`post-delivery-form`,children:[(0,Z.jsx)(`label`,{htmlFor:`complaint-reason`,children:a(`buyer.complaintDetail.reason`)}),(0,Z.jsxs)(`select`,{id:`complaint-reason`,value:ie,onChange:e=>ae(e.target.value),children:[(0,Z.jsx)(`option`,{value:`wrong_goods_sent`,children:a(`buyer.orderDetail.reasons.wrongGoodsSent`)}),(0,Z.jsx)(`option`,{value:`less_quantity_than_ordered`,children:a(`buyer.orderDetail.reasons.lessQuantityThanOrdered`)}),(0,Z.jsx)(`option`,{value:`damaged_item`,children:a(`buyer.orderDetail.reasons.damagedItem`)}),(0,Z.jsx)(`option`,{value:`item_not_received`,children:a(`buyer.orderDetail.reasons.itemNotReceived`)}),(0,Z.jsx)(`option`,{value:`other`,children:a(`buyer.orderDetail.reasons.other`)})]}),(0,Z.jsx)(`label`,{htmlFor:`complaint-description`,children:a(`buyer.complaintDetail.description`)}),(0,Z.jsx)(`textarea`,{id:`complaint-description`,value:oe,onChange:e=>se(e.target.value),rows:3,placeholder:a(`buyer.complaintDetail.descriptionPlaceholder`),"aria-describedby":`complaint-description-help`}),(0,Z.jsx)(`small`,{id:`complaint-description-help`,className:`complaint-form-help`,children:a(`buyer.complaintDetail.createEvidenceHelp`)}),ce&&(0,Z.jsx)(`p`,{className:`results-message ${ce.tone===`error`?`error`:`success`}`,role:ce.tone===`error`?`alert`:`status`,children:ce.text}),(0,Z.jsxs)(`button`,{type:`submit`,className:`detail-action-btn`,disabled:z||nn,"aria-busy":z,children:[z&&(0,Z.jsx)(`span`,{className:`complaint-button-spinner`,"aria-hidden":`true`}),a(z?`buyer.orderDetail.submittingComplaint`:nn?`buyer.orderDetail.complaintAlreadyOpen`:`buyer.orderDetail.reportProblem`)]})]})]}),en&&(0,Z.jsxs)(`section`,{className:`detail-card detail-card-review`,ref:Le,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.orderDetail.review.title`)}),!$t&&(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.review.availableAfterDelivery`)}),fe&&(0,Z.jsx)(`p`,{className:`results-message error`,children:fe}),(0,Z.jsx)(`div`,{className:`detail-item-list`,children:Et.map((e,t)=>{let n=Zt[e.id],r=de[e.id]||{rating:5,note:``,attachments:[]};return(0,Z.jsx)(`article`,{className:`detail-item-row`,children:(0,Z.jsxs)(`div`,{className:`detail-item-meta`,style:{width:`100%`},children:[(0,Z.jsx)(`p`,{className:`detail-item-title`,children:e.title_snapshot}),n?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{children:[a(`buyer.orderDetail.review.reviewed`),`: `,(0,Z.jsx)(Al,{rating:n.rating,showValue:!1}),` `,n.note?`· ${n.note}`:``]}),Array.isArray(n.attachments)&&n.attachments.length>0&&(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`,marginTop:6},children:n.attachments.slice(0,3).map((t,r)=>{let i=We(t?.url),o=t?.name||e?.title_snapshot||a(`buyer.orderDetail.review.image`);return i?(0,Z.jsx)(`button`,{type:`button`,onClick:()=>Fe({url:i,alt:o}),style:{border:`none`,padding:0,borderRadius:8,background:`transparent`,cursor:`zoom-in`},"aria-label":a(`buyer.orderDetail.review.openImage`,{number:r+1}),children:(0,Z.jsx)(`img`,{src:i,alt:o,style:{width:72,height:72,objectFit:`cover`,borderRadius:8}})},`${n.id}-review-attachment-${r}`):null})})]}):(0,Z.jsxs)(`div`,{className:`post-delivery-form`,children:[(0,Z.jsx)(`label`,{children:a(`buyer.orderDetail.review.stars`)}),(0,Z.jsx)(`select`,{value:r.rating,onChange:t=>q(n=>({...n,[e.id]:{...r,rating:Number(t.target.value)}})),children:[5,4,3,2,1].map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))}),(0,Z.jsx)(`label`,{children:a(`buyer.orderDetail.review.note`)}),(0,Z.jsx)(`textarea`,{rows:2,value:r.note,onChange:t=>q(n=>({...n,[e.id]:{...r,note:t.target.value}})),placeholder:a(`buyer.orderDetail.review.shareExperience`)}),(0,Z.jsx)(`label`,{children:a(`buyer.orderDetail.review.imagesLabel`)}),(0,Z.jsx)(`input`,{ref:t=>{t?Be.current[e.id]=t:delete Be.current[e.id]},type:`file`,accept:`image/*`,multiple:!0,onChange:t=>Ct(e.id,t.target.files),disabled:ge===e.id||(r.attachments||[]).length>=3,style:{display:`none`}}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,onClick:()=>Be.current[e.id]?.click(),disabled:ge===e.id||(r.attachments||[]).length>=3,children:ge===e.id?a(`buyer.orderDetail.review.uploadingPhotos`):a(`buyer.orderDetail.review.uploadPhotos`)}),(0,Z.jsx)(`p`,{style:{margin:`6px 0 0`,color:`#64748b`,fontSize:12}
9,children:a(`buyer.orderDetail.review.allowedFormats`)}),ge===e.id&&(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.review.uploadingImage`)}),Array.isArray(r.attachments)&&r.attachments.length>0&&(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`,marginTop:6},children:r.attachments.slice(0,3).map((t,n)=>(0,Z.jsxs)(`div`,{style:{position:`relative`},children:[(0,Z.jsx)(`img`,{src:t.url,alt:t.name||a(`buyer.orderDetail.review.draftImage`),style:{width:72,height:72,objectFit:`cover`,borderRadius:8}}),(0,Z.jsx)(`button`,{type:`button`,className:`checkout-text-btn`,onClick:()=>q(t=>({...t,[e.id]:{...r,attachments:(r.attachments||[]).filter((e,t)=>t!==n)}})),children:a(`buyer.orderDetail.review.remove`)})]},`${e.id}-draft-attachment-${n}`))}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,disabled:!$t||z||Y===e.id,onClick:()=>St(e.id),children:Y===e.id?a(`buyer.orderDetail.review.saving`):a(`buyer.orderDetail.review.submit`)})]})]})},`review-${e.id||t}`)})})]})]}),rn&&(0,Z.jsx)(`section`,{className:`bottom-confirm-receipt`,"aria-label":a(`buyer.orderDetail.confirmReceipt`),children:(0,Z.jsx)(`button`,{className:`detail-action-btn btn-primary`,type:`button`,onClick:()=>bt(`Confirm receipt`),disabled:z,children:a(`buyer.orderDetail.confirmReceipt`)})}),Pe&&(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,onClick:()=>Fe(null),children:(0,Z.jsxs)(`div`,{className:`address-modal review-image-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":a(`buyer.orderDetail.review.imageViewer`),onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.orderDetail.review.image`)}),(0,Z.jsx)(`button`,{className:`close-modal btn-neutral`,type:`button`,onClick:()=>Fe(null),"aria-label":a(`buyer.orderDetail.review.closeImageViewer`),children:`Ã`})]}),(0,Z.jsx)(`img`,{src:Pe.url,alt:Pe.alt||a(`buyer.orderDetail.review.image`),className:`review-image-modal-preview`})]})}),(0,Z.jsx)(Yd,{open:V===`close`,title:a(`buyer.orderDetail.closeComplaintTitle`),body:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.closeComplaintBody`)}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.closeComplaintFinancialBody`)})]}),cancelLabel:a(`common.cancel`),confirmLabel:a(`buyer.orderDetail.closeComplaint`),loadingLabel:a(`buyer.orderDetail.closingComplaint`),loading:z,onCancel:()=>H(null),onConfirm:async()=>{await hn()&&H(null)}}),(0,Z.jsx)(Yd,{open:V===`cancel`,title:a(`buyer.orderDetail.cancellationModalTitle`),body:(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.cancellationModalBody`)}),cancelLabel:a(`common.cancel`),confirmLabel:a(`buyer.orderDetail.submitCancellation`),loadingLabel:a(`buyer.orderDetail.submittingCancellation`),loading:z,confirmDisabled:re.trim().length<3,onCancel:()=>H(null),onConfirm:gn,children:(0,Z.jsxs)(`div`,{className:`buyer-action-dialog-form`,children:[(0,Z.jsxs)(`label`,{className:`buyer-action-dialog-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.cancellationReasonLabel`)}),(0,Z.jsxs)(`select`,{className:`buyer-action-dialog-control`,value:U,onChange:e=>W(e.target.value),children:[(0,Z.jsx)(`option`,{value:`wrong_order`,children:a(`buyer.orderDetail.cancellationReasons.wrongOrder`)}),(0,Z.jsx)(`option`,{value:`wrong_address`,children:a(`buyer.orderDetail.cancellationReasons.wrongAddress`)}),(0,Z.jsx)(`option`,{value:`other`,children:a(`buyer.orderDetail.cancellationReasons.other`)})]})]}),(0,Z.jsxs)(`label`,{className:`buyer-action-dialog-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.orderDetail.cancellationDetailsLabel`)}),(0,Z.jsx)(`textarea`,{className:`buyer-action-dialog-control`,rows:3,minLength:3,maxLength:1e3,value:re,onChange:e=>G(e.target.value),required:!0})]}),(0,Z.jsx)(`small`,{children:a(`buyer.orderDetail.cancellationDetailsHelp`)})]})})]})]})}var tf={open:`Open`,awaiting_seller_response:`Waiting for seller`,seller_proposed_solution:`Seller proposed solution`,awaiting_buyer_response:`Waiting for buyer`,escalated_to_ops:`Escalated to Tokodepan`,ops_review:`Tokodepan reviewing`,resolved_refund:`Resolved: Refund`,resolved_replacement:`Resolved: Replacement`,resolved_rejected:`Resolved: Rejected`,closed:`Closed`,closed_by_buyer:`Closed by buyer`};
9function nf(e,t=null){return t?Fi(t,e):tf[String(e||``).toLowerCase()]||e||`-`}function rf({navigate:e,authState:t,onAuthSuccess:n,deps:r={}}){let i=Rr(),{api:a,BuyerLayout:o}=r,[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!0),[d,f]=(0,_.useState)(``);async function p(){u(!0),f(``);try{c(await a(`/me/complaints`))}catch(e){f(e.message||i(`buyer.complaintDetail.loadError`))}finally{u(!1)}}(0,_.useEffect)(()=>{p()},[]);let m=(0,_.useMemo)(()=>[...s||[]].sort((e,t)=>new Date(t.last_message_at||t.updated_at||0)-new Date(e.last_message_at||e.updated_at||0)),[s]);return(0,Z.jsx)(o,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`section`,{className:`transaction-page buyer-complaints-page`,children:[(0,Z.jsx)(`div`,{className:`transaction-heading-row`,children:(0,Z.jsx)(`h1`,{children:i(`buyer.complaints.title`)})}),l&&(0,Z.jsx)(`p`,{children:i(`buyer.complaints.loading`)}),!l&&d&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`results-message error`,children:d}),(0,Z.jsx)(`button`,{className:`detail-action-btn`,onClick:p,children:i(`buyer.orders.retry`)})]}),!l&&!d&&m.length===0&&(0,Z.jsx)(`p`,{children:i(`buyer.complaints.empty`)}),!l&&!d&&(0,Z.jsx)(`div`,{className:`buyer-complaint-list`,children:m.map(t=>(0,Z.jsxs)(`article`,{className:`detail-card buyer-complaint-row`,role:`link`,tabIndex:0,onClick:()=>e(`/complaints/${encodeURIComponent(t.public_id)}`),onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(`/complaints/${encodeURIComponent(t.public_id)}`))},children:[(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`span`,{className:`status-badge`,children:nf(t.status,i)})}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[i(`buyer.complaints.invoice`),`:`]}),` `,t.invoice_number||t.order_public_id||t.order_id||`-`]}),(0,Z.jsxs)(`p`,{children:[i(`buyer.complaints.seller`),`: `,t.seller_name||i(`buyer.complaints.seller`)]}),(0,Z.jsxs)(`p`,{children:[i(`buyer.complaints.reason`),`: `,Bi(i,t.reason_code)]}),(0,Z.jsxs)(`p`,{children:[i(`buyer.complaints.updatedAt`),`: `,Qc(t.last_message_at||t.updated_at||t.created_at)]})]},t.public_id||t.id))})]})})}function af(e){return{publicId:e?.order_summary?.public_id||e?.order_public_id||``,invoice:e?.order_summary?.invoice_number||e?.invoice_number||``}}function of(e){let{publicId:t}=af(e);return t?`/orders/${encodeURIComponent(t)}`:`/orders`}function sf({publicId:e,navigate:t,authState:n,onAuthSuccess:r,deps:i={}}){let a=Rr(),{api:o,BuyerLayout:s}=i,[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(!0),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!1),N=(0,_.useRef)(null),ee=(0,_.useRef)(``);async function P(){d(!0),p(``);try{l(await o(`/me/complaints/${encodeURIComponent(e)}`))}catch(e){p(e.message||a(`buyer.complaintDetail.loadError`))}finally{d(!1)}}(0,_.useEffect)(()=>{P()},[e]),(0,_.useEffect)(()=>()=>{ee.current&&URL.revokeObjectURL(ee.current)},[]);let F=(0,_.useMemo)(()=>[...c?.messages||[]].sort((e,t)=>new Date(e.created_at)-new Date(t.created_at)),[c]);async function I(){if(m.trim()){v(!0),O(null);try{await o(`/me/complaints/${encodeURIComponent(e)}/messages`,{method:`POST`,body:{body:m.trim()}}),h(``),O({type:`success`,text:a(`buyer.complaintDetail.replySuccess`)}),await P()}catch(e){O({type:`error`,text:e.message||a(`buyer.complaintDetail.replyError`)})}finally{v(!1)}}}async function L(){if(!(k||!c?.can_buyer_close_complaint)){A(!0),p(``);try{return l(await o(`/me/complaints/${encodeURIComponent(e)}/close`,{method:`POST`})),O({type:`success`,text:a(`buyer.complaintDetail.closeComplaintSuccess`)}),!0}catch(e){p(e?.message||a(`buyer.complaintDetail.closeComplaintError`))}finally{A(!1)}return!1}}function te(){ee.current&&URL.revokeObjectURL(ee.current),ee.current=``,E(``),w(null),N.current&&(N.current.value=``)}function ne(e){let t=Array.from(e||[])[0];if(!t)return;if(!String(t.type||``).toLowerCase().startsWith(`image/`)){S({type:`error`,text:a(`buyer.complaintDetail.uploadError`)});return}if((c?.attachments||[]).length>=5){S({type:`error`,text:a(`buyer.complaintDetail.maxImages`)}),N.current&&(N.current.value=``);return}ee.current&&URL.revokeObjectURL(ee.current);let n=URL.createObjectURL(t);ee.current=n,E(n),w(t),S(null)}async function z(){if(y||!C)return;let t=C;b(!0),S(null);try{let n=await(await R(`/message-attachments/upload`,{method:`POST`,headers:{"Content-Type":t.type||`application/octet-stream`},body:t})).json();await o(`/me/complaints/${encodeURIComponent(e)}/attachments`,{method:`POST`,body:{name:t.name||`proof-image`,url:n?.url||``,mime_type:t.type||`image/jpeg`,size_bytes:t.size||0}}),te(),S({type:`success`,text:a(`buyer.complaintDetail.uploadSuccess`)}),await P()}catch{S({type:`error`,text:a(`buyer.complaintDetail.uploadError`)})}finally{b(!1)}}let B=(c?.next_actions||[])[0]||null,V=Wi(a,B,{refundAmount:`Rp ${Number(c?.resolution?.refund_total_amount_cents||0).toLocaleStr
9ing(`id-ID`)}`}),H=c?.return_shipment||null,U=c?.settlement||null,W=Gi(a,c?.resolution?.return_label_mode,c?.resolution?.return_freight_payer),re=B?.href||(B?.enabled?H?.provider_label_url:null),G=c?.seller_return_address,ie=G?[G.recipient_name,G.line1,G.line2,G.district,G.city,G.province,G.postal_code].filter(Boolean).join(`, `):``,ae=String(B?.type||B?.notification_type||``).toLowerCase()===`ship_return_manual`,oe=c?.resolution?.return_required===!0&&ae,se=af(c).invoice,ce=of(c),le=se?a(`buyer.complaintDetail.titleWithInvoice`,{invoice:se}):a(`buyer.complaintDetail.title`),ue=Ii(c?.status),K=c?.status===`closed_by_buyer`?a(`buyer.complaintDetail.closedByBuyer`):nf(c?.status,a);return(0,Z.jsx)(s,{navigate:t,authState:n,onAuthSuccess:r,children:(0,Z.jsxs)(`section`,{className:`transaction-detail-page complaint-detail-page`,children:[(0,Z.jsxs)(`header`,{className:`complaint-detail-header`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`detail-action-btn complaint-detail-back`,onClick:()=>t(ce),children:[`â `,a(`buyer.complaintDetail.backTransaction`)]}),(0,Z.jsxs)(`div`,{className:`complaint-detail-title-row`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{className:`complaint-detail-eyebrow`,children:a(`buyer.complaintDetail.complaintLabel`)}),(0,Z.jsx)(`h1`,{children:le})]}),c&&(0,Z.jsx)(`span`,{className:`status-badge complaint-detail-status ${ue}`,children:K})]})]}),u&&(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.loading`)}),f&&(0,Z.jsx)(`p`,{className:`results-message error`,children:f}),c&&(0,Z.jsxs)(`div`,{className:`detail-card complaint-detail-card`,children:[(0,Z.jsxs)(`section`,{className:`complaint-detail-section complaint-summary`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.caseOverview`)}),(0,Z.jsxs)(`dl`,{className:`complaint-metadata`,children:[se&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`buyer.complaints.invoice`)}),(0,Z.jsx)(`dd`,{children:se})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:a(`buyer.complaints.seller`)}),(0,Z.jsx)(`dd`,{children:c.seller_name||c.seller_summary?.name||a(`buyer.complaintDetail.sellerUnavailable`)})]})]}),(0,Z.jsxs)(`div`,{className:`complaint-buyer-report`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.complaintDetail.buyerReport`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaints.reason`),`:`]}),` `,Bi(a,c.reason_code)]}),(0,Z.jsx)(`p`,{children:c.reason_text||``}),c.proposed_resolution&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.requestedResolution`),`:`]}),` `,Li(a,c.proposed_resolution)]})]})]}),c.can_buyer_close_complaint&&(0,Z.jsxs)(`div`,{className:`complaint-detail-section complaint-close-action`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.availableAction`)}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn warning-outline`,onClick:()=>M(!0),disabled:k,children:a(`buyer.complaintDetail.closeComplaint`)})]}),c.resolution&&(0,Z.jsxs)(`section`,{className:`complaint-detail-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.resolution`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.resolution`),`:`]}),` `,Li(a,c.resolution.resolution_type)]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.returnRequired`),`:`]}),` `,c.resolution.return_required?a(`buyer.complaintDetail.required`):a(`buyer.complaintDetail.notRequired`)]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.replacementShipment`),`:`]}),` `,c.resolution.replacement_required?a(`buyer.complaintDetail.required`):a(`buyer.complaintDetail.notRequired`)]}),!U&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.refundAmount`),`:`]}),` Rp `,Number(c.resolution.refund_total_amount_cents||0).toLocaleString(`id-ID`)]}),c.resolution.buyer_instruction&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.instruction`),`:`]}),` `,c.resolution.buyer_instruction]})]}),U&&(0,Z.jsxs)(`section`,{className:`complaint-detail-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.settlementTitle`)}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.approvedRefund`),`:`]}
9),` Rp `,Number(U.buyer_refund_amount_cents||0).toLocaleString(`id-ID`),` `,U.currency||`IDR`]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.refundStatus`),`:`]}),` `,U.refund_status||U.status||`-`]}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.confirmedAt`),`:`]}),` `,U.confirmed_at?$c(U.confirmed_at):`-`]})]}),(0,Z.jsxs)(`section`,{className:`complaint-detail-section complaint-next-step`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.nextStep`)}),V?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`h3`,{children:V.title}),(0,Z.jsx)(`p`,{children:V.description}),oe&&ie&&(0,Z.jsxs)(`div`,{className:`complaint-return-address`,children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.sellerReturnAddress`),`:`]}),(0,Z.jsx)(`p`,{children:ie})]}),V.actionLabel&&re&&(0,Z.jsx)(`a`,{href:re,target:`_blank`,rel:`noreferrer`,className:`detail-action-btn`,children:V.actionLabel}),oe&&W.map(e=>(0,Z.jsx)(`p`,{className:`complaint-return-shipping-info`,children:e},e)),oe&&c.resolution?.return_label_mode===`tokodepan_label`&&(0,Z.jsxs)(`div`,{children:[H?.status===`label_created`&&(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`strong`,{children:a(`buyer.complaintDetail.returnLabelReady`)})}),H?.provider_waybill&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.complaintDetail.waybill`),`:`]}),` `,H.provider_waybill]}),H?.provider_label_url&&(0,Z.jsx)(`a`,{href:H.provider_label_url,target:`_blank`,rel:`noreferrer`,className:`detail-action-btn`,children:a(`buyer.complaintDetail.viewReturnLabel`)}),H?.provider_waybill&&!H?.provider_label_url&&(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.followInstructions`)}),c.resolution?.fault_party===`seller`&&(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.sellerCoversReturn`)})]})]}):(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.waitingDecision`)})]}),(0,Z.jsxs)(`section`,{className:`complaint-detail-section complaint-evidence`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.evidence`)}),(0,Z.jsx)(`p`,{className:`complaint-section-help`,children:a(`buyer.complaintDetail.evidenceHelp`)}),(c.attachments||[]).length===0?(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.noEvidence`)}):(0,Z.jsx)(`div`,{className:`complaint-evidence-grid`,children:c.attachments.map((e,t)=>{let n=Hi(a,e.uploader_role);return(0,Z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,Z.jsx)(`span`,{className:`complaint-evidence-image`,children:(0,Z.jsx)(`img`,{src:e.url,alt:n})}),(0,Z.jsx)(`small`,{children:n})]},t)})}),(0,Z.jsx)(`input`,{ref:N,type:`file`,accept:`image/*`,onChange:e=>ne(e.target.files),disabled:y||(c.attachments||[]).length>=5,hidden:!0}),(0,Z.jsxs)(`div`,{className:`complaint-evidence-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,onClick:()=>N.current?.click(),disabled:y||(c.attachments||[]).length>=5,children:a(`buyer.complaintDetail.addImage`)}),(0,Z.jsxs)(`small`,{children:[a(`buyer.complaintDetail.maxImages`),`: 5`]})]}),C&&(0,Z.jsxs)(`div`,{className:`complaint-staged-image`,"aria-busy":y,children:[(0,Z.jsx)(`img`,{src:T,alt:a(`buyer.complaintDetail.selectedImage`)}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`strong`,{children:C.name}),(0,Z.jsxs)(`small`,{children:[(C.size/1048576).toFixed(1),` MB`]})]}),(0,Z.jsxs)(`div`,{className:`complaint-staged-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`detail-action-btn`,onClick:te,disabled:y,children:a(`buyer.complaintDetail.removeSelectedImage`)}),(0,Z.jsxs)(`button`,{type:`button`,className:`detail-action-btn primary`,onClick:z,disabled:y,"aria-busy":y,children:[y&&(0,Z.jsx)(`span`,{className:`complaint-button-spinner`,"aria-hidden":`true`}),y?a(`buyer.complaintDetail.uploading`):x?.type===`error`?a(`buyer.complaintDetail.retryUpload`):a(`buyer.complaintDetail.uploadSelectedImage`)]})]})]}),x&&(0,Z.jsx)(`p`,{className:`results-message ${x.type}`,children:x.text})]}),(0,Z.jsxs)(`section`,{className:`complaint-detail-section complaint-messages`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.complaintDetail.messages`)}),(0,Z.jsx)(`p`,{className:`complaint-section-help`,children:a(`buyer.complaintDetail.conversationHelp`)}),F.length===0?(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.noMessages`)}):(0,Z.jsx)(`div`,{className:`complaint-message-list`,children:F.map((e,t)=>(0,Z.jsxs)(`article`,{className:`complaint-message ${Pi(e.sender_role)}`,children:[(0,Z.jsx)(`strong`,{className:`complaint-role-badge`,children:Vi(a,e.sender_role)}),(0,Z.jsx)(`p`,{children:e.body}),(0,Z.jsx)(`time`,{children:$c(e.created_at)})]},t))}),(0,Z.jsxs)(`div`,{className:`complaint-reply-composer`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.complaintDetail.replyTitle`)}),(0,Z.jsx)(`textarea`,{value:m,onChange:e=>h(e.target.value),placeholder:a(`buyer.complaintDetail.replyPlaceholder`)}),(0,Z.jsx)(`div`,{className:`complaint-reply-actions`,children:(0,Z.jsxs)(`button`,{className:`detail-action-btn primary`,onClick:I,disabled:g||!m.trim(),"aria-busy":g,children:[g&&(0,Z.jsx)(`span`,{className:`complaint-button-spinner`,"aria-hidden":`true`}),a(g?`buyer.chat.sending`:`buyer.chat.send`)]})}),D&&(0,Z.jsx)(`p`,{className:`results-message ${D.type}`,children:D.text})]})]}),(0,Z.jsx)(`nav`,{className:`complaint-detail-navigation`,"aria-label":a(`buyer.complaintDetail.backTransaction`),children:(0,Z.jsxs)(`button`,{type:`button`,className:`detail-action-btn`,onClick:()=>t(ce),children:[`â `,a(`buyer.complaintDetail.backTransaction`)]})})]}),(0,Z.jsx)(Yd,{open:j,title:a(`buyer.complaintDetail.closeComplaintTitle`),body:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:a(`buyer.complaintDetail.closeComplaintBody`)}),(0,Z.jsx)(`p`,{children:a(`buyer.orderDetail.closeComplaintFinancialBody`)})]}),cancelLabel:a(`common.cancel`),confirmLabel:a(`buyer.complaintDetail.closeComplaint`),loadingLabel:a(`buyer.complaintDetail.closingComplaint`),loading:k,onCancel:()=>M(!1),onConfirm:async()=>{await L()&&M(!1)}})]})})}function cf(e){let t=String(e?.formatted_address||``).trim(),n=String(e?.display_name||``).trim()||t;return{title:n,address:t&&t.localeCompare(n,void 0,{sensitivity:`accent`})!==0?t:``}}async function lf({api:e,query:t,inFlightRef:n,skipAuthHandling:r=!1}){let i=String(t||``).trim();if(i.length<3||n.current)return null;n.current=!0;try{return typeof e==`function`?await e(`/addresses/search`,{method:`POST`,body:{query:i},skipAuthHandling:r}):await e.addressSearch(i)}finally{n.current=!1}}function uf(e,t){let n=t?.components||{};return{...e,line1:n.street||t?.formatted_address||e.line1,province:n.province||``,city:n.city||``,district:n.district||``,postal_code:n.postal_code||``,country:`ID`,latitude:Number(t?.latitude),longitude:Number(t?.longitude)}}function df(e,t,n){return{...e,latitude:Number(t),longitude:Number(n)}}function ff(e,t,n,r){let i=t?.components||{};return{...e,line1:i.street||t?.formatted_address||e.line1,province:i.province||e.province,city:i.city||e.city,district:i.district||e.district,subdistrict:i.subdistrict||e.subdistrict,postal_code:i.postal_code||e.postal_code,country:`ID`,latitude:Number(n),longitude:Number(r)}}async function pf({api:e,latitude:t,longitude:n,skipAuthHandling:r=!1}){return e(`/addresses/reverse`,{method:`POST`,body:{latitude:Number(t),longitude:Number(n)},skipAuthHandling:r})}function mf({api:e,onSelect:t,onUseCurrentLocation:n,currentLocationWarning:r=``,skipAuthHandling:i=!1,t:a}){let[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(!1),m=(0,_.useRef)(!1);async function h(t){if(t.preventDefault(),!(o.trim().length<3||m.current)){p(!0),d(``),l([]);
9try{let t=await lf({api:e,query:o,inFlightRef:m,skipAuthHandling:i});l(t||[]),(t||[]).length||d(a(`buyer.addresses.addressNotFound`))}catch{d(a(`buyer.addresses.addressSearchFailed`))}finally{p(!1)}}}function g(e){t(e),s(e.formatted_address||o),l([]),d(``)}return(0,Z.jsxs)(`div`,{className:`address-search-section`,children:[(0,Z.jsxs)(`div`,{className:`address-location-choice`,children:[(0,Z.jsxs)(`div`,{className:`address-location-control`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:n,children:a(`buyer.addresses.useCurrentLocation`)}),r&&(0,Z.jsx)(`p`,{className:`form-warning`,role:`alert`,children:r})]}),(0,Z.jsx)(`p`,{className:`address-location-guidance`,children:a(`buyer.addresses.currentLocationBestWhenThere`)})]}),(0,Z.jsx)(`div`,{className:`address-choice-separator`,children:(0,Z.jsx)(`span`,{children:a(`buyer.addresses.or`)})}),(0,Z.jsx)(`h3`,{children:a(`buyer.addresses.findAddress`)}),(0,Z.jsx)(`p`,{children:a(`buyer.addresses.searchWhenAway`)}),(0,Z.jsxs)(`form`,{className:`address-search-row`,onSubmit:h,children:[(0,Z.jsx)(`input`,{"aria-label":a(`buyer.addresses.fullAddressPlaceholder`),placeholder:a(`buyer.addresses.fullAddressPlaceholder`),value:o,onChange:e=>s(e.target.value)}),(0,Z.jsx)(`button`,{type:`submit`,className:`profile-inline-btn`,disabled:f||o.trim().length<3,children:a(f?`buyer.addresses.searchingAddress`:`buyer.addresses.find`)})]}),c.length>0&&(0,Z.jsxs)(`fieldset`,{className:`address-search-results`,children:[(0,Z.jsx)(`legend`,{children:a(`buyer.addresses.chooseAddress`)}),c.map(e=>{let t=cf(e);return(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>g(e),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`â`}),(0,Z.jsxs)(`span`,{className:`address-search-result-copy`,children:[(0,Z.jsx)(`strong`,{children:t.title}),t.address&&(0,Z.jsx)(`span`,{children:t.address})]})]},e.place_id||e.formatted_address)})]}),u&&(0,Z.jsx)(`p`,{className:`form-error`,role:`alert`,children:u})]})}function hf({navigate:e,authState:t,onAuthSuccess:n,embedded:r=!1,deps:i={}}){let a=Rr(),{api:o,BuyerLayout:s,FullPageLoadingOverlay:c,InlineLoading:l,SectionLoadingOverlay:u,SkeletonBlock:d,RouteLink:f,StoreNameLink:p,BUYER_ESTIMATE_METHODS:m,CHECKOUT_DRAFT_STORAGE_KEY:h,normalizeAddressPayload:g,normalizeRequiredAddressValue:v,AddressMapPicker:y,AUTH_UNAUTHORIZED_EVENT:b,SESSION_EXPIRED_REASON:x,ChatAttachmentViewer:S,ChatComposer:C}=i,w=new URLSearchParams(window.location.search),T=w.get(`mode`)===`checkout`,E=w.get(`returnTo`)||`/cart`,D={label:``,recipient_name:``,phone:``,line1:``,line2:``,city:``,district:``,province:``,postal_code:``,latitude:null,longitude:null,country:`ID`},[O,k]=(0,_.useState)([]),[A,j]=(0,_.useState)(D),[M,N]=(0,_.useState)(null),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(Vl.ANONYMOUS),[L,te]=(0,_.useState)(``),[ne,R]=(0,_.useState)(!0),[z,B]=(0,_.useState)(!0),[V,H]=(0,_.useState)(``),[U,W]=(0,_.useState)(``),[re,G]=(0,_.useState)(``),[ie,ae]=(0,_.useState)([]),[oe,se]=(0,_.useState)([]),[ce,le]=(0,_.useState)([]),[ue,K]=(0,_.useState)([]),[de,q]=(0,_.useState)(!1),[fe,pe]=(0,_.useState)(!1),[me,he]=(0,_.useState)(!1),[J,Y]=(0,_.useState)(``),[X,ge]=(0,_.useState)(``),[_e,ve]=(0,_.useState)({}),[ye,be]=(0,_.useState)(``),[xe,Se]=(0,_.useState)(0),[Ce,we]=(0,_.useState)(0),Te=(0,_.useRef)(!1),Ee=(0,_.useRef)(null),[Oe,ke]=(0,_.useState)(t?.status!==`authenticated`),Ae=Tl(o);async function je(){if(t?.status===`authenticated`){I(Vl.AUTHENTICATED),ke(!1);return}try{let e=await o(`/signup/guest-prefill`,{skipAuthHandling:!0});I(e?.has_verified_guest?Vl.VERIFIED_GUEST:Vl.ANONYMOUS),ke(!e?.has_verified_guest)}catch{I(Vl.ANONYMOUS),ke(!0)}}async function Me(){R(!0),te(``);try{let e=await o(`/addresses`,{skipAuthHandling:t?.status!==`authenticated`})||[];if(k(e),t?.status===`authenticated`){let n=Cu(window.localStorage,t?.me?.id,e);P(n?String(n.id):``)}}catch(e){te(e.message)}finally{R(!1),B(!1)}}(0,_.useEffect)(()=>{Me(),je()},[]),(0,_.useEffect)(()=>{o(`/locations/indonesia/provinces`).then(e=>ae(e||[])).catch(e=>H(e.message||a(`buyer.addresses.locationOptionsFailed`)))},[]),(0,_.useEffect)(()=>
9{if(!A.province)return se([]);o(`/locations/indonesia/cities?province=${encodeURIComponent(A.province)}`).then(e=>se(e||[])).catch(e=>H(e.message||a(`buyer.addresses.locationOptionsFailed`)))},[A.province]),(0,_.useEffect)(()=>{if(!A.province||!A.city)return le([]);o(`/locations/indonesia/districts?province=${encodeURIComponent(A.province)}&city=${encodeURIComponent(A.city)}`).then(e=>le(e||[])).catch(e=>H(e.message||a(`buyer.addresses.locationOptionsFailed`)))},[A.city,A.province]),(0,_.useEffect)(()=>{if(!A.province||!A.city||!A.district)return K([]);o(`/locations/indonesia/postal-codes?province=${encodeURIComponent(A.province)}&city=${encodeURIComponent(A.city)}&district=${encodeURIComponent(A.district)}`).then(e=>K(e||[])).catch(e=>H(e.message||a(`buyer.addresses.locationOptionsFailed`)))},[A.city,A.district,A.province]),(0,_.useEffect)(()=>{if(!fe)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`,Ee.current?.focus();let t=e=>{e.key===`Escape`&&!Te.current&&pe(!1)};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t),document.body.style.overflow=e}},[fe]);async function Ne(){if(Te.current)return;he(!0),Y(``),ge(``),te(``),H(``);let e=[`recipient_name`,`phone`,`line1`,`province`,`city`,`district`,`postal_code`],n={};if(e.forEach(e=>{v(A[e])||(n[e]=a(`buyer.addresses.fieldRequired`,{field:ze(e)}))}),(!Number.isFinite(A.latitude)||!Number.isFinite(A.longitude))&&(n.coordinate=a(`buyer.addresses.pinRequired`)),Number.isFinite(A.latitude)&&Number.isFinite(A.longitude)&&!De(A.latitude,A.longitude)&&(n.coordinate=a(`buyer.addresses.pinWithinIndonesia`)),String(A.country||``).trim().toUpperCase()!==`ID`&&(n.country=a(`buyer.addresses.countryRequired`)),Object.keys(n).length>0){ve(n),Y(a(`buyer.addresses.requiredFields`)),ge(`error`);return}ve({}),Te.current=!0,q(!0);try{await o(M?`/addresses/${M}`:`/addresses`,{method:M?`PATCH`:`POST`,body:g(A),skipAuthHandling:t?.status!==`authenticated`}),j(D),N(null),ve({}),he(!1),W(``),await Me(),pe(!1),Y(a(`buyer.addresses.saveSuccess`)),ge(`success`)}catch(e){Y(e.message||a(`buyer.addresses.saveError`)),ge(`error`)}finally{Te.current=!1,q(!1)}}async function Pe(e){te(``);try{await o(`/addresses/${e}/default`,{method:`POST`,skipAuthHandling:t?.status!==`authenticated`}),await Me()}catch(e){te(e.message)}}async function Fe(e){if(window.confirm(a(`buyer.addresses.deleteConfirm`))){te(``);try{await o(`/addresses/${e}`,{method:`DELETE`,skipAuthHandling:t?.status!==`authenticated`}),await Me()}catch(e){te(e.message)}}}async function Ie(e,n,r=`manual`){if(j(t=>df(t,e,n)),be(r),ve(e=>{let t={...e};return delete t.coordinate,t}),r===`current_location`)try{let r=await pf({api:o,latitude:e,longitude:n,skipAuthHandling:t?.status!==`authenticated`});r&&j(t=>ff(t,r,e,n))}catch{W(a(`buyer.addresses.reverseGeocodeUnavailable`))}}function Q(e){j(t=>uf(t,e)),be(`google`),we(e=>e+1)}function Le(e){return[e.line1,e.line2,e.district,e.city,e.province,e.postal_code].filter(Boolean).join(`, `)}function Re(e){return e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function ze(e){let t={label:`label`,recipient_name:`recipientName`,phone:`phone`,line1:`street`,line2:`details`,province:`province`,city:`city`,district:`district`,postal_code:`postalCode`,latitude:`latitude`,longitude:`longitude`};return t[e]?a(`buyer.addresses.${t[e]}`):Re(e)}function Be(){N(null),j(D),ve({}),he(!1),Y(``),ge(``),H(``),W(``),G(``),be(``),pe(!0)}function Ve(e){N(e.id),j({...D,...e}),be(``),ve({}),Y(``),ge(``),H(``),W(``),G(``),pe(!0)}function He(){Te.current||pe(!1)}function Ue(n){let r=String(n);P(r),Tu({shopperKind:F,localStorage:window.localStorage,sessionStorage:window.sessionStorage,buyerId:t?.me?.id,checkoutDraftKey:h,addressId:r}),T&&e(E)}let We=a(T?`buyer.addresses.selectTitle`:`buyer.addresses.manageTitle`),$=a(T?`buyer.addresses.selectDescription`:`buyer.addresses.manageDescription`),Ge=(0,Z.jsxs)(`section`,{className:r?`addresses-page addresses-page-embedded`:`addresses-page`,children:[Oe&&(0,Z.jsxs)(`div`,{className:`checkout-auth-toggle`,children:[(0,Z.jsx)(`p`,{children:a(Ae.isEnabled?`buyer.auth.entryChoiceWithGuest`:`buyer.auth.entryChoiceAccountOnly`)}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>e(Ot(`/addresses`)),children:a(`buyer.auth.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>e(kt(`/addresses`)),children:a(`buyer.auth.signup`)}),Ae.isEnabled&&(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:()=>ke(!1),children:a(`buyer.auth.continueAsGuest`)})]})]}),!Oe&&(0,Z.jsxs)(`div`,{className:`addresses-shell`,children:[(0,Z.jsx)(c,{show:z,label:a(`buyer.addresses.loading`)}),!r&&(0,Z.jsxs)(`header`,{className:`addresses-page-head`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`button`,{className:`addresses-back-btn`,onClick:()=>e(T?E:`/profile`),children:[`â `,a(T?`buyer.addresses.backToCart`:`buyer.addresses.backToProfile`)]}),(0,Z.jsx)(`h1`,{children:We}),(0,Z.jsx)(`p`,{children:$})]}),T&&(0,Z.jsx)(`span`,{className:`addresses-mode-pill`,children:a(`buyer.addresses.checkoutFlow`)})]}),L&&(0,Z.jsx)(`div`,{className:`detail-error`,children:L}),ne&&!z&&(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsx)(`p`,{children:a(`buyer.addresses.loading`)})}),!ne&&O.length===0&&(0,Z.jsxs)(`article`,{className:`profile-section-card addresses-empty-state`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:a(`buyer.addresses.emptyTitle`)}),(0,Z.jsx)(`p`,{children:a(`buyer.addresses.emptyDescription`)})]}),(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:Be,children:a(`buyer.addresses.add`)})]}),(0,Z.jsx)(`div`,{className:`profile-stack-list`,children:O.map(e=>(0,Z.jsxs)(`article`,{className:`profile-section-card address-card`,children:[(0,Z.jsxs)(`div`,{className:`address-card-content`,children:[(0,Z.jsxs)(`div`,{className:`address-card-heading`,children:[(0,Z.jsx)(`h3`,{children:e.label||a(`buyer.addresses.untitled`)}),(0,Z.jsxs)(`div`,{className:`address-card-badges`,children:[e.is_default&&(0,Z.jsx)(`span`,{className:`pill-default`,children:a(`buyer.addresses.default`)}),ee===String(e.id)&&(0,Z.jsx)(`span`,{className:`pill-current-delivery`,children:a(`buyer.addresses.currentDelivery`)})]})]}),(0,Z.jsx)(`p`,{className:`address-recipient`,children:e.recipient_name||`-`}),(0,Z.jsx)(`p`,{className:`address-phone`,children:e.phone||`-`}),(0,Z.jsx)(`p`,{className:`address-summary`,children:Le(e)||`-`})]}),(0,Z.jsxs)(`div`,{className:`profile-inline-actions address-card-actions`,children:[(F===Vl.AUTHENTICATED||T&&F===Vl.VERIFIED_GUEST)&&(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:()=>Ue(e.id),disabled:ee===String(e.id),children:ee===String(e.id)?a(`buyer.addresses.currentDelivery`):a(`buyer.addresses.useThisAddress`)}),!e.is_default&&(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:()=>Pe(e.id),children:a(`buyer.addresses.setDefault`)}),(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:()=>Ve(e),children:a(`buyer.addresses.editAction`)}),(0,Z.jsx)(`button`,{className:`profile-inline-btn address-delete-btn`,onClick:()=>Fe(e.id),children:a(`buyer.addresses.deleteAction`)})]})]},e.id))}),(0,Z.jsxs)(`div`,{className:`addresses-create-entry`,children:[!fe&&(0,Z.jsxs)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:Be,children:[`+ `,a(`buyer.addresses.addNew`)]}),!fe&&J&&(0,Z.jsx)(`p`,{className:X===`success`?`form-success`:`form-error`,role:`status`,children:J})]}),fe&&(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,children:(0,Z.jsxs)(`section`,{className:`address-modal address-editor-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`address-editor-title`,children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{id:`address-editor-title`,children:a(M?`buyer.addresses.edit`:`buyer.addresses.addNew`)}),(0,Z.jsx)(`button`,{ref:Ee,type:`button`,className:`close-modal`,onClick:He,disabled:de,"aria-label":a(`common.close`),children:`Ã`})]}),(0,Z.jsx)(mf,{api:o,onSelect:Q,onUseCurrentLocation:()=>{G(``),Se(e=>e+1)},currentLocationWarning:re,skipAuthHandling:t?.status!==`authenticated`,t:a}),(0,Z.jsxs)(`div`,{className:`address-form-grid`,children:[(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.label`),(0,Z.jsx)(`input`,{value:A.label||``,onChange:e=>j(t=>({...t,label:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.recipientName`),` *`,(0,Z.jsx)(`input`,{value:A.recipient_name||``,onChange:e=>j(t=>({...t,recipient_name:e.target.value}))})]}),_e.recipient_name&&(0,Z.jsx)(`p`,{className:`form-error`,children:_e.recipient_name}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.phone`),` *`,(0,Z.jsx)(`input`,{value:A.phone||``,onChange:e=>j(t=>({...t,phone:e.target.value}))})]}),_e.phone&&(0,Z.jsx)(`p`,{className:`form-error`,children:_e.phone}),(0,Z.jsxs)(`label`,{className:`full-width`,children:[a(`buyer.addresses.street`),` *`,(0,Z.jsx)(`input`,{value:A.line1||``,onChange:e=>j(t=>({...t,line1:e.target.value}))})]}),_e.line1&&(0,Z.jsx)(`p`,{className:`form-error full-width`,children:_e.line1}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.details`),(0,Z.jsx)(`input`,{value:A.line2||``,onChange:e=>j(t=>({...t,line2:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.province`),` *`,(0,Z.jsxs)(`select`,{value:A.province,onChange:e=>j(t=>({...t,province:e.target.value,city:``,district:``,postal_code:``})),children:[(0,Z.jsx)(`option`,{value:``,children:a(`buyer.addresses.selectProvince`)}),ie.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.city`),` *`,(0,Z.jsxs)(`select`,{value:A.city,onChange:e=>j(t=>({...t,city:e.target.value,district:``,postal_code:``})),disabled:!A.province,children:[(0,Z.jsx)(`option`,{value:``,children:a(`buyer.addresses.selectCity`)}),oe.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.district`),` *`,(0,Z.jsxs)(`select`,{value:A.district,onChange:e=>j(t=>({...t,district:e.target.value,postal_code:``})),disabled:!A.city,children:[(0,Z.jsx)(`option`,{value:``,children:a(`buyer.addresses.selectDistrict`)}),ce.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.addresses.postalCode`),` *`,(0,Z.jsxs)(`select`,{value:A.postal_code,onChange:e=>j(t=>({...t,postal_code:e.target.value})),disabled:!A.district,children:[(0,Z.jsx)(`option`,{value:``,children:a(`buyer.addresses.selectPostalCode`)}
9),ue.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))]})]}),_e.postal_code&&(0,Z.jsx)(`p`,{className:`form-error`,children:_e.postal_code}),(0,Z.jsx)(`p`,{className:`form-helper-text full-width`,children:a(`buyer.addresses.countryHelper`)})]}),(0,Z.jsxs)(`div`,{className:`address-pin-confirmation`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.addresses.verifyPin`)}),ye&&(0,Z.jsx)(`p`,{children:a(`buyer.addresses.pinSource.${ye}`)}),(0,Z.jsx)(`p`,{children:a(`buyer.addresses.adjustPinGuidance`)})]}),(0,Z.jsx)(y,{latitude:A.latitude,longitude:A.longitude,onChange:Ie,onWarning:W,onLocationWarning:G,currentLocationRequest:xe,focusRequest:Ce,showCurrentLocationButton:!1}),V&&(0,Z.jsx)(`p`,{className:`form-error`,children:V}),me&&_e.coordinate&&(0,Z.jsx)(`p`,{className:`form-error`,children:_e.coordinate}),U&&(0,Z.jsx)(`p`,{className:`form-warning`,children:U}),(0,Z.jsxs)(`div`,{className:`address-modal-actions addresses-add-actions`,children:[J&&(0,Z.jsx)(`p`,{className:X===`success`?`form-success`:`form-error`,role:`status`,children:J}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-cancel-btn`,onClick:He,disabled:de,children:a(`common.cancel`)}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-action-btn`,onClick:Ne,disabled:de,children:de?(0,Z.jsx)(l,{label:a(`buyer.addresses.saving`)}):a(M?`buyer.addresses.update`:`buyer.addresses.save`)})]})]})}),(0,Z.jsx)(u,{show:ne,label:a(`buyer.addresses.loading`)})]})]});return r?Ge:(0,Z.jsx)(s,{navigate:e,authState:t,onAuthSuccess:n,children:Ge})}function gf(e){return(0,Z.jsx)(hf,{...e})}
9var _f=[{id:`home`,translationKey:`buyer.nav.home`,path:`/`,iconId:`home`},{id:`cart`,translationKey:`buyer.nav.cart`,path:`/cart`,iconId:`cart`},{id:`transactions`,translationKey:`buyer.nav.transactions`,path:`/orders`,iconId:`transactions`},{id:`inbox`,translationKey:`buyer.nav.inbox`,path:`/inbox`,iconId:`inbox`},{id:`profile`,translationKey:`buyer.nav.profile`,path:`/profile`,iconId:`profile`}];function vf(e=`/`){let t=(e||`/`).split(`?`)[0];return t===`/`||t===`/products`||t.startsWith(`/products/`)?`home`:t===`/cart`||t.startsWith(`/checkout`)?`cart`:t===`/orders`||t.startsWith(`/orders/`)||t===`/transactions`||t.startsWith(`/transactions/`)||t===`/returns`||t.startsWith(`/returns/`)||t===`/complaints`||t.startsWith(`/complaints/`)?`transactions`:t===`/inbox`||t.startsWith(`/inbox/`)||t.startsWith(`/threads/`)||t.startsWith(`/thread/`)?`inbox`:t===`/profile`||t.startsWith(`/profile/`)||t===`/addresses`||t.startsWith(`/addresses/`)?`profile`:``}function yf({pathname:e=`/`,isAdminSurface:t=!1}={}){let n=(e||`/`).split(`?`)[0];return!t&&!n.startsWith(`/admin`)}var bf={home:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`path`,{d:`M3 10.5 12 3l9 7.5`}),(0,Z.jsx)(`path`,{d:`M5 9v11h14V9M9 20v-6h6v6`})]}),cart:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`path`,{d:`M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 1.9-1.4L21 8H6`}),(0,Z.jsx)(`circle`,{cx:`9`,cy:`20`,r:`1`}),(0,Z.jsx)(`circle`,{cx:`18`,cy:`20`,r:`1`})]}),transactions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`path`,{d:`M7 7h11l-3-3`}),(0,Z.jsx)(`path`,{d:`m18 7-3 3M17 17H6l3 3`}),(0,Z.jsx)(`path`,{d:`m6 17 3-3`})]}),inbox:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`path`,{d:`M3 5h18v14H3z`}),(0,Z.jsx)(`path`,{d:`m4 7 8 6 8-6`})]}),profile:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`circle`,{cx:`12`,cy:`8`,r:`4`}),(0,Z.jsx)(`path`,{d:`M4.5 21a7.5 7.5 0 0 1 15 0`})]})};function xf({iconId:e}){return(0,Z.jsx)(`svg`,{className:`buyer-mobile-bottom-nav-icon`,"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,focusable:`false`,children:bf[e]})}function Sf({navigate:e,pathname:t=`/`,isAdminSurface:n=!1}){let r=Rr();if(!yf({pathname:t,isAdminSurface:n}
9))return null;let i=vf(t);function a(t,n){t.preventDefault(),e(n)}return(0,Z.jsx)(`nav`,{className:`buyer-mobile-bottom-nav`,"aria-label":`Buyer mobile bottom navigation`,children:_f.map(e=>{let t=e.id===i;return(0,Z.jsxs)(`a`,{href:e.path,className:`buyer-mobile-bottom-nav-item ${t?`is-active`:``}`,"aria-current":t?`page`:void 0,onClick:t=>a(t,e.path),children:[(0,Z.jsx)(xf,{iconId:e.iconId}),(0,Z.jsx)(`span`,{children:r(e.translationKey)})]},e.id)})})}function Cf(e){return e?[e.line1,e.line2,e.district,e.city,e.province,e.postal_code].filter(Boolean).join(`, `):``}function wf({api:e,authState:t,addresses:n}){let r=Rr(),[i,a]=(0,_.useState)(()=>n||[]);(0,_.useEffect)(()=>{if(n)return;let r=!0;return e(`/addresses`,{skipAuthHandling:t?.status!==`authenticated`}).then(e=>{r&&a(Array.isArray(e)?e:[])}).catch(()=>{r&&a([])}),()=>{r=!1}},[e,t?.status,n]);let o=n||i,s=o.find(e=>e.is_default)||o[0];return s?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:s.label||r(`buyer.profile.savedAddress`)}),(0,Z.jsx)(`p`,{children:Cf(s)||r(`buyer.profile.noDefaultAddress`)})]}):(0,Z.jsx)(`p`,{children:r(`buyer.profile.noDefaultAddress`)})}async function Tf(e,t=globalThis.navigator){let n=Math.max(0,Number(e)||0);try{n===0&&typeof t?.clearAppBadge==`function`?await t.clearAppBadge():n>0&&typeof t?.setAppBadge==`function`&&await t.setAppBadge(n)}catch{}}function Ef(){return Tf(0)}async function Df({clearBadge:e,serviceWorkerContainer:t,pushSupported:n,deleteSubscription:r,maxWaitMs:i=500}){let a=async()=>{try{if(await e?.(),!t||!n||typeof t.getRegistration!=`function`)return;let i=await t.getRegistration();if(!i?.pushManager)return;let a=await i.pushManager.getSubscription();if(!a?.endpoint)return;await r(a.endpoint)}catch{}},o;try{await Promise.race([a(),new Promise(e=>{o=setTimeout(e,i)})])}finally{clearTimeout(o)}}function Of(e,t){let n=n=>e(`${t}.${n}`);return{attachment:n(`attachment`),openImageAttachment:n(`openImageAttachment`),invoiceOrder:n(`invoiceOrder`),status:n(`status`),total:n(`total`),viewOrder:n(`viewOrder`),sellerProduct:n(`sellerProduct`),product:n(`product`),price:n(`price`),productLinkUnavailable:n(`productLinkUnavailable`),openProductDetail:n(`openProductDetail`),viewProduct:n(`viewProduct`),imageViewer:n(`imageViewer`),closeImageViewer:n(`closeImageViewer`),reset:n(`reset`)}}function kf({value:e,onChange:t,required:n=!1,minLength:r,maxLength:i,autoComplete:a}){let o=Rr(),[s,c]=(0,_.useState)(!1),l=o(s?`buyer.security.hidePassword`:`buyer.security.showPassword`);return(0,Z.jsxs)(`span`,{className:`buyer-password-input`,children:[(0,Z.jsx)(`input`,{type:s?`text`:`password`,required:n,minLength:r,maxLength:i,autoComplete:a,value:e,onChange:t}),(0,Z.jsx)(`button`,{type:`button`,className:`buyer-password-toggle`,onClick:()=>c(e=>!e),"aria-label":l,title:l,children:s?(0,Z.jsx)(kn,{size:20}):(0,Z.jsx)(On,{size:20})})]})}function Af(){return typeof window>`u`?`/`:`${window.location.pathname||`/`}${window.location.search||``}`}function jf(){if(typeof window>`u`)return`/login`;let e=window.location.pathname||`/`;return e===`/login`||e===`/signup`?`/login`:Ot(`${e}${window.location.search||``}`)}function Mf(){if(typeof window>`u`)return`/signup`;let e=window.location.pathname||`/`;return e===`/login`||e===`/signup`?`/signup`:kt(`${e}${window.location.search||``}`)}var Nf={path:`/payment-handoff`,page:`payment-handoff`},Pf=`tokodepan_checkout_draft_v1`;function Ff(){try{window.google?.accounts?.id?.disableAutoSelect?.()}catch{}}function If(){return typeof window>`u`?{dedicatedAdminHost:!1}:{dedicatedAdminHost:mt(window.location.hostname)}}function Lf({disabled:e=!1}={}){let[t,n]=(0,_.useState)({state:e?`available`:`loading`,status:null,checking:!1}),r=(0,_.useRef)(null),i=(0,_.useCallback)(async({manual:t=!1}={})=>{if(r.current)return r.current;t&&!e&&n(e=>({...e,checking:!0}));let i=fetch(N(`/platform/status`),{credentials:`include`,headers:{Accept:`application/json`}}).then(async t=>{if(!t.ok)throw Error(`Unable to check Tokodepan availability.`);let r=J(await t.json());return e||n(Y(r)),r}).catch(t=>(e||n(e=>({state:e.status?e.state:`available`,status:e.status,checking:!1,error:t})),null)).finally(()=>{r.current=null});return r.current=i,de(i),i},[e]);return(0,_.useEffect)(()=>{i()},[i]),(0,_.useEffect)(()=>
9{if(e)return;let n=X(t);if(!n)return;let r=window.setInterval(()=>{ge(document.visibilityState)&&i()},n);return()=>window.clearInterval(r)},[i,e,t]),(0,_.useEffect)(()=>{if(e)return;function t(){_e(document.visibilityState)&&i()}return document.addEventListener(`visibilitychange`,t),()=>document.removeEventListener(`visibilitychange`,t)},[i,e]),{statusState:t,checkStatus:i}}async function Rf(e,t){return H(R,e,t)}async function zf(){await Df({clearBadge:Ef,serviceWorkerContainer:typeof navigator>`u`?null:navigator.serviceWorker,pushSupported:typeof window<`u`&&`PushManager`in window,deleteSubscription:e=>Rf(`/push/subscriptions/current`,{method:`DELETE`,body:{endpoint:e}})})}function Bf(e,t){return t.some(t=>!ct(e?.[t]))}function Vf(e){return e?.status===401||/not authenticated/i.test(e?.message||``)}function Hf(e){return!P(e)&&Number.isInteger(e?.status)&&e.status>=500}function Uf(e){let t=String(e||``).trim().toUpperCase();return t===`ID`||t===`INDONESIA`?`Indonesia`:e||``}function Wf(e){let t=$t(e);return t.type===`deterministic`?(0,Z.jsxs)(`p`,{className:`result-price`,children:[(0,Z.jsx)(`span`,{style:{textDecoration:`line-through`,opacity:.7,marginRight:6},children:Yt(t.originalPrice)}),t.discountPercent>0&&(0,Z.jsxs)(`span`,{className:`promo-off-badge`,children:[t.discountPercent,`% OFF`]}),(0,Z.jsx)(`strong`,{children:Yt(t.discountedPrice)})]}):t.type===`message`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`result-price`,children:Yt(t.basePrice)}),(0,Z.jsx)(`p`,{className:`result-promo-message`,children:t.message})]}):(0,Z.jsx)(`p`,{className:`result-price`,children:Yt(t.basePrice)})}function Gf(e,t){if(!e?.is_preorder)return null;let n=Number(e.preorder_days);return Number.isFinite(n)&&n>0?t(`buyer.product.preorderShipsWithin`,{days:n}):t(`buyer.product.preorder`)}function Kf(e,{isSignup:t=!1,t:n}={}){let r=(e?.message||``).trim(),i=(e,t)=>n?n(`buyer.auth.${e}`):t;return P(e)?F(e):!t&&([`invalid_credentials`,`login_unavailable`,`identity_restricted`].includes(String(e?.code||``))||[401,403].includes(Number(e?.status)))?In(e,{t:n}):e?.status===0||e?.code===`NETWORK_ERROR`?i(`networkError`,`We couldn't reach Tokodepan. Please check your connection and try again.`):Hf(e)?i(`serverError`,`Tokodepan is having a problem on our side. Please try again in a moment.`):e?.code===`buyer_phone_verification_required`?i(`phoneVerificationRequired`,`Verify your phone number before continuing to checkout or payments.`):!t&&e?.status===401?In(e,{t:n}):String(e?.code||``).toLowerCase()===`password_policy_violation`?i(`passwordPolicyError`,`Password does not meet the required policy.`):e?.status===422?i(`invalidFormat`,`Please check your email and password format.`):t&&e?.status===400&&/email already used|email_taken|already registered|already exists|duplicate/i.test(r)?i(`duplicateEmail`,`This email is already registered. Please log in instead.`):!t&&e?.status>=400&&e?.status<500?i(`loginDetailsInvalid`,`Unable to log in with those credentials. Please check and try again.`):t&&e?.status>=400&&e?.status<500?i(`signupDetailsInvalid`,`We couldn't create your account with those details. Please review and try again.`):t?i(`signupFailed`,`Sign up failed. Please try again.`):i(`loginFailed`,`Log in failed. Please try again.`)}function qf(){let[e,t]=(0,_.useState)({path:window.location.pathname,search:window.location.search}),n=(0,_.useRef)({path:window.location.pathname,search:window.location.search,state:window.history.state});(0,_.useEffect)(()=>{let e=e=>{n.current={path:window.location.pathname,search:window.location.search,state:window.history.state},t({path:window.location.pathname,search:window.location.search})};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[]);let r=(0,_.useCallback)((e,t)=>{Un(e,t),n.current={path:window.location.pathname,search:window.location.search,state:window.history.state}},[]);return{path:e.path,locationSearch:e.search,navigate:r}}function Jf(e){let[t,n]=(0,_.useState)(()=>typeof window>`u`?!1:window.matchMedia(e).matches);return(0,_.useEffect)(()=>
9{if(typeof window>`u`)return;let t=window.matchMedia(e),r=()=>n(t.matches);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}function Yf({to:e,navigate:t,children:n,style:r,className:i}){return(0,Z.jsx)(`a`,{href:e,onClick:n=>{n.preventDefault(),t(e)},style:r,className:i,children:n})}function Xf({navigate:e,sellerSlug:t,children:n,className:r=``,stopPropagation:i=!1,disabled:a=!1}){let o=(t||``).trim();return!o||a?(0,Z.jsx)(Z.Fragment,{children:n}):(0,Z.jsx)(`a`,{href:`/stores/${encodeURIComponent(o)}`,className:r,onClick:t=>{i&&t.stopPropagation(),t.preventDefault(),e(`/stores/${encodeURIComponent(o)}`)},children:n})}function Zf(e){let t=new Date(e?.created_at||Date.now()),n=`${t.getFullYear()}${String(t.getMonth()+1).padStart(2,`0`)}${String(t.getDate()).padStart(2,`0`)}`,r=String(e?.public_id||``).replaceAll(`-`,``).slice(0,6).toUpperCase();return r?`INV-${n}-${r}`:`INV-${n}-${String(e?.id||0).padStart(5,`0`)}`}async function Qf(e){return e?Rf(`/buyer/threads/${encodeURIComponent(String(e))}/read`,{method:`POST`}):null}var $f=50;function ep(e,t=!1){return t?`${$f}+`:String(e)}function tp(e){let[t,n]=(0,_.useState)({count:0,capped:!1}),r=(0,_.useRef)(null),i=(0,_.useRef)(0);(0,_.useEffect)(()=>{Tf(e?t.count:0)},[e,t.count]);let a=(0,_.useCallback)(async({force:t=!1}={})=>{if(!e){n({count:0,capped:!1});return}if(r.current)return r.current;let a=Date.now();if(!(!t&&a-i.current<9e4))try{let e=Rf(`/buyer/inbox/unread-count`);r.current=e;let t=await e;n({count:Number(t?.unread_count||0),capped:!!t?.unread_count_capped}),i.current=a}catch{n({count:0,capped:!1})}finally{r.current=null}},[e]);return(0,_.useEffect)(()=>{if(a({force:!0}),!e)return()=>{};let t=window.setInterval(()=>{if(document.visibilityState!==`visible`)return;let e=Gt(`buyer`),t=e.lastEventAt>0&&Date.now()-e.lastEventAt<12e4;e.status===`open`&&t||a()},9e4),n=()=>{document.visibilityState===`visible`&&(Date.now()-i.current<6e4||a())};return document.addEventListener(`visibilitychange`,n),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,n)}},[e,a]),(0,_.useEffect)(()=>{let e=e=>{n({count:Number(e?.detail?.unread_count||0),capped:!!e?.detail?.unread_count_capped})};return window.addEventListener(`buyer:unread-updated`,e),()=>window.removeEventListener(`buyer:unread-updated`,e)},[]),(0,_.useEffect)(()=>e?qt(e=>{try{let t=JSON.parse(e.data||`{}`);t?.type===`unread_count_changed`&&n({count:Number(t.unread_count||0),capped:!!t.unread_count_capped})}catch{}}):()=>{},[e]),t}var np={lat:-2.5,lng:118},rp=16;function ip({latitude:e,longitude:t,onChange:n,onWarning:r,onLocationWarning:i=r,enabled:a=!0,currentLocationRequest:o=0,focusRequest:s=0,showCurrentLocationButton:c=!0}){let l=Rr(),u=(0,_.useRef)(null),d=(0,_.useRef)(null),f=(0,_.useRef)(null),p=(0,_.useRef)(n),m=(0,_.useRef)(null),h=(0,_.useRef)(!1),g=Number.isFinite(e)&&Number.isFinite(t),[v,y]=(0,_.useState)(a?`loading`:`idle`),[b,x]=(0,_.useState)(``),S=v===`fallback`;(0,_.useEffect)(()=>{p.current=n},[n]);function C(e,t,n){return Math.min(n,Math.max(t,e))}function w(e,t){return{lat:C(e,Ee.minLat,Ee.maxLat),lng:C(t,Ee.minLng,Ee.maxLng)}}function T(e){if(!e)return{width:0,height:0,display:`none`,visibility:`hidden`};let t=e.getBoundingClientRect(),n=window.getComputedStyle(e);return{width:Math.round(t.width),height:Math.round(t.height),display:n.display,visibility:n.visibility}}async function E(e,{attempts:t=30,delayMs:n=50}={}){for(let r=0;r<t;r+=1){let t=T(e);if(t.width>0&&t.height>0&&t.display!==`none`&&t.visibility!==`hidden`)return t;await new Promise(e=>setTimeout(e,n))}return T(e)}function D(e,t,n=rp){let r=w(e,t),i=d.current;if(!i||!h.current){m.current={...r,zoom:n};return}i.flyTo({center:[r.lng,r.lat],zoom:n,duration:800,essential:!0})}function O(){if(i(``),!navigator.geolocation){i(l(`buyer.addresses.geolocationUnavailable`));return}navigator.geolocation.getCurrentPosition(e=>{i(``);let t=w(e.coords.latitude,e.coords.longitude);n(t.lat,t.lng,`current_location`),D(t.lat,t.lng,rp)},e=>{if(e.code===e.PERMISSION_DENIED){i(l(`buyer.addresses.locationPermissionDenied`));return}if(e.code===e.TIMEOUT){i(l(`buyer.addresses.locationTimeout`));return}i(l(`buyer.addresses.locationReadFailed`))},{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})}let k=(0,_.useRef)(o);(0,_.useEffect)(()=>{o!==k.current&&(k.current=o,O())},[o]);let A=(0,_.useRef)(s);return(0,_.useEffect)(()=>{!s||s===A.current||!g||(A.current=s,D(e,t,rp))},[s,g,e,t]),(0,_.useEffect)(()=>
9{if(!a){y(`idle`),x(``);return}let n=!0;async function i(){if(!(!u.current||d.current)){if(Pe()){y(`fallback`),x(``);return}y(`loading`),x(``);try{let i=await E(u.current);if(!n||!u.current||d.current)return;if(i.width<=0||i.height<=0)throw Error(`Map container is not visible yet (width=${i.width}, height=${i.height}, display=${i.display}, visibility=${i.visibility}).`);let a=await Re();if(!n||!u.current||d.current||!a)return;if(typeof a.supported==`function`&&!a.supported({failIfMajorPerformanceCaveat:!1})){let e=Error(`MapLibre WebGL support check failed.`);throw e.name=`WebGLSupportError`,e}let o=je(),s=g?w(e,t):np,c=new a.Map({container:u.current,style:o,center:[s.lng,s.lat],zoom:g?13:4.4,attributionControl:!0,customAttribution:[Ae.attribution]});c.dragRotate.disable(),c.touchZoomRotate.disableRotation(),c.addControl(new a.NavigationControl({showCompass:!1}),`top-right`),c.setMaxBounds([[Ee.minLng,Ee.minLat],[Ee.maxLng,Ee.maxLat]]),d.current=c;let _=({lat:e,lng:t},{notifyChange:n=!0}={})=>{if(!De(e,t)){r(l(`buyer.addresses.pinWithinIndonesia`));return}r(``);let i=w(e,t);f.current?f.current.setLngLat([i.lng,i.lat]):(f.current=new a.Marker({draggable:!0}).setLngLat([i.lng,i.lat]).addTo(c),f.current.on(`dragend`,()=>{if(!f.current)return;let e=f.current.getLngLat(),t=w(e.lat,e.lng);f.current.setLngLat([t.lng,t.lat]),p.current(t.lat,t.lng,`manual`)})),n&&p.current(i.lat,i.lng,`manual`)};c.on(`click`,e=>_(e.lngLat)),c.on(`error`,e=>{if(console.error(`[AddressMapPicker] map rendering error`,{event:e,error:e?.error,message:e?.error?.message||e?.message||null}),n){if(Fe(e)){Ie(`webgl_runtime_error`,{source:`AddressMapPicker.map_error_event`,message:e?.error?.message||e?.message||null}),y(`fallback`),x(``);return}y(`error`),x(l(`buyer.addresses.basemapFailed`,{provider:Ae.name}))}}),c.on(`load`,()=>{n&&(Q({source:`AddressMapPicker.map_load`}),y(`ready`),h.current=!0,requestAnimationFrame(()=>{if(c.resize(),m.current){let e=m.current;m.current=null,c.flyTo({center:[e.lng,e.lat],zoom:e.zoom,duration:800,essential:!0})}}),setTimeout(()=>c.resize(),120))}),g&&_(s,{notifyChange:!1})}catch(e){let t=T(u.current);if(console.error(`[AddressMapPicker] initialization failed`,{error:e,message:e?.message||null,container:t,hasContainer:!!u.current}),!n)return;if(Fe(e)){Ie(`webgl_init_failure`,{source:`AddressMapPicker.init`,message:e?.message||null}),y(`fallback`),x(``);return}y(`error`),x(l(`buyer.addresses.mapInitFailed`))}}}return i(),()=>{n=!1,h.current=!1,f.current=null,d.current&&=(d.current.remove(),null)}},[a]),(0,_.useEffect)(()=>{if(!d.current||!g)return;let n=w(e,t);!f.current&&window.maplibregl&&(f.current=new window.maplibregl.Marker({draggable:!0}).setLngLat([n.lng,n.lat]).addTo(d.current),f.current.on(`dragend`,()=>{if(!f.current)return;let e=f.current.getLngLat(),t=w(e.lat,e.lng);f.current.setLngLat([t.lng,t.lat]),p.current(t.lat,t.lng,`manual`)})),f.current?.setLngLat([n.lng,n.lat])},[g,e,t]),(0,_.useEffect)(()=>{if(!d.current)return;let e=d.current,t=u.current;if(!t)return;let n=new ResizeObserver(()=>{e.resize()});return n.observe(t),()=>n.disconnect()},[v]),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`address-map-head`,children:c&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:O,children:l(`buyer.addresses.useCurrentLocation`)})}),(0,Z.jsxs)(`div`,{className:`address-map-manual`,children:[(0,Z.jsxs)(`label`,{children:[l(`buyer.addresses.latitude`),(0,Z.jsx)(`input`,{type:`number`,step:`0.000001`,value:Number.isFinite(e)?e:``,onChange:e=>{let r=Number(e.target.value);Number.isFinite(r)&&n(w(r,Number.isFinite(t)?t:np.lng).lat,Number.isFinite(t)?t:np.lng,`manual`)}})]}),(0,Z.jsxs)(`label`,{children:[l(`buyer.addresses.longitude`),(0,Z.jsx)(`input`,{type:`number`,step:`0.000001`,value:Number.isFinite(t)?t:``,onChange:t=>{let r=Number(t.target.value);Number.isFinite(r)&&n(Number.isFinite(e)?e:np.lat,w(Number.isFinite(e)?e:np.lat,r).lng,`manual`)}})]}),(0,Z.jsx)(`p`,{className:`form-helper-text`,children:l(`buyer.addresses.manualCoordinateHelper`)})]}),(0,Z.jsx)(`div`,{className:`address-map`,children:(0,Z.jsxs)(`div`,{className:`address-map-viewport`,children:[(0,Z.jsx)(`div`,{ref:u,className:`address-map-canvas`}),v===`loading`&&(0,Z.jsx)(`div`,{className:`map-loading`,children:l(`buyer.addresses.loadingBasemap`)}),!a&&(0,Z.jsx)(`div`,{className:`map-loading`,children:l(`buyer.addresses.openToLoadMap`)}),v===`fallback`&&(0,Z.jsxs)(`div`,{className:`map-fallback`,children:[(0,Z.jsx)(`strong`,{children:l(`buyer.addresses.advancedMapUnavailable`)}),` `,l(`buyer.addresses.mapManualFallback`)]}),v===`error`&&(0,Z.jsxs)(`div`,{className:`map-fallback`,children:[(0,Z.jsx)(`strong`,{children:l(`buyer.addresses.mapUnavailable`)}),` `,l(`buyer.addresses.mapReloadHelper`)]})]})}),(0,Z.jsx)(`p`,{className:`map-helper`,children:l(S?`buyer.addresses.mapRenderingUnavailable`:`buyer.addresses.mapHelper`)}),b&&(0,Z.jsx)(`p`,{className:`form-warning`,children:b}),(0,Z.jsx)(`p`,{className:`map-coordinates`,children:g?`Pin: ${e.toFixed(6)}, ${t.toFixed(6)}`:l(`buyer.addresses.noPin`)})]})}function ap({navigate:e,slug:t}){let n=Rt[t];return(0,Z.jsx)(Ap,{navigate:e,authState:{status:`guest`},onAuthSuccess:()=>{},children:(0,Z.jsxs)(`main`,{className:`page-card`,style:{maxWidth:860,margin:`24px auto`,padding:24},children:[(0,Z.jsx)(`h1`,{children:n.title}),(0,Z.jsx)(`p`,{children:(0,Z.jsxs)(`strong`,{children:[`Terakhir diperbarui: `,It]})}),zt(n.sections),(0,Z.jsx)(`p`,{className:`form-helper`,children:Ft})]})})}var op={api:Rf,BuyerLayout:Ap,FullPageLoadingOverlay:jt,InlineLoading:Nt,SectionLoadingOverlay:Mt,SkeletonBlock:Pt,formatIdr:Yt,RouteLink:Yf,StoreNameLink:Xf,BUYER_ESTIMATE_METHODS:Ve,CART_ADDRESS_STORAGE_KEY:He,estimateShippingOptions:$,fetchShippingQuotePreview:ot,resolveBuyerDestinationCity:Ge,applyVouchersToTotals:Ze,CHECKOUT_DRAFT_STORAGE_KEY:Pf,normalizeAddressPayload:lt,normalizeRequiredAddressValue:ct,hasEmptyRequiredAddressFields:Bf,formatCountryLabel:Uf,AddressMapPicker:ip,AUTH_UNAUTHORIZED_EVENT:y,SESSION_EXPIRED_REASON:b,isSessionExpiredReason:w,isUnauthorizedError:Vf,isServerSideFailure:Hf,isMaintenanceModeError:P,maintenanceModeMessage:F,toBuyerConversation:Qt,ChatAttachmentViewer:ur,ChatComposer:pr,formatChatTimestamp:Kn,normalizeMessageAttachments:Jn,markBuyerThreadRead:Qf,formatSellerInvoiceLabel:Zf,TransactionsSection:pp};function sp({sellerSlug:e,slug:t,navigate:n,authState:r,onAuthSuccess:i}){let a=Rr(),o=1e5,[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(!0),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(1),[h,g]=(0,_.useState)(0),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(`1`),[S,C]=(0,_.useState)(``),[w,T]=(0,_.useState)(``),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(`idle`),[A,j]=(0,_.useState)(!1),[M,N]=(0,_.useState)([]),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(Vl.ANONYMOUS),[L,te]=(0,_.useState)(null),[ne,R]=(0,_.useState)(!1),[z,B]=(0,_.useState)(``),V=Tl(Rf),[H,U]=(0,_.useState)(!1),[W,re]=(0,_.useState)(!1),[G,ie]=(0,_.useState)(`all`),[ae,oe]=(0,_.useState)(`newest`),[se,ce]=(0,_.useState)(null),[le,ue]=(0,_.useState)(!1),K=$t(s),de=K.type===`deterministic`?K.discountedPrice:K.basePrice;Cn((0,_.useMemo)(()=>wn(l?null:s,e,t,de),[de,l,s,e,t])),(0,_.useEffect)(()=>{let e=!0;
9async function t(){try{let t=await Ul({api:Rf,authState:r,includeAddresses:!0});if(!e)return;I(t.kind);let n=Array.isArray(t.addresses)?t.addresses:[];N(n),t.kind===Vl.VERIFIED_GUEST&&Fl(Il({guestPrefill:{has_verified_guest:!0,name:t.guestProfile?.name,phone_number:t.guestProfile?.phone,shipping_address:t.guestProfile?.shipping_address},addresses:n}))}catch{e&&(I(r?.status===`authenticated`?Vl.AUTHENTICATED:Vl.ANONYMOUS),N([]))}}return t(),()=>{e=!1}},[r?.status]),(0,_.useEffect)(()=>{let e=F===Vl.AUTHENTICATED?Cu(window.localStorage,r?.me?.id,M):Hl(M);P(e?String(e.id):``)},[F,M,r?.me?.id]);let q=(0,_.useMemo)(()=>Ge(M,F===Vl.AUTHENTICATED?r?.me?.id:null),[F,M,r?.me?.id]),fe=Number(s?.weight_g||0),pe=Number(s?.preorder_days),me=Number.isFinite(pe)&&pe>0?a(`buyer.product.preorderShipsWithin`,{days:pe}):a(`buyer.product.preorderProduct`),he=!!q;(0,_.useEffect)(()=>{let n=!0;async function r(){u(!0),f(``);try{let r=new URLSearchParams;G!==`all`&&r.set(`rating`,G),r.set(`sort`,ae);let i=await Rf(`/products/${encodeURIComponent(e)}/${encodeURIComponent(t)}${r.size?`?${r.toString()}`:``}`);n&&c(i)}catch(e){n&&(f(e.message),c(null))}finally{n&&u(!1)}}return r(),()=>{n=!1}},[G,ae,e,t]),(0,_.useEffect)(()=>{if(!s)return;let e=Math.max(1,Number(s.min_purchase_qty||1));m(e),x(String(e)),C(``),T(``),g(0)},[s]),(0,_.useEffect)(()=>{H||re(!1)},[H]),(0,_.useEffect)(()=>{let e=!0;async function t(){if(!s||!ee||fe<=0){e&&R(!1),e&&te(null);return}e&&R(!0);try{let t=await ot(Rf,{shippingAddressId:Number(ee),products:[{product_id:Number(s.id),quantity:p}],mode:String(s?.shipment_type||`standard`)});if(!e)return;te(t?.minPrice>0?Number(t.minPrice):null)}catch{e&&te(null)}finally{e&&R(!1)}}return t(),()=>{e=!1}},[r?.status,s,p,ee,fe]);let J=Math.max(1,Number(s?.min_purchase_qty||1)),Y=Number(s?.price||0),X=Y*p,ge=Number(s?.max_purchase_qty),_e=Number.isInteger(ge)&&ge>=J,ve=Math.max(0,Number(s?.stock||0)),ye=Math.max(J,Math.min(o,ve,_e?ge:o)),be=ve<J,xe=Array.isArray(s?.image_urls)?s.image_urls.filter(Boolean):[],Se=xe[h]||xe[0]||``,Ce=Vr(s?.category_path,a);function we(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}async function Te(){if(s){if(r?.status!==`authenticated`&&F!==Vl.VERIFIED_GUEST){B(`cart`);return}await Ee({navigateToCheckout:!1})}}async function Ee({navigateToCheckout:e}){if(s){y(``),e||k(`adding`),D(!0);try{let t=await Rf(`/cart/items`,{method:`POST`,body:{product_id:s.id,quantity:p},skipAuthHandling:r?.status!==`authenticated`});if(!e){k(`success`),window.setTimeout(()=>k(`idle`),1800);return}let i=(t?.items||[]).find(e=>Number(e?.product?.id)===Number(s.id));window.sessionStorage.setItem(Pf,JSON.stringify({selectedCartItemIds:i?.id?[Number(i.id)]:[],createdAt:new Date().toISOString()})),n(`/checkout`)}catch(t){e||k(`idle`),y(t.message||`Unable to continue right now.`)}finally{D(!1)}}}async function De(){if(s){if(r?.status!==`authenticated`&&F!==Vl.VERIFIED_GUEST){B(`buy-now`);return}await Ee({navigateToCheckout:!0})}}function Oe(e,{source:t=`input`}={}){let n=String(e??``).trim();if(!n){t===`blur`?(m(J),x(String(J)),C(``)):x(``);return}if(!/^\d+$/.test(n)){C(`Quantity must be an integer.`),t===`blur`?(m(J),x(String(J))):x(n.replace(/\D+/g,``));return}let r=Number(n);if(!Number.isSafeInteger(r)){C(`Maximum quantity is ${ye.toLocaleString(`id-ID`)}.`),m(ye),x(String(ye));return}let i=Math.min(ye,Math.max(J,r));if(m(i),x(String(i)),r<J){C(`Minimum quantity is ${J.toLocaleString(`id-ID`)}.`);return}if(r>ye){C(`Maximum quantity is ${ye.toLocaleString(`id-ID`)}.`);return}C(``)}async function ke(){if(T(``),!s){T(`Product details are still loading. Please try again.`);return}if(!s.public_id){T(`Unable to open chat for this product right now. Please refresh and try again.`);return}let e=async(e=!1)=>{let t=await Rf(`/buyer/products/${s.public_id}/thread`,{method:`POST`,skipAuthHandling:e}),r=Xt(t);if(!r)throw console.warn(`Invalid chat thread response`,t&&Object.keys(t)),Error(`Chat service returned an invalid thread. Please try again.`);n(`/inbox?thread=${encodeURIComponent(r)}&product=${s.public_id}`)};if(r?.status!==`authenticated`)try{if(!(await Rf(`/signup/guest-prefill`,{skipAuthHandling:!0}))?.has_verified_guest){B(`chat-blocked`);return}j(!0),await e(!0);return}catch(e){if(Vf(e)){n(`/inbox?product=${encodeURIComponent(s.public_id)}`);return}T(e?.message||`Unable to open chat right now. Please try again.`);return}finally{j(!1)}j(!0);try{await e(!1)}catch(e){if(Vf(e)){n(`/inbox?product=${s.public_id}`);return}T(e?.message||`Unable to open chat right now. Please try again.`)}finally{j(!1)}}async function Ae(){if(!s)return;T(``);let e={title:s.title,text:`Check out ${s.title} on Tokodepan`,url:window.location.href};try{if(navigator.share){await navigator.share(e);return}if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e.url),T(`Link copied.`);return}let t=document.createElement(`input`);t.value=e.url,document.body.appendChild(t),t.select(),document.execCommand(`copy`),t.remove(),T(`Link copied.`)}catch{T(`Unable to share right now.`)}}return(0,Z.jsxs)(Ap,{navigate:n,authState:r,onAuthSuccess:i,children:[z&&(0,Z.jsx)(Tp,{title:z===`chat-blocked`?`Chat requires login`:`Choose how to continue`,detail
9:a(z===`chat-blocked`?`buyer.auth.entryChoiceAccountOnly`:F===Vl.VERIFIED_GUEST||V.isEnabled?`buyer.auth.entryChoiceWithGuest`:`buyer.auth.entryChoiceAccountOnly`),onClose:()=>B(``),onLogin:()=>n(Ot(Af())),onSignup:()=>n(kt(Af())),guestCheckoutEnabled:F===Vl.VERIFIED_GUEST||V.isEnabled,onContinueGuest:z===`chat-blocked`?void 0:async()=>{let e=z;if(B(``),e===`buy-now`){await Ee({navigateToCheckout:!0});return}await Ee({navigateToCheckout:!1})}}),(0,Z.jsxs)(`section`,{className:`product-detail-page`,children:[l&&(0,Z.jsx)(Nt,{label:a(`buyer.productDetail.loading`)}),d&&(0,Z.jsx)(`div`,{className:`detail-error`,children:d}),!l&&!d&&s&&(0,Z.jsxs)(`div`,{className:`product-detail-grid`,children:[(0,Z.jsxs)(`div`,{className:`detail-gallery-column`,children:[(0,Z.jsx)(`div`,{className:`detail-main-image`,children:Se?(0,Z.jsx)(`img`,{src:Se,alt:s.title,className:`detail-main-image-content`,onClick:()=>U(!0),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U(!0))}}):(0,Z.jsx)(`span`,{className:`detail-image-fallback`,children:`No product image`})}),xe.length>1&&(0,Z.jsx)(`div`,{className:`detail-thumbnails`,children:xe.map((e,t)=>(0,Z.jsx)(`button`,{className:`detail-thumbnail ${h===t?`active`:``}`,onClick:()=>g(t),"aria-label":`Show image ${t+1}`,children:(0,Z.jsx)(`img`,{src:e,alt:`${s.title} thumbnail ${t+1}`})},`${e}-${t}`))})]}),(0,Z.jsxs)(`div`,{className:`mobile-detail-header`,children:[(0,Z.jsx)(`h1`,{children:s.title}),(0,Z.jsx)(`div`,{className:`mobile-detail-price-row`,children:K.type===`deterministic`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{style:{textDecoration:`line-through`,opacity:.7,marginRight:6},children:we(K.originalPrice)}),K.discountPercent>0&&(0,Z.jsxs)(`span`,{className:`promo-off-badge`,children:[K.discountPercent,`% OFF`]}),(0,Z.jsx)(`strong`,{children:we(K.discountedPrice)})]}):we(K.basePrice)})]}),(0,Z.jsxs)(`div`,{className:`detail-info-column`,children:[(0,Z.jsx)(`h1`,{children:s.title}),(0,Z.jsx)(`div`,{className:`mobile-detail-price-row`,children:K.type===`deterministic`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{style:{textDecoration:`line-through`,opacity:.7,marginRight:6},children:we(K.originalPrice)}),K.discountPercent>0&&(0,Z.jsxs)(`span`,{className:`promo-off-badge`,children:[K.discountPercent,`% OFF`]}),(0,Z.jsx)(`strong`,{children:we(K.discountedPrice)})]}):we(K.basePrice)}),K.type===`message`&&(0,Z.jsx)(`p`,{className:`purchase-hint`,children:K.message}),s.is_preorder?(0,Z.jsx)(`p`,{className:`preorder-notice`,children:me}):null,(0,Z.jsxs)(`div`,{className:`detail-facts`,children:[fe>0&&(0,Z.jsxs)(`p`,{children:[(0,Z.jsxs)(`strong`,{children:[a(`buyer.productDetail.weight`),`:`]}),` `,fe,` g`]}),(0,Z.jsx)(`p`,{children:_e?a(`buyer.product.purchaseQuantityRange`,{min:J,max:ge}):a(`buyer.product.purchaseQuantityMin`,{min:J})})]}),(0,Z.jsxs)(`div`,{className:`detail-lower-sections`,children:[(0,Z.jsxs)(`section`,{className:`detail-section detail-description-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.productDetail.description`)}),(0,Z.jsx)(`div`,{className:`detail-description-content ${le?`expanded`:`collapsed`}`,children:(0,Z.jsx)(`p`,{className:`detail-description-text`,children:(s.description||`No description provided by seller yet.`).replace(/\\n
9/g,` 10`)})}),(0,Z.jsx)(`button`,{type:`button`,className:`detail-description-toggle`,"aria-expanded":le,onClick:()=>ue(e=>!e),children:le?`Sembunyikan`:`Tampilkan selengkapnya`})]}),(0,Z.jsxs)(`section`,{className:`detail-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.product.specifications`)}),(0,Z.jsxs)(`ul`,{children:[(0,Z.jsx)(`li`,{children:a(`buyer.product.stockAvailable`,{stock:s.stock})}),(0,Z.jsx)(`li`,{children:a(`buyer.product.category`,{category:Ce||a(`buyer.product.categoryOther`)})}),s.is_preorder?(0,Z.jsx)(`li`,{children:me}):null,s.requires_shipping_insurance?(0,Z.jsx)(`li`,{children:(0,Z.jsx)(`strong`,{children:`Insurance required for shipping`})}):null]})]}),(0,Z.jsxs)(`section`,{className:`detail-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.productDetail.store`)}),(0,Z.jsxs)(`p`,{className:`detail-seller-location`,children:[(0,Z.jsx)(Xf,{navigate:n,sellerSlug:s.seller.slug,className:`store-inline-link`,children:s.seller.name}),an(s.seller.city,s.seller.district)?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`seller-location-separator`,children:` · `}),(0,Z.jsx)(`span`,{className:`seller-location-text`,children:an(s.seller.city,s.seller.district)})]}):null]}),(0,Z.jsx)(`p`,{children:Number(s.store_rating_count||0)>0&&Number(s.store_rating_average||0)>0?a(`buyer.product.storeRating`,{rating:Number(s.store_rating_average||0).toFixed(1),count:Number(s.store_rating_count||0)}):a(`buyer.product.storeRatingEmpty`)})]}),(0,Z.jsxs)(`section`,{className:`detail-section`,children:[(0,Z.jsx)(`h2`,{children:a(`buyer.productDetail.reviews`)}),tn(s.sold_quantity)&&(0,Z.jsx)(`p`,{className:`detail-sold-quantity`,children:tn(s.sold_quantity)}),Number(s.review_count||0)>0&&Number(s.average_rating||0)>0?(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:(0,Z.jsx)(Al,{rating:Number(s.average_rating||0)})}),` · `,a(`buyer.product.reviewCount`,{count:Number(s.review_count||0)})]}):(0,Z.jsx)(`p`,{children:(0,Z.jsx)(`strong`,{children:a(`buyer.productDetail.noReviews`)})}),(0,Z.jsxs)(`div`,{className:`review-filter-row`,children:[(0,Z.jsxs)(`label`,{className:`review-select-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.reviews.ratingFilter`)}),(0,Z.jsxs)(`select`,{value:G,onChange:e=>ie(e.target.value),children:[(0,Z.jsx)(`option`,{value:`all`,children:a(`buyer.reviews.allRatings`)}),[5,4,3,2,1].map(e=>(0,Z.jsx)(`option`,{value:String(e),children:a(`buyer.reviews.stars`,{count:e})},e))]})]}),(0,Z.jsxs)(`label`,{className:`review-select-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.reviews.sort`)}),(0,Z.jsxs)(`select`,{value:ae,onChange:e=>oe(e.target.value),children:[(0,Z.jsx)(`option`,{value:`newest`,children:a(`buyer.reviews.newest`)}),(0,Z.jsx)(`option`,{value:`oldest`,children:a(`buyer.reviews.oldest`)}),(0,Z.jsx)(`option`,{value:`highest`,children:a(`buyer.reviews.highestRating`)}),(0,Z.jsx)(`option`,{value:`lowest`,children:a(`buyer.reviews.lowestRating`)})]})]})]}),Array.isArray(s.reviews)&&s.reviews.length>0?(0,Z.jsx)(`ul`,{style:{listStyle:`none`,padding:0,display:`grid`,gap:10},children:s.reviews.slice(0,20).map(e=>(0,Z.jsxs)(`li`,{style:{border:`1px solid #ececec`,borderRadius:10,padding:10},children:[(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`strong`,{children:e.buyer_display_name||e.buyer_name||a(`buyer.profile.buyerFallback`)}),` · `,new Date(e.created_at).toLocaleDateString(`en-GB`),` · `,(0,Z.jsx)(Al,{rating:e.rating,showValue:!1})]}),(0,Z.jsx)(`p`,{children:e.note?e.note:`No written note`}),e.seller_response&&(0,Z.jsxs)(`div`,{className:`seller-response-card`,style:{marginTop:8,padding:10,borderLeft:`3px solid #d9e7ff`,background:`#f8fbff`},children:[(0,Z.jsx)(`strong`,{children:a(`buyer.productDetail.sellerResponse`)}),e.seller_response.edited?(0,Z.jsxs)(`span`,{children:[` · `,a(`buyer.productDetail.edited`)]}):null,(0,Z.jsx)(`p`,{style:{whiteSpace:`pre-line`},children:e.seller_response.body})]}),Array.isArray(e.attachments)&&e.attachments.length>0&&(0,Z.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`},children:e.attachments.slice(0,3).map((t,n)=>(0,Z.jsx)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),ce({url:t.url,alt:t.name||`Review image`})},style:{border:`none`,padding:0,borderRadius:8,background:`transparent`,cursor:`zoom-in`},"aria-label":`Open review image ${n+1}`,children:(0,Z.jsx)(`img`,{src:t.url,alt:t.name||`Review image`,style:{width:74,height:74,objectFit:`cover`,borderRadius:8}})},`${e.id}-review-image-${n}`))})]},`product-review-${e.id}`))}):(0,Z.jsx)(`p`,{className:`purchase-hint`,children:a(`buyer.productDetail.noReviews`)})]})]})]}),(0,Z.jsx)(`aside`,{className:`detail-purchase-column`,children:(0,Z.jsxs)(`div`,{className:`purchase-panel`,children:[(0,Z.jsxs)(`div`,{className:`purchase-price-block`,children:[(0,Z.jsx)(`span`,{className:`purchase-label`,children:a(`buyer.product.itemPrice`)}),K.type===`deterministic`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`purchase-original-price`,children:we(K.originalPrice)}),(0,Z.jsxs)(`p`,{className:`purchase-price`,children:[K.discountPercent>0&&(0,Z.jsxs)(`span`,{className:`promo-off-badge`,children:[K.discountPercent,`% OFF`]}),(0,Z.jsx)(`strong`,{children:we(K.discountedPrice)})]})]}):(0,Z.jsx)(`p`,{className:`purchase-price`,children:we(Y)})]}),(0,Z.jsxs)(`div`,{className:`purchase-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.product.quantity`)}),(0,Z.jsxs)(`div`,{className:`qty-stepper`,children:[(0,Z.jsx)(`button`,{disabled:p<=J||be,onClick:()=>Oe(p-1),children:`â`}),(0,Z.jsx)(`input`,{value:b,inputMode:`numeric`,onChange:e=>Oe(e.target.value),onBlur:()=>Oe(b,{source:`blur`}),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Oe(b,{source:`blur`}))},"aria-label":a(`buyer.product.quantity`)}),(0,Z.jsx)(`button`,{disabled:p>=ye||be,onClick:()=>Oe(p+1),children:`+`})]})]}),S&&(0,Z.jsx)(`p`,{className:`purchase-hint error`,children:S}),!S&&(0,Z.jsx)(`p`,{className:`purchase-hint`,children:_e?a(`buyer.product.purchaseQuantityRange`,{min:J.toLocaleStr
10ing(`id-ID`),max:ge.toLocaleString(`id-ID`)}):a(`buyer.product.purchaseQuantityMin`,{min:J.toLocaleString(`id-ID`)})}),be&&(0,Z.jsx)(`p`,{className:`purchase-hint error`,children:a(`buyer.product.stockBelowMinimum`)}),(0,Z.jsxs)(`div`,{className:`purchase-row purchase-shipping-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.productDetail.shippingEstimate`)}),(0,Z.jsx)(`strong`,{style:{color:`#4e6a86`},children:L?a(`buyer.product.shippingEstimateFrom`,{amount:we(L)}):a(ne?`buyer.product.loadingEstimate`:he?`buyer.product.estimateUnavailableRoute`:`buyer.product.addAddressShippingEstimate`)})]}),(0,Z.jsxs)(`div`,{className:`purchase-total-row purchase-estimated-total`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.product.itemsSubtotal`)}),K.type===`deterministic`?(0,Z.jsx)(`strong`,{children:we(K.discountedPrice*p)}):(0,Z.jsx)(`strong`,{children:we(X)})]}),(0,Z.jsx)(`button`,{className:`purchase-btn add-cart`,disabled:E||be,onClick:Te,children:a(O===`adding`?`buyer.product.addingToCart`:O===`success`?`buyer.product.addedToCart`:`buyer.product.addToCart`)}),(0,Z.jsx)(`button`,{className:`purchase-btn buy-now`,disabled:E||be,onClick:De,children:a(`buyer.product.buyNow`)}),(0,Z.jsx)(`button`,{className:`purchase-btn secondary`,onClick:ke,disabled:A,children:a(A?`buyer.product.openingChat`:`buyer.product.chatWithSeller`)}),(0,Z.jsx)(`button`,{className:`purchase-btn secondary`,onClick:Ae,children:a(`buyer.product.share`)}),v&&(0,Z.jsx)(`div`,{className:`purchase-feedback error`,children:v}),w&&(0,Z.jsx)(`div`,{className:`purchase-feedback ${w===`Link copied.`?`success`:`error`}`,children:w})]})})]}),se&&(0,Z.jsx)(`div`,{className:`address-modal-backdrop`,role:`presentation`,onClick:()=>ce(null),children:(0,Z.jsxs)(`div`,{className:`address-modal review-image-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":`Review image viewer`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`address-modal-head`,children:[(0,Z.jsx)(`h3`,{children:`Review image`}),(0,Z.jsx)(`button`,{className:`close-modal`,type:`button`,onClick:()=>ce(null),"aria-label":`Close review image viewer`,children:`Ã`})]}),(0,Z.jsx)(`img`,{src:se.url,alt:se.alt||`Review image`,className:`review-image-modal-preview`})]})}),H&&Se&&(0,Z.jsx)(`div`,{className:`image-viewer-backdrop`,onClick:()=>U(!1),children:(0,Z.jsxs)(`div`,{className:`image-viewer-modal ${W?`zoomed`:``}`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`button`,{className:`image-viewer-close`,onClick:()=>U(!1),"aria-label":`Close image viewer`,children:`â`}),(0,Z.jsx)(`button`,{className:`image-viewer-zoom-toggle`,onClick:()=>re(e=>!e),children:W?`Zoom out`:`Zoom in`}),(0,Z.jsx)(`img`,{src:Se,alt:s?.title||`Product image`})]})})]})]})}function cp(e){return(0,Z.jsx)(jl,{...e,deps:op})}function lp(e){return(0,Z.jsx)(Lu,{...e,deps:op})}function up(e){return(0,Z.jsx)(cd,{...e,deps:op})}function dp(e){return(0,Z.jsx)(ld,{...e,deps:op})}function fp(e){return(0,Z.jsx)(kd,{...e,deps:op})}function pp(e){return(0,Z.jsx)(Hd,{...e,deps:op})}function mp(e){return(0,Z.jsx)(Ud,{...e,deps:op})}function hp(e){return(0,Z.jsx)(rf,{...e,deps:op})}function gp(e){return(0,Z.jsx)(sf,{...e,deps:op})}function _p({navigate:e}){let t=Rr(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(``);(0,_.useEffect)(()=>{async function e(){a(``);try{let e=await Rf(`/returns?limit=20&offset=0`);r(e||[])}catch(e){a(e.message)}}e()},[]);async function o(e){a(``);try{await Rf(`/returns/${e}/cancel`,{method:`POST`});let t=await Rf(`/returns?limit=20&offset=0`);r(t||[])}catch(e){a(e.message)}}return(0,Z.jsxs)(`div`,{style:{border:`1px solid #ddd`,borderRadius:10,padding:14},children:[(0,Z.jsxs)(`button`,{onClick:()=>e(`/`),style:{marginBottom:10},children:[`â `,t(`buyer.returns.backToCatalog`)]}),(0,Z.jsx)(`h2`,{style:{marginTop:0},children:t(`buyer.returns.title`)}),i&&(0,Z.jsx)(`div`,{style:{color:`crimson`},children:i}),!i&&n.length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:t(`buyer.returns.empty`)}),(0,Z.jsx)(`div`,{style:{display:`grid`,gap:8},children:n.map(e=>(0,Z.jsxs)(`div`,{style:{border:`1px solid #eee`,borderRadius:8,padding:10},children:[(0,Z.jsxs)(`div`,{children:[t(`buyer.returns.details`),` #`,e.id,` · `,t(`buyer.complaints.order`),` #`,e.order_id,e.order_item_id?`, ${t(`buyer.returns.item`)} #${e.order_item_id}`:``]}),(0,Z.jsxs)(`div`,{children:[t(`buyer.complaints.statusLabel`),`: `,(0,Z.jsx)(`b`,{children:Ri(t,e.status)})]}),(0,Z.jsxs)(`div`,{children:[t(`buyer.returns.reason`),`: `,e.reason_code]}),e.reason_text&&(0,Z.jsxs)(`div`,{children:[t(`buyer.returns.notes`),`: `,e.reason_text]}),e.status===`requested`&&(0,Z.jsx)(`button`,{style:{marginTop:6},onClick:()=>{window.confirm(t(`buyer.returns.cancelRequestConfirm`))&&o(e.id)},children:t(`buyer.returns.cancelRequest`)})]},e.id))})]})}function vp(e){return(0,Z.jsx)(ef,{...e,deps:op})}function yp(e){return(0,Z.jsx)(gf,{...e,deps:op})}function bp({navigate:e,onLoggedOut:t,authUser:n,authState:r,initialSection:i=`overview`}){let a=Rr(),o=[{id:`overview`,label:a(`buyer.profile.sections.overview`)},{id:`transactions`,label:a(`buyer.profile.sections.transactions`)},{id:`addresses`,label:a(`buyer.profile.sections.addresses`)},{id:`payment`,label:a(`buyer.profile.sections.payment`)},{id:`security`,label:a(`buyer.profile.sections.security`)},{id:`notifications`,label:a(`buyer.profile.sections.notifications`)},{id:`logout`,label:a(`buyer.profile.sections.logout`)}];function s(e){return e===`logout`?`overview`:o.some(t=>t.id===e)?e:`overview`}let[c,l]=(0,_.useState)(()=>s(i)),[u,d]=(0,_.useState)(n||null),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)({name:``,email:``}),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)(``),[k,A]=(0,_.useState)(`info`),[j,M]=(0,_.useState)(!1),[N,ee]=(0,_.useState)(!n),[P,F]=(0,_.useState)(!n),I=`${window.location.pathname}${window.location.search}`,[L,te]=(0,_.useState)(()=>du()||`qris`),[ne,R]=(0,_.useState)(()=>du()||`qris`),[z,B]=(0,_.useState)(``),[V,H]=(0,_.useState)(!1),[U,W]=(0,_.useState)(!1),[re,ie]=(0,_.useState)(!1),[ae,oe]=(0,_.useState)({current_password:``,new_password:``,otp_code:``,logout_other_devices:!0}),[se,ce]=(0,_.useState)(!1),[le,ue]=(0,_.useState)(!1),[K,de]=(0,_.useState)(0),[q,fe]=(0,_.useState)(``),[pe,me]=(0,_.useState)(`info`),[he,J]=(0,_.useState)(``),[Y,X]=(0,_.useState)(``),[ge,_e]=(0,_.useState)({phone:``,code:``}),[ve,ye]=(0,_.useState)(``),[be,xe]=(0,_.useState)(`info`),[Se,Ce]=(0,_.useState)(!1),[we,Te]=(0,_.useState)(!1),[Ee,De]=(0,_.useState)(0),[Oe,ke]=(0,_.useState)(``),Ae={qris:`QRIS`,card:a(`buyer.paymentSettings.methods.card`),bca_va:a(`buyer.paymentSettings.methods.bca_va`)},je=!!u?.google_linked,Me=!!u?.password_updated_at,Ne=a(`buyer.profile.googlePasswordManaged`),Pe=je?Ne:Me?Ie(u?.password_updated_at):a(`buyer.profile.passwordEnabled`),Fe=[{value:`qris`,label:Ae.qris},{value:`bca_va`,label:Ae.bca_va},...V?[{value:`card`,label:Ae.card}]:[]];function Ie(e){if(!e)return a(`buyer.profile.notAvailable`);let t=new Date(e);if(Number.isNaN(t.getTime()))return a(`buyer.profile.notAvailable`);let n=Date.now()-t.getTime(),r=864e5;if(n<r)return a(`buyer.security.updatedToday`);let i=Math.floor(n/r);if(i<30)return a(`buyer.security.updatedDaysAgo`,{count:i});let o=Math.floor(i/30);if(o<12)return a(`buyer.security.updatedMonthsAgo`,{count:o});let s=Math.floor(o/12);return a(`buyer.security.updatedYearsAgo`,{count:s})}async function Q(){if(!(je||le||K>0)){fe(``),me(`info`),J(``),X(``),ue(!0);try{let e=await Rf(`/me/password/otp`,{method:`POST`,body:{}}),t=Number(e?.cooldown_seconds);de(Number.isFinite(t)&&t>0?Math.ceil(t):60),fe(a(`buyer.security.otpSent`))}catch{me(`error`),fe(a(`buyer.security.otpSendFailed`))}finally{ue(!1)}}}async function Le(e){if(e.preventDefault(),je){X(Ne),ie(!1);return}X(``),J(``),ce(!0);try{await Rf(`/me/password/change`,{method:`POST`,body:ae}),X(a(`buyer.security.changed`)),J(``),ie(!1),oe({current_password:``,new_password:``,otp_code:``,logout_other_devices:!0}),de(0),fe(``),await $()}catch(e){J(ln(e,a(`buyer.security.changeFailed`)))}finally{ce(!1)}}function Re(){J(``),X(``),ie(!0)}function ze(){J(``),ie(!1),oe({current_password:``,new_password:``,otp_code:``,logout_other_devices:!0}),de(0),fe(``),me(`info`)}function Be(e){return e===`overview`?`/profile`:`/profile?section=${encodeURIComponent(e)}`}function Ve(e,t){e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),He(t))}function He(t){let n=s(t);l(n),n!==`security`&&ze();let r=n===`overview`?`/profile`:`/profile?section=${encodeURIComponent(n)}`;`${window.location.pathname}${window.location.search}`!==r&&e(r)}function Ue(){He(`payment`),B(``)}function We(){let e=Fe.some(e=>e.value===ne)?ne:`qris`;te(e),R(e),fu(e),B(a(`buyer.paymentSettings.saved`))}async function $(){ee(!0),p(``);try{let e=await Rf(`/me`);d(e),w({name:e.name||``,email:e.email||``})}catch(t){if(d(null),Vf(t)){e(I||`/`);return}p(t.message)}finally{ee(!1),F(!1)}}(0,_.useEffect)(()=>{$()},[]),(0,_.useEffect)(()=>
10{if(K<=0)return;let e=window.setInterval(()=>{de(e=>Math.max(0,e-1))},1e3);return()=>window.clearInterval(e)},[K]),(0,_.useEffect)(()=>{if(Ee<=0)return;let e=window.setInterval(()=>{De(e=>Math.max(0,e-1))},1e3);return()=>window.clearInterval(e)},[Ee]),(0,_.useEffect)(()=>{re||(de(0),fe(``))},[re]),(0,_.useEffect)(()=>{n&&(d(n),w({name:n.name||``,email:n.email||``}),ee(!1))},[n]),(0,_.useEffect)(()=>{let e=s(i);l(e)},[i]),(0,_.useEffect)(()=>{c!==`security`&&(ie(!1),oe({current_password:``,new_password:``,otp_code:``,logout_other_devices:!0}),J(``),de(0),fe(``))},[c]),(0,_.useEffect)(()=>{let e=!0;return Rf(`/checkout/payment-capabilities`,{skipAuthHandling:!0}).then(t=>{e&&(H(!!t?.card_enabled),W(!0))}).catch(()=>{e&&(H(!1),W(!0))}),()=>{e=!1}},[]),(0,_.useEffect)(()=>{!U||V||L!==`card`||(te(`qris`),R(`qris`),fu(`qris`))},[L,V,U]);async function Ge(e){e.preventDefault(),v(!0),p(``),h(``);try{let e=await Rf(`/me`,{method:`PATCH`,body:{...C,email:je&&u?.email||C.email,email_otp_code:C.email.trim().toLowerCase()===String(u?.email||``).trim().toLowerCase()?void 0:T}});d(e),h(``),S(!1)}catch(e){let t={email_otp_required:a(`buyer.profile.emailOtpRequired`),otp_invalid:a(`buyer.profile.emailOtpInvalid`),otp_expired:a(`buyer.profile.emailOtpExpired`),email_taken:a(`buyer.profile.emailTaken`),email_read_only:a(`buyer.profile.googleEmailReadOnly`)},n=G(e,a);n?h(n):p(t[e?.code]||e?.message||a(`buyer.profile.saveFailed`))}finally{v(!1)}}async function Ke(){if(!(j||!C.email.trim())){M(!0),O(``);try{await Rf(`/me/email-change/otp`,{method:`POST`,body:{email:C.email.trim()}}),A(`info`),O(a(`buyer.profile.emailOtpSent`))}catch(e){let t={email_taken:a(`buyer.profile.emailTaken`),email_read_only:a(`buyer.profile.googleEmailReadOnly`),identity_restricted:a(`buyer.profile.emailRestricted`)};A(`error`),O(t[e?.code]||a(`buyer.profile.emailOtpSendFailed`))}finally{M(!1)}}}function qe(){ke(``),_e({phone:``,code:``}),Te(!1),De(0),ye(``)}async function Je(){let e=Oe===`change`||!u?.phone_number;if(!(e&&!ge.phone.trim()||Se||Ee>0)){Ce(!0),ye(``);try{let t=await Rf(e?`/me/phone-change-otp/request`:`/me/phone-verify-otp/request`,{method:`POST`,body:e?{phone:ge.phone.trim(),channel:`whatsapp`}:{channel:`whatsapp`}});Te(!0),De(Number(t?.cooldown_seconds||60)),xe(`info`),ye(a(`buyer.profile.phoneOtpSent`))}catch{xe(`error`),ye(a(`buyer.profile.phoneOtpRequestFailed`))}finally{Ce(!1)}}}async function Ye(){if(!(!ge.phone.trim()&&Oe===`change`||!ge.code.trim()||Se)){Ce(!0),ye(``);try{let e=Oe===`change`||!u?.phone_number,t=await Rf(e?`/me/phone-change-otp/verify`:`/me/phone-verify-otp/verify`,{method:`POST`,body:e?{phone:ge.phone.trim(),code:ge.code.trim()}:{code:ge.code.trim()}});ye(a(`buyer.profile.phoneVerifiedSuccess`,{phone:t?.masked_phone?` ${t.masked_phone}`:``})),xe(`success`),_e({phone:``,code:``}),Te(!1),De(0),ke(``),await $()}catch{xe(`error`),ye(a(`buyer.profile.phoneOtpVerifyFailed`))}finally{Ce(!1)}}}function Xe(){p(``),h(``),w({name:u?.name||``,email:u?.email||``}),S(!0)}function Ze(){p(``),h(``),w({name:u?.name||``,email:u?.email||``}),qe(),S(!1)}async function Qe(){p(``),b(!0);try{await t()}catch(e){p(e.message)}finally{b(!1)}}function $e(){return!re||je?null:(0,Z.jsxs)(`form`,{onSubmit:Le,className:`profile-account-inline-form profile-password-inline-form`,children:[(0,Z.jsxs)(`label`,{children:[a(`buyer.security.currentPassword`),(0,Z.jsx)(kf,{required:!0,autoComplete:`current-password`,value:ae.current_password,onChange:e=>oe(t=>({...t,current_password:e.target.value}))})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.security.newPassword`),(0,Z.jsx)(kf,{required:!0,minLength:8,maxLength:256,autoComplete:`new-password`,value:ae.new_password,onChange:e=>oe(t=>({...t,new_password:e.target.value}))}),(0,Z.jsx)(`small`,{className:`form-helper`,children:on})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.security.otpCode`),(0,Z.jsxs)(`span`,{className:`profile-otp-input-row`,children:[(0,Z.jsx)(`input`,{type:`text`,required:!0,value:ae.otp_code,onChange:e=>oe(t=>({...t,otp_code:e.target.value}))}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,disabled:le||K>0,onClick:Q,children:le?(0,Z.jsx)(Nt,{label:a(`buyer.security.sendingOtp`)}):K>0?a(`buyer.security.sendOtpCooldown`,{seconds:K}):a(`buyer.security.sendOtp`)})]})]}),(0,Z.jsx)(`p`,{className:`results-message ${q&&pe===`error`?`error`:``}`,role:q&&pe===`error`?`alert`:void 0,children:q||a(`buyer.security.otpHelper`)}),(0,Z.jsxs)(`label`,{className:`profile-checkbox-field`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:ae.logout_other_devices,onChange:e=>oe(t=>({...t,logout_other_devices:e.target.checked}))}),(0,Z.jsx)(`span`,{children:a(`buyer.security.logoutOtherDevices`)}
10)]}),(0,Z.jsx)(`p`,{className:`results-message`,children:a(`buyer.security.logoutOtherDevicesHelper`)}),he&&(0,Z.jsx)(`p`,{className:`results-message error buyer-password-inline-error`,role:`alert`,children:he}),(0,Z.jsxs)(`div`,{className:`profile-inline-actions profile-account-form-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`profile-cancel-btn`,onClick:ze,children:a(`buyer.profile.cancel`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`profile-action-btn`,disabled:se,children:se?(0,Z.jsx)(Nt,{label:a(`buyer.profile.saving`)}):a(`buyer.security.updatePassword`)})]})]})}function et(){return c===`addresses`?(0,Z.jsx)(hf,{navigate:e,authState:{status:`authenticated`,me:n||u},onAuthSuccess:async()=>{},embedded:!0,deps:op}):c===`transactions`?(0,Z.jsx)(`section`,{className:`profile-main-section`,children:(0,Z.jsx)(pp,{navigate:e,authState:r})}):c===`payment`?(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`div`,{className:`profile-section-head`,children:(0,Z.jsx)(`h2`,{children:a(`buyer.profile.paymentInformation`)})}),(0,Z.jsxs)(`div`,{className:`profile-stack-list`,children:[(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`label`,{className:`profile-payment-preference-field`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.paymentSettings.preferredMethod`)}),(0,Z.jsx)(`select`,{value:ne,onChange:e=>R(e.target.value),children:Fe.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,Z.jsxs)(`p`,{children:[Ae[L],` ⢠`,a(`buyer.paymentSettings.checkoutDefault`)]})]}),(0,Z.jsx)(`div`,{className:`profile-inline-actions`,children:(0,Z.jsx)(`button`,{className:`profile-action-btn`,onClick:We,children:a(`buyer.paymentSettings.save`)})})]}),z&&(0,Z.jsx)(`p`,{className:`results-message`,children:z})]})]}):c===`notifications`?(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`div`,{className:`profile-section-head`,children:(0,Z.jsx)(`h2`,{children:a(`buyer.notifications.title`)})}),(0,Z.jsx)(mi,{api:Rf,t:a})]}):c===`security`?(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`div`,{className:`profile-section-head`,children:(0,Z.jsx)(`h2`,{children:a(`buyer.security.settings`)})}),(0,Z.jsx)(`div`,{className:`profile-stack-list`,children:(0,Z.jsxs)(`article`,{className:`profile-section-card profile-security-card`,children:[(0,Z.jsxs)(`div`,{className:`profile-card-content`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.security.password`)}),(0,Z.jsx)(`p`,{children:Pe}),$e()]}),!je&&!re&&(0,Z.jsx)(`div`,{className:`profile-inline-actions`,children:(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:Re,children:a(`buyer.security.changePassword`)})})]})})]}):(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`div`,{className:`profile-section-head`,children:(0,Z.jsx)(`h2`,{children:a(`buyer.profile.sections.overview`)})}),(0,Z.jsxs)(`div`,{className:`profile-stack-list`,children:[(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{className:`profile-card-content`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:a(`buyer.profile.accountInformation`)}),(0,Z.jsx)(`p`,{children:u?.name||u?.display_name||a(`buyer.profile.buyerFallback`)})]}),x?(0,Z.jsxs)(`form`,{className:`profile-account-inline-form`,onSubmit:Ge,children:[(0,Z.jsxs)(`label`,{children:[a(`buyer.profile.name`),(0,Z.jsx)(`input`,{type:`text`,required:!0,minLength:1,maxLength:120,value:C.name,"aria-invalid":m?!0:void 0,"aria-describedby":m?`buyer-profile-name-error`:void 0,onChange:e=>{h(``),w(t=>({...t,name:e.target.value}))}}),m&&(0,Z.jsx)(`span`,{id:`buyer-profile-name-error`,className:`form-helper-text results-message error`,role:`alert`,children:m})]}),(0,Z.jsxs)(`label`,{children:[a(`buyer.profile.email`),(0,Z.jsx)(`input`,{type:`email`,required:!0,value:C.email,readOnly:je,"aria-readonly":je,className:je?`profile-readonly-input`:void 0,onChange:e=>w(t=>({...t,email:e.target.value}))}),je&&(0,Z.jsx)(`span`,{className:`form-helper-text`,children:a(`buyer.profile.verifiedByGoogle`)})]}),!je&&C.email.trim().toLowerCase()!==String(u?.email||``).trim().toLowerCase()&&(0,Z.jsxs)(`div`,{className:`profile-email-otp-flow`,children:[(0,Z.jsx)(`p`,{className:`form-helper-text`,children:a(`buyer.profile.emailOtpHelp`)}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,disabled:j,onClick:Ke,children:j?(0,Z.jsx)(Nt,{label:a(`buyer.profile.emailOtpSending`)}):a(`buyer.profile.emailOtpSend`)}
10),(0,Z.jsxs)(`label`,{children:[a(`buyer.profile.emailOtpCode`),(0,Z.jsx)(`input`,{inputMode:`numeric`,value:T,onChange:e=>E(e.target.value.replace(/\D/g,``).slice(0,6))})]}),D&&(0,Z.jsx)(`p`,{className:`results-message ${k===`error`?`error`:``}`,role:k===`error`?`alert`:`status`,children:D})]}),(0,Z.jsxs)(`div`,{className:`profile-phone-edit-row`,children:[(0,Z.jsx)(`span`,{children:a(`buyer.profile.phone`)}),(0,Z.jsx)(`p`,{children:u?.phone_number?`${u.phone_verified&&u.phone_number_masked||u.phone_number} · ${u.phone_verified?a(`buyer.profile.phoneVerified`):a(`buyer.profile.phoneNotVerified`)}`:a(`buyer.profile.noPhone`)}),Oe===`change`&&(0,Z.jsxs)(`label`,{children:[a(`buyer.profile.newPhone`),(0,Z.jsx)(`input`,{type:`tel`,value:ge.phone,onChange:e=>_e(t=>({...t,phone:e.target.value})),placeholder:`081234567890`})]}),we&&(0,Z.jsxs)(`label`,{children:[a(`buyer.profile.phoneOtpCode`),(0,Z.jsx)(`input`,{type:`text`,inputMode:`numeric`,value:ge.code,onChange:e=>_e(t=>({...t,code:e.target.value.replace(/\D/g,``).slice(0,6)}))})]}),ve&&(0,Z.jsx)(`p`,{className:`results-message ${be===`error`?`error`:``}`,role:be===`error`?`alert`:`status`,children:ve}),(0,Z.jsxs)(`div`,{className:`profile-inline-actions profile-account-form-actions`,children:[!Oe&&u?.phone_number&&!u?.phone_verified&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:()=>ke(`verify`),children:a(`buyer.profile.sendWhatsAppOtp`)}),!Oe&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:()=>{ke(`change`),_e({phone:``,code:``})},children:u?.phone_number?a(`buyer.profile.changePhone`):a(`buyer.profile.addPhone`)}),Oe===`verify`&&!we&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,disabled:Se||Ee>0,onClick:Je,children:Se?(0,Z.jsx)(Nt,{label:a(`buyer.profile.phoneOtpSending`)}):Ee>0?a(`buyer.profile.requestAgain`,{seconds:Ee}):a(`buyer.profile.sendWhatsAppOtp`)}),Oe===`change`&&!we&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,disabled:Se||Ee>0||!ge.phone.trim(),onClick:Je,children:Se?(0,Z.jsx)(Nt,{label:a(`buyer.profile.phoneOtpSending`)}):Ee>0?a(`buyer.profile.requestAgain`,{seconds:Ee}):a(`buyer.profile.sendWhatsAppOtp`)}),we&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-action-btn`,disabled:Se||!ge.code.trim(),onClick:Ye,children:a(`buyer.profile.verify`)}),Oe&&(0,Z.jsx)(`button`,{type:`button`,className:`profile-cancel-btn`,onClick:qe,children:a(`buyer.profile.cancel`)})]})]}),(0,Z.jsxs)(`div`,{className:`profile-inline-actions profile-account-form-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`profile-cancel-btn`,onClick:Ze,children:a(`buyer.profile.cancel`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`profile-action-btn`,disabled:g,children:g?(0,Z.jsx)(Nt,{label:a(`buyer.profile.saving`)}):a(`buyer.profile.save`)})]})]}):(0,Z.jsxs)(`div`,{children:[je&&(0,Z.jsxs)(`p`,{children:[a(`buyer.profile.loginMethod`),`: Google`]}),(0,Z.jsx)(`p`,{children:u?.email||a(`buyer.profile.noEmail`)}),(0,Z.jsx)(`p`,{children:u?.phone_number?`${u.phone_verified&&u.phone_number_masked||u.phone_number} · ${u.phone_verified?a(`buyer.profile.phoneVerified`):a(`buyer.profile.phoneNotVerified`)}`:a(`buyer.profile.noPhone`)}),je&&(0,Z.jsx)(`p`,{className:`results-message`,children:a(`buyer.profile.verifiedByGoogle`)})]})]}),!x&&(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:Xe,children:a(`buyer.profile.edit`)})]}),(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:a(`buyer.profile.defaultShippingAddress`)}),(0,Z.jsx)(wf,{api:Rf,authState:r})]}),(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:()=>He(`addresses`),children:a(`buyer.profile.manageAddresses`)})]}),(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:a(`buyer.profile.paymentInformation`)}),(0,Z.jsxs)(`p`,{children:[a(`buyer.profile.preferredPayment`),`: `,Ae[L]]})]}),(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:Ue,children:a(`buyer.profile.managePayment`)})]}),(0,Z.jsxs)(`article`,{className:`profile-section-card profile-security-card`,children:[(0,Z.jsxs)(`div`,{className:`profile-card-content`,children:[(0,Z.jsx)(`h3`,{children:a(`buyer.profile.security`)}),(0,Z.jsx)(`p`,{children:Pe}),$e()]}),!je&&!re&&(0,Z.jsx)(`button`,{className:`profile-inline-btn`,onClick:Re,children:a(`buyer.security.changePassword`)})]}),(0,Z.jsx)(Qr,{surface:`buyer`}),(0,Z.jsx)(`article`,{className:`profile-section-card profile-preferences-card`,children:(0,Z.jsxs)(`div`,{className:`profile-card-content`,children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{children:a(`buyer.profile.preferences`)}
10)}),(0,Z.jsxs)(`div`,{className:`profile-language-setting`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`strong`,{children:a(`buyer.profile.language`)}),(0,Z.jsx)(`p`,{children:a(`buyer.profile.languageHelp`)})]}),(0,Z.jsx)(zr,{compact:!0,displayMode:`languageNames`,ariaLabel:a(`buyer.profile.language`)})]})]})})]})]})}return(0,Z.jsxs)(Ap,{navigate:e,authState:{status:`authenticated`,me:n||u},onAuthSuccess:async()=>{},children:[(0,Z.jsx)(jt,{show:P,label:a(`buyer.profile.loading`)}),(0,Z.jsxs)(`div`,{className:`profile-page`,children:[(0,Z.jsx)(`header`,{className:`profile-identity-header`,children:(0,Z.jsxs)(`div`,{className:`profile-identity-copy`,children:[(0,Z.jsx)(`p`,{children:a(`buyer.profile.title`)}),(0,Z.jsx)(`h1`,{children:u?.name||u?.display_name||a(`buyer.profile.buyerFallback`)}),(0,Z.jsx)(`span`,{children:u?.email||a(`buyer.profile.noEmail`)})]})}),(0,Z.jsxs)(`div`,{className:`profile-layout`,children:[(0,Z.jsx)(`aside`,{className:`profile-sidebar`,"aria-label":a(`buyer.profile.sectionsLabel`),children:o.map(e=>e.id===`logout`?(0,Z.jsx)(`button`,{type:`button`,className:`profile-nav-item danger`,onClick:Qe,disabled:y,children:y?a(`buyer.profile.logoutPending`):e.label},e.id):(0,Z.jsx)(`a`,{href:Be(e.id),className:`profile-nav-item ${c===e.id?`active`:``}`,"aria-current":c===e.id?`page`:void 0,onClick:t=>Ve(t,e.id),children:e.label},e.id))}),(0,Z.jsxs)(`section`,{className:`profile-content-wrap`,children:[(0,Z.jsx)(`div`,{className:`profile-mobile-tabs`,"aria-label":a(`buyer.profile.mobileNavigation`),children:o.map(e=>e.id===`logout`?(0,Z.jsx)(`button`,{type:`button`,className:`profile-mobile-tab danger`,onClick:Qe,disabled:y,children:y?a(`buyer.profile.logoutPending`):e.label},e.id):(0,Z.jsx)(`a`,{href:Be(e.id),className:`profile-mobile-tab ${c===e.id?`active`:``}`,"aria-current":c===e.id?`page`:void 0,onClick:t=>Ve(t,e.id),children:e.label},e.id))}),et(),(0,Z.jsx)(Mt,{show:N,label:a(`buyer.profile.loading`)})]})]}),Y&&(0,Z.jsx)(`p`,{className:`results-message`,children:Y}),f&&(0,Z.jsx)(`p`,{className:`results-message error`,children:f})]})]})}function xp({navigate:e,dedicatedAdminHost:t=!1,onLoggedOut:n,authUser:r=null}){let i=Rr(),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(!1);async function h(e=s,t=a){m(!0),f(``);try{let n=new URLSearchParams({limit:`50`,offset:`0`});e.trim()&&n.set(`search`,e.trim()),t.trim()&&n.set(`action`,t.trim());let r=await Rf(`/admin/audit-logs?${n.toString()}`);u(r.items||[])}catch(e){f(e.message)}finally{m(!1)}}return(0,_.useEffect)(()=>{h()},[]),(0,Z.jsxs)($i,{navigate:e,currentPage:`admin-audit-logs`,dedicatedAdminHost:t,title:i(`ops.auditLogs.title`),onLoggedOut:n,authUser:r,children:[(0,Z.jsxs)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`,marginBottom:12},children:[(0,Z.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),placeholder:i(`ops.auditLogs.searchPlaceholder`),style:{padding:8,width:260}}),(0,Z.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:i(`ops.auditLogs.actionFilter`),style:{padding:8,width:260}}),(0,Z.jsx)(`button`,{onClick:()=>h(s,a),children:i(`ops.auditLogs.search`)})]}),p&&(0,Z.jsx)(`div`,{children:i(`ops.auditLogs.loading`)}),d&&(0,Z.jsx)(`div`,{style:{color:`crimson`},children:d}),!p&&!d&&(0,Z.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[l.map(e=>(0,Z.jsxs)(`div`,{style:{border:`1px solid #eee`,borderRadius:8,padding:10},children:[(0,Z.jsx)(`div`,{style:{fontWeight:700},children:e.action}),(0,Z.jsxs)(`div`,{children:[i(`ops.auditLogs.at`),`: `,new Date(e.created_at).toLocaleString()]}),(0,Z.jsxs)(`div`,{children:[i(`ops.auditLogs.actor`),`: `,e.actor_email||(e.actor_user_id?`user#${e.actor_user_id}`:i(`ops.auditLogs.system`))]}),(0,Z.jsxs)(`div`,{children:[i(`ops.auditLogs.target`),`: `,e.target_type||`-`,` `,e.target_id||``]}),e.ip_address&&(0,Z.jsxs)(`div`,{children:[`IP: `,e.ip_address]}),e.metadata&&(0,Z.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`,background:`#fafafa`,padding:8},children:JSON.stringify(e.metadata,null,2)})]},e.id)),l.length===0&&(0,Z.jsx)(`div`,{style:{opacity:.7},children:i(`ops.auditLogs.empty`)})]})]})}function Sp({navigate:e,authState:t,onAuthSuccess:n}){let r=Rr();return(0,Z.jsx)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`div`,{className:`not-found-page`,children:[(0,Z.jsxs)(`div`,{children:[r(`buyer.errors.pageNotFound`),`.`]}
10),(0,Z.jsx)(`button`,{onClick:()=>e(`/`),children:r(`buyer.errors.backHome`)})]})})}function Cp(){let{path:e,locationSearch:t,navigate:n}=qf(),[r,i]=(0,_.useState)({status:`loading`,me:null}),[a,o]=(0,_.useState)(`/`),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),d=(0,_.useMemo)(()=>If(),[]),{statusState:f,checkStatus:p}=Lf({disabled:d.dedicatedAdminHost}),m=(0,_.useCallback)(async()=>{try{let e=await Rf(`/me`,{skipAuthHandling:!0});return i({status:`authenticated`,me:e}),c(``),e}catch(e){return Vf(e),i({status:`anonymous`,me:null}),null}},[]),h=(0,_.useCallback)(async()=>{try{await zf(),await Rf(`/logout`,{method:`POST`})}catch(e){if(!Vf(e))throw e}finally{Ff(),i({status:`anonymous`,me:null}),c(``);let e=d.dedicatedAdminHost||g.page.startsWith(`admin-`)?`/login`:`/`;n(e,{replace:!0})}},[n]);(0,_.useEffect)(()=>{if(!d.dedicatedAdminHost&&(e===`/login`||e===`/signup`)){i({status:`anonymous`,me:null});return}m()},[e,m,d.dedicatedAdminHost]),(0,_.useEffect)(()=>{function e(e){e?.detail?.status===401&&(i(e=>e.status===`anonymous`?e:{status:`anonymous`,me:null}),c(b))}return window.addEventListener(y,e),()=>window.removeEventListener(y,e)},[]);let g=(0,_.useMemo)(()=>{let n=e.match(/^\/admin\/complaints\/([^/]+)$/)||(d.dedicatedAdminHost?e.match(/^\/complaints\/([^/]+)$/):null);if(n)return{page:`admin-complaint-detail`,publicId:decodeURIComponent(n[1])};let r=e.match(/^\/admin\/transaction-issues\/([^/]+)$/)||(d.dedicatedAdminHost?e.match(/^\/transaction-issues\/([^/]+)$/):null);if(r)return{page:`admin-transaction-issues`,issueId:Number(decodeURIComponent(r[1]))||null};let i=e.match(/^\/admin\/refund-requests\/([^/]+)$/)||(d.dedicatedAdminHost?e.match(/^\/refund-requests\/([^/]+)$/):null);if(i)return{page:`admin-refund-requests`,refundRequestId:decodeURIComponent(i[1])};let a=gt(e,{dedicatedHost:d.dedicatedAdminHost});if(a)return{page:a};if(e===`/`)return{page:`home`};if(e===`/login`)return{page:`login`};if(e===`/signup`)return{page:`signup`};{let t=Bt(e,Rt);if(t)return t}let o=e.match(/^\/inbox\/([^/]+)$/);if(o)return{page:`inbox`,threadPublicId:decodeURIComponent(o[1])};if(e===`/inbox`)return{page:`inbox`,threadPublicId:``};if(e===`/products`)return{page:`search-results`};if(e===`/cart`)return{page:`cart`};if(e===`/checkout`)return{page:`checkout`};if(e===Nf.path)return{page:Nf.page};if(e===`/checkout/success`)return{page:`checkout-success`};let s=e.match(/^\/checkout\/payment\/([^/]+)\/return$/);if(s)return{page:`checkout-payment`,paymentPublicId:decodeURIComponent(s[1]),paymentReturn:!0};let c=e.match(/^\/checkout\/payment\/([^/]+)$/);if(c)return{page:`checkout-payment`,paymentPublicId:decodeURIComponent(c[1]),paymentReturn:!1};if(e===`/profile`)return{page:`profile`,section:new URLSearchParams(t).get(`section`)||`overview`};if(e===`/addresses`)return{page:`addresses`};if(e===`/orders`)return{page:`orders`};if(e===`/returns`)return{page:`returns`};if(e===`/complaints`)return{page:`complaints`};if(e===`/about`)return{page:`about`};if(e===`/help`)return{page:`help`};if(e===`/contact`)return{page:`contact`};let l=e.match(/^\/stores\/([^/]+)$/);if(l)return{page:`store`,sellerSlug:decodeURIComponent(l[1])};let u=e.match(/^\/orders\/([^/]+)$/);if(u)return{page:`order-detail`,id:decodeURIComponent(u[1])};let f=e.match(/^\/complaints\/([^/]+)$/);if(f)return{page:`complaint-detail`,publicId:decodeURIComponent(f[1])};let p=e.match(/^\/products\/([^/]+)\/([^/]+)$/);return p?{page:`detail`,sellerSlug:decodeURIComponent(p[1]),slug:decodeURIComponent(p[2])}:{page:`notfound`}},[t,e,d.dedicatedAdminHost]);(0,_.useEffect)(()=>{if(g.page===`detail`||g.page===`store`)return;let n=g.page===`home`&&!t&&!d.dedicatedAdminHost,r=[`about`,`help`,`contact`,`legal`].includes(g.page)&&!t&&!d.dedicatedAdminHost,i=g.page===`legal`?Vt(g,Rt):null,a={about:`Tentang Tokodepan`,help:`Bantuan Tokodepan`,contact:`Hubungi Tokodepan`,legal:`Informasi Legal Tokodepan`};Sn({title:n?`Tokodepan - Belanja Online`:i?.title||a[g.page]||`Halaman pribadi | Tokodepan`,description:n?hn:i?.description||(r?`${a[g.page]}.`:`Halaman ini tidak ditampilkan di hasil pencarian.`),canonical:n?`/`:i?.canonical||e,robots:i?.robots||(n||r?`index,follow`:`noindex,nofollow`),jsonLd:n?{"@context":`https://schema.org`,"@type":`WebSite`,name:`Tokodepan`,url:new URL(`/`,window.location.origin).href}:null})},[t,e,g,d.dedicatedAdminHost]);let v=x,S=pt,C=v.has(g.page),E=r.status===`authenticated`,D=r.status!==`loading`&&C&&!E,O=T(g.page,r.status),k=vt({authStatus:r.status,isAdmin:!!r.me?.is_admin,routePage:g.page,adminPages:S}),A=r.status!==`loading`&&r.status===`authenticated`&&[`admin-finance`,`admin-refund-requests`].includes(g.page)&&!!r.me?.is_admin&&!r.me?.can_access_admin_finance,j=Ct({isAdminSurface:d.dedicatedAdminHost,shouldShowAdminRequired:k}),M=!!(d.dedicatedAdminHost&&g.page!==`login`&&!g.page.startsWith(`admin-`)&&g.page!==`notfound`);(0,_.useEffect)(()=>{C||o(e)},[e,C]),(0,_.useEffect)(()=>{!M||r.status===`loading`||n(r.status===`authenticated`?`/admin`:`/login`,{replace:!0})},[r.status,M,n]),(0,_.useEffect)(()=>
10{if(!j)return;let e=!0;async function t(){try{await zf(),await Rf(`/logout`,{method:`POST`})}catch{}finally{Ff()}e&&(i({status:`anonymous`,me:null}),c(``),u(xt),n(`/login`))}return t(),()=>{e=!1}},[n,j]),(0,_.useEffect)(()=>{mn(pn(typeof window>`u`?``:window.location.hostname),{"admin-home":`Dashboard`,"admin-complaints":`Complaints`,"admin-complaint-detail":`Complaint`,"admin-finance":`Finance`,"admin-refund-requests":`Refund requests`,"admin-site-settings":`Site Settings`,"admin-order-settings":`Order Settings`,"admin-payment-settings":`Payment Settings`,"admin-promotions":`Platform Promotions`,login:d.dedicatedAdminHost?`Ops Login`:``}[g.page]||{cart:`Cart`,checkout:`Checkout`,orders:`Transactions`,inbox:`Inbox`,profile:`Profile`,addresses:`Addresses`,about:`About`,contact:`Contact`}[g.page]||``)},[g.page,d.dedicatedAdminHost]);let N=(0,_.useCallback)(()=>{n(a||`/`)},[a,n]),ee=ve({statusState:f,isOpsSurface:d.dedicatedAdminHost});return ee===`loading`?(0,Z.jsx)(jt,{show:!0,label:`Checking Tokodepan availability`}):ee===`maintenance`?(0,Z.jsx)(xe,{status:f.status,checking:f.checking,onCheckAgain:()=>p({manual:!0})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(jt,{show:r.status===`loading`,label:`Preparing your Tokodepan session`}),D&&!O&&(0,Z.jsx)(Ap,{navigate:n,authState:r,onAuthSuccess:m,children:(0,Z.jsx)(wp,{navigate:n,onClose:N,sessionExpired:w(s),showPhoneGuestOption:g.page===`orders`||g.page===`order-detail`,loginPath:Ot(`${e}${t||``}`),signupPath:kt(`${e}${t||``}`),onContinueWithPhone:()=>n(`/login?mode=phone&next=%2Forders`)})}),k&&!d.dedicatedAdminHost&&(0,Z.jsx)(Ap,{navigate:n,authState:r,onAuthSuccess:m,children:(0,Z.jsx)(Ep,{navigate:n,onClose:N})}),A&&(0,Z.jsx)(Ap,{navigate:n,authState:r,onAuthSuccess:m,children:(0,Z.jsx)(Ep,{navigate:n,onClose:N})}),!D&&!k&&!A&&g.page===`home`&&(0,Z.jsx)(Pp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===Nf.page&&(0,Z.jsx)(Ad,{}),!D&&!k&&!A&&g.page===`login`&&(0,Z.jsx)(kp,{mode:`login`,navigate:n,authState:r,onAuthSuccess:m,locationSearch:t,isAdminSurface:d.dedicatedAdminHost,initialError:l,onErrorDisplayed:()=>u(``),variant:d.dedicatedAdminHost?`ops`:`buyer`}),!D&&!k&&!A&&g.page===`legal`&&(0,Z.jsx)(ap,{navigate:n,slug:g.slug}),!D&&!k&&!A&&g.page===`signup`&&(0,Z.jsx)(kp,{mode:`signup`,navigate:n,authState:r,onAuthSuccess:m,locationSearch:t}),!D&&!k&&!A&&g.page===`inbox`&&(0,Z.jsx)(zp,{navigate:n,authState:r,onAuthSuccess:m,routeThreadPublicId:g.threadPublicId||``}),!D&&!k&&!A&&g.page===`search-results`&&(0,Z.jsx)(Bp,{navigate:n,authState:r,onAuthSuccess:m,locationSearch:window.location.search}),!D&&!k&&!A&&g.page===`cart`&&(0,Z.jsx)(lp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`checkout`&&(0,Z.jsx)(up,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`checkout-success`&&(0,Z.jsx)(dp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`checkout-payment`&&(0,Z.jsx)(fp,{navigate:n,authState:r,onAuthSuccess:m,paymentPublicId:g.paymentPublicId,isPaymentReturn:g.paymentReturn}),!D&&!k&&!A&&g.page===`profile`&&(0,Z.jsx)(bp,{navigate:n,onLoggedOut:h,authUser:r.me,authState:r,initialSection:g.section}),!D&&!k&&!A&&g.page===`addresses`&&(0,Z.jsx)(yp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`orders`&&(0,Z.jsx)(mp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`returns`&&(0,Z.jsx)(_p,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`complaints`&&(0,Z.jsx)(hp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`about`&&(0,Z.jsx)(jp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`help`&&(0,Z.jsx)(Np,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`contact`&&(0,Z.jsx)(Mp,{navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`admin-home`&&(0,Z.jsx)(ea,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-returns`&&(0,Z.jsx)(Wc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-products`&&(0,Z.jsx)(tl,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-users`&&(0,Z.jsx)(al,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-buyers`&&(0,Z.jsx)(dl,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-buyer-detail`&&(0,Z.jsx)(dl,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,publicId:g.publicId||new URLSearchParams(window.location.search).get(`id`),api:Rf}),!D&&!k&&!A&&g.page===`admin-sellers`&&(0,Z.jsx)(bl,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-audit-logs`&&(0,Z.jsx)(xp,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me}),!D&&!k&&!A&&g.page===`admin-transaction-issues`&&(0,Z.jsx)(La,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,initialIssueId:g.issueId,api:Rf}),!D&&!k&&!A&&g.page===`admin-refund-requests`&&(0,Z.jsx)(Ka,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,initialRefundRequestId:g.refundRequestId,api:Rf}),!D&&!k&&!A&&g.page===`admin-complaints`&&(0,Z.jsx)(wo,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-complaint-detail`&&(0,Z.jsx)(wo,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,publicId:g.publicId,api:Rf}),!D&&!k&&!A&&g.page===`admin-support`&&(0,Z.jsx)(es,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-whatsapp-support`&&(0,Z.jsx)(ys,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h}),!D&&!k&&!A&&g.page===`admin-holidays`&&(0,Z.jsx)(Ac,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-emergency-sla`&&(0,Z.jsx)(Nc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-shipping-test`&&(0,Z.jsx)(Es,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-promotions`&&(0,Z.jsx)(uc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-finance`&&(0,Z.jsx)(Ws,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-site-settings`&&(0,Z.jsx)(Oc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-order-settings`&&(0,Z.jsx)(Tc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`admin-payment-settings`&&(0,Z.jsx)(gc,{navigate:n,dedicatedAdminHost:d.dedicatedAdminHost,onLoggedOut:h,authUser:r.me,api:Rf}),!D&&!k&&!A&&g.page===`order-detail`&&(0,Z.jsx)(vp,{navigate:n,orderId:g.id,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`complaint-detail`&&(0,Z.jsx)(gp,{navigate:n,publicId:g.publicId,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`detail`&&(0,Z.jsx)(sp,{sellerSlug:g.sellerSlug,slug:g.slug,navigate:n,authState:r,onAuthSuccess:m}),!D&&!k&&!A&&g.page===`store`&&(0,Z.jsx)(cp,{sellerSlug:g.sellerSlug,navigate:n,authState:r,onAuthSuccess:m}),g.page===`notfound`&&(0,Z.jsx)(Sp,{navigate:n,authState:r,onAuthSuccess:m})]})}function wp({navigate:e,onClose:t,sessionExpired:n=!1,showPhoneGuestOption:r=!1,onContinueWithPhone:i,loginPath:a=`/login`,signupPath:o=`/signup`}){let s=Rr();return(0,Z.jsx)(`div`,{className:`auth-required-backdrop`,role:`presentation`,onClick:t,children:(0,Z.jsxs)(`section`,{className:`auth-required-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`auth-required-title`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`h1`,{id:`auth-required-title`,children:s(n?`buyer.auth.sessionExpired`:`buyer.auth.loginRequired`)}),(0,Z.jsx)(`p`,{children:s(n?`buyer.auth.sessionExpiredBody`:`buyer.auth.loginRequiredBody`)}),r&&(0,Z.jsx)(`p`,{children:s(`buyer.auth.guestOrdersPhoneHelp`)}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>
10e(a),children:s(`buyer.nav.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>e(o),children:s(`buyer.nav.signup`)}),r&&(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:i,children:s(`buyer.auth.continueWithPhone`)}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:t,children:s(`buyer.auth.close`)})]})]})})}function Tp({title:e,detail:t,onLogin:n,onSignup:r,onContinueGuest:i,onClose:a,guestCheckoutEnabled:o=!1}){let s=Rr(),c=typeof i==`function`&&o;return(0,Z.jsx)(`div`,{className:`auth-required-backdrop`,role:`presentation`,onClick:a,children:(0,Z.jsxs)(`section`,{className:`auth-required-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`guest-entry-choice-title`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`h1`,{id:`guest-entry-choice-title`,children:e}),(0,Z.jsx)(`p`,{children:t}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:n,children:s(`buyer.nav.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:r,children:s(`buyer.nav.signup`)}),c&&(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:i,children:s(`buyer.auth.continueAsGuest`)})]})]})})}function Ep({navigate:e,onClose:t}){return(0,Z.jsx)(`div`,{className:`auth-required-backdrop`,role:`presentation`,onClick:t,children:(0,Z.jsxs)(`section`,{className:`auth-required-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`admin-required-title`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`h1`,{id:`admin-required-title`,children:`Admin access required`}),(0,Z.jsx)(`p`,{children:`Your account does not have Tokodepan employee admin permissions.`}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>e(`/`),children:`Back to home`}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:t,children:`Close`})]})]})})}function Dp(e,t,n){let r=String(e?.code||``).toLowerCase();return e?.status===429||r.includes(`otp_cooldown`)||r.includes(`otp_rate_limited`)?n:e?.message||t}function Op(e){let t=String(e?.code||``).toLowerCase();return[`signup_unavailable`,`otp_delivery_failed`,`email_otp_unavailable`,`login_unavailable`].includes(t)}function kp({mode:e,navigate:t,authState:n,onAuthSuccess:r,locationSearch:i=``,isAdminSurface:a=!1,initialError:o=``,onErrorDisplayed:s=()=>{},variant:c=`buyer`}){let l=Rr(),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(``),[x,S]=(0,_.useState)(``),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(``),[k,A]=(0,_.useState)(``),[j,M]=(0,_.useState)(``),[N,ee]=(0,_.useState)(!1),[P,F]=(0,_.useState)(``),[I,L]=(0,_.useState)(``),[te,ne]=(0,_.useState)(``),[R,z]=(0,_.useState)(!0),[B,V]=(0,_.useState)(`email`),[H,U]=(0,_.useState)(``),[W,re]=(0,_.useState)(`email`),[ie,ae]=(0,_.useState)(``),[oe,se]=(0,_.useState)(``),[ce,le]=(0,_.useState)(``),[ue,K]=(0,_.useState)(``),[de,q]=(0,_.useState)(!1),[fe,me]=(0,_.useState)(!1),[he,J]=(0,_.useState)(0),[Y,X]=(0,_.useState)(0),ge=(0,_.useRef)(null),_e=(0,_.useRef)(null),ve=(0,_.useRef)(null),[ye,be]=(0,_.useState)(0),[xe,Se]=(0,_.useState)(!1),[Ce,we]=(0,_.useState)(!1),[Te,Ee]=(0,_.useState)(!1),[De,Oe]=(0,_.useState)(``),[ke,Ae]=(0,_.useState)(300),[je,Me]=(0,_.useState)(!1),[Ne,Pe]=(0,_.useState)(!1),Fe=e===`signup`,Ie=Tl(Rf),Q=c===`buyer`&&Ie.isEnabled,Le=bt({mode:e,isAdminSurface:a}),Re={title:Le.titleKey?l(Le.titleKey):Le.title,subtitle:Le.subtitleKey?l(Le.subtitleKey):Le.subtitle,switchPrompt:Le.switchPromptKey?l(Le.switchPromptKey):Le.switchPrompt,switchAction:Le.switchActionKey?l(Le.switchActionKey):Le.switchAction},ze=(0,_.useMemo)(()=>new URLSearchParams(i||window.location.search),[i]),Be=ze.get(`verified`)===`email`,Ve=(ze.get(`email`)||``).trim(),He=(0,_.useMemo)(()=>Et({surface:c,nextPath:ze.get(`next`)||``}),[ze,c]),Ue=(0,_.useRef)(null),We=(0,_.useRef)(``),$=(0,_.useRef)(``),Ge=(0,_.useRef)({onAuthSuccess:r,navigate:t,resolvedNextPath:He}),Ke=(0,_.useRef)(!1);(0,_.useEffect)(()=>{c===`buyer`&&window.scrollTo({top:0,left:0})},[e,c]),(0,_.useEffect)(()=>{Fe||re((ze.get(`mode`)||``).trim()===`phone`?`phone`:`email`)},[Fe,ze]),(0,_.useEffect)(()=>{Fe||Ve&&!f&&p(Ve)},[Fe,Ve,f]),(0,_.useEffect)(()=>{o&&(O(o),s())},[o,s]),(0,_.useEffect)(()=>{n.status===`authenticated`&&t(`/`)},[n.status,t]),(0,_.useEffect)(()=>
10{if(ye<=0)return;let e=window.setInterval(()=>{be(e=>e>0?e-1:0)},1e3);return()=>window.clearInterval(e)},[ye]),(0,_.useEffect)(()=>{let e=!0;async function t(){if(!(!Fe||Ke.current))try{let t=await Rf(`/signup/guest-prefill`);if(!e||!t?.has_verified_guest)return;Ke.current=!0,!u&&t?.name&&d(t.name),!f&&t?.email&&p(t.email),!g&&t?.phone_number&&v(t.phone_number)}catch{}}return t(),()=>{e=!1}},[Fe]),(0,_.useEffect)(()=>{let e=!0;async function t(){if(c===`buyer`)try{let t=await Rf(`/auth/capabilities`,{skipAuthHandling:!0});if(!e)return;let n=String(t?.google_client_id||``).trim();Oe(n),Ee(!!t?.google_auth_enabled&&!!n)}catch{Oe(``),Ee(!1)}}return t(),()=>{e=!1}},[c]),(0,_.useEffect)(()=>{Ge.current={onAuthSuccess:r,navigate:t,resolvedNextPath:He}},[r,t,He]),(0,_.useEffect)(()=>{if(!Te||c!==`buyer`||!Ue.current)return;let e=()=>{let e=Math.floor(Ue.current?.clientWidth||0)||300;Ae(t=>Math.abs(t-e)>=8?e:t)};if(e(),typeof ResizeObserver>`u`)return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e);let t=new ResizeObserver(e);return t.observe(Ue.current),()=>t.disconnect()},[Te,c]);async function qe(e){Pe(!0),O(``);try{let t=await Rf(`/auth/google`,{method:`POST`,body:{credential:e},skipAuthHandling:!0,authSurface:`buyer`}),{onAuthSuccess:n,navigate:r,resolvedNextPath:i}=Ge.current,a=await n();if(t?.phone_verification_required||!a?.phone_verified){r(`/profile?phoneVerification=required&next=${encodeURIComponent(i)}`);return}r(i)}catch{O(l(`buyer.auth.googleFailed`)),Pe(!1)}}(0,_.useEffect)(()=>{if(!Te||c!==`buyer`||!Ue.current)return;let e=`google-identity-services`,t=()=>{if(!window.google?.accounts?.id||!Ue.current||!De)return;We.current!==De&&(window.google.accounts.id.initialize({client_id:De,auto_select:!1,button_auto_select:!1,callback:async e=>{if(Pe(!0),O(``),!e?.credential){O(l(`buyer.auth.googleCredentialMissing`)),Pe(!1);return}await qe(e.credential)}}),We.current=De);let e=Math.floor(ke||Ue.current.clientWidth||300),t=typeof window<`u`&&window.matchMedia?.(`(max-width: 640px)`)?.matches?32:24,n=e>0?Math.max(0,e-t):300,r=Math.min(300,Math.max(180,n)),i=`${De}:${Fe?`signup`:`signin`}:${r}`;$.current!==i&&(Me(!1),Ue.current.replaceChildren(),window.google.accounts.id.renderButton(Ue.current,{theme:`outline`,size:`large`,width:r,text:Fe?`signup_with`:`signin_with`}),$.current=i,window.requestAnimationFrame(()=>Me(!0)))};if(document.getElementById(e))t();else{let n=document.createElement(`script`);n.id=e,n.src=`https://accounts.google.com/gsi/client`,n.async=!0,n.defer=!0,n.onload=t,document.head.appendChild(n)}},[Te,De,c,Fe,ke]);async function Je(){E(!0),O(``),A(``),M(``);try{if(Fe){if(!C){let e=await pe(`buyer_signup`,{mountElement:_e.current});await Rf(`/signup`,{method:`POST`,body:{name:u,email:f,password:m,phone_number:g,phone_otp_channel:`whatsapp`,legal_acceptance:Ce,turnstile_token:e}}),w(!0),be(60),M(l(`buyer.auth.signupCodesSent`));return}await Rf(`/signup/verify`,{method:`POST`,body:{name:u,email:f,password:m,code:y,phone_code:x,phone_number:g,link_guest_activity:!1,legal_acceptance:Ce}}),t(Dt(`/login?verified=email&email=${encodeURIComponent(f.trim())}`,ze.get(`next`)||``));return}let e=await pe(`buyer_login`,{mountElement:_e.current});if(await Rf(`/login`,{method:`POST`,body:{email:f,password:m,turnstile_token:e},skipAuthHandling:!0}),St({isAdminSurface:a,user:await r()})){try{await zf(),await Rf(`/logout`,{method:`POST`})}catch{}finally{Ff()}await r(),O(xt);return}t(He)}catch(t){!Op(t)&&(Hf(t)||!Number.isInteger(t?.status)&&t?.status!==0)&&console.error(`Auth request failed unexpectedly`,{mode:e,status:t?.status,code:t?.code,message:t?.message});let n=Fe?G(t,l):``;n?A(n):O(Kf(t,{isSignup:Fe,t:l}))}finally{E(!1)}}(0,_.useEffect)(()=>{if(he<=0)return;let e=window.setInterval(()=>J(e=>Math.max(0,e-1)),1e3);return()=>window.clearInterval(e)},[he]),(0,_.useEffect)(()=>{if(Y<=0)return;let e=window.setInterval(()=>X(e=>Math.max(0,e-1)),1e3);return()=>window.clearInterval(e)},[Y]);async function Ye(){if(!(de||he>0)){if(!oe.trim()){K(l(`buyer.auth.guestPhoneRequired`));return}try{q(!0),K(``);let e=await pe(`guest_access_otp`,{mountElement:ve.current}),t=await Rf(`/auth/phone-otp/request`,{method:`POST`,body:{phone:oe.trim(),purpose:`guest_order_access`,channel:`whatsapp`,turnstile_token:e},skipAuthHandling:!0});K(l(`buyer.auth.guestOtpSent`)),J(Number(t?.cooldown_seconds||60))}catch(e){K(Dp(e,l(`buyer.auth.guestSendFailed`),l(`buyer.auth.otpCooldown`)))}finally{q(!1)}}}
10async function Xe(){if(!fe){if(!oe.trim()||!ce.trim()){K(l(`buyer.auth.guestFieldsRequired`));return}try{me(!0),K(``),await Rf(`/guest/checkout/verify-otp`,{method:`POST`,body:{name:ie.trim()||void 0,phone:oe.trim(),code:ce.trim(),purpose:`guest_order_access`},skipAuthHandling:!0}),Fl(Il({guestPrefill:{has_verified_guest:!0,name:ie.trim(),phone_number:oe.trim()},addresses:[]})),await r(),t(Et({surface:`buyer`,nextPath:ze.get(`next`)||``}))}catch(e){K(e?.message||l(`buyer.auth.guestVerifyFailed`))}finally{me(!1)}}}async function Ze(){if(!T){if(!P.trim()){U(l(`buyer.auth.registeredEmailRequired`));return}E(!0),O(``),U(``);try{let e=await pe(`password_reset`,{mountElement:ge.current});await Rf(`/password-reset/request`,{method:`POST`,body:{email:P.trim(),purpose:`password_reset`,turnstile_token:e}}),V(`otp`),U(l(`buyer.auth.resetOtpSent`)),X(60)}catch(e){U(Dp(e,l(`buyer.auth.resetRequestFailed`),l(`buyer.auth.otpCooldown`)))}finally{E(!1)}}}async function Qe(){if(!(!Fe||!C||ye>0||xe)){if(!u.trim()||!f.trim()||!m){O(l(`buyer.auth.signupResendRequired`));return}Se(!0),O(``),M(``);try{let e=await pe(`buyer_signup`,{mountElement:_e.current});await Rf(`/signup`,{method:`POST`,body:{name:u,email:f,password:m,phone_number:g,phone_otp_channel:`whatsapp`,legal_acceptance:Ce,turnstile_token:e}}),be(60),M(l(`buyer.auth.signupCodesResent`))}catch(e){O(Dp(e,l(`buyer.auth.signupResendFailed`),l(`buyer.auth.otpCooldown`))),e?.status===429&&be(60)}finally{Se(!1)}}}async function $e(){if(!P.trim()||!I.trim()||!te){U(l(`buyer.auth.resetFieldsRequired`));return}E(!0),O(``),U(``);try{await Rf(`/password-reset/confirm`,{method:`POST`,body:{email:P.trim(),code:I.trim(),new_password:te,logout_other_devices:R}}),ee(!1),V(`email`),L(``),ne(``),z(!0),M(l(`buyer.auth.resetSuccess`))}catch(e){U(String(e?.code||``).toLowerCase()===`password_policy_violation`?l(`buyer.auth.passwordPolicyError`):l(`buyer.auth.resetFailed`))}finally{E(!1)}}return(0,Z.jsxs)(Ap,{navigate:t,authState:n,onAuthSuccess:r,isAdminSurface:a,children:[(0,Z.jsx)(`section`,{className:`auth-page-wrap`,children:(0,Z.jsxs)(`div`,{className:`auth-page-card`,children:[c===`buyer`&&(0,Z.jsx)(`div`,{className:`auth-language-setting`,children:(0,Z.jsx)(zr,{compact:!0,displayMode:`languageNames`,ariaLabel:l(`buyer.profile.language`)})}),(0,Z.jsx)(`h1`,{children:Re.title}),(0,Z.jsx)(`p`,{children:Re.subtitle}),c===`buyer`&&Te&&(0,Z.jsxs)(`div`,{className:`auth-google-section`,children:[(0,Z.jsxs)(`div`,{className:`auth-google-button-shell${Ne?` is-signing-in`:``}`,"aria-busy":Ne,children:[Ne?(0,Z.jsx)(`div`,{className:`auth-google-signing-in`,role:`status`,"aria-live":`polite`,children:(0,Z.jsx)(Nt,{label:l(`buyer.auth.googleSigningIn`)})}):!je&&(0,Z.jsxs)(`div`,{className:`auth-google-loading`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`auth-google-loading-bar`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{children:l(`buyer.auth.googleLoading`)})]}),(0,Z.jsx)(`div`,{className:`auth-google-button-wrap`,ref:Ue,"aria-hidden":!je})]}),(0,Z.jsx)(`div`,{className:`auth-email-separator`,role:`separator`,children:l(Fe?`buyer.auth.emailSeparatorSignup`:`buyer.auth.emailSeparatorLogin`)})]}),(0,Z.jsxs)(`form`,{className:`auth-main-form`,onSubmit:e=>{e.preventDefault(),Je()},children:[(0,Z.jsxs)(`div`,{className:`auth-form-grid`,children:[!Fe&&Be&&(0,Z.jsxs)(`div`,{className:`auth-signup-success`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsx)(`span`,{className:`auth-signup-success-icon`,"aria-hidden":`true`,children:`â`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`strong`,{children:l(`buyer.auth.signupSuccessTitle`)}),(0,Z.jsx)(`p`,{children:l(`buyer.auth.signupSuccessBody`)})]})]}),Fe&&(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.fullName`),(0,Z.jsx)(`input`,{type:`text`,value:u,"aria-invalid":k?!0:void 0,"aria-describedby":k?`buyer-signup-name-error`:void 0,onChange:e=>{A(``),d(e.target.value)}}),k&&(0,Z.jsx)(`span`,{id:`buyer-signup-name-error`,className:`results-message error`,role:`alert`,children:k})]}),(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.email`),(0,Z.jsx)(`input`,{type:`email`,autoComplete:`username`,value:f,onChange:e=>p(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.password`),(0,Z.jsx)(kf,{value:m,onChange:e=>h(e.target.value),minLength:Fe?8:void 0,maxLength:256,autoComplete:Fe?`new-password`:`current-password`}),Fe&&(0,Z.jsx)(`small`,{className:`form-helper`,children:l(`buyer.auth.passwordPolicy`)})]}),Fe&&(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.mainPhoneNumber`),(0,Z.jsx)(`input`,{type:`tel`,value:g,onChange:e=>v(e.target.value)})]}),Fe&&C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.emailOtpCode`),(0,Z.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.phoneOtpCode`),(0,Z.jsx)(`input`,{type:`text`,value:x,onChange:e=>S(e.target.value)})]})]})]}),Fe&&(0,Z.jsxs)(`label`,{className:`auth-legal-consent`,style:{display:`flex`,gap:8,alignItems:`flex-start`,marginTop:12},children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:Ce,onChange:e=>we(e.target.checked)}),(0,Z.jsxs)(`span`,{children:[l(`buyer.auth.legalConsentPrefix`),(0,Z.jsx)(`a`,{href:`/legal/terms`,target:`_blank`,rel:`noreferrer`,children:l(`buyer.auth.termsAndConditions`)}),l(`buyer.auth.legalConsentConnector`),(0,Z.jsx)(`a`,{href:`/legal/privacy`,target:`_blank`,rel:`noreferrer`,children:l(`buyer.auth.privacyPolicy`)}
10),l(`buyer.auth.legalConsentSuffix`)]})]}),Fe&&C&&(0,Z.jsx)(`div`,{className:`auth-page-actions`,children:(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,disabled:T||xe||ye>0,onClick:Qe,children:xe?(0,Z.jsx)(Nt,{label:l(`buyer.auth.resendingCode`)}):ye>0?l(`buyer.auth.resendCodeIn`,{seconds:ye}):l(`buyer.auth.resendCode`)})}),j&&(0,Z.jsx)(`p`,{className:`results-message`,children:j}),D&&(0,Z.jsx)(`p`,{className:`results-message error`,children:D}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:_e}),(0,Z.jsxs)(`div`,{className:`auth-page-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>t(`/`),children:l(`buyer.auth.backToHome`)}),(0,Z.jsx)(`button`,{type:`submit`,className:`primary auth-primary-loading`,disabled:T||Ne||!f||!m||Fe&&(!u||!g||!Ce||C&&(!y||!x)),children:T?(0,Z.jsx)(Nt,{label:l(Fe?`buyer.auth.submitting`:`buyer.auth.signingIn`)}):l(Fe?C?`buyer.auth.verifyCreateAccount`:`buyer.auth.sendOtp`:`buyer.auth.login`)}),!Fe&&(0,Z.jsx)(`button`,{type:`button`,className:`secondary auth-forgot-btn`,disabled:T,onClick:()=>{z(!0),ee(!0)},children:l(`buyer.auth.forgotPassword`)})]})]}),(0,Z.jsxs)(`p`,{className:`auth-page-switch`,children:[Re.switchPrompt,` `,(0,Z.jsx)(`button`,{type:`button`,className:`auth-switch-link`,onClick:()=>t(Dt(Fe?`/login`:`/signup`,ze.get(`next`)||``)),children:Re.switchAction})]}),!Fe&&Q&&W===`email`&&(0,Z.jsxs)(`div`,{className:`auth-page-phone-entry`,children:[(0,Z.jsx)(`p`,{children:l(`buyer.auth.guestPhoneHelper`)}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,disabled:T,onClick:()=>{K(``),re(`phone`)},children:l(`buyer.auth.continueWithPhone`)})]}),!Fe&&Q&&W===`phone`&&(0,Z.jsxs)(`div`,{className:`auth-page-phone-entry`,children:[(0,Z.jsx)(`p`,{children:l(`buyer.auth.guestPhoneHelper`)}),(0,Z.jsxs)(`div`,{className:`checkout-guest-grid`,style:{marginTop:12},children:[(0,Z.jsx)(`input`,{placeholder:l(`buyer.auth.fullNameOptional`),value:ie,onChange:e=>ae(e.target.value)}),(0,Z.jsx)(`input`,{placeholder:l(`buyer.auth.phoneNumber`),value:oe,onChange:e=>se(e.target.value)}),(0,Z.jsxs)(`div`,{className:`checkout-otp-row`,children:[(0,Z.jsx)(`input`,{placeholder:l(`buyer.auth.otpCode`),value:ce,onChange:e=>le(e.target.value)}),(0,Z.jsx)(`button`,{className:`checkout-primary-btn`,type:`button`,disabled:fe||de,onClick:Xe,children:fe?(0,Z.jsx)(Nt,{label:l(`buyer.auth.verifyingOtp`)}):l(`buyer.auth.verifyOtp`)})]}),(0,Z.jsx)(`button`,{className:`checkout-primary-btn`,type:`button`,disabled:de||fe||he>0,onClick:Ye,children:de?(0,Z.jsx)(Nt,{label:l(`buyer.auth.preparingOtp`)}):he>0?l(`buyer.auth.requestAgainIn`,{seconds:he}):l(`buyer.auth.requestWhatsappOtp`)}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:ve}),ue&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:ue})]}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,disabled:de||fe,onClick:()=>re(`email`),children:l(`buyer.auth.useEmailLogin`)})]})]})}),!Fe&&N&&(0,Z.jsx)(`div`,{className:`auth-required-backdrop`,role:`presentation`,onClick:()=>{T||ee(!1)},children:(0,Z.jsxs)(`section`,{className:`auth-required-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`forgot-password-title`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`h1`,{id:`forgot-password-title`,children:l(`buyer.auth.resetTitle`)}),(0,Z.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),B===`email`?Ze():$e()},children:[(0,Z.jsxs)(`div`,{className:`auth-form-grid`,children:[(0,Z.jsxs)(`label`,{children:[`Email`,(0,Z.jsx)(`input`,{type:`email`,autoComplete:`username`,value:P,onChange:e=>F(e.target.value)})]}),B===`otp`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`label`,{children:[l(`buyer.auth.otpCode`),(0,Z.jsx)(`input`,{type:`text`,value:I,onChange:e=>L(e.target.value)})]}),(0,Z.jsxs)(`label`,{children:[l(`buyer.security.newPassword`),(0,Z.jsx)(kf,{value:te,onChange:e=>ne(e.target.value),minLength:8,maxLength:256,autoComplete:`new-password`}),(0,Z.jsx)(`small`,{className:`form-helper`,children:l(`buyer.auth.passwordPolicy`)})]}),(0,Z.jsxs)(`label`,{className:`auth-checkbox-field`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:R,onChange:e=>z(e.target.checked)}),(0,Z.jsx)(`span`,{children:l(`buyer.security.logoutOtherDevices`)}
10)]})]})]}),H&&(0,Z.jsx)(`p`,{className:`results-message`,children:H}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:ge}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,children:[B===`email`?(0,Z.jsx)(`button`,{type:`submit`,className:`primary`,disabled:T||Y>0,children:T?(0,Z.jsx)(Nt,{label:l(`buyer.auth.requestingOtp`)}):Y>0?l(`buyer.auth.resendOtpIn`,{seconds:Y}):l(`buyer.auth.requestOtp`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`submit`,className:`primary`,disabled:T,children:T?(0,Z.jsx)(Nt,{label:l(`buyer.auth.resettingPassword`)}):l(`buyer.auth.verifyReset`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,disabled:T||Y>0,onClick:Ze,children:Y>0?l(`buyer.auth.resendOtpIn`,{seconds:Y}):l(`buyer.auth.resendOtp`)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,disabled:T,onClick:()=>ee(!1),children:l(`buyer.auth.close`)})]})]})]})})]})}function Ap({children:e,navigate:t,authState:n={status:`anonymous`,me:null},isAdminSurface:r=!1}){let[i,a]=(0,_.useState)(!1),o=Rr(),s=window.location.pathname===`/products`&&new URLSearchParams(window.location.search).get(`q`)||``,[c,l]=(0,_.useState)(s),[u,d]=(0,_.useState)(!1),f=n.status===`authenticated`,p=n.status===`loading`,m=yt({authStatus:n.status,isAdmin:n.me?.is_admin}),h=tp(f&&!p),g=h.count,v=_t(`admin-home`,{dedicatedHost:!1}),y=ht(window.location,v),b=wt({isAdminSurface:r}),x=!f&&!p&&u,S=window.location.pathname===`/`;(0,_.useEffect)(()=>{let e=null;if(f||p)return e=window.setTimeout(()=>d(!1),0),()=>window.clearTimeout(e);let t=!0;return(async()=>{try{let e=await Rf(`/signup/guest-prefill`,{skipAuthHandling:!0});if(!t)return;d(!!e?.has_verified_guest)}catch{if(!t)return;d(!1)}})(),()=>{t=!1,e&&window.clearTimeout(e)}},[p,f]);let C=()=>{if(y.startsWith(`http://`)||y.startsWith(`https://`)){window.location.assign(y);return}t(y)};(0,_.useEffect)(()=>{let e=window.setTimeout(()=>{if(window.location.pathname!==`/products`){l(``);return}l(new URLSearchParams(window.location.search).get(`q`)||``)},0);return()=>window.clearTimeout(e)},[e]);function w(e){e.preventDefault();let n=c.trim();n&&(t(`/products?${new URLSearchParams({q:n}).toString()}`),a(!1))}return(0,Z.jsx)(`div`,{className:`buyer-page-shell`,children:(0,Z.jsxs)(`div`,{className:`buyer-page-card`,children:[(0,Z.jsx)(`header`,{className:`buyer-header`,children:(0,Z.jsxs)(`div`,{className:`buyer-header-top-row`,children:[(0,Z.jsx)(`button`,{className:`brand-button`,onClick:()=>t(`/`),"aria-label":`Tokodepan home`,children:(0,Z.jsx)(`img`,{className:`brand-logo`,src:`/brand/tokodepan-logo.png`,alt:`Tokodepan`})}),!S&&(0,Z.jsx)(`div`,{className:`buyer-header-search-compact`,children:(0,Z.jsxs)(`form`,{className:`buyer-header-search-inline`,onSubmit:w,children:[(0,Z.jsx)(`input`,{type:`search`,value:c,onChange:e=>l(e.target.value),placeholder:o(`buyer.nav.searchProducts`),"aria-label":o(`buyer.products.searchPlaceholder`)}),(0,Z.jsx)(`button`,{type:`submit`,"aria-label":o(`buyer.products.searchPlaceholder`),children:(0,Z.jsx)(En,{})})]})}),(0,Z.jsx)(`nav`,{className:`desktop-nav`,"aria-label":`Desktop navigation`,children:p?(0,Z.jsxs)(`span`,{className:`buyer-auth-loading`,"aria-hidden":`true`,children:[(0,Z.jsx)(Pt,{width:68,height:34}),(0,Z.jsx)(Pt,{width:74,height:34}),(0,Z.jsx)(Pt,{width:104,height:34})]}):f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`button`,{className:`nav-link nav-link-with-badge`,onClick:()=>
10t(`/inbox`),children:[o(`buyer.nav.inbox`),g>0&&(0,Z.jsx)(`span`,{className:`nav-unread-badge`,children:ep(g,h.capped)})]}),m&&(0,Z.jsx)(`button`,{className:`nav-link`,onClick:C,children:o(`buyer.nav.admin`)}),b&&(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>t(`/cart`),children:o(`buyer.nav.cart`)}),(0,Z.jsx)(`button`,{className:`nav-profile`,onClick:()=>t(`/profile`),children:o(`buyer.nav.profile`)})]}):(0,Z.jsxs)(Z.Fragment,{children:[b&&(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>t(`/cart`),children:o(`buyer.nav.cart`)}),(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>t(jf()),children:o(`buyer.nav.login`)}),x?(0,Z.jsx)(`button`,{className:`nav-signup`,onClick:()=>t(`/profile`),children:o(`buyer.nav.profile`)}):(0,Z.jsx)(`button`,{className:`nav-signup`,onClick:()=>t(Mf()),children:o(`buyer.nav.signup`)})]})}),(0,Z.jsxs)(`div`,{className:`mobile-nav`,children:[b&&(0,Z.jsx)(`button`,{className:`nav-link`,onClick:()=>t(`/cart`),children:o(`buyer.nav.cart`)}),(0,Z.jsx)(`button`,{className:`nav-link`,"aria-expanded":i,onClick:()=>a(e=>!e),children:o(`buyer.nav.menu`)})]})]})}),i&&(0,Z.jsxs)(`div`,{className:`mobile-menu`,children:[b&&(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(`/cart`),children:o(`buyer.nav.cart`)}),p?(0,Z.jsx)(`div`,{className:`mobile-menu-item buyer-auth-loading`,children:(0,Z.jsx)(Nt,{label:o(`buyer.nav.checkingSession`)})}):f?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(`/orders`),children:o(`buyer.nav.orders`)}),(0,Z.jsxs)(`button`,{className:`mobile-menu-item nav-link-with-badge`,onClick:()=>
10t(`/inbox`),children:[o(`buyer.nav.inbox`),g>0&&(0,Z.jsx)(`span`,{className:`nav-unread-badge`,children:ep(g,h.capped)})]}),m&&(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:C,children:o(`buyer.nav.adminWorkspace`)}),(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(`/profile`),children:o(`buyer.nav.profile`)})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(jf()),children:o(`buyer.nav.login`)}),x?(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(`/profile`),children:o(`buyer.nav.profile`)}):(0,Z.jsx)(`button`,{className:`mobile-menu-item`,onClick:()=>t(Mf()),children:o(`buyer.nav.signup`)})]})]}),(0,Z.jsx)(`main`,{className:`buyer-main-content`,children:e}),(0,Z.jsx)(Sf,{navigate:t,pathname:window.location.pathname,isAdminSurface:r}),(0,Z.jsx)(`footer`,{className:`buyer-footer`,children:(0,Z.jsxs)(`div`,{className:`buyer-footer-links`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`footer-link-button`,onClick:()=>t(`/about`),children:o(`buyer.footer.about`)}),(0,Z.jsx)(`button`,{type:`button`,className:`footer-link-button`,onClick:()=>t(`/help`),children:o(`buyer.footer.help`)}),(0,Z.jsx)(`button`,{type:`button`,className:`footer-link-button`,onClick:()=>t(`/contact`),children:o(`buyer.footer.contact`)})]})})]})})}function jp({navigate:e,authState:t,onAuthSuccess:n}){let r=Rr();return(0,Z.jsx)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`section`,{className:`profile-page`,children:[(0,Z.jsx)(`p`,{className:`profile-eyebrow`,children:r(`buyer.about.eyebrow`)}),(0,Z.jsx)(`h1`,{children:r(`buyer.about.title`)}),(0,Z.jsx)(`p`,{className:`company-page-intro`,children:r(`buyer.about.intro`)}),(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.about.sellersTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.about.sellersDescription`)})]})}),(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.about.buyersTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.about.buyersDescription`)})]})}),(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.about.experienceTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.about.experienceDescription`)})]})}),(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.about.principlesTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.about.principlesDescription`)})]})}),(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.about.togetherTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.about.togetherDescription`)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:()=>e(`/`),children:r(`buyer.about.shopCta`)})]})]})]})})}function Mp({navigate:e,authState:t,onAuthSuccess:n}){let r=Rr();return(0,Z.jsx)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`section`,{className:`profile-page`,children:[(0,Z.jsx)(`p`,{className:`profile-eyebrow`,children:r(`buyer.contact.eyebrow`)}),(0,Z.jsx)(`h1`,{children:r(`buyer.contact.title`)}),(0,Z.jsx)(`p`,{className:`company-page-intro`,children:r(`buyer.contact.intro`)}),(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.contact.companyTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.contact.companyDescription`)}),(0,Z.jsxs)(`dl`,{className:`company-contact-list`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:r(`buyer.contact.addressLabel`)}),(0,Z.jsx)(`dd`,{children:r(`buyer.contact.addressValue`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:r(`buyer.contact.emailLabel`)}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`a`,{href:`mailto:[email protected]`,children:r(`buyer.contact.emailValue`)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:r(`buyer.contact.phoneLabel`)}),(0,Z.jsx)(`dd`,{children:(0,Z.jsx)(`a`,{href:`https://wa.me/6285174386938`,target:`_blank`,rel:`noopener noreferrer`,children:r(`buyer.contact.phoneValue`)})})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{children:r(`buyer.contact.hoursLabel`)}),(0,Z.jsx)(`dd`,{children:r(`buyer.contact.hoursValue`)})]})]})]})}),(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.contact.buyerSupp
10ortTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.contact.buyerSupportDescription`)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:()=>e(`/help`),children:r(`buyer.contact.helpCta`)})]}),(0,Z.jsx)(`article`,{className:`profile-section-card`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.contact.sellerSupportTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.contact.sellerSupportDescription`)})]})})]})]})})}function Np({navigate:e,authState:t,onAuthSuccess:n}){let r=Rr(),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(``);async function c(){if(!i)try{a(!0),s(``);let t=Xt(await Rf(`/buyer/support/thread`,{method:`POST`,body:{}}));if(!t)throw Error(r(`buyer.help.chatFailed`));e(`/inbox?thread=${encodeURIComponent(t)}`)}catch(e){s(e?.message||r(`buyer.help.chatFailed`))}finally{a(!1)}}return(0,Z.jsx)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`section`,{className:`profile-page`,children:[(0,Z.jsx)(`h1`,{children:r(`buyer.help.title`)}),(0,Z.jsxs)(`section`,{className:`profile-main-section`,children:[(0,Z.jsxs)(`article`,{className:`profile-section-card`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{children:r(`buyer.help.supportTitle`)}),(0,Z.jsx)(`p`,{children:r(`buyer.help.supportDescription`)})]}),(0,Z.jsx)(`button`,{type:`button`,className:`profile-inline-btn`,onClick:c,disabled:i,children:r(i?`buyer.help.openingChat`:`buyer.help.chat`)})]}),o&&(0,Z.jsx)(`p`,{className:`results-message error`,children:o})]})]})})}function Pp({navigate:e,authState:t,onAuthSuccess:n}){let r=Rr(),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)([]);(0,_.useEffect)(()=>{let e=!0;return Rf(`/site-banners?surface=buyer_home`).then(t=>{e&&l(Array.isArray(t)?t:[])}).catch(()=>{}),()=>{e=!1}},[]);function u(t){t.preventDefault(),s(!0);let n=new URLSearchParams;i.trim()&&n.set(`q`,i.trim());let r=n.toString();e(`/products${r?`?${r}`:``}`)}return(0,Z.jsx)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:(0,Z.jsxs)(`section`,{className:`hero-section buyer-home-hero`,children:[(0,Z.jsx)(`h1`,{children:r(`buyer.home.heroTitle`)}),(0,Z.jsxs)(`form`,{className:`hero-search`,onSubmit:u,children:[(0,Z.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:r(`buyer.home.searchPlaceholder`),"aria-label":r(`buyer.products.searchPlaceholder`)}),(0,Z.jsx)(`button`,{type:`submit`,"aria-label":r(`buyer.home.search`),children:(0,Z.jsx)(En,{})})]}),(0,Z.jsx)(kc,{banners:c,ariaLabel:r(`buyer.home.banners`)}),(0,Z.jsx)(ri,{surface:`buyer`}),(0,Z.jsx)(Mt,{show:o,label:r(`buyer.home.openingSearchResults`)})]})})}var Fp=new Intl.NumberFormat(`id-ID`,{style:`currency`,currency:`IDR`,maximumFractionDigits:0});function Ip(e){return e?.thumbnail_url||e?.image_url||e?.primary_image_url||e?.image||e?.product_image_url||``}function Lp({title:e,searchPlaceholder:t,query:n,onQueryChange:r,onSearch:i,loading:a,error:o,emptyMessage:s,children:c,offset:l,total:u,hasMore:d,onPrevious:f,onNext:p,onClose:m}){let h=Rr(),{currentPage:g,totalPages:_}=qn({offset:l,limit:10,total:u});return(0,Z.jsx)(`div`,{className:`attachment-picker-modal`,role:`dialog`,"aria-modal":`true`,children:(0,Z.jsxs)(`div`,{className:`attachment-picker-panel`,children:[(0,Z.jsxs)(`div`,{className:`attachment-picker-head`,children:[(0,Z.jsx)(`div`,{children:(0,Z.jsx)(`h3`,{children:e})}),(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-close-x`,onClick:m,"aria-label":h(`buyer.chatAttachments.close`),children:`â`})]}),(0,Z.jsxs)(`form`,{className:`attachment-picker-search`,onSubmit:i,children:[(0,Z.jsx)(`span`,{children:h(`buyer.chatAttachments.search`)}),(0,Z.jsxs)(`span`,{className:`attachment-picker-search-row`,children:[(0,Z.jsx)(`input`,{placeholder:t,value:n,onChange:r}),(0,Z.jsx)(`button`,{type:`submit`,className:`attachment-picker-search-btn`,disabled:a,"aria-label":h(`buyer.chatAttachments.searchAttachments`),title:h(`buyer.chatAttachments.searchAttachments`),children:(0,Z.jsx)(En,{})})]})]}),(0,Z.jsx)(`div`,{className:`attachment-picker-list`,children:a?(0,Z.jsx)(`p`,{className:`attachment-picker-state attachment-picker-loading`,children:h(`buyer.chatAttachments.loading`)}):o?(0,Z.jsx)(`p`,{className:`attachment-picker-state attachment-picker-error`,children:o}):c||(0,Z.jsx)(`p`,{className:`attachment-picker-state attachment-picker-empty`,children:s})}),(0,Z.jsxs)(`div`,{className:`attachment-picker-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-nav-btn`,onClick:f,disabled:l<=0||a,children:h(`buyer.chatAttachments.previous`)}),(0,Z.jsx)(`span`,{className:`attachment-picker-page-text`,children:h(`buyer.chatAttachments.pageOf`,{page:g,total:_})}),(0,Z.jsx)(`button`,{type:`button`,className:`attachment-picker-nav-btn`,onClick:p,disabled:!d||a,children:h(`buyer.chatAttachments.next`)})]})]})})}function Rp({title:e,badge:t,meta:n,secondaryMeta:r,thumbnail:i,icon:a=`ð`,onClick:o}){let[s,c]=(0,_.useState)(``);return(0,Z.jsxs)(`button`,{className:`attachment-picker-row`,type:`button`,onClick:o,children:[i&&s!==i?(0,Z.jsx)(`img`,{className:`attachment-picker-thumb`,src:i,alt:``,onError:()=>c(i)}):(0,Z.jsx)(`span`,{className:`attachment-picker-icon`,"aria-hidden":!0,
10children:a}),(0,Z.jsxs)(`span`,{className:`attachment-picker-row-main`,children:[(0,Z.jsx)(`strong`,{children:e}),(0,Z.jsx)(`span`,{className:`attachment-picker-row-meta`,children:n})]}),(0,Z.jsxs)(`span`,{className:`attachment-picker-row-side`,children:[t&&(0,Z.jsx)(`span`,{className:`attachment-picker-badge`,children:t}),r&&(0,Z.jsx)(`span`,{children:r})]})]})}function zp({navigate:e,authState:t,onAuthSuccess:n,routeThreadPublicId:r=``}){let i=Rr(),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(null),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)([]),[E,D]=(0,_.useState)([]),[O,k]=(0,_.useState)(``),[A,j]=(0,_.useState)(``),[M,N]=(0,_.useState)(``),[ee,P]=(0,_.useState)(``),[F,I]=(0,_.useState)(0),[L,te]=(0,_.useState)(0),[ne,z]=(0,_.useState)(!1),[B,V]=(0,_.useState)(!1),[H,U]=(0,_.useState)(0),[W,re]=(0,_.useState)(0),[G,ie]=(0,_.useState)(!1),[ae,oe]=(0,_.useState)(!1),[se,ce]=(0,_.useState)(``),[le,ue]=(0,_.useState)(``),[K,de]=(0,_.useState)(!1),[q,fe]=(0,_.useState)(!1),me=Jf(`(max-width: 900px)`),he=String(r||new URLSearchParams(window.location.search).get(`thread`)||``).trim(),[J,Y]=(0,_.useState)(()=>!!he),X=(0,_.useRef)(null),[ge,_e]=(0,_.useState)(``),[ve,ye]=(0,_.useState)(!1),[be,xe]=(0,_.useState)(!0),[Se,Ce]=(0,_.useState)(null),[we,Te]=(0,_.useState)(null),[Ee,De]=(0,_.useState)(!1),[Oe,ke]=(0,_.useState)(``),[Ae,je]=(0,_.useState)(``),[Me,Ne]=(0,_.useState)(``),[Pe,Fe]=(0,_.useState)(0),[Ie,Q]=(0,_.useState)(``),[Le,Re]=(0,_.useState)(t.status!==`authenticated`),[ze,Be]=(0,_.useState)(t.status!==`authenticated`),Ve=Tl(Rf),He=(0,_.useRef)(null),Ue=(0,_.useRef)(!0),We=(0,_.useRef)(!1),$=(0,_.useRef)(null),Ge=(0,_.useRef)(``),Ke=(0,_.useRef)(null),qe=(0,_.useRef)(new Map),Je=(0,_.useRef)(new Map),Ye=(0,_.useRef)(new Map),Xe=(0,_.useRef)(0),Ze=(0,_.useRef)(null),Qe=(0,_.useRef)([]),$e=(0,_.useRef)(null),[et]=(0,_.useState)(()=>{let e=new URLSearchParams(window.location.search),t=String(he||e.get(`thread`)||``).trim(),n=(e.get(`product`)||``).trim();return!t||!n?null:{source:`product-detail-chat`,threadPublicId:t,productId:n}}),tt=(0,_.useMemo)(()=>s.find(e=>e.id===l)??(me?null:s[0]??null),[l,s,me]);(0,_.useEffect)(()=>{Qe.current=s,$e.current=l},[s,l]);let nt=!!he,rt=un({loading:ve,loadingThreadId:Se,activeConversationId:l}),it=dn({activeConversation:tt});(0,_.useEffect)(()=>{let e=!0;async function n(){if(t.status===`authenticated`){Be(!1),Re(!1);return}let n=Nl();n?.profile?.name&&ke(n.profile.name),n?.profile?.phone&&je(n.profile.phone);try{let t=await Rf(`/signup/guest-prefill`,{skipAuthHandling:!0});if(!e)return;if(t?.has_verified_guest){Be(!1),Re(!1),t?.name&&ke(t.name),t?.phone_number&&je(t.phone_number);return}Pl(),Be(!0),Re(!0)}catch{if(!e)return;Pl(),Be(!0),Re(!0)}}return n(),()=>{e=!1}},[Rf,t.status]);let at=(0,_.useMemo)(()=>{let e=a.trim().toLowerCase();return e?s.filter(t=>[t.name,t.preview].join(` `).toLowerCase().includes(e)):s},[a,s]);function ot(e){return{id:`msg-${e.id}`,sender:e.sender_role===`buyer`?`buyer`:`other`,kind:`text`,text:e.body,attachments:Jn(e.attachments),timestamp:Kn(e.created_at)}}async function st(e){if(!e)return[];let t=String(e);if(qe.current.has(t))return qe.current.get(t);let n=Number(Je.current.get(t)||0)+1;Je.current.set(t,n);let r=Rf(`/threads/${e}/messages?limit=50&offset=0`).then(e=>({rows:e,threadId:t,sequence:n})).finally(()=>qe.current.delete(t));return qe.current.set(t,r),r}async function ct({force:e=!1,silent:t=!1}={}){if(Ke.current)return Ke.current;if(!e&&Date.now()-Xe.current<15e3)return;t||ye(!0),_e(``);let n=(async()=>{try{let e=await Rf(`/buyer/threads?limit=20&offset=0`);Re(!1);let t=(e||[]).map(e=>Qt(e,[],ot));c(e=>t.map(t=>{let n=e.find(e=>e.id===t.id||e.threadPublicId===t.threadPublicId);return n?.messages?.length?{...t,messages:n.messages}:t})),u(e=>e&&t.some(t=>t.id===e)?e:me&&!he?null:e||t[0]?.id||null),Xe.current=Date.now()}catch(e){let t=String(e?.message||``).toLowerCase(),n=e?.status===401||t.includes(`verify phone otp`)||t.includes(`guest inbox`)||t.includes(`not authenticated`);Re(n),_e(n?``:e.message),n&&(c([]),u(null))}finally{t||ye(!1),xe(!1)}})();return Ke.current=n.finally(()=>{Ke.current=null}),Ke.current}(0,_.useEffect)(()=>{ct()},[me,he]),(0,_.useEffect)(()=>{let e=window.setInterval(()=>{if(document.visibilityState!==`visible`)return;let e=Gt(`buyer`),t=e.lastEventAt>0&&Date.now()-e.lastEventAt<12e4;e.status===`open`&&t||ut()},45e3);return()=>window.clearInterval(e)},[]),(0,_.useEffect)(()=>qt(e=>{try{let t=JSON.parse(e.data||`{}`);if(t?.type===`socket_open`){ut();return}if(t?.type!==`message_created`)return;let n=t?.message,r=t?.thread_public_id;if(!n||!r||!(n?.id||n?.public_id))return;let i=ot(n);c(e=>e.map(e=>{if(String(e.threadPublicId)!==String(r))return e;let t=$n(e.messages||[],i);return e.id===$e.current&&Ue.current&&(We.current=!0),{...e,messages:t,preview:i.text,timestamp:i.timestamp}}))}catch{}}),[]);async function lt(){let e=Qe.current.find(e=>e.id===$e.current);if(e?.threadId)try{let t=[...(await st(e.threadId))?.rows||[]].sort((e,t)=>
10new Date(e.created_at).getTime()-new Date(t.created_at).getTime()).map(ot);c(n=>n.map(n=>n.id===e.id?{...n,messages:Zn(n.messages,t)}:n))}catch{}}function ut(){Ze.current&&window.clearTimeout(Ze.current),Ze.current=window.setTimeout(()=>{Ze.current=null,ct({force:!0,silent:!0}),lt()},350)}(0,_.useEffect)(()=>{function e(){document.visibilityState===`visible`&&ut()}return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pageshow`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pageshow`,e),Ze.current&&window.clearTimeout(Ze.current)}},[]),(0,_.useEffect)(()=>{t.status===`authenticated`&&(Be(!1),Re(!1))},[t.status]),(0,_.useEffect)(()=>{let e=he;if(!e){Y(!1),me&&u(null);return}let t=s.find(t=>t.threadPublicId===e);if(t){Ge.current=e,u(t.id),We.current=!0,Y(!0);return}if(Ge.current===e)return;let n=!0;return(async()=>{let t=!1;try{t=!0;let r=await Rf(`/buyer/threads/${encodeURIComponent(e)}`);if(!n||!r?.id)return;let i=await st(r.id);if(!n)return;let a=Qt(r,[...i?.rows||[]].sort((e,t)=>new Date(e.created_at).getTime()-new Date(t.created_at).getTime()),ot);Ge.current=e,c(e=>e.some(e=>e.threadPublicId===a.threadPublicId)?e:[a,...e]),u(String(r.id)),Y(!0)}catch{console.warn(`Buyer inbox could not open requested thread`,{requestedThreadPublicId:e,loadedThreadCount:s.length,wasThreadFoundInList:!1,didFetchThreadDetail:t})}})(),()=>{n=!1}},[s,me,he]),(0,_.useEffect)(()=>{if(!tt?.threadId)return;let e=!0;return(async()=>{let t=String(tt.threadId),n=He.current,r=n?n.scrollHeight-n.scrollTop-n.clientHeight:0,i=!n||r<=64;Te(tt.id);try{let n=await st(tt.threadId);if(!e||!n)return;let{rows:r,threadId:a,sequence:o}=n;if(String(a)!==t)return;let s=Number(Je.current.get(t)||0);if(Number(o||0)<s)return;let l=Number(Ye.current.get(t)||0);if(Number(o||0)<l)return;Ye.current.set(t,Number(o||0));let u=[...r||[]].sort((e,t)=>new Date(e.created_at).getTime()-new Date(t.created_at).getTime());c(e=>e.map(e=>{if(e.id!==tt.id)return e;let t=Zn(e.messages,u.map(ot));return{...e,messages:t}})),i&&(We.current=!0)}catch{}finally{e&&Te(e=>e===tt.id?null:e)}})(),()=>{e=!1}},[tt?.id,tt?.threadId]),(0,_.useEffect)(()=>{tt?.threadId&&(async()=>{try{let e=await Qf(tt.threadId);c(e=>e.map(e=>e.id===tt.id?{...e,unread:0}:e)),window.dispatchEvent(new CustomEvent(`buyer:unread-updated`,{detail:{unread_count:Number(e?.unread_count||0)}}))}catch{}})()},[tt?.id,tt?.threadId]),(0,_.useEffect)(()=>{let e=He.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=64||Ue.current;(We.current||t)&&(e.scrollTop=e.scrollHeight,We.current=!1),e.scrollTop,e.scrollHeight,e.clientHeight},[tt?.id,tt?.messages?.length]);function dt(){let e=He.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight;Ue.current=t<=64}(0,_.useEffect)(()=>{if(!et||!s.length||!s.find(e=>e.threadPublicId===et.threadPublicId))return;let e=`${et.source}:${et.threadPublicId}:${et.productId}`;if(window.sessionStorage.getItem(e)===`done`)return;let t=!0;return(async()=>{let n=`Hi, I have a question about this product`;try{let e=(await Rf(`/buyer/products/${et.productId}`))?.title?.trim();e&&(n=`Hi, I have a question about ${e}`)}catch{}t&&(f(e=>e||n),window.sessionStorage.setItem(e,`done`))})(),()=>{t=!1}},[s,et]);function ft(){let e=X.current?.scrollTop??window.scrollY??0;window.sessionStorage.setItem(`buyer:inbox:list-scroll`,String(e))}function pt(){let e=Number(window.sessionStorage.getItem(`buyer:inbox:list-scroll`)||0);!Number.isFinite(e)||e<=0||window.requestAnimationFrame(()=>{X.current?X.current.scrollTop=e:window.scrollTo({top:e})})}(0,_.useEffect)(()=>{!me||he||pt()},[at.length,me,he]);function mt(t){let n=s.find(e=>e.id===t);if(c(e=>e.map(e=>e.id===t?{...e,unread:0}:e)),me&&n?.threadPublicId){ft(),e(`/inbox/${encodeURIComponent(n.threadPublicId)}`);return}t!==l&&(Ce(t),u(t),Y(!0),window.setTimeout(()=>Ce(e=>e===t?null:e),220))}async function ht(e){if(e.length){y(!0),g(``);try{let t=await Promise.all(e.map(async e=>Jt(await(await R(`/message-attachments/upload`,{method:`POST`,headers:{"Content-Type":e?.type||`application/octet-stream`},body:e})).json(),e))),n=t.filter(e=>e.url);if(n.length!==t.length)throw Error(`Upload response did not include an attachment URL.`);m(e=>[...e,...n])}catch{g(`Failed to attach image. Please try again.`)}finally{y(!1)}}}async function gt(e=O,t=F){if(tt?.threadPublicId){ie(!0),ce(``),U(0);try{let n=new URLSearchParams({q:e,limit:`10`,offset:String(t)}),r=await Rf(`/buyer/threads/${encodeURIComponent(tt.threadPublicId)}/attachable-orders?${n.toString()}`),i=Array.isArray(r?.items)?r.items:[];T(i),z(!!r?.has_more),U(Number(r?.total)||0)}catch(e){T([]),z(!1),U(0),ce(e?.message||`Failed to load attachable orders.`)}finally{ie(!1)}}}async function _t(){I(0),k(``),N(``),de(!0),await gt(``,0)}async function vt(e=A,t=L){if(tt?.threadPublicId){oe(!0),ue(``),re(0);try{let n=new URLSearchParams({q:e,limit:`10`,offset:String(t)}),r=await Rf(`/buyer/threads/${encodeURIComponent(tt.threadPublicId)}/attachable-products?${n.toString()}`),i=Array.isArray(r?.items)?r.items:[];D(i),V(!!r?.has_more),re(Number(r?.total)||0)}catch(e){D([]),V(!1),re(0),ue(e?.message||`Failed to load attachable products.`)}finally{oe(!1)}}}async function yt(){te(0),j(``),P(``),fe(!0),await vt(``,0)}async function bt(e){if(e.preventDefault(),Ee||!tt?.threadId)return;let t=d.trim();if(!(!t&&p.length===0&&!b&&!S)){De(!0),_e(``);try{let e=ot(await Rf(`/threads/${tt.threadId}/messages`,{method:`POST`,body:{body:t,attachments:[...p.map(e=>({type:`image`,name:e.name,url:e.url})),...b?[{type:`invoice_order`,name:`Invoice / Order`,order_public_id:b.order_public_id}]:[],...S?[{type:`seller_product`,name:`Seller Product`,product_public_id:S.product_public_id,product_id:S.product_id,seller_slug:S.seller_slug,slug:S.slug}]:[]]}}));c(t=>t.map(t=>
10t.id===tt.id?{...t,preview:e.text,timestamp:e.timestamp,messages:$n(t.messages,e)}:t)),We.current=!0,f(``),m([]),g(``),x(null),C(null)}catch(e){_e(e.message)}finally{De(!1)}}}(0,_.useEffect)(()=>{if(Pe<=0)return;let e=window.setInterval(()=>Fe(e=>Math.max(0,e-1)),1e3);return()=>window.clearInterval(e)},[Pe]);async function xt(){if(!Ae.trim()){Q(`Enter your guest checkout phone number first.`);return}if(!(Pe>0)){Q(``);try{let e=await pe(`guest_access_otp`,{mountElement:$.current}),t=await Rf(`/auth/phone-otp/request`,{method:`POST`,body:{phone:Ae.trim(),purpose:`guest_chat_access`,channel:`whatsapp`,turnstile_token:e}});Q(`WhatsApp OTP sent. Enter it below to unlock your guest inbox.`),Fe(Number(t?.cooldown_seconds||60))}catch(e){Q(e.message||`Failed to request OTP.`)}}}async function St(){if(!Oe.trim()||!Ae.trim()||!Me.trim()){Q(`Name, phone number, and OTP code are required.`);return}Q(``);try{await Rf(`/guest/checkout/verify-otp`,{method:`POST`,body:{name:Oe.trim(),phone:Ae.trim(),code:Me.trim(),purpose:`guest_chat_access`}}),Q(`Phone verified. Loading your guest inbox.`),Be(!1);let t=(new URLSearchParams(window.location.search).get(`product`)||``).trim();if(t){let n=Xt(await Rf(`/buyer/products/${t}/thread`,{method:`POST`,skipAuthHandling:!0}));n&&e(`/inbox?thread=${encodeURIComponent(n)}&product=${encodeURIComponent(t)}`)}await ct()}catch(e){Q(e.message||`Failed to verify OTP.`)}}return(0,Z.jsxs)(Ap,{navigate:e,authState:t,onAuthSuccess:n,children:[(0,Z.jsx)(jt,{show:be,label:i(`buyer.inbox.loading`)}),ze&&(0,Z.jsxs)(`section`,{className:`page-section`,children:[(0,Z.jsx)(`h2`,{children:`Choose how to continue`}),(0,Z.jsx)(`p`,{children:i(Ve.isEnabled?`buyer.auth.entryChoiceWithGuest`:`buyer.auth.entryChoiceAccountOnly`)}),(0,Z.jsxs)(`div`,{className:`auth-required-actions`,style:{marginTop:12},children:[(0,Z.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>e(Ot(Af())),children:i(`buyer.nav.login`)}),(0,Z.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>e(kt(Af())),children:i(`buyer.nav.signup`)}),Ve.isEnabled&&(0,Z.jsx)(`button`,{type:`button`,className:`ghost`,onClick:()=>Be(!1),children:i(`buyer.inbox.continueGuest`)})]})]}),!ze&&Le&&(0,Z.jsxs)(`section`,{className:`page-section`,children:[(0,Z.jsx)(`h2`,{children:i(`buyer.inbox.phoneVerification`)}),(0,Z.jsx)(`p`,{children:`Verify your checkout phone number to access your guest chat threads. Tokodepan will send a WhatsApp OTP directly; enter the code you receive.`}),(0,Z.jsxs)(`div`,{className:`checkout-guest-grid`,style:{marginTop:12},children:[(0,Z.jsx)(`input`,{placeholder:`Full name`,value:Oe,onChange:e=>ke(e.target.value)}),(0,Z.jsx)(`input`,{placeholder:`Phone number`,value:Ae,onChange:e=>je(e.target.value)}),(0,Z.jsxs)(`div`,{className:`checkout-otp-row`,children:[(0,Z.jsx)(`input`,{placeholder:i(`buyer.auth.otpCode`),value:Me,onChange:e=>Ne(e.target.value)}),(0,Z.jsx)(`button`,{type:`button`,disabled:Pe>0,onClick:xt,children:Pe>0?`Request again in ${Pe}s`:`Request OTP via WhatsApp`}),(0,Z.jsx)(`div`,{className:`turnstile-modal-mount`,ref:$}),(0,Z.jsx)(`button`,{type:`button`,onClick:St,children:`Verify OTP`})]}),Ie&&(0,Z.jsx)(`small`,{className:`checkout-muted`,children:Ie})]})]}),!ze&&!Le&&(0,Z.jsxs)(`section`,{className:`inbox-page`,children:[(0,Z.jsxs)(`aside`,{className:`inbox-sidebar ${nt?`hide-on-mobile`:``}`,children:[(0,Z.jsx)(`h1`,{children:i(`buyer.nav.inbox`)}),(0,Z.jsxs)(`div`,{className:`inbox-search-box`,children:[(0,Z.jsx)(En,{}),(0,Z.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:i(`buyer.inbox.search`),"aria-label":i(`buyer.inbox.search`)})]}),ve&&!be&&(0,Z.jsx)(Nt,{label:i(`buyer.inbox.loading`)}),!ve&&at.length===0&&!ge&&(0,Z.jsx)(`p`,{children:i(`buyer.inbox.empty`)}),ge&&(0,Z.jsx)(`p`,{className:`results-message error`,children:ge}),(0,Z.jsx)(`div`,{className:`conversation-list`,role:`list`,ref:X,children:at.map(e=>{let t=tt&&e.id===tt.id;return(0,Z.jsxs)(`button`,{className:`conversation-item ${t?`is-active`:``}`,onClick:()=>mt(e.id),children:[(0,Z.jsx)(`div`,{className:`avatar-pill`,children:e.avatar}),(0,Z.jsxs)(`div`,{className:`conversation-item-main`,children:[(0,Z.jsxs)(`div`,{className:`conversation-top-line`,children:[(0,Z.jsxs)(`span`,{className:`conversation-identity`,children:[(0,Z.jsx)(`strong`,{children:e.name}),e.isOfficialSupport&&(0,Z.jsxs)(`span`,{className:`official-support-badge`,children:[(0,Z.jsx)(Dn,{size:13}),i(`buyer.chat.officialTokodepan`)]})]}),(0,Z.jsx)(`span`,{children:e.timestamp})]}),(0,Z.jsx)(`p`,{children:e.preview})]}),e.unread>0&&(0,Z.jsx)(`span`,{className:`unread-pill`,children:e.unread})]},e.id)})}),(0,Z.jsx)(Mt,{show:ve,label:i(`buyer.inbox.loading`)})]}),(0,Z.jsxs)(`section`,{className:`inbox-thread ${nt||J?`open`:``}`,children:[(0,Z.jsx)(Mt,{show:rt,label:i(`buyer.chat.loadingMessages`)}),it&&(0,Z.jsx)(`div`,{className:`thread-empty-state`,children:(0,Z.jsx)(`p`,{children:i(`buyer.inbox.select`)})}),!it&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`thread-header`,children:[(0,Z.jsx)(`button`,{className:`back-mobile`,onClick:()=>e(`/inbox`),"aria-label":`Back to inbox threads`,children:`â`}),(0,Z.jsx)(`div`,{className:`avatar-pill`,children:tt.avatar}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{children:(0,Z.jsx)(Xf,{navigate:e,sellerSlug:tt.sellerSlug,className:`store-inline-link`,disabled:tt.type===`support`,children:tt.name})}),tt.isOfficialSupport&&(0,Z.jsxs)(`span`,{className:`official-support-badge`,children:[(0,Z.jsx)(Dn,{size:13}),i(`buyer.chat.officialTokodepan`)]})]})]}),(0,Z.jsxs)(`div`,{className:`thread-messages`,ref:He,onScroll:dt,children:[we&&tt.id===we&&(0,Z.jsx)(`div`,{className:`thread-refresh-inline`,children:(0,Z.jsx)(`small`,{children:`Refreshing conversationâ¦`})}),rt?(0,Z.jsx)(`div`,{className:`thread-empty-state`,children:(0,Z.jsx)(`p`,{children:i(`buyer.chat.loadingMessages`)})}):tt.messages.length===0&&!we?(0,Z.jsx)(`div`,{className:`thread-empty-state`,children:(0,Z.jsx)(`p`,{children:`No messages yet. Start the conversation below.`})}):tt.messages.map(t=>(0,Z.jsx)(`article`,{className:`message-row ${t.sender===`buyer`?`mine`:`their`}`,children:(0,Z.jsxs)(`div`,{className:`message-bubble`,children:[!!t.text&&(0,Z.jsx)(`p`,{children:t.text}),!!t.attachments?.length&&(0,Z.jsx)(ur,{attachments:t.attachments,labels:Of(i,`buyer.chatAttachmentViewer`),onOpenOrder:t=>e(`/orders/${encodeURIComponent(t.order_public_id||``)}`),onOpenProduct:e=>{let t=nr(e?.seller_slug,e?.slug);t&&(window.location.href=t)}}),(0,Z.jsx)(`time`,{children:t.timestamp})]})},t.id))]}),(0,Z.jsxs)(pr,{value:d,onChange:f,onSubmit:bt,attachments:p,attachmentMenuOptions:[{label:i(`buyer.chat.addInvoice`),onClick:_t},{label:i(`buyer.chat.addProduct`),onClick:yt}],attachmentMenuImageLabel:i(`buyer.chatAttachments.image`),onAttachFiles:ht,onRemoveAttachment:e=>{m(t=>t.filter(t=>t.id!==e))},placeholder:i(`buyer.chat.typeMessage`),canSend:(d.trim().length>0||p.length>0||!!b||!!S)&&!Ee&&!v,sending:Ee,sendLabel:i(`buyer.chat.send`),sendingLabel:i(`buyer.chat.sending`),attachmentStatus:v?i(`buyer.chat.uploadImage`):``,attachmentError:h,children:[b&&(0,Z.jsxs)(`div`,{className:`composer-chip composer-chip-attachment`,children:[(0,Z.jsx)(`span`,{className:`composer-chip-label`,children:i(`buyer.chat.addInvoice`)}),(0,Z.jsx)(`span`,{className:`composer-chip-value`,children:b.invoice_number||b.order_public_id}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Remove selected order attachment`,onClick:()=>x(null),children:`Ã`})]}),S&&(0,Z.jsxs)(`div`,{className:`composer-chip composer-chip-attachment`,children:[(0,Z.jsx)(`span`,{className:`composer-chip-label`,children:i(`buyer.chat.addProduct`)}),(0,Z.jsx)(`span`,{className:`composer-chip-value`,children:S.title||S.product_public_id}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Remove selected product attachment`,onClick:()=>C(null),children:`Ã`})]})]}),K&&(0,Z.jsx)(Lp,{title:i(`buyer.chat.addInvoice`),searchPlaceholder:i(`buyer.orders.search`),query:O,onQueryChange:e=>k(e.target.value),onSearch:async e=>{if(e.preventDefault(),G)return;let t=O.trim();
10(t!==M||F!==0)&&(N(t),I(0),await gt(t,0))},loading:G,error:se,emptyMessage:i(`buyer.orders.empty`),offset:F,total:H,hasMore:ne,onPrevious:async()=>{let e=Math.max(0,F-10);I(e),await gt(M,e)},onNext:async()=>{let e=F+10;I(e),await gt(M,e)},onClose:()=>de(!1),children:w.length>0&&w.map(e=>(0,Z.jsx)(Rp,{title:e.invoice_number||e.order_public_id,badge:Ai(i,ki(e))||i(`buyer.chatAttachments.order`),meta:Fp.format(Number(e.total_cents||0)),secondaryMeta:e.created_at?new Date(e.created_at).toLocaleDateString(`id-ID`):e.seller_name||i(`buyer.chatAttachments.order`),thumbnail:e.thumbnail_url,icon:`ð§¾`,onClick:()=>{x(e),de(!1)}},e.order_id||e.order_public_id))}),q&&(0,Z.jsx)(Lp,{title:i(`buyer.chat.addProduct`),searchPlaceholder:i(`buyer.products.searchPlaceholder`),query:A,onQueryChange:e=>j(e.target.value),onSearch:async e=>{if(e.preventDefault(),ae)return;let t=A.trim();(t!==ee||L!==0)&&(P(t),te(0),await vt(t,0))},loading:ae,error:le,emptyMessage:i(`buyer.products.noResults`),offset:L,total:W,hasMore:B,onPrevious:async()=>{let e=Math.max(0,L-10);te(e),await vt(ee,e)},onNext:async()=>{let e=L+10;te(e),await vt(ee,e)},onClose:()=>fe(!1),children:E.length>0&&E.map(e=>(0,Z.jsx)(Rp,{title:e.title,badge:i(`buyer.chatAttachments.product`),meta:Fp.format(Number(e.price_cents||0)),secondaryMeta:i(`buyer.chatAttachments.stock`,{count:e.stock_qty??`-`}),thumbnail:Ip(e),icon:`ð¦`,onClick:()=>{C(e),fe(!1)}},e.product_id||e.product_public_id))})]})]})]})]})}function Bp({navigate:e,locationSearch:t,authState:n,onAuthSuccess:r}){let i=Rr(),[a,o]=(0,_.useState)(()=>new URLSearchParams(window.location.search).get(`q`)||``),[s,c]=(0,_.useState)([]),l=new URLSearchParams(window.location.search),u=l.getAll(`condition`),d=u.length>0||l.get(`condition_mode`)===`all`,[f,p]=(0,_.useState)(()=>d?u:[`new`]),[m,h]=(0,_.useState)(()=>l.getAll(`shipping_type`).map(e=>({regular:`standard`,same_day:`same-day`,store_courier:`store-courier`})[e]||e)),[g,v]=(0,_.useState)(()=>Math.max(1,Number(l.get(`page`))||1)),[y,b]=(0,_.useState)(0),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(!0),[D,O]=(0,_.useState)(``),[k,A]=(0,_.useState)(``),[j,M]=(0,_.useState)(()=>a.trim()?`pending`:`idle`),N=(0,_.useRef)(0),[ee,P]=(0,_.useState)(!1),[F,I]=(0,_.useState)(``),[L,te]=(0,_.useState)(!1),[ne,R]=(0,_.useState)({}),z={standard:i(`buyer.catalog.standard`),cargo:i(`buyer.catalog.cargo`),"same-day":i(`buyer.catalog.sameDay`),instant:i(`buyer.catalog.instant`),"store-courier":i(`buyer.catalog.storeCourier`)};function B(e){return`Rp ${Number(e||0).toLocaleString(`id-ID`)}`}let V=(0,_.useMemo)(()=>s.map(e=>({...e,selectedShippingMethod:m[0]||`standard`})),[s,m]);async function H(t,r=a,i=m,o=f,s=1,l=!0){t&&t.preventDefault();let u=r.trim(),d=Math.max(1,Number(s)||1),p=new URLSearchParams;if(u&&p.set(`q`,u),o.forEach(e=>p.append(`condition`,e)),o.length===0&&p.set(`condition_mode`,`all`),i.forEach(e=>p.append(`shipping_type`,{standard:`regular`,"same-day":`same_day`,"store-courier":`store_courier`}[e]||e)),d>1&&p.set(`page`,String(d)),l){let t=`/products${p.size?`?${p.toString()}`:``}`;if(t!==`/products${window.location.search}`){e(t);return}}if(v(d),!u){N.current+=1,c([]),b(0),O(``),E(!1),M(`idle`);return}let h=N.current+1;N.current=h,w(!0),M(`pending`),O(``),d===1&&c([]);try{let e=new URLSearchParams({limit:`20`,offset:String((d-1)*20),search:u});o.forEach(t=>e.append(`condition`,t)),i.forEach(t=>e.append(`shipping_type`,{standard:`regular`,"same-day":`same_day`,"store-courier":`store_courier`}[t]||t)),n?.status===`authenticated`&&F&&e.set(`delivery_address_id`,F);let t=await Rf(`/products?${e.toString()}`);if(h!==N.current)return;c(t.items||[]),b(Number(t.total||0)),A(u),M(`success`)}catch(e){if(h!==N.current)return;O(e.message),d===1&&(c([]),b(0)),A(``),M(`error`)}finally{h===N.current&&(w(!1),E(!1))}}(0,_.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`q`)||``;o(t);let n=e.getAll(`condition`),r=n.length>0||e.get(`condition_mode`)===`all`?n:[`new`],i=e.getAll(`shipping_type`).map(e=>({regular:`standard`,same_day:`same-day`,store_courier:`store-courier`})[e]||e),a=Math.max(1,Number(e.get(`page`))||1);p(r),h(i),v(a),L&&(t.trim()?H(null,t,i,r,a,!1):(c([]),O(``),A(``),E(!1),M(`idle`)))},[t,L,F]),(0,_.useEffect)(()=>{let e=!0;
10async function t(){try{let t=await Ul({api:Rf,authState:n,includeAddresses:!0});if(!e)return;let r=Array.isArray(t.addresses)?t.addresses:[];P(r.length>0);let i=t.kind===Vl.AUTHENTICATED?Cu(window.localStorage,n?.me?.id,r):Hl(r);I(i?String(i.id):``),te(!0)}catch{e&&(P(!1),I(``),te(!0))}}return t(),()=>{e=!1}},[n?.status,n?.me?.id]),(0,_.useEffect)(()=>{let e=e=>{String(e.detail?.buyerId||``)===String(n?.me?.id||``)&&I(String(e.detail?.addressId||``))};return window.addEventListener(yu,e),()=>window.removeEventListener(yu,e)},[n?.me?.id]),(0,_.useEffect)(()=>{let e=!0;async function t(){if(!F||V.length===0){e&&R({});return}try{let t=await Promise.all(V.map(async e=>{let t=await ot(Rf,{shippingAddressId:Number(F),products:[{product_id:Number(e.id),quantity:1}],mode:String(e?.selectedShippingMethod||`standard`)});return[e.id,t?.minPrice>0?Number(t.minPrice):null]}));if(!e)return;let n=Object.fromEntries(t);R(n)}catch{e&&R({})}}return t(),()=>{e=!1}},[n?.status,V,F]);let U=a.trim().length>0,{isInitialSearchLoading:W,isRefreshingResults:re,showEmptyState:G}=st({status:j,resultCount:V.length,hasQuery:U,isCurrentQuerySettled:k===a.trim()});return(0,Z.jsxs)(Ap,{navigate:e,authState:n,onAuthSuccess:r,children:[(0,Z.jsx)(jt,{show:T&&C,label:i(`buyer.products.loadingSearchResults`)}),(0,Z.jsxs)(`section`,{className:`search-results-layout`,children:[(0,Z.jsxs)(`aside`,{className:`filters-sidebar`,children:[(0,Z.jsx)(`h2`,{children:i(`buyer.products.filters`)}),(0,Z.jsxs)(`div`,{className:`filter-section`,children:[(0,Z.jsx)(`h3`,{children:i(`buyer.products.condition`)}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:f.includes(`new`),onChange:()=>{let e=f.includes(`new`)?f.filter(e=>e!==`new`):[...f,`new`];p(e),H(null,a,m,e,1)}}),` `,i(`buyer.products.conditionNew`)]}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:f.includes(`used`),onChange:()=>{let e=f.includes(`used`)?f.filter(e=>e!==`used`):[...f,`used`];p(e),H(null,a,m,e,1)}}),` `,i(`buyer.products.conditionUsed`)]})]}),(0,Z.jsxs)(`div`,{className:`filter-section`,children:[(0,Z.jsx)(`h3`,{children:i(`buyer.catalog.shipment`)}),Object.entries(z).map(([e,t])=>(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:m.includes(e),onChange:()=>{let t=m.includes(e)?m.filter(t=>t!==e):[...m,e];h(t),H(null,a,t,f,1)}}),t]},e))]})]}),(0,Z.jsxs)(`div`,{className:`results-column`,children:[(0,Z.jsxs)(`form`,{className:`hero-search search-results-search`,onSubmit:H,children:[(0,Z.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),"aria-label":i(`buyer.products.searchPlaceholder`)}),(0,Z.jsx)(`button`,{type:`submit`,"aria-label":i(`buyer.home.search`),children:(0,Z.jsx)(En,{})})]}),(0,Z.jsxs)(`button`,{type:`button`,className:`mobile-filter-trigger`,onClick:()=>S(!0),children:[(0,Z.jsx)(Nn,{size:17}),i(`buyer.products.filters`)]}),W&&!T&&(0,Z.jsx)(`div`,{className:`results-message`,children:(0,Z.jsx)(Nt,{label:i(`buyer.products.searchingCuratedSellers`)})}),re&&(0,Z.jsx)(`div`,{className:`results-message`,children:(0,Z.jsx)(Nt,{label:i(`buyer.products.updatingResultsFor`,{query:a.trim()||k})})}),D&&(0,Z.jsx)(`p`,{className:`results-message error`,children:D}),!C&&!D&&!U&&(0,Z.jsx)(`p`,{className:`results-message`,children:i(`buyer.products.typeKeywordPrompt`)}),G&&(0,Z.jsx)(`p`,{className:`results-message`,children:i(`buyer.products.noResults`)}),(0,Z.jsxs)(`div`,{className:`results-list-wrap`,children:[V.length>0&&(0,Z.jsx)(`div`,{className:`results-list`,children:V.map(t=>(0,Z.jsx)(Yf,{to:`/products/${encodeURIComponent(t.seller.slug)}/${encodeURIComponent(t.slug)}`,navigate:e,style:{textDecoration:`none`,color:`inherit`},children:(0,Z.jsxs)(`article`,{className:`curated-result-card`,children:[(0,Z.jsx)(`div`,{className:`result-image`,"aria-hidden":`true`,children:t.primary_image_thumb_url||t.primary_image_url?(0,Z.jsx)(`img`,{src:t.primary_image_thumb_url||t.primary_image_url,alt:``,loading:`lazy`}):(0,Z.jsx)(`span`,{children:`ð¦`})}),(0,Z.jsxs)(`div`,{className:`result-main`,children:[(0,Z.jsx)(`h2`,{children:t.title}),Wf(t),Gf(t,i)?(0,Z.jsx)(`p`,{className:`result-preorder`,children:Gf(t,i)}):null,(0,Z.jsx)(`p`,{className:`result-shipping`,children:ne[t.id]?i(`buyer.catalog.shippingFrom`,{amount:B(ne[t.id])}):i(ee?`buyer.product.estimateUnavailableRoute`:`buyer.product.addAddressShippingEstimate`)}),(0,Z.jsxs)(`p`,{className:`result-rating`,children:[Number(t.review_count||0)>0&&Number(t.average_rating||0)>0?`â
${Number(t.average_rating||0).toFixed(1)} (${Number(t.review_count||0)})`:i(`buyer.productDetail.noReviews`),tn(t.sold_quantity)?` · ${tn(t.sold_quantity)}`:``]})]}),(0,Z.jsx)(`div`,{className:`result-store`,children:(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`span`,{className:`store-name`,children:t.seller.name}),an(t.seller.city,t.seller.district)?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`result-store-separator`,children:` · `}),(0,Z.jsx)(`span`,{className:`seller-location-text`,children:an(t.seller.city,t.seller.district)})]}):null]})})]})},t.id))}),!C&&!D&&y>20&&(0,Z.jsxs)(`nav`,{className:`search-pagination`,"aria-label":i(`buyer.products.pagination`),children:[(0,Z.jsx)(`button`,{type:`button`,disabled:g<=1,onClick:()=>H(null,a,m,f,g-1),children:i(`buyer.products.previous`)}),(0,Z.jsx)(`span`,{children:i(`buyer.products.pageOf`,{page:g,pages:Math.ceil(y/20)})}),(0,Z.jsx)(`button`,{type:`button`,disabled:g*20>=y,onClick:()=>H(null,a,m,f,g+1),children:i(`buyer.products.next`)})]}),W&&(0,Z.jsx)(`div`,{className:`results-list`,"aria-hidden":`true`,children:[1,2,3].map(e=>(0,Z.jsxs)(`article`,{className:`curated-result-card`,children:[(0,Z.jsx)(`div`,{className:`result-image`,children:(0,Z.jsx)(Pt,{width:64,height:64})}),(0,Z.jsxs)(`div`,{className:`result-main`,children:[(0,Z.jsx)(Pt,{width:`62%`,height:17}),(0,Z.jsx)(Pt,{width:`35%`,height:14}),(0,Z.jsx)(Pt,{width:`40%`,height:14})]})]},e))}),(0,Z.jsx)(Mt,{show:re,label:i(`buyer.products.refreshingResults`)})]})]}),x&&(0,Z.jsx)(`div`,{className:`mobile-filters-sheet`,role:`presentation`,onClick:()=>S(!1),children:(0,Z.jsxs)(`div`,{className:`mobile-filters-content`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`mobile-filters-title`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(`div`,{className:`mobile-filters-header`,children:[(0,Z.jsx)(`h3`,{id:`mobile-filters-title`,children:i(`buyer.products.filters`)}),(0,Z.jsx)(`button`,{type:`button`,className:`mobile-filters-close`,onClick:()=>S(!1),"aria-label":i(`buyer.products.closeFilters`),children:(0,Z.jsx)(Pn,{size:20})})]}),(0,Z.jsxs)(`div`,{className:`filter-section`,children:[(0,Z.jsx)(`h3`,{children:i(`buyer.products.condition`)}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:f.includes(`new`),onChange:()=>{let e=f.includes(`new`)?f.filter(e=>e!==`new`):[...f,`new`];p(e),H(null,a,m,e,1)}}),` `,i(`buyer.products.conditionNew`)]}),(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:f.includes(`used`),onChange:()=>{let e=f.includes(`used`)?f.filter(e=>e!==`used`):[...f,`used`];p(e),H(null,a,m,e,1)}}),` `,i(`buyer.products.conditionUsed`)]})]}),(0,Z.jsxs)(`div`,{className:`filter-section`,children:[(0,Z.jsx)(`h3`,{children:i(`buyer.catalog.shipment`)}),Object.entries(z).map(([e,t])=>(0,Z.jsxs)(`label`,{children:[(0,Z.jsx)(`input`,{type:`checkbox`,checked:m.includes(e),onChange:()=>{let t=m.includes(e)?m.filter(t=>t!==e):[...m,e];h(t),H(null,a,t,f,1)}}),t]},e))]})]})})]})]})}var Vp=null,Hp=new Set,Up=()=>{};
10function Wp(e){Vp=e,Hp.forEach(t=>t(e))}function Gp(){return Vp}function Kp(e){return Hp.add(e),Vp&&e(Vp),()=>Hp.delete(e)}function qp({isProduction:e=!0,serviceWorker:t,doc:n=typeof document>`u`?null:document,now:r=Date.now,updateCheckIntervalMs:i=3e5}={}){if(!e)return Promise.resolve(null);let a=t??(typeof navigator<`u`?navigator.serviceWorker:null);return a?a.register(`/service-worker.js`).then(e=>{Up();let t=new Map,o=-1/0,s=()=>{e.waiting&&a.controller&&Wp(e)},c=()=>{let n=e.installing;if(!n?.addEventListener)return;let r=()=>{n.state===`installed`&&s()};t.set(n,r),n.addEventListener(`statechange`,r)};e.addEventListener?.(`updatefound`,c);let l=()=>{if(n?.visibilityState!==`visible`||typeof e.update!=`function`)return;let t=r();if(!(t-o<i)){o=t;try{Promise.resolve(e.update()).catch(()=>{})}catch{}}};return n?.addEventListener?.(`visibilitychange`,l),Up=()=>{e.removeEventListener?.(`updatefound`,c),n?.removeEventListener?.(`visibilitychange`,l),t.forEach((e,t)=>t.removeEventListener?.(`statechange`,e)),t.clear()},s(),e}).catch(()=>null):Promise.resolve(null)}async function Jp(e,{serviceWorker:t,win:n=typeof window>`u`?null:window,timeoutMs:r=8e3}={}){let i=t??(typeof navigator<`u`?navigator.serviceWorker:null);if(!i)return{status:`failed`};let a=e;if(typeof i.getRegistration==`function`){try{a=await i.getRegistration(`/`)}catch{return{status:`failed`}}if(!a?.waiting)return Wp(null),{status:`no-update`}}let o=a?.waiting;return o?.postMessage?new Promise(e=>{let t=!1,s,c=r=>{if(!t){t=!0,clearTimeout(s);try{i.removeEventListener?.(`controllerchange`,l)}catch{}try{o.removeEventListener?.(`statechange`,u)}catch{}if(r===`success`){Wp(null);try{n?.location?.reload?.()}catch{}}e({status:r})}},l=()=>c(`success`),u=()=>{o.state===`activated`&&c(`success`)},d=async()=>{if(t)return;let e;try{e=typeof i.getRegistration==`function`?await i.getRegistration(`/`):a}catch{c(`failed`);return}if(t)return;let n=e?.waiting;o.state===`activated`||e?.active===o||i.controller===o?c(`success`):(n&&n!==o&&Wp(e),c(`failed`))};try{if(i.addEventListener?.(`controllerchange`,l),o.addEventListener?.(`statechange`,u),o.state===`activated`){c(`success`);return}s=setTimeout(d,r),o.postMessage({type:`SKIP_WAITING`})}catch{c(`failed`)}}):{status:`failed`}}function Yp({surface:e=`buyer`}){let t=Rr(),[n,r]=(0,_.useState)(Gp),[i,a]=(0,_.useState)(`idle`),o=(0,_.useRef)(!1);return(0,_.useEffect)(()=>Kp(e=>{r(e),e&&a(`idle`)}),[]),n?(0,Z.jsxs)(`aside`,{className:`pwa-update-notice`,role:`status`,children:[(0,Z.jsx)(`span`,{children:t(`${e}.pwa.updateReady`)}),i===`failed`&&(0,Z.jsx)(`small`,{children:t(`${e}.pwa.updateFailed`)}),(0,Z.jsx)(`button`,{type:`button`,disabled:i===`activating`,onClick:async()=>{if(o.current)return;o.current=!0,a(`activating`);let e={status:`failed`};try{e=await Jp(n)}catch{}o.current=!1,e.status===`failed`&&a(`failed`)},children:t(`${e}.pwa.${i===`activating`?`updating`:`update`}`)})]}):null}function Xp({doc:e=typeof document>`u`?null:document,hostname:t=typeof window>`u`?``:window.location.hostname}={}){let n=mt(t);return n&&e?.querySelector(`link[rel="manifest"]`)?.remove(),{isOpsSurface:n,pwaEnabled:!n}}async function Zp({hostname:e=typeof window>`u`?``:window.location.hostname,serviceWorker:t=typeof navigator>`u`?null:navigator.serviceWorker}={}){if(!mt(e)||typeof t?.getRegistrations!=`function`)return[];try{let e=await t.getRegistrations();return Promise.all((e||[]).map(e=>e.unregister()))}catch{return[]}}var Qp=window.location.pathname===`/payment-handoff`,$p=!1;Qp||({pwaEnabled:$p}=Xp(),$p?(Kr(),qp()):Zp()),(0,v.createRoot)(document.getElementById(`root`)).render((0,Z.jsx)(_.StrictMode,{children:(0,Z.jsx)(Ir,{surface:Or(),loadSiteConfig:!Qp,children:(0,Z.jsxs)(Z.Fragment,{children:[Qp?(0,Z.jsx)(Ad,{}):(0,Z.jsx)(Cp,{}),$p?(0,Z.jsx)(Yp,{surface:`buyer`}):null]})})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.