diff --git a/public/b2b/.htaccess b/public/b2b/.htaccess new file mode 100644 index 0000000..3dce18c --- /dev/null +++ b/public/b2b/.htaccess @@ -0,0 +1,8 @@ + + RewriteEngine On + RewriteBase /b2b/ + RewriteRule ^index\.html$ - [L] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule . /b2b/index.html [L] + diff --git a/public/b2b/assets/index-B1Hl_CEN.js b/public/b2b/assets/index-B1Hl_CEN.js new file mode 100644 index 0000000..ccbfa3a --- /dev/null +++ b/public/b2b/assets/index-B1Hl_CEN.js @@ -0,0 +1,73 @@ +var kp=Object.defineProperty;var xp=(a,s,o)=>s in a?kp(a,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[s]=o;var It=(a,s,o)=>xp(a,typeof s!="symbol"?s+"":s,o);function wp(a,s){for(var o=0;od[p]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const p of document.querySelectorAll('link[rel="modulepreload"]'))d(p);new MutationObserver(p=>{for(const m of p)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&d(y)}).observe(document,{childList:!0,subtree:!0});function o(p){const m={};return p.integrity&&(m.integrity=p.integrity),p.referrerPolicy&&(m.referrerPolicy=p.referrerPolicy),p.crossOrigin==="use-credentials"?m.credentials="include":p.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function d(p){if(p.ep)return;p.ep=!0;const m=o(p);fetch(p.href,m)}})();function br(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var io={exports:{}},Fr={},lo={exports:{}},Z={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Cc;function Sp(){if(Cc)return Z;Cc=1;var a=Symbol.for("react.element"),s=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),p=Symbol.for("react.profiler"),m=Symbol.for("react.provider"),y=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),T=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),E=Symbol.iterator;function I(k){return k===null||typeof k!="object"?null:(k=E&&k[E]||k["@@iterator"],typeof k=="function"?k:null)}var Q={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},W=Object.assign,$={};function D(k,N,G){this.props=k,this.context=N,this.refs=$,this.updater=G||Q}D.prototype.isReactComponent={},D.prototype.setState=function(k,N){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,N,"setState")},D.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function ne(){}ne.prototype=D.prototype;function q(k,N,G){this.props=k,this.context=N,this.refs=$,this.updater=G||Q}var ee=q.prototype=new ne;ee.constructor=q,W(ee,D.prototype),ee.isPureReactComponent=!0;var X=Array.isArray,je=Object.prototype.hasOwnProperty,Ee={current:null},Re={key:!0,ref:!0,__self:!0,__source:!0};function Le(k,N,G){var J,ie={},le=null,ue=null;if(N!=null)for(J in N.ref!==void 0&&(ue=N.ref),N.key!==void 0&&(le=""+N.key),N)je.call(N,J)&&!Re.hasOwnProperty(J)&&(ie[J]=N[J]);var oe=arguments.length-2;if(oe===1)ie.children=G;else if(1>>1,N=L[k];if(0>>1;kp(ie,F))lep(ue,ie)?(L[k]=ue,L[le]=F,k=le):(L[k]=ie,L[J]=F,k=J);else if(lep(ue,F))L[k]=ue,L[le]=F,k=le;else break e}}return V}function p(L,V){var F=L.sortIndex-V.sortIndex;return F!==0?F:L.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var m=performance;a.unstable_now=function(){return m.now()}}else{var y=Date,S=y.now();a.unstable_now=function(){return y.now()-S}}var v=[],T=[],C=1,E=null,I=3,Q=!1,W=!1,$=!1,D=typeof setTimeout=="function"?setTimeout:null,ne=typeof clearTimeout=="function"?clearTimeout:null,q=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ee(L){for(var V=o(T);V!==null;){if(V.callback===null)d(T);else if(V.startTime<=L)d(T),V.sortIndex=V.expirationTime,s(v,V);else break;V=o(T)}}function X(L){if($=!1,ee(L),!W)if(o(v)!==null)W=!0,Ke(je);else{var V=o(T);V!==null&&ge(X,V.startTime-L)}}function je(L,V){W=!1,$&&($=!1,ne(Le),Le=-1),Q=!0;var F=I;try{for(ee(V),E=o(v);E!==null&&(!(E.expirationTime>V)||L&&!_t());){var k=E.callback;if(typeof k=="function"){E.callback=null,I=E.priorityLevel;var N=k(E.expirationTime<=V);V=a.unstable_now(),typeof N=="function"?E.callback=N:E===o(v)&&d(v),ee(V)}else d(v);E=o(v)}if(E!==null)var G=!0;else{var J=o(T);J!==null&&ge(X,J.startTime-V),G=!1}return G}finally{E=null,I=F,Q=!1}}var Ee=!1,Re=null,Le=-1,vt=5,qe=-1;function _t(){return!(a.unstable_now()-qeL||125k?(L.sortIndex=F,s(T,L),o(v)===null&&L===o(T)&&($?(ne(Le),Le=-1):$=!0,ge(X,F-k))):(L.sortIndex=N,s(v,L),W||Q||(W=!0,Ke(je))),L},a.unstable_shouldYield=_t,a.unstable_wrapCallback=function(L){var V=I;return function(){var F=I;I=V;try{return L.apply(this,arguments)}finally{I=F}}}})(so)),so}var Rc;function _p(){return Rc||(Rc=1,oo.exports=Cp()),oo.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Oc;function Np(){if(Oc)return We;Oc=1;var a=Po(),s=_p();function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),v=Object.prototype.hasOwnProperty,T=/^[: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]*$/,C={},E={};function I(e){return v.call(E,e)?!0:v.call(C,e)?!1:T.test(e)?E[e]=!0:(C[e]=!0,!1)}function Q(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function W(e,t,n,r){if(t===null||typeof t>"u"||Q(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function $(e,t,n,r,i,l,c){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=c}var D={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){D[e]=new $(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];D[t]=new $(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){D[e]=new $(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){D[e]=new $(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){D[e]=new $(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){D[e]=new $(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){D[e]=new $(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){D[e]=new $(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){D[e]=new $(e,5,!1,e.toLowerCase(),null,!1,!1)});var ne=/[\-:]([a-z])/g;function q(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ne,q);D[t]=new $(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ne,q);D[t]=new $(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ne,q);D[t]=new $(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){D[e]=new $(e,1,!1,e.toLowerCase(),null,!1,!1)}),D.xlinkHref=new $("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){D[e]=new $(e,1,!1,e.toLowerCase(),null,!0,!0)});function ee(e,t,n,r){var i=D.hasOwnProperty(t)?D[t]:null;(i!==null?i.type!==0:r||!(2f||i[c]!==l[f]){var h=` +`+i[c].replace(" at new "," at ");return e.displayName&&h.includes("")&&(h=h.replace("",e.displayName)),h}while(1<=c&&0<=f);break}}}finally{G=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?N(e):""}function ie(e){switch(e.tag){case 5:return N(e.type);case 16:return N("Lazy");case 13:return N("Suspense");case 19:return N("SuspenseList");case 0:case 2:case 15:return e=J(e.type,!1),e;case 11:return e=J(e.type.render,!1),e;case 1:return e=J(e.type,!0),e;default:return""}}function le(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Re:return"Fragment";case Ee:return"Portal";case vt:return"Profiler";case Le:return"StrictMode";case Ge:return"Suspense";case ut:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _t:return(e.displayName||"Context")+".Consumer";case qe:return(e._context.displayName||"Context")+".Provider";case kt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case xt:return t=e.displayName||null,t!==null?t:le(e.type)||"Memo";case Ke:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}function ue(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return le(t);case 8:return t===Le?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function oe(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function pe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Xe(e){var t=pe(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(c){r=""+c,l.call(this,c)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(c){r=""+c},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Wr(e){e._valueTracker||(e._valueTracker=Xe(e))}function Oo(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=pe(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Yr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function dl(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Do(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=oe(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Lo(e,t){t=t.checked,t!=null&&ee(e,"checked",t,!1)}function fl(e,t){Lo(e,t);var n=oe(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?pl(e,t.type,n):t.hasOwnProperty("defaultValue")&&pl(e,t.type,oe(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bo(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function pl(e,t,n){(t!=="number"||Yr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Jn=Array.isArray;function Sn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=qr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function er(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var tr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Sd=["Webkit","ms","Moz","O"];Object.keys(tr).forEach(function(e){Sd.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),tr[t]=tr[e]})});function Ko(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||tr.hasOwnProperty(e)&&tr[e]?(""+t).trim():t+"px"}function $o(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Ko(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var jd=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function yl(e,t){if(t){if(jd[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(o(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(t.style!=null&&typeof t.style!="object")throw Error(o(62))}}function gl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var vl=null;function kl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var xl=null,jn=null,Tn=null;function bo(e){if(e=jr(e)){if(typeof xl!="function")throw Error(o(280));var t=e.stateNode;t&&(t=vi(t),xl(e.stateNode,e.type,t))}}function Ho(e){jn?Tn?Tn.push(e):Tn=[e]:jn=e}function Vo(){if(jn){var e=jn,t=Tn;if(Tn=jn=null,bo(e),t)for(e=0;e>>=0,e===0?32:31-(Ld(e)/Bd|0)|0}var ei=64,ti=4194304;function lr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ni(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,c=n&268435455;if(c!==0){var f=c&~i;f!==0?r=lr(f):(l&=c,l!==0&&(r=lr(l)))}else c=n&~i,c!==0?r=lr(c):l!==0&&(r=lr(l));if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ar(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ct(t),e[t]=n}function Ad(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=mr),ks=" ",xs=!1;function ws(e,t){switch(e){case"keyup":return mf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ss(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var _n=!1;function yf(e,t){switch(e){case"compositionend":return Ss(t);case"keypress":return t.which!==32?null:(xs=!0,ks);case"textInput":return e=t.data,e===ks&&xs?null:e;default:return null}}function gf(e,t){if(_n)return e==="compositionend"||!Fl&&ws(e,t)?(e=ps(),oi=Ol=Kt=null,_n=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ps(n)}}function Rs(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Rs(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Os(){for(var e=window,t=Yr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Yr(e.document)}return t}function Kl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Cf(e){var t=Os(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Rs(n.ownerDocument.documentElement,n)){if(r!==null&&Kl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=zs(n,l);var c=zs(n,r);i&&c&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==c.node||e.focusOffset!==c.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(c.node,c.offset)):(t.setEnd(c.node,c.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Nn=null,$l=null,vr=null,bl=!1;function Ds(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bl||Nn==null||Nn!==Yr(r)||(r=Nn,"selectionStart"in r&&Kl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),vr&&gr(vr,r)||(vr=r,r=hi($l,"onSelect"),0Dn||(e.current=ta[Dn],ta[Dn]=null,Dn--)}function ce(e,t){Dn++,ta[Dn]=e.current,e.current=t}var Vt={},Be=Ht(Vt),$e=Ht(!1),cn=Vt;function Ln(e,t){var n=e.type.contextTypes;if(!n)return Vt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function be(e){return e=e.childContextTypes,e!=null}function ki(){fe($e),fe(Be)}function Ys(e,t,n){if(Be.current!==Vt)throw Error(o(168));ce(Be,t),ce($e,n)}function qs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(o(108,ue(e)||"Unknown",i));return F({},n,r)}function xi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vt,cn=Be.current,ce(Be,e),ce($e,$e.current),!0}function Gs(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=qs(e,t,cn),r.__reactInternalMemoizedMergedChildContext=e,fe($e),fe(Be),ce(Be,e)):fe($e),ce($e,n)}var Pt=null,wi=!1,na=!1;function Xs(e){Pt===null?Pt=[e]:Pt.push(e)}function Ff(e){wi=!0,Xs(e)}function Qt(){if(!na&&Pt!==null){na=!0;var e=0,t=se;try{var n=Pt;for(se=1;e>=c,i-=c,zt=1<<32-ct(t)+i|n<Y?(ze=H,H=null):ze=H.sibling;var ae=_(x,H,w[Y],R);if(ae===null){H===null&&(H=ze);break}e&&H&&ae.alternate===null&&t(x,H),g=l(ae,g,Y),b===null?K=ae:b.sibling=ae,b=ae,H=ze}if(Y===w.length)return n(x,H),me&&fn(x,Y),K;if(H===null){for(;YY?(ze=H,H=null):ze=H.sibling;var tn=_(x,H,ae.value,R);if(tn===null){H===null&&(H=ze);break}e&&H&&tn.alternate===null&&t(x,H),g=l(tn,g,Y),b===null?K=tn:b.sibling=tn,b=tn,H=ze}if(ae.done)return n(x,H),me&&fn(x,Y),K;if(H===null){for(;!ae.done;Y++,ae=w.next())ae=z(x,ae.value,R),ae!==null&&(g=l(ae,g,Y),b===null?K=ae:b.sibling=ae,b=ae);return me&&fn(x,Y),K}for(H=r(x,H);!ae.done;Y++,ae=w.next())ae=B(H,x,Y,ae.value,R),ae!==null&&(e&&ae.alternate!==null&&H.delete(ae.key===null?Y:ae.key),g=l(ae,g,Y),b===null?K=ae:b.sibling=ae,b=ae);return e&&H.forEach(function(vp){return t(x,vp)}),me&&fn(x,Y),K}function Se(x,g,w,R){if(typeof w=="object"&&w!==null&&w.type===Re&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case je:e:{for(var K=w.key,b=g;b!==null;){if(b.key===K){if(K=w.type,K===Re){if(b.tag===7){n(x,b.sibling),g=i(b,w.props.children),g.return=x,x=g;break e}}else if(b.elementType===K||typeof K=="object"&&K!==null&&K.$$typeof===Ke&&ru(K)===b.type){n(x,b.sibling),g=i(b,w.props),g.ref=Tr(x,b,w),g.return=x,x=g;break e}n(x,b);break}else t(x,b);b=b.sibling}w.type===Re?(g=xn(w.props.children,x.mode,R,w.key),g.return=x,x=g):(R=qi(w.type,w.key,w.props,null,x.mode,R),R.ref=Tr(x,g,w),R.return=x,x=R)}return c(x);case Ee:e:{for(b=w.key;g!==null;){if(g.key===b)if(g.tag===4&&g.stateNode.containerInfo===w.containerInfo&&g.stateNode.implementation===w.implementation){n(x,g.sibling),g=i(g,w.children||[]),g.return=x,x=g;break e}else{n(x,g);break}else t(x,g);g=g.sibling}g=Ja(w,x.mode,R),g.return=x,x=g}return c(x);case Ke:return b=w._init,Se(x,g,b(w._payload),R)}if(Jn(w))return A(x,g,w,R);if(V(w))return U(x,g,w,R);Ei(x,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,g!==null&&g.tag===6?(n(x,g.sibling),g=i(g,w),g.return=x,x=g):(n(x,g),g=Za(w,x.mode,R),g.return=x,x=g),c(x)):n(x,g)}return Se}var Fn=iu(!0),lu=iu(!1),Ci=Ht(null),_i=null,An=null,sa=null;function ua(){sa=An=_i=null}function ca(e){var t=Ci.current;fe(Ci),e._currentValue=t}function da(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Un(e,t){_i=e,sa=An=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(He=!0),e.firstContext=null)}function it(e){var t=e._currentValue;if(sa!==e)if(e={context:e,memoizedValue:t,next:null},An===null){if(_i===null)throw Error(o(308));An=e,_i.dependencies={lanes:0,firstContext:e}}else An=An.next=e;return t}var pn=null;function fa(e){pn===null?pn=[e]:pn.push(e)}function au(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,fa(t)):(n.next=i.next,i.next=n),t.interleaved=n,Ot(e,r)}function Ot(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Wt=!1;function pa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ou(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Dt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Yt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(re&2)!==0){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Ot(e,n)}return i=r.interleaved,i===null?(t.next=t,fa(r)):(t.next=i.next,i.next=t),r.interleaved=t,Ot(e,n)}function Ni(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,_l(e,n)}}function su(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var c={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=c:l=l.next=c,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Pi(e,t,n,r){var i=e.updateQueue;Wt=!1;var l=i.firstBaseUpdate,c=i.lastBaseUpdate,f=i.shared.pending;if(f!==null){i.shared.pending=null;var h=f,j=h.next;h.next=null,c===null?l=j:c.next=j,c=h;var P=e.alternate;P!==null&&(P=P.updateQueue,f=P.lastBaseUpdate,f!==c&&(f===null?P.firstBaseUpdate=j:f.next=j,P.lastBaseUpdate=h))}if(l!==null){var z=i.baseState;c=0,P=j=h=null,f=l;do{var _=f.lane,B=f.eventTime;if((r&_)===_){P!==null&&(P=P.next={eventTime:B,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,next:null});e:{var A=e,U=f;switch(_=t,B=n,U.tag){case 1:if(A=U.payload,typeof A=="function"){z=A.call(B,z,_);break e}z=A;break e;case 3:A.flags=A.flags&-65537|128;case 0:if(A=U.payload,_=typeof A=="function"?A.call(B,z,_):A,_==null)break e;z=F({},z,_);break e;case 2:Wt=!0}}f.callback!==null&&f.lane!==0&&(e.flags|=64,_=i.effects,_===null?i.effects=[f]:_.push(f))}else B={eventTime:B,lane:_,tag:f.tag,payload:f.payload,callback:f.callback,next:null},P===null?(j=P=B,h=z):P=P.next=B,c|=_;if(f=f.next,f===null){if(f=i.shared.pending,f===null)break;_=f,f=_.next,_.next=null,i.lastBaseUpdate=_,i.shared.pending=null}}while(!0);if(P===null&&(h=z),i.baseState=h,i.firstBaseUpdate=j,i.lastBaseUpdate=P,t=i.shared.interleaved,t!==null){i=t;do c|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);yn|=c,e.lanes=c,e.memoizedState=z}}function uu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=va.transition;va.transition={};try{e(!1),t()}finally{se=n,va.transition=r}}function Nu(){return lt().memoizedState}function $f(e,t,n){var r=Zt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Pu(e))zu(t,n);else if(n=au(e,t,n,r),n!==null){var i=Ue();yt(n,e,r,i),Ru(n,t,r)}}function bf(e,t,n){var r=Zt(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Pu(e))zu(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var c=t.lastRenderedState,f=l(c,n);if(i.hasEagerState=!0,i.eagerState=f,dt(f,c)){var h=t.interleaved;h===null?(i.next=i,fa(t)):(i.next=h.next,h.next=i),t.interleaved=i;return}}catch{}finally{}n=au(e,t,i,r),n!==null&&(i=Ue(),yt(n,e,r,i),Ru(n,t,r))}}function Pu(e){var t=e.alternate;return e===ye||t!==null&&t===ye}function zu(e,t){Nr=Oi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ru(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,_l(e,n)}}var Bi={readContext:it,useCallback:Ie,useContext:Ie,useEffect:Ie,useImperativeHandle:Ie,useInsertionEffect:Ie,useLayoutEffect:Ie,useMemo:Ie,useReducer:Ie,useRef:Ie,useState:Ie,useDebugValue:Ie,useDeferredValue:Ie,useTransition:Ie,useMutableSource:Ie,useSyncExternalStore:Ie,useId:Ie,unstable_isNewReconciler:!1},Hf={readContext:it,useCallback:function(e,t){return Tt().memoizedState=[e,t===void 0?null:t],e},useContext:it,useEffect:xu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Di(4194308,4,ju.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Di(4194308,4,e,t)},useInsertionEffect:function(e,t){return Di(4,2,e,t)},useMemo:function(e,t){var n=Tt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Tt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=$f.bind(null,ye,e),[r.memoizedState,e]},useRef:function(e){var t=Tt();return e={current:e},t.memoizedState=e},useState:vu,useDebugValue:Ea,useDeferredValue:function(e){return Tt().memoizedState=e},useTransition:function(){var e=vu(!1),t=e[0];return e=Kf.bind(null,e[1]),Tt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ye,i=Tt();if(me){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),Pe===null)throw Error(o(349));(hn&30)!==0||pu(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,xu(hu.bind(null,r,l,e),[e]),r.flags|=2048,Rr(9,mu.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Tt(),t=Pe.identifierPrefix;if(me){var n=Rt,r=zt;n=(r&~(1<<32-ct(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Pr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),n==="select"&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[St]=t,e[Sr]=r,Xu(e,t,!1,!1),t.stateNode=e;e:{switch(c=gl(n,r),n){case"dialog":de("cancel",e),de("close",e),i=r;break;case"iframe":case"object":case"embed":de("load",e),i=r;break;case"video":case"audio":for(i=0;iVn&&(t.flags|=128,r=!0,Or(l,!1),t.lanes=4194304)}else{if(!r)if(e=zi(c),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Or(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!me)return Me(t),null}else 2*we()-l.renderingStartTime>Vn&&n!==1073741824&&(t.flags|=128,r=!0,Or(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(n=l.last,n!==null?n.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=we(),t.sibling=null,n=he.current,ce(he,r?n&1|2:n&1),t):(Me(t),null);case 22:case 23:return qa(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(tt&1073741824)!==0&&(Me(t),t.subtreeFlags&6&&(t.flags|=8192)):Me(t),null;case 24:return null;case 25:return null}throw Error(o(156,t.tag))}function Zf(e,t){switch(ia(t),t.tag){case 1:return be(t.type)&&ki(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Kn(),fe($e),fe(Be),ga(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return ha(t),null;case 13:if(fe(he),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Mn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(he),null;case 4:return Kn(),null;case 10:return ca(t.type._context),null;case 22:case 23:return qa(),null;case 24:return null;default:return null}}var Ai=!1,Fe=!1,Jf=typeof WeakSet=="function"?WeakSet:Set,M=null;function bn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ve(e,t,r)}else n.current=null}function Ma(e,t,n){try{n()}catch(r){ve(e,t,r)}}var ec=!1;function ep(e,t){if(ql=li,e=Os(),Kl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var c=0,f=-1,h=-1,j=0,P=0,z=e,_=null;t:for(;;){for(var B;z!==n||i!==0&&z.nodeType!==3||(f=c+i),z!==l||r!==0&&z.nodeType!==3||(h=c+r),z.nodeType===3&&(c+=z.nodeValue.length),(B=z.firstChild)!==null;)_=z,z=B;for(;;){if(z===e)break t;if(_===n&&++j===i&&(f=c),_===l&&++P===r&&(h=c),(B=z.nextSibling)!==null)break;z=_,_=z.parentNode}z=B}n=f===-1||h===-1?null:{start:f,end:h}}else n=null}n=n||{start:0,end:0}}else n=null;for(Gl={focusedElem:e,selectionRange:n},li=!1,M=t;M!==null;)if(t=M,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,M=e;else for(;M!==null;){t=M;try{var A=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(A!==null){var U=A.memoizedProps,Se=A.memoizedState,x=t.stateNode,g=x.getSnapshotBeforeUpdate(t.elementType===t.type?U:pt(t.type,U),Se);x.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(R){ve(t,t.return,R)}if(e=t.sibling,e!==null){e.return=t.return,M=e;break}M=t.return}return A=ec,ec=!1,A}function Dr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&Ma(t,n,l)}i=i.next}while(i!==r)}}function Ui(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Fa(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function tc(e){var t=e.alternate;t!==null&&(e.alternate=null,tc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[St],delete t[Sr],delete t[ea],delete t[If],delete t[Mf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function nc(e){return e.tag===5||e.tag===3||e.tag===4}function rc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||nc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Aa(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=gi));else if(r!==4&&(e=e.child,e!==null))for(Aa(e,t,n),e=e.sibling;e!==null;)Aa(e,t,n),e=e.sibling}function Ua(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ua(e,t,n),e=e.sibling;e!==null;)Ua(e,t,n),e=e.sibling}var Oe=null,mt=!1;function qt(e,t,n){for(n=n.child;n!==null;)ic(e,t,n),n=n.sibling}function ic(e,t,n){if(wt&&typeof wt.onCommitFiberUnmount=="function")try{wt.onCommitFiberUnmount(Jr,n)}catch{}switch(n.tag){case 5:Fe||bn(n,t);case 6:var r=Oe,i=mt;Oe=null,qt(e,t,n),Oe=r,mt=i,Oe!==null&&(mt?(e=Oe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Oe.removeChild(n.stateNode));break;case 18:Oe!==null&&(mt?(e=Oe,n=n.stateNode,e.nodeType===8?Jl(e.parentNode,n):e.nodeType===1&&Jl(e,n),dr(e)):Jl(Oe,n.stateNode));break;case 4:r=Oe,i=mt,Oe=n.stateNode.containerInfo,mt=!0,qt(e,t,n),Oe=r,mt=i;break;case 0:case 11:case 14:case 15:if(!Fe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,c=l.destroy;l=l.tag,c!==void 0&&((l&2)!==0||(l&4)!==0)&&Ma(n,t,c),i=i.next}while(i!==r)}qt(e,t,n);break;case 1:if(!Fe&&(bn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(f){ve(n,t,f)}qt(e,t,n);break;case 21:qt(e,t,n);break;case 22:n.mode&1?(Fe=(r=Fe)||n.memoizedState!==null,qt(e,t,n),Fe=r):qt(e,t,n);break;default:qt(e,t,n)}}function lc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Jf),t.forEach(function(r){var i=up.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function ht(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=c),r&=~l}if(r=i,r=we()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*np(r/1960))-r,10e?16:e,Xt===null)var r=!1;else{if(e=Xt,Xt=null,Vi=0,(re&6)!==0)throw Error(o(331));var i=re;for(re|=4,M=e.current;M!==null;){var l=M,c=l.child;if((M.flags&16)!==0){var f=l.deletions;if(f!==null){for(var h=0;hwe()-ba?vn(e,0):$a|=n),Qe(e,t)}function vc(e,t){t===0&&((e.mode&1)===0?t=1:(t=ti,ti<<=1,(ti&130023424)===0&&(ti=4194304)));var n=Ue();e=Ot(e,t),e!==null&&(ar(e,t,n),Qe(e,n))}function sp(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vc(e,n)}function up(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}r!==null&&r.delete(t),vc(e,n)}var kc;kc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||$e.current)He=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return He=!1,Gf(e,t,n);He=(e.flags&131072)!==0}else He=!1,me&&(t.flags&1048576)!==0&&Zs(t,ji,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Fi(e,t),e=t.pendingProps;var i=Ln(t,Be.current);Un(t,n),i=xa(null,t,r,e,i,n);var l=wa();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,be(r)?(l=!0,xi(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,pa(t),i.updater=Ii,t.stateNode=i,i._reactInternals=t,_a(t,r,e,n),t=Ra(null,t,r,!0,l,n)):(t.tag=0,me&&l&&ra(t),Ae(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Fi(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=dp(r),e=pt(r,e),i){case 0:t=za(null,t,r,e,n);break e;case 1:t=Vu(null,t,r,e,n);break e;case 11:t=Uu(null,t,r,e,n);break e;case 14:t=Ku(null,t,r,pt(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:pt(r,i),za(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:pt(r,i),Vu(e,t,r,i,n);case 3:e:{if(Qu(t),e===null)throw Error(o(387));r=t.pendingProps,l=t.memoizedState,i=l.element,ou(e,t),Pi(t,r,null,n);var c=t.memoizedState;if(r=c.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:c.cache,pendingSuspenseBoundaries:c.pendingSuspenseBoundaries,transitions:c.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=$n(Error(o(423)),t),t=Wu(e,t,r,n,i);break e}else if(r!==i){i=$n(Error(o(424)),t),t=Wu(e,t,r,n,i);break e}else for(et=bt(t.stateNode.containerInfo.firstChild),Je=t,me=!0,ft=null,n=lu(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Mn(),r===i){t=Lt(e,t,n);break e}Ae(e,t,r,n)}t=t.child}return t;case 5:return cu(t),e===null&&aa(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,c=i.children,Xl(r,i)?c=null:l!==null&&Xl(r,l)&&(t.flags|=32),Hu(e,t),Ae(e,t,c,n),t.child;case 6:return e===null&&aa(t),null;case 13:return Yu(e,t,n);case 4:return ma(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Fn(t,null,r,n):Ae(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:pt(r,i),Uu(e,t,r,i,n);case 7:return Ae(e,t,t.pendingProps,n),t.child;case 8:return Ae(e,t,t.pendingProps.children,n),t.child;case 12:return Ae(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,c=i.value,ce(Ci,r._currentValue),r._currentValue=c,l!==null)if(dt(l.value,c)){if(l.children===i.children&&!$e.current){t=Lt(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var f=l.dependencies;if(f!==null){c=l.child;for(var h=f.firstContext;h!==null;){if(h.context===r){if(l.tag===1){h=Dt(-1,n&-n),h.tag=2;var j=l.updateQueue;if(j!==null){j=j.shared;var P=j.pending;P===null?h.next=h:(h.next=P.next,P.next=h),j.pending=h}}l.lanes|=n,h=l.alternate,h!==null&&(h.lanes|=n),da(l.return,n,t),f.lanes|=n;break}h=h.next}}else if(l.tag===10)c=l.type===t.type?null:l.child;else if(l.tag===18){if(c=l.return,c===null)throw Error(o(341));c.lanes|=n,f=c.alternate,f!==null&&(f.lanes|=n),da(c,n,t),c=l.sibling}else c=l.child;if(c!==null)c.return=l;else for(c=l;c!==null;){if(c===t){c=null;break}if(l=c.sibling,l!==null){l.return=c.return,c=l;break}c=c.return}l=c}Ae(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Un(t,n),i=it(i),r=r(i),t.flags|=1,Ae(e,t,r,n),t.child;case 14:return r=t.type,i=pt(r,t.pendingProps),i=pt(r.type,i),Ku(e,t,r,i,n);case 15:return $u(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:pt(r,i),Fi(e,t),t.tag=1,be(r)?(e=!0,xi(t)):e=!1,Un(t,n),Du(t,r,i),_a(t,r,i,n),Ra(null,t,r,!0,e,n);case 19:return Gu(e,t,n);case 22:return bu(e,t,n)}throw Error(o(156,t.tag))};function xc(e,t){return Jo(e,t)}function cp(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ot(e,t,n,r){return new cp(e,t,n,r)}function Xa(e){return e=e.prototype,!(!e||!e.isReactComponent)}function dp(e){if(typeof e=="function")return Xa(e)?1:0;if(e!=null){if(e=e.$$typeof,e===kt)return 11;if(e===xt)return 14}return 2}function en(e,t){var n=e.alternate;return n===null?(n=ot(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function qi(e,t,n,r,i,l){var c=2;if(r=e,typeof e=="function")Xa(e)&&(c=1);else if(typeof e=="string")c=5;else e:switch(e){case Re:return xn(n.children,i,l,t);case Le:c=8,i|=8;break;case vt:return e=ot(12,n,t,i|2),e.elementType=vt,e.lanes=l,e;case Ge:return e=ot(13,n,t,i),e.elementType=Ge,e.lanes=l,e;case ut:return e=ot(19,n,t,i),e.elementType=ut,e.lanes=l,e;case ge:return Gi(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qe:c=10;break e;case _t:c=9;break e;case kt:c=11;break e;case xt:c=14;break e;case Ke:c=16,r=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return t=ot(c,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function xn(e,t,n,r){return e=ot(7,e,r,t),e.lanes=n,e}function Gi(e,t,n,r){return e=ot(22,e,r,t),e.elementType=ge,e.lanes=n,e.stateNode={isHidden:!1},e}function Za(e,t,n){return e=ot(6,e,null,t),e.lanes=n,e}function Ja(e,t,n){return t=ot(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function fp(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function eo(e,t,n,r,i,l,c,f,h){return e=new fp(e,t,n,f,h),t===1?(t=1,l===!0&&(t|=8)):t=0,l=ot(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},pa(l),e}function pp(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(s){console.error(s)}}return a(),ao.exports=Np(),ao.exports}var Lc;function Pp(){if(Lc)return rl;Lc=1;var a=Jc();return rl.createRoot=a.createRoot,rl.hydrateRoot=a.hydrateRoot,rl}var zp=Pp();const Rp=br(zp);Jc();/** + * @remix-run/router v1.23.4 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Kr(){return Kr=Object.assign?Object.assign.bind():function(a){for(var s=1;s"u")throw new Error(s)}function ed(a,s){if(!a){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function Dp(){return Math.random().toString(36).substr(2,8)}function Ic(a,s){return{usr:a.state,key:a.key,idx:s}}function ko(a,s,o,d){return o===void 0&&(o=null),Kr({pathname:typeof a=="string"?a:a.pathname,search:"",hash:""},typeof s=="string"?Zn(s):s,{state:o,key:s&&s.key||d||Dp()})}function al(a){let{pathname:s="/",search:o="",hash:d=""}=a;return o&&o!=="?"&&(s+=o.charAt(0)==="?"?o:"?"+o),d&&d!=="#"&&(s+=d.charAt(0)==="#"?d:"#"+d),s}function Zn(a){let s={};if(a){let o=a.indexOf("#");o>=0&&(s.hash=a.substr(o),a=a.substr(0,o));let d=a.indexOf("?");d>=0&&(s.search=a.substr(d),a=a.substr(0,d)),a&&(s.pathname=a)}return s}function Lp(a,s,o,d){d===void 0&&(d={});let{window:p=document.defaultView,v5Compat:m=!1}=d,y=p.history,S=nn.Pop,v=null,T=C();T==null&&(T=0,y.replaceState(Kr({},y.state,{idx:T}),""));function C(){return(y.state||{idx:null}).idx}function E(){S=nn.Pop;let D=C(),ne=D==null?null:D-T;T=D,v&&v({action:S,location:$.location,delta:ne})}function I(D,ne){S=nn.Push;let q=ko($.location,D,ne);T=C()+1;let ee=Ic(q,T),X=$.createHref(q);try{y.pushState(ee,"",X)}catch(je){if(je instanceof DOMException&&je.name==="DataCloneError")throw je;p.location.assign(X)}m&&v&&v({action:S,location:$.location,delta:1})}function Q(D,ne){S=nn.Replace;let q=ko($.location,D,ne);T=C();let ee=Ic(q,T),X=$.createHref(q);y.replaceState(ee,"",X),m&&v&&v({action:S,location:$.location,delta:0})}function W(D){let ne=p.location.origin!=="null"?p.location.origin:p.location.href,q=typeof D=="string"?D:al(D);return q=q.replace(/ $/,"%20"),xe(ne,"No window.location.(origin|href) available to create URL for href: "+q),new URL(q,ne)}let $={get action(){return S},get location(){return a(p,y)},listen(D){if(v)throw new Error("A history only accepts one active listener");return p.addEventListener(Bc,E),v=D,()=>{p.removeEventListener(Bc,E),v=null}},createHref(D){return s(p,D)},createURL:W,encodeLocation(D){let ne=W(D);return{pathname:ne.pathname,search:ne.search,hash:ne.hash}},push:I,replace:Q,go(D){return y.go(D)}};return $}var Mc;(function(a){a.data="data",a.deferred="deferred",a.redirect="redirect",a.error="error"})(Mc||(Mc={}));function Bp(a,s,o){return o===void 0&&(o="/"),Ip(a,s,o)}function Ip(a,s,o,d){let p=typeof s=="string"?Zn(s):s,m=Xn(p.pathname||"/",o);if(m==null)return null;let y=td(a);Mp(y);let S=null,v=Yp(m);for(let T=0;S==null&&T{let v={relativePath:S===void 0?m.path||"":S,caseSensitive:m.caseSensitive===!0,childrenIndex:y,route:m};v.relativePath.startsWith("/")&&(xe(v.relativePath.startsWith(d),'Absolute route path "'+v.relativePath+'" nested under path '+('"'+d+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),v.relativePath=v.relativePath.slice(d.length));let T=ln([d,v.relativePath]),C=o.concat(v);m.children&&m.children.length>0&&(xe(m.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+T+'".')),td(m.children,s,C,T)),!(m.path==null&&!m.index)&&s.push({path:T,score:Hp(T,m.index),routesMeta:C})};return a.forEach((m,y)=>{var S;if(m.path===""||!((S=m.path)!=null&&S.includes("?")))p(m,y);else for(let v of nd(m.path))p(m,y,v)}),s}function nd(a){let s=a.split("/");if(s.length===0)return[];let[o,...d]=s,p=o.endsWith("?"),m=o.replace(/\?$/,"");if(d.length===0)return p?[m,""]:[m];let y=nd(d.join("/")),S=[];return S.push(...y.map(v=>v===""?m:[m,v].join("/"))),p&&S.push(...y),S.map(v=>a.startsWith("/")&&v===""?"/":v)}function Mp(a){a.sort((s,o)=>s.score!==o.score?o.score-s.score:Vp(s.routesMeta.map(d=>d.childrenIndex),o.routesMeta.map(d=>d.childrenIndex)))}const Fp=/^:[\w-]+$/,Ap=3,Up=2,Kp=1,$p=10,bp=-2,Fc=a=>a==="*";function Hp(a,s){let o=a.split("/"),d=o.length;return o.some(Fc)&&(d+=bp),s&&(d+=Up),o.filter(p=>!Fc(p)).reduce((p,m)=>p+(Fp.test(m)?Ap:m===""?Kp:$p),d)}function Vp(a,s){return a.length===s.length&&a.slice(0,-1).every((d,p)=>d===s[p])?a[a.length-1]-s[s.length-1]:0}function Qp(a,s,o){let{routesMeta:d}=a,p={},m="/",y=[];for(let S=0;S{let{paramName:I,isOptional:Q}=C;if(I==="*"){let $=S[E]||"";y=m.slice(0,m.length-$.length).replace(/(.)\/+$/,"$1")}const W=S[E];return Q&&!W?T[I]=void 0:T[I]=(W||"").replace(/%2F/g,"/"),T},{}),pathname:m,pathnameBase:y,pattern:a}}function Wp(a,s,o){s===void 0&&(s=!1),o===void 0&&(o=!0),ed(a==="*"||!a.endsWith("*")||a.endsWith("/*"),'Route path "'+a+'" will be treated as if it were '+('"'+a.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+a.replace(/\*$/,"/*")+'".'));let d=[],p="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(y,S,v)=>(d.push({paramName:S,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)"));return a.endsWith("*")?(d.push({paramName:"*"}),p+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?p+="\\/*$":a!==""&&a!=="/"&&(p+="(?:(?=\\/|$))"),[new RegExp(p,s?void 0:"i"),d]}function Yp(a){try{return a.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return ed(!1,'The URL path "'+a+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+s+").")),a}}function Xn(a,s){if(s==="/")return a;if(!a.toLowerCase().startsWith(s.toLowerCase()))return null;let o=s.endsWith("/")?s.length-1:s.length,d=a.charAt(o);return d&&d!=="/"?null:a.slice(o)||"/"}function qp(a,s){s===void 0&&(s="/");let{pathname:o,search:d="",hash:p=""}=typeof a=="string"?Zn(a):a,m;return o?(o=ld(o),o.startsWith("/")?m=Ac(o.substring(1),"/"):m=Ac(o,s)):m=s,{pathname:m,search:Zp(d),hash:Jp(p)}}function Ac(a,s){let o=s.replace(/\/+$/,"").split("/");return a.split("/").forEach(p=>{p===".."?o.length>1&&o.pop():p!=="."&&o.push(p)}),o.length>1?o.join("/"):"/"}function uo(a,s,o,d){return"Cannot include a '"+a+"' character in a manually specified "+("`to."+s+"` field ["+JSON.stringify(d)+"]. Please separate it out to the ")+("`to."+o+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Gp(a){return a.filter((s,o)=>o===0||s.route.path&&s.route.path.length>0)}function rd(a,s){let o=Gp(a);return s?o.map((d,p)=>p===o.length-1?d.pathname:d.pathnameBase):o.map(d=>d.pathnameBase)}function id(a,s,o,d){d===void 0&&(d=!1);let p;typeof a=="string"?p=Zn(a):(p=Kr({},a),xe(!p.pathname||!p.pathname.includes("?"),uo("?","pathname","search",p)),xe(!p.pathname||!p.pathname.includes("#"),uo("#","pathname","hash",p)),xe(!p.search||!p.search.includes("#"),uo("#","search","hash",p)));let m=a===""||p.pathname==="",y=m?"/":p.pathname,S;if(y==null)S=o;else{let E=s.length-1;if(!d&&y.startsWith("..")){let I=y.split("/");for(;I[0]==="..";)I.shift(),E-=1;p.pathname=I.join("/")}S=E>=0?s[E]:"/"}let v=qp(p,S),T=y&&y!=="/"&&y.endsWith("/"),C=(m||y===".")&&o.endsWith("/");return!v.pathname.endsWith("/")&&(T||C)&&(v.pathname+="/"),v}const ld=a=>a.replace(/\/\/+/g,"/"),ln=a=>ld(a.join("/")),Xp=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),Zp=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,Jp=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function em(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}const ad=["post","put","patch","delete"];new Set(ad);const tm=["get",...ad];new Set(tm);/** + * React Router v6.30.6 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function $r(){return $r=Object.assign?Object.assign.bind():function(a){for(var s=1;s{S.current=!0}),O.useCallback(function(T,C){if(C===void 0&&(C={}),!S.current)return;if(typeof T=="number"){d.go(T);return}let E=id(T,JSON.parse(y),m,C.relative==="path");a==null&&s!=="/"&&(E.pathname=E.pathname==="/"?s:ln([s,E.pathname])),(C.replace?d.replace:d.push)(E,C.state,C)},[s,d,y,m,a])}function lm(){let{matches:a}=O.useContext(on),s=a[a.length-1];return s?s.params:{}}function cl(a,s){let{relative:o}=s===void 0?{}:s,{future:d}=O.useContext(an),{matches:p}=O.useContext(on),{pathname:m}=Vr(),y=JSON.stringify(rd(p,d.v7_relativeSplatPath));return O.useMemo(()=>id(a,JSON.parse(y),m,o==="path"),[a,y,m,o])}function am(a,s){return om(a,s)}function om(a,s,o,d){Hr()||xe(!1);let{navigator:p}=O.useContext(an),{matches:m}=O.useContext(on),y=m[m.length-1],S=y?y.params:{};y&&y.pathname;let v=y?y.pathnameBase:"/";y&&y.route;let T=Vr(),C;if(s){var E;let D=typeof s=="string"?Zn(s):s;v==="/"||(E=D.pathname)!=null&&E.startsWith(v)||xe(!1),C=D}else C=T;let I=C.pathname||"/",Q=I;if(v!=="/"){let D=v.replace(/^\//,"").split("/");Q="/"+I.replace(/^\//,"").split("/").slice(D.length).join("/")}let W=Bp(a,{pathname:Q}),$=fm(W&&W.map(D=>Object.assign({},D,{params:Object.assign({},S,D.params),pathname:ln([v,p.encodeLocation?p.encodeLocation(D.pathname).pathname:D.pathname]),pathnameBase:D.pathnameBase==="/"?v:ln([v,p.encodeLocation?p.encodeLocation(D.pathnameBase).pathname:D.pathnameBase])})),m,o,d);return s&&$?O.createElement(ul.Provider,{value:{location:$r({pathname:"/",search:"",hash:"",state:null,key:"default"},C),navigationType:nn.Pop}},$):$}function sm(){let a=ym(),s=em(a)?a.status+" "+a.statusText:a instanceof Error?a.message:JSON.stringify(a),o=a instanceof Error?a.stack:null,p={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},s),o?O.createElement("pre",{style:p},o):null,null)}const um=O.createElement(sm,null);class cm extends O.Component{constructor(s){super(s),this.state={location:s.location,revalidation:s.revalidation,error:s.error}}static getDerivedStateFromError(s){return{error:s}}static getDerivedStateFromProps(s,o){return o.location!==s.location||o.revalidation!=="idle"&&s.revalidation==="idle"?{error:s.error,location:s.location,revalidation:s.revalidation}:{error:s.error!==void 0?s.error:o.error,location:o.location,revalidation:s.revalidation||o.revalidation}}componentDidCatch(s,o){console.error("React Router caught the following error during render",s,o)}render(){return this.state.error!==void 0?O.createElement(on.Provider,{value:this.props.routeContext},O.createElement(sd.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function dm(a){let{routeContext:s,match:o,children:d}=a,p=O.useContext(sl);return p&&p.static&&p.staticContext&&(o.route.errorElement||o.route.ErrorBoundary)&&(p.staticContext._deepestRenderedBoundaryId=o.route.id),O.createElement(on.Provider,{value:s},d)}function fm(a,s,o,d){var p;if(s===void 0&&(s=[]),o===void 0&&(o=null),d===void 0&&(d=null),a==null){var m;if(!o)return null;if(o.errors)a=o.matches;else if((m=d)!=null&&m.v7_partialHydration&&s.length===0&&!o.initialized&&o.matches.length>0)a=o.matches;else return null}let y=a,S=(p=o)==null?void 0:p.errors;if(S!=null){let C=y.findIndex(E=>E.route.id&&(S==null?void 0:S[E.route.id])!==void 0);C>=0||xe(!1),y=y.slice(0,Math.min(y.length,C+1))}let v=!1,T=-1;if(o&&d&&d.v7_partialHydration)for(let C=0;C=0?y=y.slice(0,T+1):y=[y[0]];break}}}return y.reduceRight((C,E,I)=>{let Q,W=!1,$=null,D=null;o&&(Q=S&&E.route.id?S[E.route.id]:void 0,$=E.route.errorElement||um,v&&(T<0&&I===0?(vm("route-fallback"),W=!0,D=null):T===I&&(W=!0,D=E.route.hydrateFallbackElement||null)));let ne=s.concat(y.slice(0,I+1)),q=()=>{let ee;return Q?ee=$:W?ee=D:E.route.Component?ee=O.createElement(E.route.Component,null):E.route.element?ee=E.route.element:ee=C,O.createElement(dm,{match:E,routeContext:{outlet:C,matches:ne,isDataRoute:o!=null},children:ee})};return o&&(E.route.ErrorBoundary||E.route.errorElement||I===0)?O.createElement(cm,{location:o.location,revalidation:o.revalidation,component:$,error:Q,children:q(),routeContext:{outlet:null,matches:ne,isDataRoute:!0}}):q()},null)}var cd=(function(a){return a.UseBlocker="useBlocker",a.UseRevalidator="useRevalidator",a.UseNavigateStable="useNavigate",a})(cd||{}),dd=(function(a){return a.UseBlocker="useBlocker",a.UseLoaderData="useLoaderData",a.UseActionData="useActionData",a.UseRouteError="useRouteError",a.UseNavigation="useNavigation",a.UseRouteLoaderData="useRouteLoaderData",a.UseMatches="useMatches",a.UseRevalidator="useRevalidator",a.UseNavigateStable="useNavigate",a.UseRouteId="useRouteId",a})(dd||{});function pm(a){let s=O.useContext(sl);return s||xe(!1),s}function mm(a){let s=O.useContext(od);return s||xe(!1),s}function hm(a){let s=O.useContext(on);return s||xe(!1),s}function fd(a){let s=hm(),o=s.matches[s.matches.length-1];return o.route.id||xe(!1),o.route.id}function ym(){var a;let s=O.useContext(sd),o=mm(),d=fd();return s!==void 0?s:(a=o.errors)==null?void 0:a[d]}function gm(){let{router:a}=pm(cd.UseNavigateStable),s=fd(dd.UseNavigateStable),o=O.useRef(!1);return ud(()=>{o.current=!0}),O.useCallback(function(p,m){m===void 0&&(m={}),o.current&&(typeof p=="number"?a.navigate(p):a.navigate(p,$r({fromRouteId:s},m)))},[a,s])}const Uc={};function vm(a,s,o){Uc[a]||(Uc[a]=!0)}function km(a,s){a==null||a.v7_startTransition,a==null||a.v7_relativeSplatPath}function Yn(a){xe(!1)}function xm(a){let{basename:s="/",children:o=null,location:d,navigationType:p=nn.Pop,navigator:m,static:y=!1,future:S}=a;Hr()&&xe(!1);let v=s.replace(/^\/*/,"/"),T=O.useMemo(()=>({basename:v,navigator:m,static:y,future:$r({v7_relativeSplatPath:!1},S)}),[v,S,m,y]);typeof d=="string"&&(d=Zn(d));let{pathname:C="/",search:E="",hash:I="",state:Q=null,key:W="default"}=d,$=O.useMemo(()=>{let D=Xn(C,v);return D==null?null:{location:{pathname:D,search:E,hash:I,state:Q,key:W},navigationType:p}},[v,C,E,I,Q,W,p]);return $==null?null:O.createElement(an.Provider,{value:T},O.createElement(ul.Provider,{children:o,value:$}))}function wm(a){let{children:s,location:o}=a;return am(wo(s),o)}new Promise(()=>{});function wo(a,s){s===void 0&&(s=[]);let o=[];return O.Children.forEach(a,(d,p)=>{if(!O.isValidElement(d))return;let m=[...s,p];if(d.type===O.Fragment){o.push.apply(o,wo(d.props.children,m));return}d.type!==Yn&&xe(!1),!d.props.index||!d.props.children||xe(!1);let y={id:d.props.id||m.join("-"),caseSensitive:d.props.caseSensitive,element:d.props.element,Component:d.props.Component,index:d.props.index,path:d.props.path,loader:d.props.loader,action:d.props.action,errorElement:d.props.errorElement,ErrorBoundary:d.props.ErrorBoundary,hasErrorBoundary:d.props.ErrorBoundary!=null||d.props.errorElement!=null,shouldRevalidate:d.props.shouldRevalidate,handle:d.props.handle,lazy:d.props.lazy};d.props.children&&(y.children=wo(d.props.children,m)),o.push(y)}),o}/** + * React Router DOM v6.30.6 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ol(){return ol=Object.assign?Object.assign.bind():function(a){for(var s=1;s{T&&Kc?Kc(()=>v(E)):v(E)},[v,T]);return O.useLayoutEffect(()=>y.listen(C),[y,C]),O.useEffect(()=>km(d),[d]),O.createElement(xm,{basename:s,children:o,location:S.location,navigationType:S.action,navigator:y,future:d})}const zm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Rm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ke=O.forwardRef(function(s,o){let{onClick:d,relative:p,reloadDocument:m,replace:y,state:S,target:v,to:T,preventScrollReset:C,viewTransition:E}=s,I=pd(s,Tm),{basename:Q}=O.useContext(an),W,$=!1;if(typeof T=="string"&&Rm.test(T)&&(W=T,zm))try{let ee=new URL(window.location.href),X=T.startsWith("//")?new URL(ee.protocol+T):new URL(T),je=Xn(X.pathname,Q);X.origin===ee.origin&&je!=null?T=je+X.search+X.hash:$=!0}catch{}let D=nm(T,{relative:p}),ne=Dm(T,{replace:y,state:S,target:v,preventScrollReset:C,relative:p,viewTransition:E});function q(ee){d&&d(ee),ee.defaultPrevented||ne(ee)}return O.createElement("a",ol({},I,{href:W||D,onClick:$||m?d:q,ref:o,target:v}))}),co=O.forwardRef(function(s,o){let{"aria-current":d="page",caseSensitive:p=!1,className:m="",end:y=!1,style:S,to:v,viewTransition:T,children:C}=s,E=pd(s,Em),I=cl(v,{relative:E.relative}),Q=Vr(),W=O.useContext(od),{navigator:$,basename:D}=O.useContext(an),ne=W!=null&&Lm(I)&&T===!0,q=$.encodeLocation?$.encodeLocation(I).pathname:I.pathname,ee=Q.pathname,X=W&&W.navigation&&W.navigation.location?W.navigation.location.pathname:null;p||(ee=ee.toLowerCase(),X=X?X.toLowerCase():null,q=q.toLowerCase()),X&&D&&(X=Xn(X,D)||X);const je=q!=="/"&&q.endsWith("/")?q.length-1:q.length;let Ee=ee===q||!y&&ee.startsWith(q)&&ee.charAt(je)==="/",Re=X!=null&&(X===q||!y&&X.startsWith(q)&&X.charAt(q.length)==="/"),Le={isActive:Ee,isPending:Re,isTransitioning:ne},vt=Ee?d:void 0,qe;typeof m=="function"?qe=m(Le):qe=[m,Ee?"active":null,Re?"pending":null,ne?"transitioning":null].filter(Boolean).join(" ");let _t=typeof S=="function"?S(Le):S;return O.createElement(ke,ol({},E,{"aria-current":vt,className:qe,ref:o,style:_t,to:v,viewTransition:T}),typeof C=="function"?C(Le):C)});var So;(function(a){a.UseScrollRestoration="useScrollRestoration",a.UseSubmit="useSubmit",a.UseSubmitFetcher="useSubmitFetcher",a.UseFetcher="useFetcher",a.useViewTransitionState="useViewTransitionState"})(So||(So={}));var $c;(function(a){a.UseFetcher="useFetcher",a.UseFetchers="useFetchers",a.UseScrollRestoration="useScrollRestoration"})($c||($c={}));function Om(a){let s=O.useContext(sl);return s||xe(!1),s}function Dm(a,s){let{target:o,replace:d,state:p,preventScrollReset:m,relative:y,viewTransition:S}=s===void 0?{}:s,v=rm(),T=Vr(),C=cl(a,{relative:y});return O.useCallback(E=>{if(jm(E,o)){E.preventDefault();let I=d!==void 0?d:al(T)===al(C);v(a,{replace:I,state:p,preventScrollReset:m,relative:y,viewTransition:S})}},[T,v,C,d,p,o,a,m,y,S])}function Lm(a,s){s===void 0&&(s={});let o=O.useContext(_m);o==null&&xe(!1);let{basename:d}=Om(So.useViewTransitionState),p=cl(a,{relative:s.relative});if(!o.isTransitioning)return!1;let m=Xn(o.currentLocation.pathname,d)||o.currentLocation.pathname,y=Xn(o.nextLocation.pathname,d)||o.nextLocation.pathname;return xo(p.pathname,y)!=null||xo(p.pathname,m)!=null}var fo,bc;function Bm(){if(bc)return fo;bc=1;var a=typeof Element<"u",s=typeof Map=="function",o=typeof Set=="function",d=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function p(m,y){if(m===y)return!0;if(m&&y&&typeof m=="object"&&typeof y=="object"){if(m.constructor!==y.constructor)return!1;var S,v,T;if(Array.isArray(m)){if(S=m.length,S!=y.length)return!1;for(v=S;v--!==0;)if(!p(m[v],y[v]))return!1;return!0}var C;if(s&&m instanceof Map&&y instanceof Map){if(m.size!==y.size)return!1;for(C=m.entries();!(v=C.next()).done;)if(!y.has(v.value[0]))return!1;for(C=m.entries();!(v=C.next()).done;)if(!p(v.value[1],y.get(v.value[0])))return!1;return!0}if(o&&m instanceof Set&&y instanceof Set){if(m.size!==y.size)return!1;for(C=m.entries();!(v=C.next()).done;)if(!y.has(v.value[0]))return!1;return!0}if(d&&ArrayBuffer.isView(m)&&ArrayBuffer.isView(y)){if(S=m.length,S!=y.length)return!1;for(v=S;v--!==0;)if(m[v]!==y[v])return!1;return!0}if(m.constructor===RegExp)return m.source===y.source&&m.flags===y.flags;if(m.valueOf!==Object.prototype.valueOf&&typeof m.valueOf=="function"&&typeof y.valueOf=="function")return m.valueOf()===y.valueOf();if(m.toString!==Object.prototype.toString&&typeof m.toString=="function"&&typeof y.toString=="function")return m.toString()===y.toString();if(T=Object.keys(m),S=T.length,S!==Object.keys(y).length)return!1;for(v=S;v--!==0;)if(!Object.prototype.hasOwnProperty.call(y,T[v]))return!1;if(a&&m instanceof Element)return!1;for(v=S;v--!==0;)if(!((T[v]==="_owner"||T[v]==="__v"||T[v]==="__o")&&m.$$typeof)&&!p(m[T[v]],y[T[v]]))return!1;return!0}return m!==m&&y!==y}return fo=function(y,S){try{return p(y,S)}catch(v){if((v.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw v}},fo}var Im=Bm();const Mm=br(Im);var po,Hc;function Fm(){if(Hc)return po;Hc=1;var a=function(s,o,d,p,m,y,S,v){if(!s){var T;if(o===void 0)T=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var C=[d,p,m,y,S,v],E=0;T=new Error(o.replace(/%s/g,function(){return C[E++]})),T.name="Invariant Violation"}throw T.framesToPop=1,T}};return po=a,po}var Am=Fm();const Vc=br(Am);var mo,Qc;function Um(){return Qc||(Qc=1,mo=function(s,o,d,p){var m=d?d.call(p,s,o):void 0;if(m!==void 0)return!!m;if(s===o)return!0;if(typeof s!="object"||!s||typeof o!="object"||!o)return!1;var y=Object.keys(s),S=Object.keys(o);if(y.length!==S.length)return!1;for(var v=Object.prototype.hasOwnProperty.bind(o),T=0;T(a.BASE="base",a.BODY="body",a.HEAD="head",a.HTML="html",a.LINK="link",a.META="meta",a.NOSCRIPT="noscript",a.SCRIPT="script",a.STYLE="style",a.TITLE="title",a.FRAGMENT="Symbol(react.fragment)",a))(md||{}),ho={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Wc=Object.values(md),zo={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},bm=Object.entries(zo).reduce((a,[s,o])=>(a[o]=s,a),{}),gt="data-rh",qn={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Gn=(a,s)=>{for(let o=a.length-1;o>=0;o-=1){const d=a[o];if(Object.prototype.hasOwnProperty.call(d,s))return d[s]}return null},Hm=a=>{let s=Gn(a,"title");const o=Gn(a,qn.TITLE_TEMPLATE);if(Array.isArray(s)&&(s=s.join("")),o&&s)return o.replace(/%s/g,()=>s);const d=Gn(a,qn.DEFAULT_TITLE);return s||d||void 0},Vm=a=>Gn(a,qn.ON_CHANGE_CLIENT_STATE)||(()=>{}),yo=(a,s)=>s.filter(o=>typeof o[a]<"u").map(o=>o[a]).reduce((o,d)=>({...o,...d}),{}),Qm=(a,s)=>s.filter(o=>typeof o.base<"u").map(o=>o.base).reverse().reduce((o,d)=>{if(!o.length){const p=Object.keys(d);for(let m=0;mconsole&&typeof console.warn=="function"&&console.warn(a),Ar=(a,s,o)=>{const d={};return o.filter(p=>Array.isArray(p[a])?!0:(typeof p[a]<"u"&&Wm(`Helmet: ${a} should be of type "Array". Instead found type "${typeof p[a]}"`),!1)).map(p=>p[a]).reverse().reduce((p,m)=>{const y={};m.filter(v=>{let T;const C=Object.keys(v);for(let I=0;Ip.push(v));const S=Object.keys(y);for(let v=0;v{if(Array.isArray(a)&&a.length){for(let o=0;o({baseTag:Qm(["href"],a),bodyAttributes:yo("bodyAttributes",a),defer:Gn(a,qn.DEFER),encode:Gn(a,qn.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:yo("htmlAttributes",a),linkTags:Ar("link",["rel","href"],a),metaTags:Ar("meta",["name","charset","http-equiv","property","itemprop"],a),noscriptTags:Ar("noscript",["innerHTML"],a),onChangeClientState:Vm(a),scriptTags:Ar("script",["src","innerHTML"],a),styleTags:Ar("style",["cssText"],a),title:Hm(a),titleAttributes:yo("titleAttributes",a),prioritizeSeoTags:Ym(a,qn.PRIORITIZE_SEO_TAGS)}),hd=a=>Array.isArray(a)?a.join(""):a,Gm=(a,s)=>{const o=Object.keys(a);for(let d=0;dArray.isArray(a)?a.reduce((o,d)=>(Gm(d,s)?o.priority.push(d):o.default.push(d),o),{priority:[],default:[]}):{default:a,priority:[]},Yc=(a,s)=>({...a,[s]:void 0}),Xm=["noscript","script","style"],jo=(a,s=!0)=>s===!1?String(a):String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),yd=a=>Object.keys(a).reduce((s,o)=>{const d=typeof a[o]<"u"?`${o}="${a[o]}"`:`${o}`;return s?`${s} ${d}`:d},""),Zm=(a,s,o,d)=>{const p=yd(o),m=hd(s);return p?`<${a} ${gt}="true" ${p}>${jo(m,d)}`:`<${a} ${gt}="true">${jo(m,d)}`},Jm=(a,s,o=!0)=>s.reduce((d,p)=>{const m=p,y=Object.keys(m).filter(T=>!(T==="innerHTML"||T==="cssText")).reduce((T,C)=>{const E=typeof m[C]>"u"?C:`${C}="${jo(m[C],o)}"`;return T?`${T} ${E}`:E},""),S=m.innerHTML||m.cssText||"",v=Xm.indexOf(a)===-1;return`${d}<${a} ${gt}="true" ${y}${v?"/>":`>${S}`}`},""),gd=(a,s={})=>Object.keys(a).reduce((o,d)=>{const p=zo[d];return o[p||d]=a[d],o},s),eh=(a,s,o)=>{const d={key:s,[gt]:!0},p=gd(o,d);return[Ct.createElement("title",p,s)]},ll=(a,s)=>s.map((o,d)=>{const p={key:d,[gt]:!0};return Object.keys(o).forEach(m=>{const S=zo[m]||m;if(S==="innerHTML"||S==="cssText"){const v=o.innerHTML||o.cssText;p.dangerouslySetInnerHTML={__html:v}}else p[S]=o[m]}),Ct.createElement(a,p)}),st=(a,s,o=!0)=>{switch(a){case"title":return{toComponent:()=>eh(a,s.title,s.titleAttributes),toString:()=>Zm(a,s.title,s.titleAttributes,o)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>gd(s),toString:()=>yd(s)};default:return{toComponent:()=>ll(a,s),toString:()=>Jm(a,s,o)}}},th=({metaTags:a,linkTags:s,scriptTags:o,encode:d})=>{const p=go(a,ho.meta),m=go(s,ho.link),y=go(o,ho.script);return{priorityMethods:{toComponent:()=>[...ll("meta",p.priority),...ll("link",m.priority),...ll("script",y.priority)],toString:()=>`${st("meta",p.priority,d)} ${st("link",m.priority,d)} ${st("script",y.priority,d)}`},metaTags:p.default,linkTags:m.default,scriptTags:y.default}},nh=a=>{const{baseTag:s,bodyAttributes:o,encode:d=!0,htmlAttributes:p,noscriptTags:m,styleTags:y,title:S="",titleAttributes:v,prioritizeSeoTags:T}=a;let{linkTags:C,metaTags:E,scriptTags:I}=a,Q={toComponent:()=>{},toString:()=>""};return T&&({priorityMethods:Q,linkTags:C,metaTags:E,scriptTags:I}=th(a)),{priority:Q,base:st("base",s,d),bodyAttributes:st("bodyAttributes",o,d),htmlAttributes:st("htmlAttributes",p,d),link:st("link",C,d),meta:st("meta",E,d),noscript:st("noscript",m,d),script:st("script",I,d),style:st("style",y,d),title:st("title",{title:S,titleAttributes:v},d)}},To=nh,il=[],vd=!!(typeof window<"u"&&window.document&&window.document.createElement),Eo=class{constructor(a,s){It(this,"instances",[]);It(this,"canUseDOM",vd);It(this,"context");It(this,"value",{setHelmet:a=>{this.context.helmet=a},helmetInstances:{get:()=>this.canUseDOM?il:this.instances,add:a=>{(this.canUseDOM?il:this.instances).push(a)},remove:a=>{const s=(this.canUseDOM?il:this.instances).indexOf(a);(this.canUseDOM?il:this.instances).splice(s,1)}}});this.context=a,this.canUseDOM=s||!1,s||(a.helmet=To({baseTag:[],bodyAttributes:{},htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},rh={},kd=Ct.createContext(rh),wn,xd=(wn=class extends O.Component{constructor(o){super(o);It(this,"helmetData");this.helmetData=new Eo(this.props.context||{},wn.canUseDOM)}render(){return Ct.createElement(kd.Provider,{value:this.helmetData.value},this.props.children)}},It(wn,"canUseDOM",vd),wn),Wn=(a,s)=>{const o=document.head||document.querySelector("head"),d=o.querySelectorAll(`${a}[${gt}]`),p=[].slice.call(d),m=[];let y;return s&&s.length&&s.forEach(S=>{const v=document.createElement(a);for(const T in S)if(Object.prototype.hasOwnProperty.call(S,T))if(T==="innerHTML")v.innerHTML=S.innerHTML;else if(T==="cssText")v.styleSheet?v.styleSheet.cssText=S.cssText:v.appendChild(document.createTextNode(S.cssText));else{const C=T,E=typeof S[C]>"u"?"":S[C];v.setAttribute(T,E)}v.setAttribute(gt,"true"),p.some((T,C)=>(y=C,v.isEqualNode(T)))?p.splice(y,1):m.push(v)}),p.forEach(S=>{var v;return(v=S.parentNode)==null?void 0:v.removeChild(S)}),m.forEach(S=>o.appendChild(S)),{oldTags:p,newTags:m}},Co=(a,s)=>{const o=document.getElementsByTagName(a)[0];if(!o)return;const d=o.getAttribute(gt),p=d?d.split(","):[],m=[...p],y=Object.keys(s);for(const S of y){const v=s[S]||"";o.getAttribute(S)!==v&&o.setAttribute(S,v),p.indexOf(S)===-1&&p.push(S);const T=m.indexOf(S);T!==-1&&m.splice(T,1)}for(let S=m.length-1;S>=0;S-=1)o.removeAttribute(m[S]);p.length===m.length?o.removeAttribute(gt):o.getAttribute(gt)!==y.join(",")&&o.setAttribute(gt,y.join(","))},ih=(a,s)=>{typeof a<"u"&&document.title!==a&&(document.title=hd(a)),Co("title",s)},qc=(a,s)=>{const{baseTag:o,bodyAttributes:d,htmlAttributes:p,linkTags:m,metaTags:y,noscriptTags:S,onChangeClientState:v,scriptTags:T,styleTags:C,title:E,titleAttributes:I}=a;Co("body",d),Co("html",p),ih(E,I);const Q={baseTag:Wn("base",o),linkTags:Wn("link",m),metaTags:Wn("meta",y),noscriptTags:Wn("noscript",S),scriptTags:Wn("script",T),styleTags:Wn("style",C)},W={},$={};Object.keys(Q).forEach(D=>{const{newTags:ne,oldTags:q}=Q[D];ne.length&&(W[D]=ne),q.length&&($[D]=Q[D].oldTags)}),s&&s(),v(a,W,$)},Ur=null,lh=a=>{Ur&&cancelAnimationFrame(Ur),a.defer?Ur=requestAnimationFrame(()=>{qc(a,()=>{Ur=null})}):(qc(a),Ur=null)},ah=lh,Gc=class extends O.Component{constructor(){super(...arguments);It(this,"rendered",!1)}shouldComponentUpdate(s){return!$m(s,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:s}=this.props.context;s.remove(this),this.emitChange()}emitChange(){const{helmetInstances:s,setHelmet:o}=this.props.context;let d=null;const p=qm(s.get().map(m=>{const y={...m.props};return delete y.context,y}));xd.canUseDOM?ah(p):To&&(d=To(p)),o(d)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:s}=this.props.context;s.add(this),this.emitChange()}render(){return this.init(),null}},vo,wd=(vo=class extends O.Component{shouldComponentUpdate(a){return!Mm(Yc(this.props,"helmetData"),Yc(a,"helmetData"))}mapNestedChildrenToProps(a,s){if(!s)return null;switch(a.type){case"script":case"noscript":return{innerHTML:s};case"style":return{cssText:s};default:throw new Error(`<${a.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(a,s,o,d){return{...s,[a.type]:[...s[a.type]||[],{...o,...this.mapNestedChildrenToProps(a,d)}]}}mapObjectTypeChildren(a,s,o,d){switch(a.type){case"title":return{...s,[a.type]:d,titleAttributes:{...o}};case"body":return{...s,bodyAttributes:{...o}};case"html":return{...s,htmlAttributes:{...o}};default:return{...s,[a.type]:{...o}}}}mapArrayTypeChildrenToProps(a,s){let o={...s};return Object.keys(a).forEach(d=>{o={...o,[d]:a[d]}}),o}warnOnInvalidChildren(a,s){return Vc(Wc.some(o=>a.type===o),typeof a.type=="function"?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Wc.join(", ")} are allowed. Helmet does not support rendering <${a.type}> elements. Refer to our API for more information.`),Vc(!s||typeof s=="string"||Array.isArray(s)&&!s.some(o=>typeof o!="string"),`Helmet expects a string as a child of <${a.type}>. Did you forget to wrap your children in braces? ( <${a.type}>{\`\`} ) Refer to our API for more information.`),!0}mapChildrenToProps(a,s){let o={};return Ct.Children.forEach(a,d=>{if(!d||!d.props)return;const{children:p,...m}=d.props,y=Object.keys(m).reduce((v,T)=>(v[bm[T]||T]=m[T],v),{});let{type:S}=d;switch(typeof S=="symbol"?S=S.toString():this.warnOnInvalidChildren(d,p),S){case"Symbol(react.fragment)":s=this.mapChildrenToProps(p,s);break;case"link":case"meta":case"noscript":case"script":case"style":o=this.flattenArrayTypeChildren(d,o,y,p);break;default:s=this.mapObjectTypeChildren(d,s,y,p);break}}),this.mapArrayTypeChildrenToProps(o,s)}render(){const{children:a,...s}=this.props;let o={...s},{helmetData:d}=s;if(a&&(o=this.mapChildrenToProps(a,o)),d&&!(d instanceof Eo)){const p=d;d=new Eo(p.context,!0),delete o.helmetData}return d?Ct.createElement(Gc,{...o,context:d.value}):Ct.createElement(kd.Consumer,null,p=>Ct.createElement(Gc,{...o,context:p}))}},It(vo,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),vo);const _o="PLMcVrtzNQvL8",Ye={name:"Trunçgil B2B",baseUrl:"https://truncgil.com/b2b",appUrl:"https://b2b.truncgil.com",demoEmail:"info@truncgil.com"},No=[{question:"Trunçgil B2B kimler için?",answer:"Toptancılar, bayileri, depo ekipleri, plasiyerler ve tedarikçileri tek platformda yönetmek isteyen B2B firmalar için tasarlanmıştır."},{question:"QR stok mobilde çalışıyor mu?",answer:"Evet. Mobil uygulama ve web arayüzünde kamera ile barkod/QR okutarak ürün girişi (inbound) ve sipariş toplama (picking) yapılabilir."},{question:"Her toptancının verisi ayrı mı?",answer:"Evet. Multi-tenant mimari ile her firma kendi izole veritabanında çalışır; veriler karışmaz."},{question:"Excel ile toplu ürün yüklenebilir mi?",answer:"Evet. Şablon indirip önizleme yaptıktan sonra binlerce SKU tek seferde içe aktarılabilir."},{question:"Demo nasıl alınır?",answer:'Aşağıdaki "Hemen Demo Talep Et" formunu doldurun veya info@truncgil.com adresine yazın. Ekibimiz canlı ortamda gösterim planlar.'}],rn=[{slug:"toptanci-girisi",sourceFile:"toptancı girişi.mp4",title:"Trunçgil B2B Toptancı Girişi | Admin Paneline Nasıl Girilir?",shortTitle:"Toptancı Girişi",description:"Toptancı admin paneline giriş ve ana menü tanıtımı.",duration:"3–5 dk",youtubeId:"bmaXPw712h0",tags:["toptancı","giriş","admin"],highlights:["Admin girişi","Ana menü","Modül özeti"]},{slug:"bayi-girisi",sourceFile:"bayi girişi.mp4",title:"Trunçgil B2B Bayi Girişi | Bayi Portalına Nasıl Girilir?",shortTitle:"Bayi Girişi",description:"Bayi portalına giriş ve katalog/sipariş menülerine erişim.",duration:"2–4 dk",youtubeId:"Gm8yZ1urHmE",tags:["bayi","giriş","portal"],highlights:["Bayi hesabı","Katalog erişimi","Sipariş menüsü"]},{slug:"yeni-kategori-ekleme",sourceFile:"yeni kategori ekleme.mp4",title:"Trunçgil B2B Yeni Kategori Ekleme | Katalog Yapısını Oluşturma",shortTitle:"Yeni Kategori Ekleme",description:"Katalog kategorisi oluşturma ve ürün formunda kullanım.",duration:"3–4 dk",youtubeId:"r77eP1kb5rw",tags:["kategori","katalog","admin"],highlights:["Kategori adı","Hiyerarşi","Ürün formu"]},{slug:"yeni-bayi-ekleme",sourceFile:"yeni bayi ekleme.mp4",title:"Trunçgil B2B Yeni Bayi Ekleme | Bayi Hesabı Tanımlama",shortTitle:"Yeni Bayi Ekleme",description:"Yeni bayi kaydı, iskonto kademesi ve kullanıcı hesabı.",duration:"4–6 dk",youtubeId:"La-ZsSTutis",tags:["bayi","dealer","admin"],highlights:["Bayi kodu","İskonto atama","Kullanıcı açma"]},{slug:"depo-ekleme",sourceFile:"toptancı kısmından depo ekleme.mp4",title:"Trunçgil B2B Depo Ekleme | Toptancı Panelinden Depo Tanımlama",shortTitle:"Depo Ekleme",description:"Yeni depo (warehouse) tanımlama ve stok hareketlerinde kullanım.",duration:"3–5 dk",youtubeId:"ZzH2r1xs8ss",tags:["depo","warehouse","admin"],highlights:["Depo kodu","Aktif depo","Stok bağlantısı"]},{slug:"tedarikci-ekleme",sourceFile:"tedarikçi ekleme.mp4",title:"Trunçgil B2B Tedarikçi Ekleme | Tedarikçi Kartı ve Portal",shortTitle:"Tedarikçi Ekleme",description:"Tedarikçi firma kaydı ve portal hesabı açma.",duration:"4–5 dk",youtubeId:"bt6pownVjO4",tags:["tedarikçi","supplier","admin"],highlights:["Tedarikçi kodu","Portal hesabı","Ürün eşleştirme"]},{slug:"kullanici-ekleme",sourceFile:"kullanıcı ekleme.mp4",title:"Trunçgil B2B Kullanıcı Ekleme | Rol Bazlı Hesap Açma",shortTitle:"Kullanıcı Ekleme",description:"Admin, depo, plasiyer ve tedarikçi rolleri ile kullanıcı tanımlama.",duration:"4–5 dk",youtubeId:"EJy6g2MTqbY",tags:["kullanıcı","rol","admin"],highlights:["Rol seçimi","E-posta/şifre","Yetki kapsamı"]},{slug:"iskonto-kademesi",sourceFile:"kademelerden bayilere iskonto değerini belirleme.mp4",title:"Trunçgil B2B İskonto Kademesi | Ciro Bazlı Bayi İskontosu",shortTitle:"İskonto Kademesi",description:"Ciro hedefine göre otomatik yükselen iskonto kademeleri.",duration:"5–7 dk",youtubeId:"XYL5iOWtNIQ",tags:["iskonto","kademe","ciro"],highlights:["Tier tanımı","Ciro eşiği","Bayi atama"]},{slug:"excel-import-export",sourceFile:"excel ile içe aktarım ve ürünleri dışa aktarım.mp4",title:"Trunçgil B2B Excel | Toplu Ürün İçe/Dışa Aktarma",shortTitle:"Excel İçe/Dışa Aktarım",description:"Excel şablonu ile toplu ürün yükleme ve dışa aktarma.",duration:"6–8 dk",youtubeId:"poVyLmQ2gpU",tags:["excel","import","export"],highlights:["Şablon","Önizleme","Kuyruk"]},{slug:"bayi-siparis-sureci",sourceFile:"bayinin ürünü sipariş süreci.mp4",title:"Trunçgil B2B Bayi Sipariş Süreci | Katalogdan Sepete",shortTitle:"Bayi Sipariş Süreci",description:"Bayinin katalogdan ürün seçip sipariş verme akışı.",duration:"5–7 dk",youtubeId:"tBbbFMysK9Q",tags:["bayi","sipariş","sepet"],highlights:["Katalog arama","Sepet","Sipariş gönderimi"]},{slug:"siparis-yonetme",sourceFile:"siparişi yönetme.mp4",title:"Trunçgil B2B Sipariş Yönetimi | Sipariş Tahtası",shortTitle:"Siparişi Yönetme",description:"Toptancı panelinden sipariş durumu güncelleme ve tahta yönetimi.",duration:"5–7 dk",youtubeId:"7d9fLlCfUps",tags:["sipariş","tahta","admin"],highlights:["Kanban tahtası","Durum güncelleme","Bayi bilgisi"]},{slug:"plasiyer-mantigi",sourceFile:"plasiyer mantığı.mp4",title:"Trunçgil B2B Plasiyer Modu | Saha Satış Siparişi",shortTitle:"Plasiyer Mantığı",description:"Plasiyer rolü ile bayi adına sipariş oluşturma.",duration:"5–6 dk",youtubeId:"ze4zypVNIMc",tags:["plasiyer","saha","sipariş"],highlights:["Plasiyer girişi","Atanan bayiler","Adına sipariş"]},{slug:"depo-portali-islemler",sourceFile:"depo portalındaki yapılabilecek işlemler.mp4",title:"Trunçgil B2B Depo Portalı | Depo İşlemleri Genel Bakış",shortTitle:"Depo Portalı İşlemleri",description:"Depo personelinin yapabileceği tüm işlemlerin tanıtımı.",duration:"6–8 dk",youtubeId:"5xP6dw0q-OA",tags:["depo","portal","QR"],highlights:["QR menü","Inbound/Picking","Mobil kullanım"]},{slug:"qr-mal-kabul",sourceFile:"depodan qr kod ile mal kabul.mp4",title:"Trunçgil B2B QR Mal Kabul | Depoya Ürün Girişi (Inbound)",shortTitle:"QR Mal Kabul",description:"Barkod/QR okutarak depoya mal kabul ve stok girişi.",duration:"4–6 dk",youtubeId:"QQDeLe6_PTI",tags:["QR","inbound","mal kabul"],highlights:["Kamera okutma","Miktar girme","Anlık stok"]},{slug:"siparis-toplama-picking",sourceFile:"toplama kısmından sipariş edilen ürünün 0 hata ile onaylama.mp4",title:"Trunçgil B2B Sipariş Toplama | QR ile 0 Hata Picking",shortTitle:"Sipariş Toplama (Picking)",description:"Sipariş toplama ekranında barkod okutarak sıfır hata hazırlık.",duration:"6–8 dk",youtubeId:"ck6aEhtvydw",tags:["picking","toplama","QR"],highlights:["Sipariş seçimi","Barkod doğrulama","Stok düşümü"]},{slug:"depolar-arasi-sevk",sourceFile:"depolar arası sevk.mp4",title:"Trunçgil B2B Depolar Arası Transfer | Stok Sevk",shortTitle:"Depolar Arası Sevk",description:"Depolar arası stok transferi ve sevk işlemi.",duration:"4–6 dk",youtubeId:"nrXqqcFz8PA",tags:["transfer","sevk","depo"],highlights:["Kaynak/hedef depo","Miktar","Onay"]},{slug:"tedarikci-portal-alim",sourceFile:"tedarikçi portalından depoya ürün alımı.mp4",title:"Trunçgil B2B Tedarikçi Portalı | Depoya Ürün Alımı",shortTitle:"Tedarikçi Portal Alımı",description:"Tedarikçi portalından konsinye stok ve depo alım süreci.",duration:"5–7 dk",youtubeId:"V4bAmUo3G4U",tags:["tedarikçi","konsinye","stok"],highlights:["Tedarikçi girişi","Stok güncelleme","Toptancı görünümü"]},{slug:"yeni-urun-karti",sourceFile:"kataloga yeni ürün kaydetme.mp4",title:"Trunçgil B2B Yeni Ürün Kartı | SKU, Barkod, Fiyat ve Görsel",shortTitle:"Yeni Ürün Kartı",description:"Toptancı admin panelinden ürün tanımlama ve görsel yükleme.",duration:"5–6 dk",youtubeId:"HxZ1J5o2ipA",tags:["ürün","katalog","görsel"],highlights:["SKU/barkod","Fiyat","Görsel yükleme"]}];function oh(a){return rn.find(s=>s.slug===a)}function sh({children:a}){const[s,o]=O.useState(!1);return O.useEffect(()=>{const d=()=>o(window.scrollY>24);return d(),window.addEventListener("scroll",d,{passive:!0}),()=>window.removeEventListener("scroll",d)},[]),u.jsxs(u.Fragment,{children:[u.jsxs(wd,{children:[u.jsx("html",{lang:"tr"}),u.jsx("meta",{property:"og:site_name",content:Ye.name}),u.jsx("meta",{property:"og:type",content:"website"})]}),u.jsx("a",{className:"skip-link",href:"#main",children:"İçeriğe atla"}),u.jsx("header",{className:`site-header${s?" site-header--scrolled":""}`,children:u.jsxs("div",{className:"container header-inner",children:[u.jsxs(ke,{to:"/",className:"brand",children:[u.jsx("span",{className:"brand-mark",children:"T"}),u.jsxs("span",{children:[u.jsx("strong",{children:"Trunçgil B2B"}),u.jsx("small",{children:"Toptancı & Bayi Platformu"})]})]}),u.jsxs("nav",{"aria-label":"Ana menü",children:[u.jsx(co,{to:"/videolar",children:"Videolar"}),u.jsx(co,{to:"/kullanim-kilavuzu",children:"Kullanım Kılavuzu"}),u.jsx(co,{to:"/demo",className:"nav-cta",children:"Demo Talep Et"})]})]})}),u.jsx("main",{id:"main",children:a}),u.jsx("footer",{className:"site-footer",children:u.jsxs("div",{className:"container footer-grid",children:[u.jsxs("div",{children:[u.jsx("h2",{children:"Trunçgil B2B"}),u.jsx("p",{children:"QR stok, bayi kataloğu, sipariş yönetimi ve tedarikçi portalı — tek kurumsal B2B altyapısı."})]}),u.jsxs("div",{children:[u.jsx("h3",{children:"Bağlantılar"}),u.jsxs("ul",{children:[u.jsx("li",{children:u.jsx("a",{href:Ye.appUrl,rel:"noopener noreferrer",children:"Canlı Uygulama"})}),u.jsx("li",{children:u.jsx(ke,{to:"/videolar",children:"Eğitim Videoları"})}),u.jsx("li",{children:u.jsx(ke,{to:"/kullanim-kilavuzu",children:"Kullanım Kılavuzu"})})]})]}),u.jsxs("div",{children:[u.jsx("h3",{children:"İletişim"}),u.jsx("p",{children:u.jsx("a",{href:`mailto:${Ye.demoEmail}`,children:Ye.demoEmail})}),u.jsxs("p",{className:"muted",children:["© ",new Date().getFullYear()," Trunçgil"]})]})]})})]})}function te({children:a,className:s="",delay:o=0}){const d=O.useRef(null),[p,m]=O.useState(!1);O.useEffect(()=>{const S=d.current;if(!S)return;const v=new IntersectionObserver(([T])=>{T.isIntersecting&&(m(!0),v.disconnect())},{threshold:.08,rootMargin:"0px 0px -40px 0px"});return v.observe(S),()=>v.disconnect()},[]);const y={"--reveal-delay":`${o}ms`};return u.jsx("div",{ref:d,className:`reveal ${p?"reveal--visible":""} ${s}`,style:y,children:a})}function Qr({title:a,description:s,path:o="",jsonLd:d}){const p=`https://truncgil.com/b2b${o}`;return u.jsxs(wd,{children:[u.jsx("title",{children:a}),u.jsx("meta",{name:"description",content:s}),u.jsx("link",{rel:"canonical",href:p}),u.jsx("meta",{property:"og:title",content:a}),u.jsx("meta",{property:"og:description",content:s}),u.jsx("meta",{property:"og:url",content:p}),u.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),u.jsx("meta",{name:"twitter:title",content:a}),u.jsx("meta",{name:"twitter:description",content:s}),d?u.jsx("script",{type:"application/ld+json",children:JSON.stringify(d)}):null]})}function Ro({video:a,index:s=0,compact:o=!1}){const d=a.youtubeId?`https://i.ytimg.com/vi/${a.youtubeId}/mqdefault.jpg`:null;return u.jsxs("article",{className:`video-card-modern${o?" video-card-modern--compact":""}`,style:{"--i":s},children:[u.jsxs(ke,{to:`/videolar/${a.slug}`,className:"video-card-modern__media",children:[d?u.jsx("img",{src:d,alt:"",loading:"lazy",width:320,height:180}):u.jsx("div",{className:"video-card-modern__placeholder",children:u.jsx("span",{children:"▶"})}),u.jsx("span",{className:"video-card-modern__shine","aria-hidden":!0}),u.jsx("span",{className:"video-card-modern__play","aria-hidden":!0,children:u.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:u.jsx("path",{d:"M8 5v14l11-7z"})})}),u.jsx("span",{className:"video-card-modern__duration",children:a.duration})]}),u.jsxs("div",{className:"video-card-modern__body",children:[u.jsx("h2",{children:u.jsx(ke,{to:`/videolar/${a.slug}`,children:a.shortTitle})}),!o&&u.jsx("p",{children:a.description}),u.jsx("ul",{className:"tag-list",children:a.tags.slice(0,o?2:3).map(p=>u.jsx("li",{children:p},p))}),!o&&u.jsxs(ke,{to:`/videolar/${a.slug}`,className:"video-card-modern__cta",children:["İzle",u.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("path",{d:"M5 12h14M13 6l6 6-6 6"})})]})]})]})}function uh(){const a={"@context":"https://schema.org","@type":"SoftwareApplication",name:Ye.name,applicationCategory:"BusinessApplication",operatingSystem:"Web, Android, Windows",description:"Toptancı ve bayi yönetimi, QR stok, sipariş, iskonto kademesi ve tedarikçi portalı sunan kurumsal B2B SaaS.",url:Ye.baseUrl,offers:{"@type":"Offer",price:"0",priceCurrency:"TRY",description:"Demo için iletişime geçin"}};return u.jsxs(u.Fragment,{children:[u.jsx(Qr,{title:"Trunçgil B2B | Toptancı & Bayi Yönetim Platformu",description:"QR stok, bayi kataloğu, sipariş yönetimi, iskonto kademesi ve tedarikçi portalı. Toptancılar için kurumsal B2B SaaS.",path:"/",jsonLd:a}),u.jsxs("section",{className:"hero",children:[u.jsxs("div",{className:"hero__orbs","aria-hidden":!0,children:[u.jsx("span",{className:"orb orb--1"}),u.jsx("span",{className:"orb orb--2"})]}),u.jsxs("div",{className:"container hero-grid",children:[u.jsx(te,{children:u.jsxs("div",{children:[u.jsx("p",{className:"eyebrow eyebrow--light",children:"Kurumsal B2B SaaS"}),u.jsxs("h1",{className:"hero__title",children:["Toptancınız, bayileriniz ve deponuz",u.jsx("span",{children:" tek platformda"})]}),u.jsx("p",{className:"lead",children:"Trunçgil B2B; katalog, QR stok, sipariş, iskonto kademesi ve tedarikçi konsinyesini bir araya getirir. Mobil ve web — Microsoft Store & Google Play."}),u.jsxs("div",{className:"hero-actions",children:[u.jsx(ke,{to:"/demo",className:"btn btn-primary btn-glow",children:"Hemen Demo Talep Et"}),u.jsx(ke,{to:"/videolar",className:"btn btn-secondary",children:"Eğitim Videoları"}),u.jsx("a",{className:"btn btn-ghost",href:Ye.appUrl,children:"Canlı Uygulamayı Aç"})]})]})}),u.jsx(te,{delay:150,children:u.jsxs("div",{className:"hero-card",children:[u.jsx("h2",{children:"Öne çıkan özellikler"}),u.jsxs("ul",{className:"feature-list",children:[u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"📱"})," QR ile stok girişi ve sipariş toplama"]}),u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"🛒"})," Bayi kataloğu ve facet filtreler"]}),u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"📈"})," Ciro bazlı otomatik iskonto kademesi"]}),u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"🏭"})," Tedarikçi portalı ve konsinye stok"]}),u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"📊"})," Excel toplu içe/dışa aktarma"]}),u.jsxs("li",{children:[u.jsx("span",{className:"feature-icon",children:"🔒"})," Tenant başına izole veritabanı"]})]})]})})]})]}),u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsxs("div",{className:"section-head section-head--row",children:[u.jsxs("div",{children:[u.jsx("p",{className:"eyebrow",children:"Eğitim"}),u.jsx("h2",{children:"Eğitim videoları"}),u.jsx("p",{className:"section-sub",children:"Her modül için ayrı sayfa — GEO/SEO uyumlu başlık ve açıklamalar."})]}),u.jsx(ke,{to:"/videolar",className:"btn btn-secondary",children:"Tüm videolar →"})]})}),u.jsx(te,{delay:100,children:u.jsx("div",{className:"playlist-embed playlist-embed--glow",children:u.jsx("iframe",{title:"Trunçgil B2B playlist",src:`https://www.youtube.com/embed/videoseries?list=${_o}`,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}),u.jsx("div",{className:"video-grid-modern",children:rn.slice(0,6).map((s,o)=>u.jsx(te,{delay:o*70,children:u.jsx(Ro,{video:s,index:o,compact:!0})},s.slug))})]})}),u.jsx("section",{className:"section alt",children:u.jsxs("div",{className:"container two-col",children:[u.jsx(te,{children:u.jsxs("div",{children:[u.jsx("h2",{children:"Kullanım kılavuzu"}),u.jsx("p",{children:"Depo personeli için sade Türkçe rehber: giriş, QR giriş/çıkış, yeni ürün kartı ve sık sorulan sorular."}),u.jsx(ke,{to:"/kullanim-kilavuzu",className:"btn btn-primary btn-glow",children:"Kılavuzu Oku"})]})}),u.jsx(te,{delay:120,children:u.jsxs("div",{className:"guide-preview",children:[u.jsx("h3",{children:"Hızlı başlangıç adımları"}),u.jsxs("ol",{className:"steps-list",children:[u.jsx("li",{children:"Web adresiniz veya mobil uygulama ile giriş yapın"}),u.jsx("li",{children:"QR menüsünden inbound veya picking seçin"}),u.jsx("li",{children:"Barkodu okutun, miktarı girin, kaydedin"}),u.jsx("li",{children:"Katalog ve siparişler anında güncellenir"})]})]})})]})}),u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsx("h2",{children:"Sık sorulan sorular"})}),u.jsx("div",{className:"faq-list",children:No.map((s,o)=>u.jsx(te,{delay:o*50,children:u.jsxs("details",{className:"faq-item",children:[u.jsx("summary",{children:s.question}),u.jsx("p",{children:s.answer})]})},s.question))})]})})]})}const Xc=[{id:"all",label:"Tümü"},{id:"admin",label:"Admin"},{id:"bayi",label:"Bayi"},{id:"depo",label:"Depo & QR"},{id:"sipariş",label:"Sipariş"},{id:"excel",label:"Excel"}];function ch(a,s){return s==="all"?!0:s==="admin"?a.tags.some(o=>["admin","katalog","kategori","kullanıcı","rol","toptancı","tedarikçi","supplier","dealer","warehouse","iskonto","kademe","ciro","ürün","görsel"].includes(o)):s==="depo"?a.tags.some(o=>["depo","QR","inbound","picking","transfer","sevk","portal","mal kabul","toplama"].includes(o)):a.tags.some(o=>o.toLowerCase().includes(s.toLowerCase()))}function dh(){var p;const[a,s]=O.useState("all"),o=O.useMemo(()=>rn.filter(m=>ch(m,a)),[a]),d={"@context":"https://schema.org","@type":"ItemList",name:"Trunçgil B2B Eğitim Videoları",itemListElement:rn.map((m,y)=>({"@type":"ListItem",position:y+1,url:`${Ye.baseUrl}/videolar/${m.slug}`,name:m.shortTitle}))};return u.jsxs(u.Fragment,{children:[u.jsx(Qr,{title:"Trunçgil B2B Eğitim Videoları | QR Stok, Katalog, Admin",description:"Trunçgil B2B kullanım videoları: giriş, QR stok, sipariş toplama, ürün kartı, bayi paneli, admin ve Excel.",path:"/videolar",jsonLd:d}),u.jsxs("section",{className:"page-hero page-hero--videos",children:[u.jsxs("div",{className:"page-hero__orbs","aria-hidden":!0,children:[u.jsx("span",{className:"orb orb--1"}),u.jsx("span",{className:"orb orb--2"}),u.jsx("span",{className:"orb orb--3"})]}),u.jsxs("div",{className:"container page-hero__inner",children:[u.jsxs(te,{children:[u.jsx("p",{className:"eyebrow eyebrow--light",children:"18 adımlık eğitim serisi"}),u.jsxs("h1",{className:"page-hero__title",children:["Trunçgil B2B",u.jsx("span",{children:" eğitim videoları"})]}),u.jsx("p",{className:"page-hero__lead",children:"Toptancı, bayi, depo ve tedarikçi modüllerini adım adım öğrenin. Her video ayrı SEO sayfasında; playlist ile hepsini tek yerden izleyin."})]}),u.jsx(te,{delay:120,children:u.jsxs("div",{className:"stat-row",children:[u.jsxs("div",{className:"stat-pill",children:[u.jsx("strong",{children:rn.length}),u.jsx("span",{children:"video"})]}),u.jsxs("div",{className:"stat-pill",children:[u.jsx("strong",{children:rn.filter(m=>m.youtubeId).length}),u.jsx("span",{children:"yayında"})]}),u.jsxs("div",{className:"stat-pill stat-pill--accent",children:[u.jsx("strong",{children:"QR"}),u.jsx("span",{children:"stok & picking"})]})]})})]})]}),u.jsx("section",{className:"section section--tight",children:u.jsx("div",{className:"container",children:u.jsx(te,{children:u.jsxs("div",{className:"featured-player",children:[u.jsxs("div",{className:"featured-player__header",children:[u.jsxs("div",{children:[u.jsx("p",{className:"eyebrow",children:"YouTube playlist"}),u.jsx("h2",{children:"Tüm seriyi arka arkaya izleyin"})]}),u.jsx("a",{className:"btn btn-glass",href:`https://www.youtube.com/playlist?list=${_o}`,target:"_blank",rel:"noopener noreferrer",children:"YouTube'da aç"})]}),u.jsx("div",{className:"playlist-embed playlist-embed--glow",children:u.jsx("iframe",{title:"Trunçgil B2B eğitim playlist",src:`https://www.youtube.com/embed/videoseries?list=${_o}`,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})]})})})}),u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsx("div",{className:"section-head section-head--row",children:u.jsxs("div",{children:[u.jsx("h2",{children:"Modül modül keşfedin"}),u.jsxs("p",{className:"section-sub",children:[o.length," video gösteriliyor",a!=="all"?` · ${(p=Xc.find(m=>m.id===a))==null?void 0:p.label}`:""]})]})})}),u.jsx(te,{delay:80,children:u.jsx("div",{className:"filter-bar",role:"tablist","aria-label":"Video filtreleri",children:Xc.map(m=>u.jsx("button",{type:"button",role:"tab","aria-selected":a===m.id,className:`filter-chip${a===m.id?" filter-chip--active":""}`,onClick:()=>s(m.id),children:m.label},m.id))})}),u.jsx("div",{className:"video-grid-modern",children:o.map((m,y)=>u.jsx(te,{delay:y*60,children:u.jsx(Ro,{video:m,index:y})},m.slug))},a),o.length===0?u.jsx("p",{className:"empty-state",children:"Bu kategoride video bulunamadı."}):null,u.jsx(te,{delay:200,children:u.jsxs("div",{className:"cta-banner",children:[u.jsxs("div",{children:[u.jsx("h3",{children:"Canlı ortamda denemek ister misiniz?"}),u.jsx("p",{children:"Ekibimiz size Trunçgil B2B'yi canlı gösterimle tanıtır."})]}),u.jsx(ke,{to:"/demo",className:"btn btn-primary btn-glow",children:"Demo Talep Et"})]})})]})})]})}function fh({guide:a,videoTitle:s}){var o;return u.jsxs("div",{className:"guide-panel",children:[u.jsxs("div",{className:"guide-panel__header",children:[u.jsx("div",{className:"guide-panel__badge",children:a.audience}),u.jsxs("h2",{children:[s," — adım adım rehber"]}),u.jsx("p",{className:"guide-panel__summary",children:a.summary})]}),u.jsxs("div",{className:"guide-panel__path",children:[u.jsx("span",{className:"guide-panel__path-label",children:"Menü yolu"}),u.jsx("code",{children:a.menuPath})]}),u.jsxs("div",{className:"guide-panel__grid",children:[u.jsxs("div",{className:"guide-panel__steps",children:[u.jsxs("h3",{children:[u.jsx("span",{className:"guide-icon",children:"📋"}),"Nasıl yapılır?"]}),u.jsx("ol",{className:"step-timeline",children:a.steps.map((d,p)=>u.jsxs("li",{className:"step-timeline__item",children:[u.jsx("span",{className:"step-timeline__num",children:p+1}),u.jsxs("div",{className:"step-timeline__body",children:[u.jsx("strong",{children:d.title}),u.jsx("p",{children:d.detail})]})]},d.title))})]}),u.jsxs("div",{className:"guide-panel__aside",children:[u.jsxs("div",{className:"guide-card guide-card--fields",children:[u.jsxs("h3",{children:[u.jsx("span",{className:"guide-icon",children:"✏️"}),"Zorunlu alanlar"]}),u.jsx("ul",{children:a.requiredFields.map(d=>u.jsx("li",{children:d},d))})]}),u.jsxs("div",{className:"guide-card guide-card--tips",children:[u.jsxs("h3",{children:[u.jsx("span",{className:"guide-icon",children:"💡"}),"Verimlilik ipuçları"]}),u.jsx("ul",{children:a.tips.map(d=>u.jsx("li",{children:d},d))})]}),(o=a.warnings)!=null&&o.length?u.jsxs("div",{className:"guide-card guide-card--warn",children:[u.jsxs("h3",{children:[u.jsx("span",{className:"guide-icon",children:"⚠️"}),"Dikkat"]}),u.jsx("ul",{children:a.warnings.map(d=>u.jsx("li",{children:d},d))})]}):null]})]})]})}const ph={"toptanci-girisi":{audience:"Toptancı yönetici",menuPath:"Giriş → Toptancı yönetimi → Panel (/admin/dashboard)",summary:"Toptancı admin paneli, katalog, bayi, sipariş, depo ve rapor modüllerinin merkezidir. Doğru firma kodu ve yönetici hesabıyla giriş yaptığınızda sol menüden tüm yönetim işlemlerine erişirsiniz. Mobil alt menüde Panel, Katalog, Siparişler ve QR stok kısayolları bulunur.",steps:[{title:"Giriş ekranını açın",detail:"b2b.truncgil.com adresine gidin. Root Admin kapalı bırakın; firma kodunuzu (tenant alias) girin."},{title:"Yönetici hesabıyla giriş yapın",detail:"Size verilen e-posta ve şifreyi girin. Başarılı girişte otomatik Panel sayfasına yönlendirilirsiniz."},{title:"Panel metriklerini inceleyin",detail:"Ürün sayısı, sipariş durumları, bayi özeti ve grafikler burada görünür. Günlük operasyonun nabzını buradan takip edin."},{title:"Sol menüden modüle geçin",detail:"Katalog, Kategoriler, Bayiler, Siparişler, Depolar, Kademeler, Excel ve QR stok menüleri soldan erişilir."},{title:"Hızlı kısayolları kullanın",detail:"AppBar'daki barkod ikonu Hızlı Sipariş açar. Excel ve QR stok için panel kısayollarını kullanabilirsiniz."}],requiredFields:["Firma kodu (tenant alias)","E-posta","Şifre"],tips:["Subdomain ile giriş yapıyorsanız firma kodu otomatik kilitlenir ve logo yüklenir.","Yanlış rolle giriş yaptıysanız “hesap değiştir” ile çıkıp doğru portalı seçin.","Mobilde alt menü: Panel · Katalog · Siparişler · QR stok."]},"bayi-girisi":{audience:"Bayi kullanıcısı",menuPath:"Giriş → Bayi portalı → Panel (/dealer/home)",summary:"Bayi portalı, toptancınızın size açtığı katalog, sepet ve sipariş takibini içerir. Giriş sonrası panelde ciro kademeniz, kredi limitiniz ve aktif siparişleriniz özet halinde görünür.",steps:[{title:"Bayi hesabınızla giriş yapın",detail:"Firma kodu + bayi e-posta/şifre ile giriş yapın. Otomatik olarak bayi Panel sayfasına düşersiniz."},{title:"Ciro ve limit bilgilerinizi kontrol edin",detail:"Panelde iskonto kademeniz, ciro ilerlemeniz ve kredi limiti/bakiye kartlarını görün."},{title:"Kataloğa geçin",detail:"“Kataloğu aç” butonu veya alt menüden Katalog sekmesine gidin."},{title:"Sepet ve sipariş menülerini tanıyın",detail:"Alt menü: Panel · Katalog · Sepet · Siparişler. Sepet rozeti anlık güncellenir."},{title:"Bildirimleri takip edin",detail:"Sipariş durumu değişince bildirim zili toast mesajı gösterir; Siparişler sayfasından detay alın."}],requiredFields:["Firma kodu","Bayi e-posta","Şifre"],tips:["AppBar barkod ikonu Hızlı Sipariş dialogu açar — sık aldığınız SKU için pratik.","Sepet, stok yetersiz ürün eklemeye izin vermez; snackbar uyarısı görürsünüz.","Kademe ilerlemeniz otomatik hesaplanır; ek iskonto için ciro hedefinizi panelden izleyin."]},"yeni-kategori-ekleme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Kategoriler (/admin/categories)",summary:"Kategoriler, katalog yapınızın omurgasıdır. Ürün formunda kategori seçimi zorunludur; önce kategori ağacını oluşturup sonra ürün kartı açmak en verimli sıradır.",steps:[{title:"Kategoriler menüsüne gidin",detail:"Sol menüden Kategoriler'e tıklayın."},{title:"Yeni kategori oluşturun",detail:"“Yeni kategori” → dialogda kategori adını girin → Kaydet."},{title:"Toplu ekleme (opsiyonel)",detail:"Çok kategori varsa “Toplu Ekle” ile her satıra bir ad yazın; boş satırlar atlanır."},{title:"Ürün formunda doğrulayın",detail:"Katalog → Yeni ürün açtığınızda kategori dropdown'ında yeni kaydınız görünmeli."},{title:"Düzenle veya silin",detail:"Kart aksiyonlarından ad değiştirin veya silin; silmeden önce onay istenir."}],requiredFields:["Kategori adı"],tips:["Tek kategori varsa ürün formunda otomatik seçilir — hızlı başlangıç için en az bir kategori yeterli.","Ürün formundan da “Yeni kategori” kısayolu ile anında kategori ekleyebilirsiniz.","Excel içe aktarımda category_slug sütunu bu kategorilerle eşleşmelidir."]},"yeni-bayi-ekleme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Bayiler → Kullanıcılar",summary:"Bayi sisteme iki parçayla gelir: önce bayi kartı (firma, kod, limit, kademe), sonra giriş yapacak kullanıcı hesabı. Kart olmadan bayi portalına erişim açılamaz.",steps:[{title:"Bayi kartı oluşturun",detail:"Bayiler → Yeni bayi → Bayi kodu, firma adı, kredi limiti girin."},{title:"Kademe ve plasiyer atayın",detail:"İsteğe bağlı iskonto kademesi ve sorumlu plasiyer seçin; sonra Kaydet."},{title:"Bayi kullanıcısı açın",detail:"Kullanıcılar → Yeni kullanıcı → Rol: Bayi → Bayi kartını bağlayın."},{title:"E-posta ve şifre verin",detail:"Bayi temsilcisine iletilecek giriş bilgilerini kaydedin."},{title:"Bayi girişini test edin",detail:"Çıkış yapıp bayi hesabıyla giriş yaparak katalog ve sepet erişimini doğrulayın."}],requiredFields:["Bayi kodu","Firma adı","Kredi limiti","Kullanıcı: ad, e-posta, şifre, bayi kartı"],tips:["Önce bayi kartı, sonra kullanıcı — sırayı ters yaparsanız form uyarı verir.","Bayi kodu kayıttan sonra değiştirilemez; kodlama standardınızı önceden belirleyin.","Pasif bayi toggle'ı onay ister; pasif bayiler giriş yapamaz."]},"depo-ekleme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Depolar (/admin/warehouses)",summary:"Depo tanımı, QR mal kabul, sipariş toplama ve depolar arası transfer işlemlerinin temelidir. Aktif depolar QR ekranlarında seçilebilir; pasif depolar operasyon listelerinden düşer.",steps:[{title:"Depolar menüsüne gidin",detail:"Sol menüden Depolar'a tıklayın."},{title:"Yeni depo formunu açın",detail:"“Yeni depo ekle” butonuna basın."},{title:"Kod ve ad girin",detail:"Depo kodu (kısa, benzersiz) ve depo adını yazın. Aktif kutusunu işaretli bırakın."},{title:"Kaydedin ve listeyi kontrol edin",detail:"Depo listeye eklenir; stok simgesiyle o depodaki stokları görüntüleyebilirsiniz."},{title:"QR ekranında test edin",detail:"QR stok → Mal kabul'de yeni deponuz seçilebilir olmalı."}],requiredFields:["Depo kodu","Depo adı"],tips:["Tedarikçi depoları (isSupplier) sistem tarafından otomatik oluşur — bunları düzenleyemezsiniz.","Pasif depo, transfer hedef listesine girmez; geçici kapalı depolar için kullanın.","Depo personeli kullanıcısına “Bağlı depo” atamayı unutmayın."],warnings:["Tedarikçi konsinye depoları manuel silinmemeli; tedarikçi kartıyla ilişkilidir."]},"tedarikci-ekleme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Tedarikçiler → Kullanıcılar",summary:"Tedarikçi kartı ve portal hesabı, konsinye stok takibinin kapısıdır. Konsinye işaretli tedarikçiler için sistem otomatik ayrı depo oluşturur; tedarikçi kendi stoğunu portalden günceller.",steps:[{title:"Tedarikçi kartı oluşturun",detail:"Tedarikçiler → Yeni tedarikçi → firma adı, iletişim bilgileri."},{title:"Konsinye seçeneğini işaretleyin",detail:"Stok takibi yapılacaksa Konsinye kutusunu işaretleyin → Kaydet."},{title:"Portal kullanıcısı açın",detail:"Kullanıcılar → Rol: Tedarikçi → Tedarikçi kartını bağlayın."},{title:"Giriş bilgilerini iletin",detail:"Tedarikçi /supplier portalına e-posta/şifre ile girer."},{title:"Ürün atamasını yapın",detail:"Katalogda ürüne tedarikçi bağlayın; aksi halde tedarikçi stoğu güncelleyemez."}],requiredFields:["Firma adı","Portal: e-posta, şifre, tedarikçi kartı"],tips:["Konsinye tedarikçi için ayrı depo otomatik açılır — QR inbound'da tedarikçi deposu hedef olarak filtrelenir.","Tedarikçi kodu düzenlemede kilitlidir.","Pasif tedarikçi giriş yapamaz."]},"kullanici-ekleme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Kullanıcılar (/admin/users)",summary:"Her kullanıcı bir role bağlıdır: Yönetici, Bayi, Plasiyer, Depo veya Tedarikçi. Rol seçimi, hangi portalın açılacağını ve hangi kartın bağlanması gerektiğini belirler.",steps:[{title:"Kullanıcılar menüsüne gidin",detail:"Sol menü → Kullanıcılar → Yeni kullanıcı."},{title:"Kimlik bilgilerini girin",detail:"Ad, e-posta, şifre (otomatik üreteç kullanılabilir)."},{title:"Rol seçin",detail:"Yönetici / Bayi / Plasiyer / Depo / Tedarikçi — role göre ek alanlar açılır."},{title:"Kart bağlantısı yapın",detail:"Bayi → bayi kartı; Depo → bağlı depo; Tedarikçi → tedarikçi kartı."},{title:"Kaydedin ve test edin",detail:"Kullanıcı ilgili portala yönlendirilir; bir kez giriş yaparak doğrulayın."}],requiredFields:["Ad","E-posta","Şifre","Rol","Role göre kart/depo bağlantısı"],tips:["Önce bayi/depo/tedarikçi kartını oluşturun — boşsa form hata verir.","Düzenlemede şifre opsiyonel; boş bırakırsanız eski şifre kalır.","Depo kullanıcısına tedarikçi depoları atanmaz."]},"iskonto-kademesi":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Kademeler → Bayiler",summary:"İskonto kademeleri ciro eşiğine göre bayilere otomatik iskonto sağlar. Kademe tanımı + bayi ataması birlikte çalışır; bayi panelinde ilerleme çubuğu bir sonraki basamağı gösterir.",steps:[{title:"Kademe tanımlayın",detail:"Kademeler → Yeni kademe → ad, iskonto %, ciro eşiği, dönem (ay), sıra."},{title:"Basamakları sıralayın",detail:"sort_order ve ciro eşiği düşükten yükseğe mantıklı olmalı (Bronz → Gümüş → Altın gibi)."},{title:"Bayiye kademe atayın",detail:"Bayiler → bayi düzenle → Kademe dropdown'ından seçin."},{title:"Bayi panelinden doğrulayın",detail:"Bayi girişinde ciro ilerleme çubuğu ve mevcut iskonto görünmeli."},{title:"Dönem sonunda kontrol edin",detail:"Ciro motoru dönem ayına göre otomatik basamak yükseltir."}],requiredFields:["Kademe adı","İskonto %","Ciro eşiği","Dönem (ay)","Sıra"],tips:["İlk kademeyi düşük eşikle başlatın — yeni bayiler hemen iskonto görsün.","Kademe silinince bayi kartları kalır; atamayı manuel temizlemeniz gerekebilir.","Sepette iskonto otomatik uygulanır; bayi ekstra işlem yapmaz."]},"excel-import-export":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Excel (/admin/excel)",summary:"Binlerce SKU'yu tek seferde yüklemek veya mevcut kataloğu dışa aktarmak için Excel modülünü kullanın. Önizleme adımı hatalı satırları gösterir; onaylamadan içe aktarım başlamaz.",steps:[{title:"Şablon indirin",detail:"“Örnek Excel şablonu” → urun-sablonu.xlsx dosyasını indirin."},{title:"Dosyayı doldurun",detail:"Zorunlu: sku, name, category_slug, base_price. Opsiyonel: barcode, oem_code, brand, description."},{title:"Yükleyin ve önizleyin",detail:"Dosya seç → geçerli/hatalı satır sayısı ve hata tablosu görünür."},{title:"İçe aktarımı onaylayın",detail:"Hata yoksa onaylayın; büyük dosyalar kuyruğa alınır, job durumu izlenir."},{title:"Dışa aktarım",detail:"“Ürünleri dışa aktar” → job bitince urunler.xlsx indirin."}],requiredFields:["sku","name","category_slug","base_price"],tips:["category_slug, Kategoriler'deki slug ile birebir eşleşmeli.","Eksik zorunlu sütunda import butonu devre dışı kalır.","Önce küçük test dosyası (5–10 satır) yükleyip katalogda doğrulayın."],warnings:["Aynı SKU tekrar yüklenirse güncelleme davranışına dikkat edin; önce test ortamında deneyin."]},"bayi-siparis-sureci":{audience:"Bayi kullanıcısı",menuPath:"Bayi portalı → Katalog → Sepet → Sipariş gönder",summary:"Bayi sipariş akışı: katalogda ürün bul → sepete ekle → miktar/not kontrol → gönder. İskonto ve KDV sepet özetinde otomatik hesaplanır; stok yetersiz ürün eklenemez.",steps:[{title:"Kataloğa gidin",detail:"Bayi girişi → Katalog (/dealer/catalog)."},{title:"Ürün arayın ve sepete ekleyin",detail:"Arama/filtre kullanın; stokta olan ürünlerde “Sepete ekle” aktif olur."},{title:"Sepeti kontrol edin",detail:"Sepet sayfasında miktarları düzenleyin; isteğe bağlı sipariş notu yazın."},{title:"Özeti inceleyin",detail:"Ara toplam, iskonto, KDV (%20) ve genel toplam görünür."},{title:"Siparişi gönderin",detail:"“Siparişi gönder” → durum Gönderildi olur; Siparişler'den takip edin."}],requiredFields:["En az bir sepet satırı","Yeterli stok"],tips:["AppBar barkod ikonu Hızlı Sipariş açar — bilinen SKU için hızlı ekleme.","Stok yetersizse snackbar uyarısı çıkar; miktarı düşürün veya ürünü çıkarın.","Sipariş notu depo ekibine picking sırasında görünür."]},"siparis-yonetme":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Siparişler (/admin/orders)",summary:"Sipariş tahtası, bayiden gelen siparişlerin yaşam döngüsünü yönetir. Durum akışı: Gönderildi → Onaylandı → Toplanıyor → Sevk edildi → Teslim edildi. Admin buradan onay verir ve depo sürecini tetikler.",steps:[{title:"Siparişler menüsüne gidin",detail:"Sol menü → Siparişler; liste veya tahta görünümü açılır."},{title:"Filtreleyin",detail:"Tümü, Taslak, Gönderildi, Onaylandı, Toplanıyor, Sevk edildi, Teslim edildi filtreleri kullanın."},{title:"Sipariş detayını açın",detail:"Satırlar, bayi bilgisi, tutar ve notları inceleyin."},{title:"Durumu güncelleyin",detail:"Onayla → Toplamaya al → Sevk et → Teslim edildi hızlı butonları veya dropdown kullanın."},{title:"Fatura ve dışa aktarım",detail:"Faturayı yazdır, Excel dışa aktar (siparisler.xlsx) veya tekrar sipariş oluştur."}],requiredFields:["Yeni durum seçimi (admin)"],tips:["Depo picking, Onaylandı/Toplanıyor durumundaki siparişleri listeler.","Admin doğrudan sipariş oluşturmaz; bayi/plasiyer akışından gelir.","Durum değişince bayi bildirim alır."]},"plasiyer-mantigi":{audience:"Plasiyer",menuPath:"Plasiyer portalı → Bayiler → Katalog → Sepet",summary:"Plasiyer, sahadaki bayi adına sipariş girer. Önce bayi seçilir, sonra katalog o bayinin iskonto ve limitleriyle açılır. Sarı banner aktif bayiyi gösterir; bayi değiştirmeden farklı bayiye sipariş gitmez.",steps:[{title:"Plasiyer olarak giriş yapın",detail:"plasiyer@... hesabıyla giriş → /plasiyer/dealers."},{title:"Bayi seçin",detail:"Atanan bayiler listesinden bir kart seçin → “Bayi adına sipariş başlat”."},{title:"Katalogda ürün ekleyin",detail:"Sarı banner aktif bayiyi gösterir; ürünleri sepete ekleyin."},{title:"Sepette bayi kontrolü",detail:"Sepet sayfasında bayi seçici ve uyarı metni görünür; yanlış bayi varsa değiştirin."},{title:"Siparişi gönderin",detail:"Gönder → Siparişler'den takip; banner'dan başka bayiye geçebilirsiniz."}],requiredFields:["Bayi seçimi (zorunlu)","Sepet satırları"],tips:["Bayi seçilmeden “sipariş başlat” pasif kalır.","Her saha ziyaretinde doğru bayiyi seçtiğinizi banner'dan doğrulayın.","Sipariş, seçili bayinin hesabına yazılır — plasiyer kendi adına sipariş vermez."]},"depo-portali-islemler":{audience:"Depo personeli",menuPath:"Depo portalı → QR stok / Mal Girişi / Sipariş Toplama / Depo Transferi",summary:"Depo portalı dört ana operasyon sunar: mal kabul (inbound), sipariş toplama (picking), depolar arası transfer ve genel QR stok ekranı. Toptancı admin de /admin/qr-stock üzerinden aynı arayüzü kullanabilir.",steps:[{title:"Depo hesabıyla giriş yapın",detail:"depo@... ile giriş; kullanıcıya Bağlı depo atanmış olmalı."},{title:"Menüyü tanıyın",detail:"QR stok, Mal Girişi, Sipariş Toplama, Depo Transferi modülleri."},{title:"Mal kabul yapın",detail:"Gelen malzeme için inbound modunu kullanın."},{title:"Sipariş toplayın",detail:"Onaylı siparişleri picking modunda barkodla doğrulayın."},{title:"Transfer yapın",detail:"Depolar arası stok kaydırmak için transfer modunu kullanın."}],requiredFields:["Depo rolü","Bağlı depo ataması"],tips:["Mobilde kamera + manuel barkod + galeriden okuma desteklenir.","Toptancı admin QR stok menüsü depo ile aynı ekrandır.","Her mod segment butonlarıyla geçilir; mod karıştırmayın."]},"qr-mal-kabul":{audience:"Depo personeli",menuPath:"Depo portalı → Mal Girişi (Inbound)",summary:"QR mal kabul, depoya giren ürünleri barkod okutarak stoka işler. Okutma sonrası miktar alanına otomatik odaklanır; kayıttan sonra form bir sonraki okutmaya hazır hale gelir.",steps:[{title:"Mal kabul modunu seçin",detail:"QR stok ekranında segment: Mal kabul (Inbound)."},{title:"Depo seçin",detail:"Aktif depolar listelenir; tedarikçi depoları inbound hedefinde filtrelenir."},{title:"Barkod okutun",detail:"Kamera veya manuel giriş; ürün chip'te görünür."},{title:"Miktar ve raf kodu girin",detail:"Miktar (varsayılan 1), raf kodu (varsayılan A-01-03) düzenleyin."},{title:"Kaydedin",detail:"“Ürün başarıyla eklendi” mesajı; form sıfırlanır, sonraki ürüne geçin."}],requiredFields:["Barkod/SKU","Miktar > 0","Raf kodu","Depo"],tips:["Okuttuktan sonra miktar alanına otomatik odaklanır — klavye ile hızlı giriş.","Aynı ürünü art arda okutup miktarı artırabilirsiniz.","Tedarikçi konsinye malı önce tedarikçi portalında güncellenir, sonra inbound ile ana depoya alınır."]},"siparis-toplama-picking":{audience:"Depo personeli",menuPath:"Depo portalı → Sipariş Toplama (Picking)",summary:"Picking modu sıfır hata hedefler: her okutma anında doğrulanır. Yanlış ürün kırmızı snackbar, fazla miktar ayrı uyarı verir. Tüm satırlar tamamlanınca sipariş hazırdır.",steps:[{title:"Toplama modunu açın",detail:"Segment: Toplama → onaylı sipariş listesi yüklenir."},{title:"Sipariş seçin",detail:"confirmed veya picking durumundaki siparişi seçin; pick list açılır."},{title:"Barkod okutun",detail:"Raftan aldığınız ürünü okutun; sistem satırı işaretler."},{title:"Hataları düzeltin",detail:"Yanlış ürün: “listedeki ürün değil”; fazla: “sipariş miktarını aştı” — doğru ürün/miktar okutun."},{title:"Tamamlayın",detail:"Tüm satırlar yeşil olunca admin Sevk durumuna geçebilir."}],requiredFields:["Sipariş seçimi","Doğru barkod her satır için"],tips:["Okutma otomatik verify çağırır — ayrı onay butonu yok, hızlı akış.","1,5 sn içinde aynı barkod tekrarı yutulur (kamera çift okuma koruması).","Sipariş notunu picking öncesi okuyun — özel talimat olabilir."],warnings:["Yanlış barkodu zorla geçirmeye çalışmayın; stok ve müşteri memnuniyeti için doğrulama şart."]},"depolar-arasi-sevk":{audience:"Depo personeli",menuPath:"Depo portalı → Depo Transferi",summary:"Depolar arası sevk, bir depodan diğerine stok kaydırır. Kaynak ve hedef farklı olmalı; kaynakta yeterli stok yoksa Türkçe hata mesajı görürsünüz.",steps:[{title:"Transfer modunu seçin",detail:"QR stok → segment: Transfer."},{title:"Kaynak ve hedef depo seçin",detail:"İki depo farklı olmalı; tedarikçi depoları listede ayrılır."},{title:"Ürün barkodunu okutun",detail:"Transfer edilecek SKU/barkod okutulur."},{title:"Miktar girin ve onaylayın",detail:"Transfer miktarı > 0; onaylayın."},{title:"Sonucu doğrulayın",detail:"Başarı banner'ı kaynak/hedef/miktar/ürün gösterir; form sıfırlanır."}],requiredFields:["Kaynak depo","Hedef depo","Barkod","Miktar > 0"],tips:["Kaynak = hedef seçilirse form hata verir.","Önce kaynak depoda stok olduğundan emin olun.","Şube depolar arası günlük dengeleme için idealdir."]},"tedarikci-portal-alim":{audience:"Tedarikçi",menuPath:"Tedarikçi portalı → Depo stoğum",summary:"Konsinye tedarikçi, kendi deposundaki stok miktarını portalden günceller. Toptancı bu stoğu QR mal kabul veya transfer ile ana depoya alır. Size atanmamış ürün güncellenemez.",steps:[{title:"Tedarikçi olarak giriş yapın",detail:"/supplier portalına e-posta/şifre ile girin."},{title:"Depo stoğum sekmesine gidin",detail:"Konsinye stok tablosu açılır."},{title:"Ürün bulun",detail:"QR/barkod okutun veya listede SKU/barkod arayın."},{title:"Miktar güncelleyin",detail:"Dialogda yeni miktar girin → Kaydet."},{title:"Toptancı mal kabul yapsın",detail:"Toptancı QR stok → Mal kabul ile stoğu kendi deposuna alır."}],requiredFields:["Atanmış konsinye ürün","Yeni miktar"],tips:["Ürün size atanmamışsa: “Önce toptancının bu ürünü size ataması gerekir”.","Tabloda manuel satır girişi kapalı; QR okutma akışı tercih edilir.","Stok güncellemesinden sonra toptancıyı bilgilendirin — inbound gecikmesin."]},"yeni-urun-karti":{audience:"Toptancı admin",menuPath:"Toptancı yönetimi → Katalog → Yeni ürün",summary:"Ürün kartı SKU, kategori, fiyat ve isteğe bağlı barkod/OEM/görsel içerir. Kayıt sonrası form açık kalır; görsel hemen veya sonra yüklenebilir. Tek kategori varsa otomatik seçilir.",steps:[{title:"Yeni ürün formunu açın",detail:"Katalog → sağ alttaki Yeni ürün (FAB) veya mobil merkez menü."},{title:"Kategori seçin",detail:"Dropdown'dan kategori; yoksa formdan Yeni kategori açın."},{title:"Zorunlu alanları doldurun",detail:"SKU, ürün adı, temel fiyat (> 0). Opsiyonel: tedarikçi, barkod, OEM."},{title:"Kaydedin",detail:"Kaydet → ürün oluşur; form açık kalır (yeni kayıtta)."},{title:"Görsel yükleyin",detail:"Görsel seç → otomatik yüklenir; katalog listesinde thumbnail görünür."}],requiredFields:["Kategori","SKU","Ürün adı","Temel fiyat"],tips:["Kaydetmeden önce görsel seçebilirsiniz — kayıt sonrası otomatik yüklenir.","Barkod, QR mal kabul ve picking'de okutulacak değerdir; doğru girin.","Excel toplu yükleme çok ürün için daha hızlıdır; tek ürün için form idealdir."]}};function mh(a){return ph[a]}function hh(){const{slug:a=""}=lm(),s=oh(a),o=mh(a);if(!s)return u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container",children:[u.jsx("h1",{children:"Video bulunamadı"}),u.jsx(ke,{to:"/videolar",children:"Tüm videolara dön"})]})});const d=`${Ye.baseUrl}/videolar/${s.slug}`,p=rn.filter(y=>y.slug!==s.slug).slice(0,3),m={"@context":"https://schema.org","@type":"VideoObject",name:s.title,description:(o==null?void 0:o.summary)??s.description,url:d,...s.youtubeId?{embedUrl:`https://www.youtube.com/embed/${s.youtubeId}`,thumbnailUrl:`https://i.ytimg.com/vi/${s.youtubeId}/hqdefault.jpg`}:{},publisher:{"@type":"Organization",name:"Trunçgil",url:"https://truncgil.com"}};return u.jsxs(u.Fragment,{children:[u.jsx(Qr,{title:s.title,description:(o==null?void 0:o.summary)??s.description,path:`/videolar/${s.slug}`,jsonLd:m}),u.jsxs("section",{className:"page-hero page-hero--compact",children:[u.jsxs("div",{className:"page-hero__orbs","aria-hidden":!0,children:[u.jsx("span",{className:"orb orb--1"}),u.jsx("span",{className:"orb orb--2"})]}),u.jsx("div",{className:"container page-hero__inner",children:u.jsxs(te,{children:[u.jsx(ke,{to:"/videolar",className:"breadcrumb",children:"← Tüm videolar"}),u.jsx("p",{className:"eyebrow eyebrow--light",children:s.duration}),u.jsx("h1",{className:"page-hero__title page-hero__title--sm",children:s.shortTitle}),u.jsx("p",{className:"page-hero__lead",children:(o==null?void 0:o.summary)??s.description}),u.jsx("ul",{className:"tag-list tag-list--light",children:s.tags.map(y=>u.jsx("li",{children:y},y))})]})})]}),u.jsx("section",{className:"section section--tight",children:u.jsxs("div",{className:"container video-detail-layout",children:[u.jsx(te,{children:u.jsxs("div",{className:"video-detail-main",children:[s.youtubeId?u.jsx("div",{className:"video-embed video-embed--glow",children:u.jsx("iframe",{title:s.shortTitle,src:`https://www.youtube.com/embed/${s.youtubeId}`,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}):u.jsx("div",{className:"placeholder-embed",children:u.jsx("p",{children:"YouTube videosu henüz bağlanmadı."})}),o?u.jsx(fh,{guide:o,videoTitle:s.shortTitle}):u.jsxs("div",{className:"highlights-box",children:[u.jsx("h2",{children:"Bu videoda neler var?"}),u.jsx("ul",{className:"check-list check-list--modern",children:s.highlights.map(y=>u.jsx("li",{children:y},y))})]})]})}),u.jsxs("aside",{className:"video-detail-sidebar",children:[u.jsx(te,{delay:100,children:u.jsxs("div",{className:"sidebar-card",children:[u.jsx("h3",{children:"Video özeti"}),u.jsx("ul",{className:"check-list check-list--modern check-list--compact",children:s.highlights.map(y=>u.jsx("li",{children:y},y))})]})}),u.jsx(te,{delay:140,children:u.jsxs("div",{className:"sidebar-card",children:[u.jsx("h3",{children:"Hızlı bağlantılar"}),u.jsxs("ul",{className:"sidebar-links",children:[u.jsx("li",{children:u.jsx(ke,{to:"/kullanim-kilavuzu",children:"Yazılı kullanım kılavuzu"})}),u.jsx("li",{children:u.jsx(ke,{to:"/demo",children:"Canlı demo talep et"})}),u.jsx("li",{children:u.jsx("a",{href:Ye.appUrl,children:"b2b.truncgil.com"})})]})]})}),u.jsx(te,{delay:180,children:u.jsxs("div",{className:"sidebar-card sidebar-card--cta",children:[u.jsx("h3",{children:"Platformu deneyin"}),u.jsx("p",{children:"Canlı ortamda katalog, sipariş ve QR stok akışını görün."}),u.jsx(ke,{to:"/demo",className:"btn btn-primary btn-glow btn-block",children:"Demo Talep Et"})]})})]})]})}),u.jsx("section",{className:"section alt",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsx("h2",{children:"Diğer videolar"})}),u.jsx("div",{className:"video-grid-modern video-grid-modern--3",children:p.map((y,S)=>u.jsx(te,{delay:S*80,children:u.jsx(Ro,{video:y,index:S,compact:!0})},y.slug))})]})})]})}const yh=[{id:"toptanci",title:"Toptancı yönetimi",icon:"🏢",description:"Katalog, bayi, sipariş, depo ve rapor yönetimi — admin paneli.",links:[{slug:"toptanci-girisi",label:"Toptancı girişi"},{slug:"yeni-kategori-ekleme",label:"Kategori ekleme"},{slug:"yeni-urun-karti",label:"Yeni ürün kartı"},{slug:"yeni-bayi-ekleme",label:"Bayi ekleme"},{slug:"depo-ekleme",label:"Depo ekleme"},{slug:"tedarikci-ekleme",label:"Tedarikçi ekleme"},{slug:"kullanici-ekleme",label:"Kullanıcı ekleme"},{slug:"iskonto-kademesi",label:"İskonto kademesi"},{slug:"excel-import-export",label:"Excel içe/dışa aktarım"},{slug:"siparis-yonetme",label:"Sipariş yönetimi"}]},{id:"bayi",title:"Bayi portalı",icon:"🛒",description:"Katalog, sepet ve sipariş verme — bayi kullanıcıları için.",links:[{slug:"bayi-girisi",label:"Bayi girişi"},{slug:"bayi-siparis-sureci",label:"Sipariş süreci"}]},{id:"plasiyer",title:"Plasiyer (saha satış)",icon:"🚗",description:"Bayi adına sipariş oluşturma — saha ekibi.",links:[{slug:"plasiyer-mantigi",label:"Plasiyer mantığı"}]},{id:"depo",title:"Depo & QR stok",icon:"📦",description:"Mal kabul, sipariş toplama, transfer — depo operasyonları.",links:[{slug:"depo-portali-islemler",label:"Depo portalı genel bakış"},{slug:"qr-mal-kabul",label:"QR mal kabul (inbound)"},{slug:"siparis-toplama-picking",label:"Sipariş toplama (picking)"},{slug:"depolar-arasi-sevk",label:"Depolar arası sevk"}]},{id:"tedarikci",title:"Tedarikçi portalı",icon:"🏭",description:"Konsinye stok güncelleme — tedarikçi firmalar.",links:[{slug:"tedarikci-portal-alim",label:"Tedarikçi portal alımı"}]}],Zc=[{step:1,title:"Giriş yapın",detail:"b2b.truncgil.com adresine gidin. Size verilen firma kodu, e-posta ve şifre ile giriş yapın. Rolünüze göre otomatik doğru portala yönlendirilirsiniz."},{step:2,title:"Katalog yapısını kurun (toptancı)",detail:"Önce Kategoriler, sonra ürün kartları veya Excel toplu yükleme. Bayi ve depo tanımlarından sonra operasyon başlar."},{step:3,title:"Bayi sipariş versin",detail:"Bayi katalogdan sepete ekler → Siparişi gönderir. Toptancı Siparişler'den onaylar → depo toplama süreci başlar."},{step:4,title:"Depo QR ile hazırlasın",detail:"Mal kabul (inbound) ile stok girin. Picking modunda sipariş satırlarını barkodla doğrulayın — yanlış ürün anında uyarı verir."},{step:5,title:"Durumu güncelleyin",detail:"Admin sipariş durumunu Toplanıyor → Sevk → Teslim edildi olarak ilerletir. Bayi bildirim alır."}];function gh(){const a={"@context":"https://schema.org","@type":"HowTo",name:"Trunçgil B2B Kullanım Kılavuzu",description:"Toptancı, bayi, depo ve tedarikçi ekipleri için adım adım Trunçgil B2B rehberi.",step:Zc.map(s=>({"@type":"HowToStep",name:s.title,text:s.detail}))};return u.jsxs(u.Fragment,{children:[u.jsx(Qr,{title:"Trunçgil B2B Kullanım Kılavuzu | Toptancı, Bayi, Depo Rehberi",description:"Giriş, katalog, bayi siparişi, QR stok, picking, Excel ve tedarikçi portalı — kod tabanlı detaylı Türkçe kılavuz.",path:"/kullanim-kilavuzu",jsonLd:[a,{"@context":"https://schema.org","@type":"FAQPage",mainEntity:No.map(s=>({"@type":"Question",name:s.question,acceptedAnswer:{"@type":"Answer",text:s.answer}}))}]}),u.jsxs("section",{className:"page-hero page-hero--compact",children:[u.jsxs("div",{className:"page-hero__orbs","aria-hidden":!0,children:[u.jsx("span",{className:"orb orb--1"}),u.jsx("span",{className:"orb orb--2"})]}),u.jsx("div",{className:"container page-hero__inner",children:u.jsxs(te,{children:[u.jsx("p",{className:"eyebrow eyebrow--light",children:"Kullanım kılavuzu"}),u.jsxs("h1",{className:"page-hero__title page-hero__title--sm",children:["Trunçgil B2B",u.jsx("span",{children:" adım adım rehber"})]}),u.jsx("p",{className:"page-hero__lead",children:"Her modül için menü yolu, zorunlu alanlar ve verimlilik ipuçları. Videolarla birlikte kullanın — her video sayfasında detaylı açıklama da var."})]})})]}),u.jsx("section",{className:"section section--tight",children:u.jsxs("div",{className:"container",children:[u.jsxs(te,{children:[u.jsx("h2",{children:"Hızlı başlangıç (5 adım)"}),u.jsx("p",{className:"section-sub",children:"Yeni kullanıcılar için uçtan uca akış"})]}),u.jsx("div",{className:"quick-start-grid",children:Zc.map((s,o)=>u.jsx(te,{delay:o*70,children:u.jsxs("div",{className:"quick-start-card",children:[u.jsx("span",{className:"quick-start-card__num",children:s.step}),u.jsx("h3",{children:s.title}),u.jsx("p",{children:s.detail})]})},s.step))})]})}),u.jsx("section",{className:"section alt",children:u.jsxs("div",{className:"container",children:[u.jsxs(te,{children:[u.jsx("h2",{children:"Role göre rehberler"}),u.jsx("p",{className:"section-sub",children:"Her bölümde ilgili eğitim videolarına link var"})]}),u.jsx("div",{className:"guide-sections",children:yh.map((s,o)=>u.jsx(te,{delay:o*80,children:u.jsxs("article",{className:"guide-section-card",children:[u.jsxs("div",{className:"guide-section-card__head",children:[u.jsx("span",{className:"guide-section-card__icon",children:s.icon}),u.jsxs("div",{children:[u.jsx("h3",{children:s.title}),u.jsx("p",{children:s.description})]})]}),u.jsx("ul",{className:"guide-section-card__links",children:s.links.map(d=>{const p=rn.find(m=>m.slug===d.slug);return u.jsx("li",{children:u.jsxs(ke,{to:`/videolar/${d.slug}`,children:[u.jsx("span",{children:d.label}),p?u.jsx("small",{children:p.duration}):null]})},d.slug)})})]})},s.id))})]})}),u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsx("h2",{children:"Depo QR işlemleri — detay"})}),u.jsxs("div",{className:"guide-detail-grid",children:[u.jsx(te,{delay:60,children:u.jsxs("div",{className:"guide-card guide-card--tips",children:[u.jsx("h3",{children:"📥 Mal kabul (Inbound)"}),u.jsxs("ol",{children:[u.jsx("li",{children:"Depo portalı → Mal Girişi modunu seçin"}),u.jsx("li",{children:"Depo, barkod, miktar ve raf kodu girin"}),u.jsx("li",{children:"Kaydet — stok anında güncellenir"})]}),u.jsx(ke,{to:"/videolar/qr-mal-kabul",className:"text-link",children:"Video rehberi →"})]})}),u.jsx(te,{delay:120,children:u.jsxs("div",{className:"guide-card guide-card--tips",children:[u.jsx("h3",{children:"📤 Sipariş toplama (Picking)"}),u.jsxs("ol",{children:[u.jsx("li",{children:"Onaylı siparişi seçin"}),u.jsx("li",{children:"Her ürünü raftan alırken barkod okutun"}),u.jsx("li",{children:"Yanlış ürün kırmızı uyarı verir — 0 hata hedefi"})]}),u.jsx(ke,{to:"/videolar/siparis-toplama-picking",className:"text-link",children:"Video rehberi →"})]})}),u.jsx(te,{delay:180,children:u.jsxs("div",{className:"guide-card guide-card--tips",children:[u.jsx("h3",{children:"🔄 Depolar arası transfer"}),u.jsxs("ol",{children:[u.jsx("li",{children:"Kaynak ve hedef depo seçin (farklı olmalı)"}),u.jsx("li",{children:"Barkod okutun, miktar girin"}),u.jsx("li",{children:"Kaynak stok yetersizse sistem uyarır"})]}),u.jsx(ke,{to:"/videolar/depolar-arasi-sevk",className:"text-link",children:"Video rehberi →"})]})})]})]})}),u.jsx("section",{className:"section alt",children:u.jsxs("div",{className:"container",children:[u.jsx(te,{children:u.jsx("h2",{children:"Sık sorulan sorular"})}),u.jsx("div",{className:"faq-list",children:No.map((s,o)=>u.jsx(te,{delay:o*50,children:u.jsxs("details",{className:"faq-item",children:[u.jsx("summary",{children:s.question}),u.jsx("p",{children:s.answer})]})},s.question))}),u.jsx(te,{delay:200,children:u.jsxs("div",{className:"cta-banner",children:[u.jsxs("div",{children:[u.jsx("h3",{children:"Canlı görmek ister misiniz?"}),u.jsx("p",{children:"Ekibimiz size özel demo planlasın veya doğrudan uygulamayı açın."})]}),u.jsxs("div",{className:"cta-banner__actions",children:[u.jsx(ke,{to:"/demo",className:"btn btn-primary btn-glow",children:"Demo Talep Et"}),u.jsx("a",{className:"btn btn-secondary",href:Ye.appUrl,children:"Uygulamayı Aç"})]})]})})]})})]})}function vh(){const[a,s]=O.useState(!1);function o(d){d.preventDefault();const p=new FormData(d.currentTarget),m=String(p.get("name")??""),y=String(p.get("company")??""),S=String(p.get("email")??""),v=String(p.get("phone")??""),T=String(p.get("message")??""),C=encodeURIComponent(`Trunçgil B2B Demo Talebi — ${y||m}`),E=encodeURIComponent(`Ad: ${m} +Firma: ${y} +E-posta: ${S} +Telefon: ${v} + +Mesaj: +${T}`);window.location.href=`mailto:${Ye.demoEmail}?subject=${C}&body=${E}`,s(!0)}return u.jsxs(u.Fragment,{children:[u.jsx(Qr,{title:"Trunçgil B2B Demo Talep | Canlı Gösterim",description:"Trunçgil B2B için demo talep edin. QR stok, bayi kataloğu ve toptancı admin panelini canlı görün.",path:"/demo"}),u.jsx("section",{className:"section page-head",children:u.jsxs("div",{className:"container narrow",children:[u.jsx("p",{className:"eyebrow",children:"Demo"}),u.jsx("h1",{children:"Hemen demo talep et"}),u.jsx("p",{className:"lead",children:"Formu doldurun; e-posta istemciniz açılır. Ekibimiz size dönüş yaparak canlı demo planlar."})]})}),u.jsx("section",{className:"section",children:u.jsxs("div",{className:"container narrow",children:[a?u.jsxs("div",{className:"success-box",children:[u.jsx("h2",{children:"Teşekkürler!"}),u.jsxs("p",{children:["E-posta istemciniz açıldıysa gönder butonuna basarak talebinizi iletebilirsiniz. Açılmadıysa doğrudan ",u.jsx("a",{href:`mailto:${Ye.demoEmail}`,children:Ye.demoEmail})," ","adresine yazın."]})]}):null,u.jsxs("form",{className:"demo-form",onSubmit:o,children:[u.jsxs("label",{children:["Ad Soyad",u.jsx("input",{name:"name",required:!0,autoComplete:"name"})]}),u.jsxs("label",{children:["Firma",u.jsx("input",{name:"company",required:!0,autoComplete:"organization"})]}),u.jsxs("label",{children:["E-posta",u.jsx("input",{name:"email",type:"email",required:!0,autoComplete:"email"})]}),u.jsxs("label",{children:["Telefon",u.jsx("input",{name:"phone",type:"tel",autoComplete:"tel"})]}),u.jsxs("label",{children:["Mesajınız",u.jsx("textarea",{name:"message",rows:5,placeholder:"Kaç bayiniz var? Hangi modüller ilginizi çekiyor?"})]}),u.jsx("button",{type:"submit",className:"btn btn-primary",children:"Demo Talebi Gönder"})]})]})})]})}function kh(){return u.jsx(sh,{children:u.jsxs(wm,{children:[u.jsx(Yn,{path:"/",element:u.jsx(uh,{})}),u.jsx(Yn,{path:"/videolar",element:u.jsx(dh,{})}),u.jsx(Yn,{path:"/videolar/:slug",element:u.jsx(hh,{})}),u.jsx(Yn,{path:"/kullanim-kilavuzu",element:u.jsx(gh,{})}),u.jsx(Yn,{path:"/demo",element:u.jsx(vh,{})})]})})}Rp.createRoot(document.getElementById("root")).render(u.jsx(Ct.StrictMode,{children:u.jsx(xd,{children:u.jsx(Pm,{basename:"/b2b",children:u.jsx(kh,{})})})})); diff --git a/public/b2b/assets/index-Dc8a63TK.css b/public/b2b/assets/index-Dc8a63TK.css new file mode 100644 index 0000000..a47c952 --- /dev/null +++ b/public/b2b/assets/index-Dc8a63TK.css @@ -0,0 +1 @@ +:root{color-scheme:light;--bg: #f0f4ff;--bg-2: #e8eefb;--surface: #ffffff;--text: #0b1220;--muted: #5b6478;--brand: #1e3a8a;--brand-2: #3b82f6;--brand-3: #6366f1;--accent: #0d9488;--accent-2: #14b8a6;--border: rgba(15, 23, 42, .08);--shadow: 0 24px 60px rgba(15, 23, 42, .1);--shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);--radius: 20px;--radius-sm: 14px;--header-h: 72px;font-family:Plus Jakarta Sans,Segoe UI,system-ui,sans-serif;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--brand-2);transition:color .2s ease}a:hover{color:var(--brand-3)}h1,h2,h3{line-height:1.15;letter-spacing:-.02em}.container{width:min(1140px,calc(100% - 2rem));margin-inline:auto}.narrow{width:min(760px,calc(100% - 2rem))}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:100;border-radius:8px}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);background:#ffffffb8;border-bottom:1px solid transparent;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}.site-header--scrolled{background:#ffffffeb;border-bottom-color:var(--border);box-shadow:0 4px 24px #0f172a0f}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,#1e3a8a,#3b82f6,#6366f1);box-shadow:0 8px 20px #2563eb59;transition:transform .3s ease}.brand:hover .brand-mark{transform:scale(1.05) rotate(-3deg)}.brand small{display:block;color:var(--muted);font-size:.78rem}nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}nav a{text-decoration:none;color:var(--text);font-weight:600;font-size:.92rem;padding:.5rem .85rem;border-radius:999px;transition:background .2s ease,color .2s ease}nav a:hover{background:#3b82f614;color:var(--brand-2)}nav a.active{color:var(--brand-2);background:#3b82f61a}.nav-cta{background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;color:#fff!important;box-shadow:0 6px 18px #2563eb4d}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563eb59;color:#fff!important}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms)}.reveal--visible{opacity:1;transform:translateY(0)}.hero,.page-hero{position:relative;overflow:hidden}.hero__orbs,.page-hero__orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:float 12s ease-in-out infinite}.orb--1{width:420px;height:420px;background:#3b82f6;top:-120px;right:-80px}.orb--2{width:320px;height:320px;background:#14b8a6;bottom:-100px;left:-60px;animation-delay:-4s}.orb--3{width:260px;height:260px;background:#6366f1;top:40%;left:35%;animation-delay:-7s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(24px,-20px) scale(1.05)}66%{transform:translate(-16px,12px) scale(.95)}}.hero{background:linear-gradient(145deg,#020617,#0b1b3a 40%,#1e3a8a);color:#fff;padding:5rem 0 4.5rem}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}.hero__title{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:800;margin:.5rem 0 1rem}.hero__title span{background:linear-gradient(90deg,#93c5fd,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--brand-2);margin:0}.eyebrow--light{color:#93c5fd}.lead{font-size:1.125rem;color:var(--muted);max-width:52ch}.hero .lead{color:#ffffffd1}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.hero-card,.guide-preview,.placeholder-embed,.success-box,.cta-box,.featured-player,.highlights-box,.sidebar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.hero-card{padding:1.75rem;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:cardGlow 4s ease-in-out infinite}@keyframes cardGlow{0%,to{box-shadow:var(--shadow-sm),0 0 #3b82f600}50%{box-shadow:var(--shadow-sm),0 0 40px #3b82f614}}.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.feature-list li{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}.feature-icon{flex-shrink:0}.page-hero{background:linear-gradient(145deg,#020617,#0f172a,#1e3a8a);color:#fff;padding:4.5rem 0 3.5rem}.page-hero--compact{padding:3.5rem 0 2.5rem}.page-hero__inner{position:relative;z-index:1}.page-hero__title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;margin:.4rem 0 1rem;line-height:1.08}.page-hero__title span{display:block;background:linear-gradient(90deg,#93c5fd,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-hero__title--sm{font-size:clamp(1.75rem,4vw,2.5rem)}.page-hero__title--sm span{display:inline}.page-hero__lead{font-size:1.125rem;color:#ffffffc7;max-width:58ch;margin:0}.breadcrumb{display:inline-block;color:#ffffffa6;text-decoration:none;font-size:.9rem;margin-bottom:1rem;transition:color .2s}.breadcrumb:hover{color:#fff}.stat-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.stat-pill{display:flex;flex-direction:column;padding:.85rem 1.25rem;border-radius:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:100px}.stat-pill strong{font-size:1.5rem;font-weight:800;line-height:1}.stat-pill span{font-size:.78rem;color:#ffffffa6;margin-top:.25rem}.stat-pill--accent{background:#14b8a626;border-color:#2dd4bf40}.section{padding:3.5rem 0}.section--tight{padding-top:2rem}.section.alt{background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%)}.section-head{margin-bottom:1.75rem}.section-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.section-sub{color:var(--muted);margin:.35rem 0 0}.page-head{padding-top:2.5rem}.page-head .lead{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.35rem;border-radius:14px;font-weight:700;font-size:.92rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;box-shadow:0 8px 24px #0d948859}.btn-glow:hover{box-shadow:0 12px 32px #0d948873}.btn-secondary{background:#fff;color:var(--brand);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-ghost{background:#ffffff0f;color:#fff;border-color:#fff3}.btn-glass{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-block{width:100%}.featured-player{padding:1.5rem;background:linear-gradient(135deg,#fff,#f8faff)}.featured-player__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.featured-player__header h2{margin:.25rem 0 0;font-size:1.35rem}.playlist-embed,.video-embed{aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-sm);background:#0f172a}.playlist-embed iframe,.video-embed iframe{width:100%;height:100%;border:0}.playlist-embed--glow,.video-embed--glow{position:relative;box-shadow:var(--shadow)}.playlist-embed--glow:before,.video-embed--glow:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:calc(var(--radius-sm) + 2px);background:linear-gradient(135deg,#3b82f6,#14b8a6,#6366f1);z-index:-1;opacity:.55;animation:borderPulse 4s ease-in-out infinite}@keyframes borderPulse{0%,to{opacity:.45}50%{opacity:.75}}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}.filter-chip{padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--muted);font:inherit;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .25s ease}.filter-chip:hover{border-color:#3b82f64d;color:var(--brand-2);transform:translateY(-1px)}.filter-chip--active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;box-shadow:0 6px 18px #2563eb4d}.video-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.video-grid-modern--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.video-card-modern{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;height:100%;display:flex;flex-direction:column}.video-card-modern:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.video-card-modern__media{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(135deg,#1e3a8a,#0f172a);text-decoration:none}.video-card-modern__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}.video-card-modern:hover .video-card-modern__media img{transform:scale(1.06)}.video-card-modern__placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2rem;color:#ffffff80}.video-card-modern__shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.video-card-modern:hover .video-card-modern__shine{transform:translate(100%)}.video-card-modern__play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#02061759;opacity:0;transition:opacity .3s ease}.video-card-modern__play svg{width:52px;height:52px;padding:14px;border-radius:50%;background:#fffffff2;color:var(--brand);box-shadow:0 8px 24px #00000040;transition:transform .3s ease}.video-card-modern:hover .video-card-modern__play{opacity:1}.video-card-modern:hover .video-card-modern__play svg{transform:scale(1.08)}.video-card-modern__duration{position:absolute;bottom:.65rem;right:.65rem;padding:.25rem .55rem;border-radius:8px;background:#020617c7;color:#fff;font-size:.72rem;font-weight:700}.video-card-modern__body{padding:1.15rem 1.25rem 1.25rem;flex:1;display:flex;flex-direction:column}.video-card-modern__body h2,.video-card-modern__body h3{margin:0 0 .5rem;font-size:1.05rem}.video-card-modern__body h2 a,.video-card-modern__body h3 a{color:var(--text);text-decoration:none}.video-card-modern__body h2 a:hover{color:var(--brand-2)}.video-card-modern__body p{margin:0 0 .85rem;color:var(--muted);font-size:.9rem;flex:1}.video-card-modern--compact .video-card-modern__body{padding:1rem 1.1rem 1.1rem}.video-card-modern__cta{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.88rem;text-decoration:none;margin-top:auto}.video-card-modern__cta svg{width:16px;height:16px;transition:transform .2s ease}.video-card-modern__cta:hover svg{transform:translate(3px)}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.video-card{padding:1.25rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.meta{color:var(--muted);font-size:.875rem}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.75rem 0 0}.tag-list li{background:#3b82f61a;color:var(--brand);padding:.22rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.tag-list--light li{background:#ffffff1f;color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}.text-link{font-weight:700}.cta-banner{margin-top:3rem;padding:2rem 2.25rem;border-radius:var(--radius);background:linear-gradient(135deg,#0f172a,#1e3a8a 60%,#312e81);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:var(--shadow)}.cta-banner h3{margin:0 0 .35rem}.cta-banner p{margin:0;color:#ffffffbf}.empty-state{text-align:center;color:var(--muted);padding:2rem}.video-detail-layout{display:grid;grid-template-columns:1fr 320px;gap:1.75rem;align-items:start}.highlights-box{padding:1.5rem;margin-top:1.5rem}.check-list--modern{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.check-list--modern li{display:flex;align-items:center;gap:.65rem;font-weight:500}.check-list--modern li:before{content:"✓";flex-shrink:0;width:24px;height:24px;border-radius:8px;background:#0d94881f;color:var(--accent);display:grid;place-items:center;font-size:.75rem;font-weight:800}.video-detail-sidebar{display:grid;gap:1rem;position:sticky;top:calc(var(--header-h) + 1rem)}.sidebar-card{padding:1.35rem}.sidebar-card h3{margin:0 0 .85rem;font-size:1rem}.sidebar-links{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.sidebar-links a{text-decoration:none;font-weight:600;font-size:.92rem}.sidebar-card--cta{background:linear-gradient(145deg,#0f172a,#1e3a8a);color:#fff;border:none}.sidebar-card--cta p{color:#ffffffbf;font-size:.9rem;margin:0 0 1rem}.sidebar-card--cta h3{color:#fff}.guide-panel{margin-top:2rem;padding:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,#fff,#f8faff);box-shadow:var(--shadow)}.guide-panel__header{padding:2rem 2rem 1.5rem;background:linear-gradient(135deg,#0f172a,#1e3a8a 70%,#312e81);color:#fff}.guide-panel__badge{display:inline-block;padding:.35rem .85rem;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.85rem}.guide-panel__header h2{margin:0 0 .75rem;font-size:1.5rem;color:#fff}.guide-panel__summary{margin:0;color:#ffffffd1;font-size:1.02rem;line-height:1.65;max-width:62ch}.guide-panel__path{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:1rem 2rem;background:#eef2ff;border-bottom:1px solid var(--border)}.guide-panel__path-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}.guide-panel__path code{font-size:.88rem;padding:.35rem .75rem;border-radius:10px;background:#fff;border:1px solid var(--border);color:var(--text);font-family:Cascadia Code,Consolas,monospace}.guide-panel__grid{display:grid;grid-template-columns:1.4fr .9fr;gap:0}.guide-panel__steps{padding:1.75rem 2rem 2rem;border-right:1px solid var(--border)}.guide-panel__steps h3,.guide-panel__aside h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:1.05rem}.guide-icon{font-size:1.1rem}.step-timeline{list-style:none;padding:0;margin:0;display:grid;gap:0}.step-timeline__item{display:grid;grid-template-columns:40px 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px dashed var(--border);position:relative}.step-timeline__item:last-child{border-bottom:none;padding-bottom:0}.step-timeline__num{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand-3));box-shadow:0 4px 14px #3b82f659;flex-shrink:0}.step-timeline__body strong{display:block;margin-bottom:.35rem;font-size:1rem}.step-timeline__body p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}.guide-panel__aside{padding:1.75rem 1.5rem 2rem;display:grid;gap:1rem;align-content:start;background:#f8faff99}.guide-card{padding:1.15rem 1.25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff}.guide-card h3{margin:0 0 .85rem;font-size:.95rem}.guide-card ul,.guide-card ol{margin:0;padding-left:1.1rem}.guide-card li{margin-bottom:.45rem;font-size:.88rem;color:var(--muted);line-height:1.5}.guide-card--tips{border-color:#0d948840;background:linear-gradient(135deg,#f0fdfa,#fff)}.guide-card--tips li::marker{color:var(--accent)}.guide-card--fields li{list-style:none;padding-left:0;position:relative;padding-left:1.1rem}.guide-card--fields li:before{content:"•";position:absolute;left:0;color:var(--brand-2);font-weight:800}.guide-card--warn{border-color:#f59e0b59;background:linear-gradient(135deg,#fffbeb,#fff)}.check-list--compact li{font-size:.88rem}.quick-start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.25rem}.quick-start-card{padding:1.35rem;border-radius:var(--radius);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.quick-start-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.quick-start-card__num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;font-size:.9rem;margin-bottom:.75rem}.quick-start-card h3{margin:0 0 .5rem;font-size:1rem}.quick-start-card p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.55}.guide-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;margin-top:1.25rem}.guide-section-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.guide-section-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.guide-section-card__head{display:flex;gap:1rem;margin-bottom:1.15rem}.guide-section-card__icon{font-size:1.75rem;line-height:1}.guide-section-card__head h3{margin:0 0 .25rem;font-size:1.05rem}.guide-section-card__head p{margin:0;font-size:.85rem;color:var(--muted)}.guide-section-card__links{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.guide-section-card__links a{display:flex;justify-content:space-between;align-items:center;padding:.55rem .75rem;border-radius:10px;text-decoration:none;color:var(--text);font-weight:600;font-size:.88rem;transition:background .2s ease}.guide-section-card__links a:hover{background:#3b82f614;color:var(--brand-2)}.guide-section-card__links small{color:var(--muted);font-weight:500}.guide-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1.25rem}.guide-detail-grid .guide-card ol{padding-left:1.2rem;margin-bottom:1rem}.cta-banner__actions{display:flex;flex-wrap:wrap;gap:.65rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.guide-preview{padding:1.75rem}.steps-list{padding-left:1.2rem;margin:0}.steps-list li{margin-bottom:.5rem;font-weight:500}.faq-list{display:grid;gap:.75rem;margin-top:1.25rem}.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1.15rem;transition:box-shadow .25s ease}.faq-item[open]{box-shadow:var(--shadow-sm)}.faq-item summary{cursor:pointer;font-weight:700;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{margin:.75rem 0 0;color:var(--muted)}.prose h2{margin-top:2rem}.demo-form{display:grid;gap:1rem}.demo-form label{display:grid;gap:.35rem;font-weight:600}.demo-form input,.demo-form textarea{padding:.75rem .9rem;border-radius:12px;border:1px solid var(--border);font:inherit;transition:border-color .2s,box-shadow .2s}.demo-form input:focus,.demo-form textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px #3b82f626}.placeholder-embed{display:grid;place-items:center;padding:2rem;text-align:center;aspect-ratio:16 / 9;border-radius:var(--radius-sm)}.check-list{padding-left:1.2rem}.related-links{columns:2}.site-footer{background:linear-gradient(180deg,#0b1b3a,#020617);color:#fff;padding:3rem 0;margin-top:2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer a{color:#bfdbfe;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer ul{list-style:none;padding:0}.muted{color:#94a3b8}.center{text-align:center}.mt-lg{margin-top:1.5rem}.cta-box,.success-box{padding:1.5rem;margin-top:2rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}@media(max-width:900px){.hero-grid,.two-col,.footer-grid,.video-detail-layout,.guide-panel__grid{grid-template-columns:1fr}.guide-panel__steps{border-right:none;border-bottom:1px solid var(--border)}.guide-panel__header,.guide-panel__path,.guide-panel__steps,.guide-panel__aside{padding-left:1.25rem;padding-right:1.25rem}.video-detail-sidebar{position:static}nav{width:100%;justify-content:flex-end}.section-head--row{align-items:flex-start;flex-direction:column}.cta-banner{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}} diff --git a/public/b2b/index.html b/public/b2b/index.html new file mode 100644 index 0000000..b29cee6 --- /dev/null +++ b/public/b2b/index.html @@ -0,0 +1,25 @@ + + + + + + + Trunçgil B2B | Toptancı & Bayi Yönetim Platformu + + + + + + + + + +
+ + diff --git a/public/b2b/robots.txt b/public/b2b/robots.txt new file mode 100644 index 0000000..2284b2a --- /dev/null +++ b/public/b2b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: /b2b/ + +Sitemap: https://truncgil.com/b2b/sitemap.xml diff --git a/public/b2b/sitemap.xml b/public/b2b/sitemap.xml new file mode 100644 index 0000000..94875c0 --- /dev/null +++ b/public/b2b/sitemap.xml @@ -0,0 +1,25 @@ + + + https://truncgil.com/b2b/ + https://truncgil.com/b2b/videolar + https://truncgil.com/b2b/kullanim-kilavuzu + https://truncgil.com/b2b/demo + https://truncgil.com/b2b/videolar/toptanci-girisi + https://truncgil.com/b2b/videolar/bayi-girisi + https://truncgil.com/b2b/videolar/yeni-kategori-ekleme + https://truncgil.com/b2b/videolar/yeni-bayi-ekleme + https://truncgil.com/b2b/videolar/depo-ekleme + https://truncgil.com/b2b/videolar/tedarikci-ekleme + https://truncgil.com/b2b/videolar/kullanici-ekleme + https://truncgil.com/b2b/videolar/iskonto-kademesi + https://truncgil.com/b2b/videolar/excel-import-export + https://truncgil.com/b2b/videolar/bayi-siparis-sureci + https://truncgil.com/b2b/videolar/siparis-yonetme + https://truncgil.com/b2b/videolar/plasiyer-mantigi + https://truncgil.com/b2b/videolar/depo-portali-islemler + https://truncgil.com/b2b/videolar/qr-mal-kabul + https://truncgil.com/b2b/videolar/siparis-toplama-picking + https://truncgil.com/b2b/videolar/depolar-arasi-sevk + https://truncgil.com/b2b/videolar/tedarikci-portal-alim + https://truncgil.com/b2b/videolar/yeni-urun-karti +