>=F,p-=F,en=1<<32-Vr(A)+p|f<v?v:8;var F=_.T,T={};_.T=T,id(o,!1,A,f);try{var H=p(),o0=_.S;if(o0!==null&&o0(T,H),H!==null&&typeof H=="object"&&typeof H.then=="function"){var x0=dC(H,d);NA(o,A,x0,Lt(o))}else NA(o,A,d,Lt(o))}catch(p0){NA(o,A,{then:function(){},status:"rejected",reason:p0},Lt())}finally{t0.p=v,_.T=F}}function mC(){}function ad(o,A,f,d){if(o.tag!==5)throw Error(a(476));var p=S6(o).queue;F6(o,p,A,R,f===null?mC:function(){return R6(o),f(d)})}function S6(o){var A=o.memoizedState;if(A!==null)return A;A={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:on,lastRenderedState:R},next:null};var f={};return A.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:on,lastRenderedState:f},next:null},o.memoizedState=A,o=o.alternate,o!==null&&(o.memoizedState=A),A}function R6(o){var A=S6(o).next.queue;NA(o,A,{},Lt())}function nd(){return tt(QA)}function N6(){return ye().memoizedState}function Z6(){return ye().memoizedState}function gC(o){for(var A=o.return;A!==null;){switch(A.tag){case 24:case 3:var f=Lt();o=In(f);var d=Tn(A,o,f);d!==null&&(Ut(d,A,f),CA(d,A,f)),A={cache:Ic()},o.payload=A;return}A=A.return}}function vC(o,A,f){var d=Lt();f={lane:d,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null},Js(o)?I6(A,f):(f=wc(o,A,f,d),f!==null&&(Ut(f,o,d),T6(f,A,d)))}function M6(o,A,f){var d=Lt();NA(o,A,f,d)}function NA(o,A,f,d){var p={lane:d,revertLane:0,action:f,hasEagerState:!1,eagerState:null,next:null};if(Js(o))I6(A,p);else{var v=o.alternate;if(o.lanes===0&&(v===null||v.lanes===0)&&(v=A.lastRenderedReducer,v!==null))try{var F=A.lastRenderedState,T=v(F,f);if(p.hasEagerState=!0,p.eagerState=T,_t(T,F))return Ms(o,A,p,0),$r===null&&Zs(),!1}catch{}finally{}if(f=wc(o,A,p,d),f!==null)return Ut(f,o,d),T6(f,A,d),!0}return!1}function id(o,A,f,d){if(d={lane:2,revertLane:Wd(),action:d,hasEagerState:!1,eagerState:null,next:null},Js(o)){if(A)throw Error(a(479))}else A=wc(o,f,d,2),A!==null&&Ut(A,o,2)}function Js(o){var A=o.alternate;return o===gr||A!==null&&A===gr}function I6(o,A){ro=Ls=!0;var f=o.pending;f===null?A.next=A:(A.next=f.next,f.next=A),o.pending=A}function T6(o,A,f){if((f&4194048)!==0){var d=A.lanes;d&=o.pendingLanes,f|=d,A.lanes=f,Z0(o,f)}}var qs={readContext:tt,use:Hs,useCallback:me,useContext:me,useEffect:me,useImperativeHandle:me,useLayoutEffect:me,useInsertionEffect:me,useMemo:me,useReducer:me,useRef:me,useState:me,useDebugValue:me,useDeferredValue:me,useTransition:me,useSyncExternalStore:me,useId:me,useHostTransitionStatus:me,useFormState:me,useActionState:me,useOptimistic:me,useMemoCache:me,useCacheRefresh:me},O6={readContext:tt,use:Hs,useCallback:function(o,A){return Dt().memoizedState=[o,A===void 0?null:A],o},useContext:tt,useEffect:g6,useImperativeHandle:function(o,A,f){f=f!=null?f.concat([o]):null,Qs(4194308,4,y6.bind(null,A,o),f)},useLayoutEffect:function(o,A){return Qs(4194308,4,o,A)},useInsertionEffect:function(o,A){Qs(4,2,o,A)},useMemo:function(o,A){var f=Dt();A=A===void 0?null:A;var d=o();if(J2){te(!0);try{o()}finally{te(!1)}}return f.memoizedState=[d,A],d},useReducer:function(o,A,f){var d=Dt();if(f!==void 0){var p=f(A);if(J2){te(!0);try{f(A)}finally{te(!1)}}}else p=A;return d.memoizedState=d.baseState=p,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:p},d.queue=o,o=o.dispatch=vC.bind(null,gr,o),[d.memoizedState,o]},useRef:function(o){var A=Dt();return o={current:o},A.memoizedState=o},useState:function(o){o=Kc(o);var A=o.queue,f=M6.bind(null,gr,A);return A.dispatch=f,[o.memoizedState,f]},useDebugValue:ed,useDeferredValue:function(o,A){var f=Dt();return td(f,o,A)},useTransition:function(){var o=Kc(!1);return o=F6.bind(null,gr,o.queue,!0,!1),Dt().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,A,f){var d=gr,p=Dt();if(Tr){if(f===void 0)throw Error(a(407));f=f()}else{if(f=A(),$r===null)throw Error(a(349));(Nr&124)!==0||a6(d,A,f)}p.memoizedState=f;var v={value:f,getSnapshot:A};return p.queue=v,g6(i6.bind(null,d,v,o),[o]),d.flags|=2048,to(9,Ys(),n6.bind(null,d,v,f,A),null),f},useId:function(){var o=Dt(),A=$r.identifierPrefix;if(Tr){var f=tn,d=en;f=(d&~(1<<32-Vr(d)-1)).toString(32)+f,A="«"+A+"R"+f,f=Us++,0ar?(Ve=Y0,Y0=null):Ve=Y0.sibling;var Mr=A0(n0,Y0,i0[ar],b0);if(Mr===null){Y0===null&&(Y0=Ve);break}o&&Y0&&Mr.alternate===null&&A(n0,Y0),K=v(Mr,K,ar),vr===null?j0=Mr:vr.sibling=Mr,vr=Mr,Y0=Ve}if(ar===i0.length)return f(n0,Y0),Tr&&L2(n0,ar),j0;if(Y0===null){for(;arar?(Ve=Y0,Y0=null):Ve=Y0.sibling;var $n=A0(n0,Y0,Mr.value,b0);if($n===null){Y0===null&&(Y0=Ve);break}o&&Y0&&$n.alternate===null&&A(n0,Y0),K=v($n,K,ar),vr===null?j0=$n:vr.sibling=$n,vr=$n,Y0=Ve}if(Mr.done)return f(n0,Y0),Tr&&L2(n0,ar),j0;if(Y0===null){for(;!Mr.done;ar++,Mr=i0.next())Mr=p0(n0,Mr.value,b0),Mr!==null&&(K=v(Mr,K,ar),vr===null?j0=Mr:vr.sibling=Mr,vr=Mr);return Tr&&L2(n0,ar),j0}for(Y0=d(Y0);!Mr.done;ar++,Mr=i0.next())Mr=f0(Y0,n0,ar,Mr.value,b0),Mr!==null&&(o&&Mr.alternate!==null&&Y0.delete(Mr.key===null?ar:Mr.key),K=v(Mr,K,ar),vr===null?j0=Mr:vr.sibling=Mr,vr=Mr);return o&&Y0.forEach(function(kB){return A(n0,kB)}),Tr&&L2(n0,ar),j0}function Hr(n0,K,i0,b0){if(typeof i0=="object"&&i0!==null&&i0.type===g&&i0.key===null&&(i0=i0.props.children),typeof i0=="object"&&i0!==null){switch(i0.$$typeof){case b:r:{for(var j0=i0.key;K!==null;){if(K.key===j0){if(j0=i0.type,j0===g){if(K.tag===7){f(n0,K.sibling),b0=p(K,i0.props.children),b0.return=n0,n0=b0;break r}}else if(K.elementType===j0||typeof j0=="object"&&j0!==null&&j0.$$typeof===j&&V6(j0)===K.type){f(n0,K.sibling),b0=p(K,i0.props),MA(b0,i0),b0.return=n0,n0=b0;break r}f(n0,K);break}else A(n0,K);K=K.sibling}i0.type===g?(b0=P2(i0.props.children,n0.mode,b0,i0.key),b0.return=n0,n0=b0):(b0=Ts(i0.type,i0.key,i0.props,null,n0.mode,b0),MA(b0,i0),b0.return=n0,n0=b0)}return F(n0);case m:r:{for(j0=i0.key;K!==null;){if(K.key===j0)if(K.tag===4&&K.stateNode.containerInfo===i0.containerInfo&&K.stateNode.implementation===i0.implementation){f(n0,K.sibling),b0=p(K,i0.children||[]),b0.return=n0,n0=b0;break r}else{f(n0,K);break}else A(n0,K);K=K.sibling}b0=Dc(i0,n0.mode,b0),b0.return=n0,n0=b0}return F(n0);case j:return j0=i0._init,i0=j0(i0._payload),Hr(n0,K,i0,b0)}if(Y(i0))return ir(n0,K,i0,b0);if(e0(i0)){if(j0=e0(i0),typeof j0!="function")throw Error(a(150));return i0=j0.call(i0),er(n0,K,i0,b0)}if(typeof i0.then=="function")return Hr(n0,K,$s(i0),b0);if(i0.$$typeof===D)return Hr(n0,K,_s(n0,i0),b0);Ks(n0,i0)}return typeof i0=="string"&&i0!==""||typeof i0=="number"||typeof i0=="bigint"?(i0=""+i0,K!==null&&K.tag===6?(f(n0,K.sibling),b0=p(K,i0),b0.return=n0,n0=b0):(f(n0,K),b0=Bc(i0,n0.mode,b0),b0.return=n0,n0=b0),F(n0)):f(n0,K)}return function(n0,K,i0,b0){try{ZA=0;var j0=Hr(n0,K,i0,b0);return ao=null,j0}catch(Y0){if(Y0===yA||Y0===js)throw Y0;var vr=Gt(29,Y0,null,n0.mode);return vr.lanes=b0,vr.return=n0,vr}finally{}}}var no=_6(!0),G6=_6(!1),ia=I(null),Wa=null;function Wn(o){var A=o.alternate;X(Ne,Ne.current&1),X(ia,o),Wa===null&&(A===null||Ki.current!==null||A.memoizedState!==null)&&(Wa=o)}function j6(o){if(o.tag===22){if(X(Ne,Ne.current),X(ia,o),Wa===null){var A=o.alternate;A!==null&&A.memoizedState!==null&&(Wa=o)}}else Vn()}function Vn(){X(Ne,Ne.current),X(ia,ia.current)}function An(o){P(ia),Wa===o&&(Wa=null),P(Ne)}var Ne=I(0);function rf(o){for(var A=o;A!==null;){if(A.tag===13){var f=A.memoizedState;if(f!==null&&(f=f.dehydrated,f===null||f.data==="$?"||Qd(f)))return A}else if(A.tag===19&&A.memoizedProps.revealOrder!==void 0){if((A.flags&128)!==0)return A}else if(A.child!==null){A.child.return=A,A=A.child;continue}if(A===o)break;for(;A.sibling===null;){if(A.return===null||A.return===o)return null;A=A.return}A.sibling.return=A.return,A=A.sibling}return null}function od(o,A,f,d){A=o.memoizedState,f=f(d,A),f=f==null?A:x({},A,f),o.memoizedState=f,o.lanes===0&&(o.updateQueue.baseState=f)}var Ad={enqueueSetState:function(o,A,f){o=o._reactInternals;var d=Lt(),p=In(d);p.payload=A,f!=null&&(p.callback=f),A=Tn(o,p,d),A!==null&&(Ut(A,o,d),CA(A,o,d))},enqueueReplaceState:function(o,A,f){o=o._reactInternals;var d=Lt(),p=In(d);p.tag=1,p.payload=A,f!=null&&(p.callback=f),A=Tn(o,p,d),A!==null&&(Ut(A,o,d),CA(A,o,d))},enqueueForceUpdate:function(o,A){o=o._reactInternals;var f=Lt(),d=In(f);d.tag=2,A!=null&&(d.callback=A),A=Tn(o,d,f),A!==null&&(Ut(A,o,f),CA(A,o,f))}};function P6(o,A,f,d,p,v,F){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(d,v,F):A.prototype&&A.prototype.isPureReactComponent?!hA(f,d)||!hA(p,v):!0}function X6(o,A,f,d){o=A.state,typeof A.componentWillReceiveProps=="function"&&A.componentWillReceiveProps(f,d),typeof A.UNSAFE_componentWillReceiveProps=="function"&&A.UNSAFE_componentWillReceiveProps(f,d),A.state!==o&&Ad.enqueueReplaceState(A,A.state,null)}function q2(o,A){var f=A;if("ref"in A){f={};for(var d in A)d!=="ref"&&(f[d]=A[d])}if(o=o.defaultProps){f===A&&(f=x({},f));for(var p in o)f[p]===void 0&&(f[p]=o[p])}return f}var ef=typeof reportError=="function"?reportError:function(o){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var A=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof o=="object"&&o!==null&&typeof o.message=="string"?String(o.message):String(o),error:o});if(!window.dispatchEvent(A))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",o);return}console.error(o)};function L6(o){ef(o)}function U6(o){console.error(o)}function H6(o){ef(o)}function tf(o,A){try{var f=o.onUncaughtError;f(A.value,{componentStack:A.stack})}catch(d){setTimeout(function(){throw d})}}function z6(o,A,f){try{var d=o.onCaughtError;d(f.value,{componentStack:f.stack,errorBoundary:A.tag===1?A.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function ld(o,A,f){return f=In(f),f.tag=3,f.payload={element:null},f.callback=function(){tf(o,A)},f}function Y6(o){return o=In(o),o.tag=3,o}function Q6(o,A,f,d){var p=f.type.getDerivedStateFromError;if(typeof p=="function"){var v=d.value;o.payload=function(){return p(v)},o.callback=function(){z6(A,f,d)}}var F=f.stateNode;F!==null&&typeof F.componentDidCatch=="function"&&(o.callback=function(){z6(A,f,d),typeof p!="function"&&(Ln===null?Ln=new Set([this]):Ln.add(this));var T=d.stack;this.componentDidCatch(d.value,{componentStack:T!==null?T:""})})}function kC(o,A,f,d,p){if(f.flags|=32768,d!==null&&typeof d=="object"&&typeof d.then=="function"){if(A=f.alternate,A!==null&&vA(A,f,p,!0),f=ia.current,f!==null){switch(f.tag){case 13:return Wa===null?Zd():f.alternate===null&&ue===0&&(ue=3),f.flags&=-257,f.flags|=65536,f.lanes=p,d===Wc?f.flags|=16384:(A=f.updateQueue,A===null?f.updateQueue=new Set([d]):A.add(d),Id(o,d,p)),!1;case 22:return f.flags|=65536,d===Wc?f.flags|=16384:(A=f.updateQueue,A===null?(A={transitions:null,markerInstances:null,retryQueue:new Set([d])},f.updateQueue=A):(f=A.retryQueue,f===null?A.retryQueue=new Set([d]):f.add(d)),Id(o,d,p)),!1}throw Error(a(435,f.tag))}return Id(o,d,p),Zd(),!1}if(Tr)return A=ia.current,A!==null?((A.flags&65536)===0&&(A.flags|=256),A.flags|=65536,A.lanes=p,d!==Rc&&(o=Error(a(422),{cause:d}),gA(ea(o,f)))):(d!==Rc&&(A=Error(a(423),{cause:d}),gA(ea(A,f))),o=o.current.alternate,o.flags|=65536,p&=-p,o.lanes|=p,d=ea(d,f),p=ld(o.stateNode,d,p),Gc(o,p),ue!==4&&(ue=2)),!1;var v=Error(a(520),{cause:d});if(v=ea(v,f),GA===null?GA=[v]:GA.push(v),ue!==4&&(ue=2),A===null)return!0;d=ea(d,f),f=A;do{switch(f.tag){case 3:return f.flags|=65536,o=p&-p,f.lanes|=o,o=ld(f.stateNode,d,o),Gc(f,o),!1;case 1:if(A=f.type,v=f.stateNode,(f.flags&128)===0&&(typeof A.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(Ln===null||!Ln.has(v))))return f.flags|=65536,p&=-p,f.lanes|=p,p=Y6(p),Q6(p,o,f,d),Gc(f,p),!1}f=f.return}while(f!==null);return!1}var J6=Error(a(461)),Oe=!1;function Ye(o,A,f,d){A.child=o===null?G6(A,null,f,d):no(A,o.child,f,d)}function q6(o,A,f,d,p){f=f.render;var v=A.ref;if("ref"in d){var F={};for(var T in d)T!=="ref"&&(F[T]=d[T])}else F=d;return Y2(A),d=Uc(o,A,f,F,v,p),T=Hc(),o!==null&&!Oe?(zc(o,A,p),ln(o,A,p)):(Tr&&T&&Fc(A),A.flags|=1,Ye(o,A,d,p),A.child)}function $6(o,A,f,d,p){if(o===null){var v=f.type;return typeof v=="function"&&!Cc(v)&&v.defaultProps===void 0&&f.compare===null?(A.tag=15,A.type=v,K6(o,A,v,d,p)):(o=Ts(f.type,null,d,A,A.mode,p),o.ref=A.ref,o.return=A,A.child=o)}if(v=o.child,!bd(o,p)){var F=v.memoizedProps;if(f=f.compare,f=f!==null?f:hA,f(F,d)&&o.ref===A.ref)return ln(o,A,p)}return A.flags|=1,o=rn(v,d),o.ref=A.ref,o.return=A,A.child=o}function K6(o,A,f,d,p){if(o!==null){var v=o.memoizedProps;if(hA(v,d)&&o.ref===A.ref)if(Oe=!1,A.pendingProps=d=v,bd(o,p))(o.flags&131072)!==0&&(Oe=!0);else return A.lanes=o.lanes,ln(o,A,p)}return sd(o,A,f,d,p)}function r5(o,A,f){var d=A.pendingProps,p=d.children,v=o!==null?o.memoizedState:null;if(d.mode==="hidden"){if((A.flags&128)!==0){if(d=v!==null?v.baseLanes|f:f,o!==null){for(p=A.child=o.child,v=0;p!==null;)v=v|p.lanes|p.childLanes,p=p.sibling;A.childLanes=v&~d}else A.childLanes=0,A.child=null;return e5(o,A,d,f)}if((f&536870912)!==0)A.memoizedState={baseLanes:0,cachePool:null},o!==null&&Gs(A,v!==null?v.cachePool:null),v!==null?K3(A,v):Pc(),j6(A);else return A.lanes=A.childLanes=536870912,e5(o,A,v!==null?v.baseLanes|f:f,f)}else v!==null?(Gs(A,v.cachePool),K3(A,v),Vn(),A.memoizedState=null):(o!==null&&Gs(A,null),Pc(),Vn());return Ye(o,A,p,f),A.child}function e5(o,A,f,d){var p=Oc();return p=p===null?null:{parent:Re._currentValue,pool:p},A.memoizedState={baseLanes:f,cachePool:p},o!==null&&Gs(A,null),Pc(),j6(A),o!==null&&vA(o,A,d,!0),null}function af(o,A){var f=A.ref;if(f===null)o!==null&&o.ref!==null&&(A.flags|=4194816);else{if(typeof f!="function"&&typeof f!="object")throw Error(a(284));(o===null||o.ref!==f)&&(A.flags|=4194816)}}function sd(o,A,f,d,p){return Y2(A),f=Uc(o,A,f,d,void 0,p),d=Hc(),o!==null&&!Oe?(zc(o,A,p),ln(o,A,p)):(Tr&&d&&Fc(A),A.flags|=1,Ye(o,A,f,p),A.child)}function t5(o,A,f,d,p,v){return Y2(A),A.updateQueue=null,f=e6(A,d,f,p),r6(o),d=Hc(),o!==null&&!Oe?(zc(o,A,v),ln(o,A,v)):(Tr&&d&&Fc(A),A.flags|=1,Ye(o,A,f,v),A.child)}function a5(o,A,f,d,p){if(Y2(A),A.stateNode===null){var v=Yi,F=f.contextType;typeof F=="object"&&F!==null&&(v=tt(F)),v=new f(d,v),A.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=Ad,A.stateNode=v,v._reactInternals=A,v=A.stateNode,v.props=d,v.state=A.memoizedState,v.refs={},Vc(A),F=f.contextType,v.context=typeof F=="object"&&F!==null?tt(F):Yi,v.state=A.memoizedState,F=f.getDerivedStateFromProps,typeof F=="function"&&(od(A,f,F,d),v.state=A.memoizedState),typeof f.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(F=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),F!==v.state&&Ad.enqueueReplaceState(v,v.state,null),DA(A,d,v,p),BA(),v.state=A.memoizedState),typeof v.componentDidMount=="function"&&(A.flags|=4194308),d=!0}else if(o===null){v=A.stateNode;var T=A.memoizedProps,H=q2(f,T);v.props=H;var o0=v.context,x0=f.contextType;F=Yi,typeof x0=="object"&&x0!==null&&(F=tt(x0));var p0=f.getDerivedStateFromProps;x0=typeof p0=="function"||typeof v.getSnapshotBeforeUpdate=="function",T=A.pendingProps!==T,x0||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(T||o0!==F)&&X6(A,v,d,F),Mn=!1;var A0=A.memoizedState;v.state=A0,DA(A,d,v,p),BA(),o0=A.memoizedState,T||A0!==o0||Mn?(typeof p0=="function"&&(od(A,f,p0,d),o0=A.memoizedState),(H=Mn||P6(A,f,H,d,A0,o0,F))?(x0||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(A.flags|=4194308)):(typeof v.componentDidMount=="function"&&(A.flags|=4194308),A.memoizedProps=d,A.memoizedState=o0),v.props=d,v.state=o0,v.context=F,d=H):(typeof v.componentDidMount=="function"&&(A.flags|=4194308),d=!1)}else{v=A.stateNode,_c(o,A),F=A.memoizedProps,x0=q2(f,F),v.props=x0,p0=A.pendingProps,A0=v.context,o0=f.contextType,H=Yi,typeof o0=="object"&&o0!==null&&(H=tt(o0)),T=f.getDerivedStateFromProps,(o0=typeof T=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(F!==p0||A0!==H)&&X6(A,v,d,H),Mn=!1,A0=A.memoizedState,v.state=A0,DA(A,d,v,p),BA();var f0=A.memoizedState;F!==p0||A0!==f0||Mn||o!==null&&o.dependencies!==null&&Vs(o.dependencies)?(typeof T=="function"&&(od(A,f,T,d),f0=A.memoizedState),(x0=Mn||P6(A,f,x0,d,A0,f0,H)||o!==null&&o.dependencies!==null&&Vs(o.dependencies))?(o0||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(d,f0,H),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(d,f0,H)),typeof v.componentDidUpdate=="function"&&(A.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(A.flags|=1024)):(typeof v.componentDidUpdate!="function"||F===o.memoizedProps&&A0===o.memoizedState||(A.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||F===o.memoizedProps&&A0===o.memoizedState||(A.flags|=1024),A.memoizedProps=d,A.memoizedState=f0),v.props=d,v.state=f0,v.context=H,d=x0):(typeof v.componentDidUpdate!="function"||F===o.memoizedProps&&A0===o.memoizedState||(A.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||F===o.memoizedProps&&A0===o.memoizedState||(A.flags|=1024),d=!1)}return v=d,af(o,A),d=(A.flags&128)!==0,v||d?(v=A.stateNode,f=d&&typeof f.getDerivedStateFromError!="function"?null:v.render(),A.flags|=1,o!==null&&d?(A.child=no(A,o.child,null,p),A.child=no(A,null,f,p)):Ye(o,A,f,p),A.memoizedState=v.state,o=A.child):o=ln(o,A,p),o}function n5(o,A,f,d){return mA(),A.flags|=256,Ye(o,A,f,d),A.child}var fd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ud(o){return{baseLanes:o,cachePool:U3()}}function cd(o,A,f){return o=o!==null?o.childLanes&~f:0,A&&(o|=oa),o}function i5(o,A,f){var d=A.pendingProps,p=!1,v=(A.flags&128)!==0,F;if((F=v)||(F=o!==null&&o.memoizedState===null?!1:(Ne.current&2)!==0),F&&(p=!0,A.flags&=-129),F=(A.flags&32)!==0,A.flags&=-33,o===null){if(Tr){if(p?Wn(A):Vn(),Tr){var T=fe,H;if(H=T){r:{for(H=T,T=Oa;H.nodeType!==8;){if(!T){T=null;break r}if(H=ya(H.nextSibling),H===null){T=null;break r}}T=H}T!==null?(A.memoizedState={dehydrated:T,treeContext:X2!==null?{id:en,overflow:tn}:null,retryLane:536870912,hydrationErrors:null},H=Gt(18,null,null,0),H.stateNode=T,H.return=A,A.child=H,dt=A,fe=null,H=!0):H=!1}H||H2(A)}if(T=A.memoizedState,T!==null&&(T=T.dehydrated,T!==null))return Qd(T)?A.lanes=32:A.lanes=536870912,null;An(A)}return T=d.children,d=d.fallback,p?(Vn(),p=A.mode,T=nf({mode:"hidden",children:T},p),d=P2(d,p,f,null),T.return=A,d.return=A,T.sibling=d,A.child=T,p=A.child,p.memoizedState=ud(f),p.childLanes=cd(o,F,f),A.memoizedState=fd,d):(Wn(A),dd(A,T))}if(H=o.memoizedState,H!==null&&(T=H.dehydrated,T!==null)){if(v)A.flags&256?(Wn(A),A.flags&=-257,A=xd(o,A,f)):A.memoizedState!==null?(Vn(),A.child=o.child,A.flags|=128,A=null):(Vn(),p=d.fallback,T=A.mode,d=nf({mode:"visible",children:d.children},T),p=P2(p,T,f,null),p.flags|=2,d.return=A,p.return=A,d.sibling=p,A.child=d,no(A,o.child,null,f),d=A.child,d.memoizedState=ud(f),d.childLanes=cd(o,F,f),A.memoizedState=fd,A=p);else if(Wn(A),Qd(T)){if(F=T.nextSibling&&T.nextSibling.dataset,F)var o0=F.dgst;F=o0,d=Error(a(419)),d.stack="",d.digest=F,gA({value:d,source:null,stack:null}),A=xd(o,A,f)}else if(Oe||vA(o,A,f,!1),F=(f&o.childLanes)!==0,Oe||F){if(F=$r,F!==null&&(d=f&-f,d=(d&42)!==0?1:ur(d),d=(d&(F.suspendedLanes|f))!==0?0:d,d!==0&&d!==H.retryLane))throw H.retryLane=d,zi(o,d),Ut(F,o,d),J6;T.data==="$?"||Zd(),A=xd(o,A,f)}else T.data==="$?"?(A.flags|=192,A.child=o.child,A=null):(o=H.treeContext,fe=ya(T.nextSibling),dt=A,Tr=!0,U2=null,Oa=!1,o!==null&&(aa[na++]=en,aa[na++]=tn,aa[na++]=X2,en=o.id,tn=o.overflow,X2=A),A=dd(A,d.children),A.flags|=4096);return A}return p?(Vn(),p=d.fallback,T=A.mode,H=o.child,o0=H.sibling,d=rn(H,{mode:"hidden",children:d.children}),d.subtreeFlags=H.subtreeFlags&65011712,o0!==null?p=rn(o0,p):(p=P2(p,T,f,null),p.flags|=2),p.return=A,d.return=A,d.sibling=p,A.child=d,d=p,p=A.child,T=o.child.memoizedState,T===null?T=ud(f):(H=T.cachePool,H!==null?(o0=Re._currentValue,H=H.parent!==o0?{parent:o0,pool:o0}:H):H=U3(),T={baseLanes:T.baseLanes|f,cachePool:H}),p.memoizedState=T,p.childLanes=cd(o,F,f),A.memoizedState=fd,d):(Wn(A),f=o.child,o=f.sibling,f=rn(f,{mode:"visible",children:d.children}),f.return=A,f.sibling=null,o!==null&&(F=A.deletions,F===null?(A.deletions=[o],A.flags|=16):F.push(o)),A.child=f,A.memoizedState=null,f)}function dd(o,A){return A=nf({mode:"visible",children:A},o.mode),A.return=o,o.child=A}function nf(o,A){return o=Gt(22,o,null,A),o.lanes=0,o.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},o}function xd(o,A,f){return no(A,o.child,null,f),o=dd(A,A.pendingProps.children),o.flags|=2,A.memoizedState=null,o}function o5(o,A,f){o.lanes|=A;var d=o.alternate;d!==null&&(d.lanes|=A),Zc(o.return,A,f)}function hd(o,A,f,d,p){var v=o.memoizedState;v===null?o.memoizedState={isBackwards:A,rendering:null,renderingStartTime:0,last:d,tail:f,tailMode:p}:(v.isBackwards=A,v.rendering=null,v.renderingStartTime=0,v.last=d,v.tail=f,v.tailMode=p)}function A5(o,A,f){var d=A.pendingProps,p=d.revealOrder,v=d.tail;if(Ye(o,A,d.children,f),d=Ne.current,(d&2)!==0)d=d&1|2,A.flags|=128;else{if(o!==null&&(o.flags&128)!==0)r:for(o=A.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&o5(o,f,A);else if(o.tag===19)o5(o,f,A);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===A)break r;for(;o.sibling===null;){if(o.return===null||o.return===A)break r;o=o.return}o.sibling.return=o.return,o=o.sibling}d&=1}switch(X(Ne,d),p){case"forwards":for(f=A.child,p=null;f!==null;)o=f.alternate,o!==null&&rf(o)===null&&(p=f),f=f.sibling;f=p,f===null?(p=A.child,A.child=null):(p=f.sibling,f.sibling=null),hd(A,!1,p,f,v);break;case"backwards":for(f=null,p=A.child,A.child=null;p!==null;){if(o=p.alternate,o!==null&&rf(o)===null){A.child=p;break}o=p.sibling,p.sibling=f,f=p,p=o}hd(A,!0,f,null,v);break;case"together":hd(A,!1,null,null,void 0);break;default:A.memoizedState=null}return A.child}function ln(o,A,f){if(o!==null&&(A.dependencies=o.dependencies),Xn|=A.lanes,(f&A.childLanes)===0)if(o!==null){if(vA(o,A,f,!1),(f&A.childLanes)===0)return null}else return null;if(o!==null&&A.child!==o.child)throw Error(a(153));if(A.child!==null){for(o=A.child,f=rn(o,o.pendingProps),A.child=f,f.return=A;o.sibling!==null;)o=o.sibling,f=f.sibling=rn(o,o.pendingProps),f.return=A;f.sibling=null}return A.child}function bd(o,A){return(o.lanes&A)!==0?!0:(o=o.dependencies,!!(o!==null&&Vs(o)))}function yC(o,A,f){switch(A.tag){case 3:k0(A,A.stateNode.containerInfo),Zn(A,Re,o.memoizedState.cache),mA();break;case 27:case 5:m0(A);break;case 4:k0(A,A.stateNode.containerInfo);break;case 10:Zn(A,A.type,A.memoizedProps.value);break;case 13:var d=A.memoizedState;if(d!==null)return d.dehydrated!==null?(Wn(A),A.flags|=128,null):(f&A.child.childLanes)!==0?i5(o,A,f):(Wn(A),o=ln(o,A,f),o!==null?o.sibling:null);Wn(A);break;case 19:var p=(o.flags&128)!==0;if(d=(f&A.childLanes)!==0,d||(vA(o,A,f,!1),d=(f&A.childLanes)!==0),p){if(d)return A5(o,A,f);A.flags|=128}if(p=A.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),X(Ne,Ne.current),d)break;return null;case 22:case 23:return A.lanes=0,r5(o,A,f);case 24:Zn(A,Re,o.memoizedState.cache)}return ln(o,A,f)}function l5(o,A,f){if(o!==null)if(o.memoizedProps!==A.pendingProps)Oe=!0;else{if(!bd(o,f)&&(A.flags&128)===0)return Oe=!1,yC(o,A,f);Oe=(o.flags&131072)!==0}else Oe=!1,Tr&&(A.flags&1048576)!==0&&V3(A,Ws,A.index);switch(A.lanes=0,A.tag){case 16:r:{o=A.pendingProps;var d=A.elementType,p=d._init;if(d=p(d._payload),A.type=d,typeof d=="function")Cc(d)?(o=q2(d,o),A.tag=1,A=a5(null,A,d,o,f)):(A.tag=0,A=sd(null,A,d,o,f));else{if(d!=null){if(p=d.$$typeof,p===N){A.tag=11,A=q6(null,A,d,o,f);break r}else if(p===W){A.tag=14,A=$6(null,A,d,o,f);break r}}throw A=s0(d)||d,Error(a(306,A,""))}}return A;case 0:return sd(o,A,A.type,A.pendingProps,f);case 1:return d=A.type,p=q2(d,A.pendingProps),a5(o,A,d,p,f);case 3:r:{if(k0(A,A.stateNode.containerInfo),o===null)throw Error(a(387));d=A.pendingProps;var v=A.memoizedState;p=v.element,_c(o,A),DA(A,d,null,f);var F=A.memoizedState;if(d=F.cache,Zn(A,Re,d),d!==v.cache&&Mc(A,[Re],f,!0),BA(),d=F.element,v.isDehydrated)if(v={element:d,isDehydrated:!1,cache:F.cache},A.updateQueue.baseState=v,A.memoizedState=v,A.flags&256){A=n5(o,A,d,f);break r}else if(d!==p){p=ea(Error(a(424)),A),gA(p),A=n5(o,A,d,f);break r}else{switch(o=A.stateNode.containerInfo,o.nodeType){case 9:o=o.body;break;default:o=o.nodeName==="HTML"?o.ownerDocument.body:o}for(fe=ya(o.firstChild),dt=A,Tr=!0,U2=null,Oa=!0,f=G6(A,null,d,f),A.child=f;f;)f.flags=f.flags&-3|4096,f=f.sibling}else{if(mA(),d===p){A=ln(o,A,f);break r}Ye(o,A,d,f)}A=A.child}return A;case 26:return af(o,A),o===null?(f=cb(A.type,null,A.pendingProps,null))?A.memoizedState=f:Tr||(f=A.type,o=A.pendingProps,d=gf($.current).createElement(f),d[c0]=A,d[h0]=o,Je(d,f,o),sr(d),A.stateNode=d):A.memoizedState=cb(A.type,o.memoizedProps,A.pendingProps,o.memoizedState),null;case 27:return m0(A),o===null&&Tr&&(d=A.stateNode=sb(A.type,A.pendingProps,$.current),dt=A,Oa=!0,p=fe,zn(A.type)?(Jd=p,fe=ya(d.firstChild)):fe=p),Ye(o,A,A.pendingProps.children,f),af(o,A),o===null&&(A.flags|=4194304),A.child;case 5:return o===null&&Tr&&((p=d=fe)&&(d=qC(d,A.type,A.pendingProps,Oa),d!==null?(A.stateNode=d,dt=A,fe=ya(d.firstChild),Oa=!1,p=!0):p=!1),p||H2(A)),m0(A),p=A.type,v=A.pendingProps,F=o!==null?o.memoizedProps:null,d=v.children,Hd(p,v)?d=null:F!==null&&Hd(p,F)&&(A.flags|=32),A.memoizedState!==null&&(p=Uc(o,A,hC,null,null,f),QA._currentValue=p),af(o,A),Ye(o,A,d,f),A.child;case 6:return o===null&&Tr&&((o=f=fe)&&(f=$C(f,A.pendingProps,Oa),f!==null?(A.stateNode=f,dt=A,fe=null,o=!0):o=!1),o||H2(A)),null;case 13:return i5(o,A,f);case 4:return k0(A,A.stateNode.containerInfo),d=A.pendingProps,o===null?A.child=no(A,null,d,f):Ye(o,A,d,f),A.child;case 11:return q6(o,A,A.type,A.pendingProps,f);case 7:return Ye(o,A,A.pendingProps,f),A.child;case 8:return Ye(o,A,A.pendingProps.children,f),A.child;case 12:return Ye(o,A,A.pendingProps.children,f),A.child;case 10:return d=A.pendingProps,Zn(A,A.type,d.value),Ye(o,A,d.children,f),A.child;case 9:return p=A.type._context,d=A.pendingProps.children,Y2(A),p=tt(p),d=d(p),A.flags|=1,Ye(o,A,d,f),A.child;case 14:return $6(o,A,A.type,A.pendingProps,f);case 15:return K6(o,A,A.type,A.pendingProps,f);case 19:return A5(o,A,f);case 31:return d=A.pendingProps,f=A.mode,d={mode:d.mode,children:d.children},o===null?(f=nf(d,f),f.ref=A.ref,A.child=f,f.return=A,A=f):(f=rn(o.child,d),f.ref=A.ref,A.child=f,f.return=A,A=f),A;case 22:return r5(o,A,f);case 24:return Y2(A),d=tt(Re),o===null?(p=Oc(),p===null&&(p=$r,v=Ic(),p.pooledCache=v,v.refCount++,v!==null&&(p.pooledCacheLanes|=f),p=v),A.memoizedState={parent:d,cache:p},Vc(A),Zn(A,Re,p)):((o.lanes&f)!==0&&(_c(o,A),DA(A,null,null,f),BA()),p=o.memoizedState,v=A.memoizedState,p.parent!==d?(p={parent:d,cache:d},A.memoizedState=p,A.lanes===0&&(A.memoizedState=A.updateQueue.baseState=p),Zn(A,Re,d)):(d=v.cache,Zn(A,Re,d),d!==p.cache&&Mc(A,[Re],f,!0))),Ye(o,A,A.pendingProps.children,f),A.child;case 29:throw A.pendingProps}throw Error(a(156,A.tag))}function sn(o){o.flags|=4}function s5(o,A){if(A.type!=="stylesheet"||(A.state.loading&4)!==0)o.flags&=-16777217;else if(o.flags|=16777216,!pb(A)){if(A=ia.current,A!==null&&((Nr&4194048)===Nr?Wa!==null:(Nr&62914560)!==Nr&&(Nr&536870912)===0||A!==Wa))throw wA=Wc,H3;o.flags|=8192}}function of(o,A){A!==null&&(o.flags|=4),o.flags&16384&&(A=o.tag!==22?Te():536870912,o.lanes|=A,lo|=A)}function IA(o,A){if(!Tr)switch(o.tailMode){case"hidden":A=o.tail;for(var f=null;A!==null;)A.alternate!==null&&(f=A),A=A.sibling;f===null?o.tail=null:f.sibling=null;break;case"collapsed":f=o.tail;for(var d=null;f!==null;)f.alternate!==null&&(d=f),f=f.sibling;d===null?A||o.tail===null?o.tail=null:o.tail.sibling=null:d.sibling=null}}function Ae(o){var A=o.alternate!==null&&o.alternate.child===o.child,f=0,d=0;if(A)for(var p=o.child;p!==null;)f|=p.lanes|p.childLanes,d|=p.subtreeFlags&65011712,d|=p.flags&65011712,p.return=o,p=p.sibling;else for(p=o.child;p!==null;)f|=p.lanes|p.childLanes,d|=p.subtreeFlags,d|=p.flags,p.return=o,p=p.sibling;return o.subtreeFlags|=d,o.childLanes=f,A}function wC(o,A,f){var d=A.pendingProps;switch(Sc(A),A.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ae(A),null;case 1:return Ae(A),null;case 3:return f=A.stateNode,d=null,o!==null&&(d=o.memoizedState.cache),A.memoizedState.cache!==d&&(A.flags|=2048),nn(Re),N0(),f.pendingContext&&(f.context=f.pendingContext,f.pendingContext=null),(o===null||o.child===null)&&(pA(A)?sn(A):o===null||o.memoizedState.isDehydrated&&(A.flags&256)===0||(A.flags|=1024,j3())),Ae(A),null;case 26:return f=A.memoizedState,o===null?(sn(A),f!==null?(Ae(A),s5(A,f)):(Ae(A),A.flags&=-16777217)):f?f!==o.memoizedState?(sn(A),Ae(A),s5(A,f)):(Ae(A),A.flags&=-16777217):(o.memoizedProps!==d&&sn(A),Ae(A),A.flags&=-16777217),null;case 27:y0(A),f=$.current;var p=A.type;if(o!==null&&A.stateNode!=null)o.memoizedProps!==d&&sn(A);else{if(!d){if(A.stateNode===null)throw Error(a(166));return Ae(A),null}o=V.current,pA(A)?_3(A):(o=sb(p,d,f),A.stateNode=o,sn(A))}return Ae(A),null;case 5:if(y0(A),f=A.type,o!==null&&A.stateNode!=null)o.memoizedProps!==d&&sn(A);else{if(!d){if(A.stateNode===null)throw Error(a(166));return Ae(A),null}if(o=V.current,pA(A))_3(A);else{switch(p=gf($.current),o){case 1:o=p.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:o=p.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":o=p.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":o=p.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":o=p.createElement("div"),o.innerHTML="
-
+
+
diff --git a/apps/nowait-admin/src/components/NewOrderToast.tsx b/apps/nowait-admin/src/components/NewOrderToast.tsx
index 30fbd3fb..8b16c3a1 100644
--- a/apps/nowait-admin/src/components/NewOrderToast.tsx
+++ b/apps/nowait-admin/src/components/NewOrderToast.tsx
@@ -1,5 +1,5 @@
// src/components/NewOrderToast.tsx
-import React from "react";
+import React, { useMemo } from "react";
import { useNavigate } from "react-router-dom";
import { useNewOrderToastStore } from "../hooks/useNewOrderToastStore";
import CloseButton from "./closeButton";
@@ -97,16 +97,33 @@ export default function NewOrderToast() {
const navigate = useNavigate();
const storeId = localStorage.getItem("storeId") ?? "";
+ const dismissedSet = useMemo(() => {
+ try {
+ const raw = localStorage.getItem("toasts:dismissed");
+ return new Set(raw ? (JSON.parse(raw) as string[]) : []);
+ } catch {
+ return new Set();
+ }
+ }, [toasts]);
+
+ const visibles = useMemo(() => {
+ const res: typeof toasts = [];
+ for (const t of toasts) {
+ if (!dismissedSet.has(t.id)) res.push(t);
+ if (res.length === 3) break;
+ }
+ return res; // [1,2,3] → 3 삭제 시 [1,2,4] → 다음 [1,2,4], 4 삭제 시 [1,2,5] ...
+ }, [toasts, dismissedSet]);
+
return (
<>
- {/* 전역 오디오: map 내부 중복 id 제거하세요 */}
- {toasts.map((t) => {
+ {visibles.map((t) => {
const tableId = t.meta?.tableId as number | undefined;
const orderName = t.meta?.orderName ?? "신규 주문";
const menuDetails = (t.meta?.menuDetails ?? {}) as Record<
@@ -134,7 +151,14 @@ export default function NewOrderToast() {
removeToast(t.id)}
- onTap={() => navigate(`/admin/orders/${storeId}`)} // ← 클릭 이동은 여기서!
+ onTap={() => {
+ const params = new URLSearchParams();
+ params.set("order", String(t.orderId));
+ navigate({
+ pathname: `/admin/orders/${storeId}`,
+ search: params.toString(),
+ });
+ }}
>
o.status === "WAITING_FOR_PAYMENT"; // 필요 시 조건 조절
+const isInitialStatus = (o: Order) => o.status === "WAITING_FOR_PAYMENT";
export function useDetectNewOrders(orders: Order[] | undefined) {
const seenIdsRef = useRef
>(new Set());
@@ -18,7 +18,6 @@ export function useDetectNewOrders(orders: Order[] | undefined) {
useEffect(() => {
if (!orders) return;
- // 첫 로딩은 베이스라인만 세팅(알림 X)
if (!initializedRef.current) {
seenIdsRef.current = new Set(orders.map((o) => o.id));
const maxCreated = Math.max(
@@ -44,6 +43,7 @@ export function useDetectNewOrders(orders: Order[] | undefined) {
pushToast({
id: String(o.id),
orderId: o.id,
+ status: o.status,
title: "신규 주문 도착",
body: `테이블 ${o.tableId} / ${o.depositorName ?? "고객"}`,
meta: {
diff --git a/apps/nowait-admin/src/hooks/useNewOrderToastStore.tsx b/apps/nowait-admin/src/hooks/useNewOrderToastStore.tsx
index 900336ef..f93857a8 100644
--- a/apps/nowait-admin/src/hooks/useNewOrderToastStore.tsx
+++ b/apps/nowait-admin/src/hooks/useNewOrderToastStore.tsx
@@ -1,8 +1,11 @@
import { create } from "zustand";
+type OrderStatus = "WAITING_FOR_PAYMENT" | "COOKING" | "COOKED";
+
type Toast = {
id: string;
orderId: number;
+ status: OrderStatus;
title: string;
body: string;
meta?: {
@@ -45,8 +48,9 @@ export const useNewOrderToastStore = create((set, get) => ({
if (dismissed.has(t.id)) return;
// 중복 방지
if (get().toasts.some((x) => x.id === t.id)) return;
- set((s) => ({ toasts: [t, ...s.toasts].slice(0, 3) }));
-
+ set((s) => ({
+ toasts: [...s.toasts, t],
+ }));
// 사운드 (선택)
try {
const audio =
diff --git a/apps/nowait-admin/src/pages/AdminOrders/AdminOrders.tsx b/apps/nowait-admin/src/pages/AdminOrders/AdminOrders.tsx
index bfdbd4aa..006208cf 100644
--- a/apps/nowait-admin/src/pages/AdminOrders/AdminOrders.tsx
+++ b/apps/nowait-admin/src/pages/AdminOrders/AdminOrders.tsx
@@ -1,5 +1,5 @@
import { useState, useRef, useEffect } from "react";
-import { useParams } from "react-router";
+import { useLocation, useNavigate, useParams } from "react-router";
import { PaymentCard, CookCard, CookedCard } from "./OrderCard";
import { DetailCard } from "./DetailCard";
import refreshIcon from "../../assets/refresh.svg";
@@ -27,6 +27,15 @@ const AdminOrders = () => {
const windowWidth = useWindowWidth();
const isMobile = windowWidth <= 450;
const storeId = Number(storeIdParam);
+ const { search } = useLocation();
+ const qs = new URLSearchParams(search); // ← 추가\
+ const navigate = useNavigate();
+ const queryOrderId = qs.get("order"); // ← 추가
+ const queryStatus = qs.get("status") as
+ | "WAITING_FOR_PAYMENT"
+ | "COOKING"
+ | "COOKED"
+ | null;
// API에서 주문 데이터 가져오기
const {
@@ -87,14 +96,17 @@ const AdminOrders = () => {
// PaymentDetail 닫기 핸들러
const handleClosePaymentDetail = () => {
setSelectedPayment(null);
- // 약간의 딜레이 후 스크롤 위치 복원
setTimeout(() => {
if (scrollContainerRef.current) {
scrollContainerRef.current.scrollTop = savedScrollPosition;
}
}, 0);
+ const p = new URLSearchParams(location.search);
+ p.delete("order");
+ // status는 유지하고 싶으면 남겨도 됨. 지우고 싶다면 다음 줄도 활성화:
+ // p.delete("status");
+ navigate({ search: p.toString() }, { replace: true });
};
-
// CookedCard 클릭 핸들러
const handleCookedCardClick = (cooked: Order) => {
if (scrollContainerRef.current) {
@@ -106,10 +118,49 @@ const AdminOrders = () => {
setSelectedPayment(cooked);
};
+ const openDetail = (order: Order) => {
+ if (scrollContainerRef.current) {
+ setSavedScrollPosition(scrollContainerRef.current.scrollTop);
+ scrollContainerRef.current.scrollTop = 0;
+ }
+ setSelectedPayment(order);
+
+ const p = new URLSearchParams(location.search);
+ p.set("order", String(order.id));
+ p.set("status", order.status); // 상태 동기화
+ navigate({ search: p.toString() }, { replace: true });
+ };
+
+ useEffect(() => {
+ if (!queryStatus) return;
+
+ // 데스크톱 탭
+ if (queryStatus === "COOKED") {
+ setActiveTab("조리 완료");
+ } else {
+ setActiveTab("전체");
+ }
+
+ // 모바일 탭
+ if (queryStatus === "WAITING_FOR_PAYMENT") setMobileActiveTab("입금 대기");
+ else if (queryStatus === "COOKING") setMobileActiveTab("조리 중");
+ else if (queryStatus === "COOKED") setMobileActiveTab("조리 완료");
+ }, [queryStatus]);
+
+ useEffect(() => {
+ if (!orders?.length || !queryOrderId) return;
+
+ const found = orders.find((o) => String(o.id) === queryOrderId);
+ if (!found) return;
+
+ openDetail(found);
+ }, [orders, queryOrderId]);
+
// 탭 변경 시 Detail 닫기
useEffect(() => {
+ if (queryOrderId) return;
setSelectedPayment(null);
- }, [activeTab, mobileActiveTab]);
+ }, [activeTab, mobileActiveTab, queryOrderId]);
return (
{
)}
- {/* */}
- {/*
*/}
{/* 데스크톱 버전 */}