diff --git a/internal/web/dist/assets/index-DBj5_qOk.js b/internal/web/dist/assets/index-VWpE_J4S.js similarity index 90% rename from internal/web/dist/assets/index-DBj5_qOk.js rename to internal/web/dist/assets/index-VWpE_J4S.js index 671ac44c..470d96a8 100644 --- a/internal/web/dist/assets/index-DBj5_qOk.js +++ b/internal/web/dist/assets/index-VWpE_J4S.js @@ -14,7 +14,7 @@ function gC(e,t){for(var n=0;n>>1,A=U[be];if(0>>1;bei(I,V))vei(we,I)?(U[be]=we,U[ve]=V,be=ve):(U[be]=I,U[X]=V,be=X);else if(vei(we,V))U[be]=we,U[ve]=V,be=ve;else break e}}return ee}function i(U,ee){var V=U.sortIndex-ee.sortIndex;return V!==0?V:U.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var l=Date,d=l.now();e.unstable_now=function(){return l.now()-d}}var f=[],m=[],p=1,g=null,x=3,y=!1,T=!1,w=!1,_=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function z(U){for(var ee=n(m);ee!==null;){if(ee.callback===null)r(m);else if(ee.startTime<=U)r(m),ee.sortIndex=ee.expirationTime,t(f,ee);else break;ee=n(m)}}function B(U){if(w=!1,z(U),!T)if(n(f)!==null)T=!0,j||(j=!0,J());else{var ee=n(m);ee!==null&&de(B,ee.startTime-U)}}var j=!1,q=-1,$=5,Z=-1;function se(){return _?!0:!(e.unstable_now()-Z<$)}function re(){if(_=!1,j){var U=e.unstable_now();Z=U;var ee=!0;try{e:{T=!1,w&&(w=!1,R(q),q=-1),y=!0;var V=x;try{t:{for(z(U),g=n(f);g!==null&&!(g.expirationTime>U&&se());){var be=g.callback;if(typeof be=="function"){g.callback=null,x=g.priorityLevel;var A=be(g.expirationTime<=U);if(U=e.unstable_now(),typeof A=="function"){g.callback=A,z(U),ee=!0;break t}g===n(f)&&r(f),z(U)}else r(f);g=n(f)}if(g!==null)ee=!0;else{var le=n(m);le!==null&&de(B,le.startTime-U),ee=!1}}break e}finally{g=null,x=V,y=!1}ee=void 0}}finally{ee?J():j=!1}}}var J;if(typeof D=="function")J=function(){D(re)};else if(typeof MessageChannel<"u"){var oe=new MessageChannel,ae=oe.port2;oe.port1.onmessage=re,J=function(){ae.postMessage(null)}}else J=function(){k(re,0)};function de(U,ee){q=k(function(){U(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(U){U.callback=null},e.unstable_forceFrameRate=function(U){0>U||125be?(U.sortIndex=V,t(m,U),n(f)===null&&U===n(m)&&(w?(R(q),q=-1):w=!0,de(B,V-be))):(U.sortIndex=A,t(f,U),T||y||(T=!0,j||(j=!0,J()))),U},e.unstable_shouldYield=se,e.unstable_wrapCallback=function(U){var ee=x;return function(){var V=x;x=ee;try{return U.apply(this,arguments)}finally{x=V}}}})(vg)),vg}var P4;function EC(){return P4||(P4=1,xg.exports=vC()),xg.exports}var Eg={exports:{}},Rr={};/** + */var L4;function vC(){return L4||(L4=1,(function(e){function t(U,ee){var V=U.length;U.push(ee);e:for(;0>>1,A=U[be];if(0>>1;bei(I,V))vei(we,I)?(U[be]=we,U[ve]=V,be=ve):(U[be]=I,U[X]=V,be=X);else if(vei(we,V))U[be]=we,U[ve]=V,be=ve;else break e}}return ee}function i(U,ee){var V=U.sortIndex-ee.sortIndex;return V!==0?V:U.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var l=Date,d=l.now();e.unstable_now=function(){return l.now()-d}}var f=[],m=[],p=1,g=null,x=3,y=!1,_=!1,w=!1,T=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function z(U){for(var ee=n(m);ee!==null;){if(ee.callback===null)r(m);else if(ee.startTime<=U)r(m),ee.sortIndex=ee.expirationTime,t(f,ee);else break;ee=n(m)}}function B(U){if(w=!1,z(U),!_)if(n(f)!==null)_=!0,j||(j=!0,J());else{var ee=n(m);ee!==null&&de(B,ee.startTime-U)}}var j=!1,q=-1,$=5,Z=-1;function se(){return T?!0:!(e.unstable_now()-Z<$)}function re(){if(T=!1,j){var U=e.unstable_now();Z=U;var ee=!0;try{e:{_=!1,w&&(w=!1,R(q),q=-1),y=!0;var V=x;try{t:{for(z(U),g=n(f);g!==null&&!(g.expirationTime>U&&se());){var be=g.callback;if(typeof be=="function"){g.callback=null,x=g.priorityLevel;var A=be(g.expirationTime<=U);if(U=e.unstable_now(),typeof A=="function"){g.callback=A,z(U),ee=!0;break t}g===n(f)&&r(f),z(U)}else r(f);g=n(f)}if(g!==null)ee=!0;else{var le=n(m);le!==null&&de(B,le.startTime-U),ee=!1}}break e}finally{g=null,x=V,y=!1}ee=void 0}}finally{ee?J():j=!1}}}var J;if(typeof O=="function")J=function(){O(re)};else if(typeof MessageChannel<"u"){var oe=new MessageChannel,ae=oe.port2;oe.port1.onmessage=re,J=function(){ae.postMessage(null)}}else J=function(){k(re,0)};function de(U,ee){q=k(function(){U(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(U){U.callback=null},e.unstable_forceFrameRate=function(U){0>U||125be?(U.sortIndex=V,t(m,U),n(f)===null&&U===n(m)&&(w?(R(q),q=-1):w=!0,de(B,V-be))):(U.sortIndex=A,t(f,U),_||y||(_=!0,j||(j=!0,J()))),U},e.unstable_shouldYield=se,e.unstable_wrapCallback=function(U){var ee=x;return function(){var V=x;x=ee;try{return U.apply(this,arguments)}finally{x=V}}}})(vg)),vg}var P4;function EC(){return P4||(P4=1,xg.exports=vC()),xg.exports}var Eg={exports:{}},Rr={};/** * @license React * react-dom.production.js * @@ -38,15 +38,15 @@ function gC(e,t){for(var n=0;nA||(a.current=be[A],be[A]=null,A--)}function I(a,s){A++,be[A]=a.current,a.current=s}var ve=le(null),we=le(null),Te=le(null),xe=le(null);function Pe(a,s){switch(I(Te,s),I(we,a),I(ve,null),s.nodeType){case 9:case 11:a=(a=s.documentElement)&&(a=a.namespaceURI)?i4(a):0;break;default:if(a=s.tagName,s=s.namespaceURI)s=i4(s),a=s4(s,a);else switch(a){case"svg":a=1;break;case"math":a=2;break;default:a=0}}X(ve),I(ve,a)}function tt(){X(ve),X(we),X(Te)}function pe(a){a.memoizedState!==null&&I(xe,a);var s=ve.current,u=s4(s,a.type);s!==u&&(I(we,a),I(ve,u))}function Re(a){we.current===a&&(X(ve),X(we)),xe.current===a&&(X(xe),Sc._currentValue=V)}var Ve=Object.prototype.hasOwnProperty,wt=e.unstable_scheduleCallback,Tt=e.unstable_cancelCallback,Le=e.unstable_shouldYield,Ne=e.unstable_requestPaint,Ze=e.unstable_now,Bt=e.unstable_getCurrentPriorityLevel,Yt=e.unstable_ImmediatePriority,Un=e.unstable_UserBlockingPriority,tr=e.unstable_NormalPriority,Nr=e.unstable_LowPriority,Hr=e.unstable_IdlePriority,kn=e.log,li=e.unstable_setDisableYieldValue,Ee=null,De=null;function ut(a){if(typeof kn=="function"&&li(a),De&&typeof De.setStrictMode=="function")try{De.setStrictMode(Ee,a)}catch{}}var bt=Math.clz32?Math.clz32:xr,Gt=Math.log,yr=Math.LN2;function xr(a){return a>>>=0,a===0?32:31-(Gt(a)/yr|0)|0}var nr=256,Cr=4194304;function vr(a){var s=a&42;if(s!==0)return s;switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return a&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return a}}function Dn(a,s,u){var h=a.pendingLanes;if(h===0)return 0;var b=0,v=a.suspendedLanes,M=a.pingedLanes;a=a.warmLanes;var L=h&134217727;return L!==0?(h=L&~v,h!==0?b=vr(h):(M&=L,M!==0?b=vr(M):u||(u=L&~a,u!==0&&(b=vr(u))))):(L=h&~v,L!==0?b=vr(L):M!==0?b=vr(M):u||(u=h&~a,u!==0&&(b=vr(u)))),b===0?0:s!==0&&s!==b&&(s&v)===0&&(v=b&-b,u=s&-s,v>=u||v===32&&(u&4194048)!==0)?s:b}function In(a,s){return(a.pendingLanes&~(a.suspendedLanes&~a.pingedLanes)&s)===0}function lr(a,s){switch(a){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function yo(){var a=nr;return nr<<=1,(nr&4194048)===0&&(nr=256),a}function xo(){var a=Cr;return Cr<<=1,(Cr&62914560)===0&&(Cr=4194304),a}function vo(a){for(var s=[],u=0;31>u;u++)s.push(a);return s}function ui(a,s){a.pendingLanes|=s,s!==268435456&&(a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0)}function Ya(a,s,u,h,b,v){var M=a.pendingLanes;a.pendingLanes=u,a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0,a.expiredLanes&=u,a.entangledLanes&=u,a.errorRecoveryDisabledLanes&=u,a.shellSuspendCounter=0;var L=a.entanglements,W=a.expirationTimes,he=a.hiddenUpdates;for(u=M&~u;0A||(a.current=be[A],be[A]=null,A--)}function I(a,s){A++,be[A]=a.current,a.current=s}var ve=le(null),we=le(null),Te=le(null),xe=le(null);function Pe(a,s){switch(I(Te,s),I(we,a),I(ve,null),s.nodeType){case 9:case 11:a=(a=s.documentElement)&&(a=a.namespaceURI)?i4(a):0;break;default:if(a=s.tagName,s=s.namespaceURI)s=i4(s),a=s4(s,a);else switch(a){case"svg":a=1;break;case"math":a=2;break;default:a=0}}X(ve),I(ve,a)}function tt(){X(ve),X(we),X(Te)}function pe(a){a.memoizedState!==null&&I(xe,a);var s=ve.current,u=s4(s,a.type);s!==u&&(I(we,a),I(ve,u))}function Re(a){we.current===a&&(X(ve),X(we)),xe.current===a&&(X(xe),Sc._currentValue=V)}var Ve=Object.prototype.hasOwnProperty,wt=e.unstable_scheduleCallback,Tt=e.unstable_cancelCallback,Le=e.unstable_shouldYield,Ne=e.unstable_requestPaint,Ze=e.unstable_now,Bt=e.unstable_getCurrentPriorityLevel,Yt=e.unstable_ImmediatePriority,Un=e.unstable_UserBlockingPriority,tr=e.unstable_NormalPriority,Nr=e.unstable_LowPriority,Hr=e.unstable_IdlePriority,kn=e.log,li=e.unstable_setDisableYieldValue,Ee=null,De=null;function ut(a){if(typeof kn=="function"&&li(a),De&&typeof De.setStrictMode=="function")try{De.setStrictMode(Ee,a)}catch{}}var bt=Math.clz32?Math.clz32:xr,Gt=Math.log,yr=Math.LN2;function xr(a){return a>>>=0,a===0?32:31-(Gt(a)/yr|0)|0}var nr=256,Cr=4194304;function vr(a){var s=a&42;if(s!==0)return s;switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return a&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return a}}function Dn(a,s,u){var h=a.pendingLanes;if(h===0)return 0;var b=0,v=a.suspendedLanes,M=a.pingedLanes;a=a.warmLanes;var L=h&134217727;return L!==0?(h=L&~v,h!==0?b=vr(h):(M&=L,M!==0?b=vr(M):u||(u=L&~a,u!==0&&(b=vr(u))))):(L=h&~v,L!==0?b=vr(L):M!==0?b=vr(M):u||(u=h&~a,u!==0&&(b=vr(u)))),b===0?0:s!==0&&s!==b&&(s&v)===0&&(v=b&-b,u=s&-s,v>=u||v===32&&(u&4194048)!==0)?s:b}function In(a,s){return(a.pendingLanes&~(a.suspendedLanes&~a.pingedLanes)&s)===0}function ur(a,s){switch(a){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function yo(){var a=nr;return nr<<=1,(nr&4194048)===0&&(nr=256),a}function xo(){var a=Cr;return Cr<<=1,(Cr&62914560)===0&&(Cr=4194304),a}function vo(a){for(var s=[],u=0;31>u;u++)s.push(a);return s}function ui(a,s){a.pendingLanes|=s,s!==268435456&&(a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0)}function Ya(a,s,u,h,b,v){var M=a.pendingLanes;a.pendingLanes=u,a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0,a.expiredLanes&=u,a.entangledLanes&=u,a.errorRecoveryDisabledLanes&=u,a.shellSuspendCounter=0;var L=a.entanglements,W=a.expirationTimes,he=a.hiddenUpdates;for(u=M&~u;0)":-1b||W[h]!==he[b]){var _e=` -`+W[h].replace(" at new "," at ");return a.displayName&&_e.includes("")&&(_e=_e.replace("",a.displayName)),_e}while(1<=h&&0<=b);break}}}finally{Wt=!1,Error.prepareStackTrace=u}return(u=a?a.displayName||a.name:"")?Mt(u):""}function cr(a){switch(a.tag){case 26:case 27:case 5:return Mt(a.type);case 16:return Mt("Lazy");case 13:return Mt("Suspense");case 19:return Mt("SuspenseList");case 0:case 15:return An(a.type,!1);case 11:return An(a.type.render,!1);case 1:return An(a.type,!0);case 31:return Mt("Activity");default:return""}}function ra(a){try{var s="";do s+=cr(a),a=a.return;while(a);return s}catch(u){return` +`+W[h].replace(" at new "," at ");return a.displayName&&_e.includes("")&&(_e=_e.replace("",a.displayName)),_e}while(1<=h&&0<=b);break}}}finally{Wt=!1,Error.prepareStackTrace=u}return(u=a?a.displayName||a.name:"")?Mt(u):""}function dr(a){switch(a.tag){case 26:case 27:case 5:return Mt(a.type);case 16:return Mt("Lazy");case 13:return Mt("Suspense");case 19:return Mt("SuspenseList");case 0:case 15:return An(a.type,!1);case 11:return An(a.type.render,!1);case 1:return An(a.type,!0);case 31:return Mt("Activity");default:return""}}function ra(a){try{var s="";do s+=dr(a),a=a.return;while(a);return s}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}function rr(a){switch(typeof a){case"bigint":case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function Vn(a){var s=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function qr(a){var s=Vn(a)?"checked":"value",u=Object.getOwnPropertyDescriptor(a.constructor.prototype,s),h=""+a[s];if(!a.hasOwnProperty(s)&&typeof u<"u"&&typeof u.get=="function"&&typeof u.set=="function"){var b=u.get,v=u.set;return Object.defineProperty(a,s,{configurable:!0,get:function(){return b.call(this)},set:function(M){h=""+M,v.call(this,M)}}),Object.defineProperty(a,s,{enumerable:u.enumerable}),{getValue:function(){return h},setValue:function(M){h=""+M},stopTracking:function(){a._valueTracker=null,delete a[s]}}}}function Eo(a){a._valueTracker||(a._valueTracker=qr(a))}function Du(a){if(!a)return!1;var s=a._valueTracker;if(!s)return!0;var u=s.getValue(),h="";return a&&(h=Vn(a)?a.checked?"true":"false":a.value),a=h,a!==u?(s.setValue(a),!0):!1}function So(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}var ym=/[\n"\\]/g;function Gr(a){return a.replace(ym,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Iu(a,s,u,h,b,v,M,L){a.name="",M!=null&&typeof M!="function"&&typeof M!="symbol"&&typeof M!="boolean"?a.type=M:a.removeAttribute("type"),s!=null?M==="number"?(s===0&&a.value===""||a.value!=s)&&(a.value=""+rr(s)):a.value!==""+rr(s)&&(a.value=""+rr(s)):M!=="submit"&&M!=="reset"||a.removeAttribute("value"),s!=null?Ss(a,M,rr(s)):u!=null?Ss(a,M,rr(u)):h!=null&&a.removeAttribute("value"),b==null&&v!=null&&(a.defaultChecked=!!v),b!=null&&(a.checked=b&&typeof b!="function"&&typeof b!="symbol"),L!=null&&typeof L!="function"&&typeof L!="symbol"&&typeof L!="boolean"?a.name=""+rr(L):a.removeAttribute("name")}function U0(a,s,u,h,b,v,M,L){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(a.type=v),s!=null||u!=null){if(!(v!=="submit"&&v!=="reset"||s!=null))return;u=u!=null?""+rr(u):"",s=s!=null?""+rr(s):u,L||s===a.value||(a.value=s),a.defaultValue=s}h=h??b,h=typeof h!="function"&&typeof h!="symbol"&&!!h,a.checked=L?a.checked:!!h,a.defaultChecked=!!h,M!=null&&typeof M!="function"&&typeof M!="symbol"&&typeof M!="boolean"&&(a.name=M)}function Ss(a,s,u){s==="number"&&So(a.ownerDocument)===a||a.defaultValue===""+u||(a.defaultValue=""+u)}function $i(a,s,u,h){if(a=a.options,s){s={};for(var b=0;b"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xm=!1;if(Wa)try{var Pu={};Object.defineProperty(Pu,"passive",{get:function(){xm=!0}}),window.addEventListener("test",Pu,Pu),window.removeEventListener("test",Pu,Pu)}catch{xm=!1}var Ts=null,vm=null,$0=null;function uy(){if($0)return $0;var a,s=vm,u=s.length,h,b="value"in Ts?Ts.value:Ts.textContent,v=b.length;for(a=0;a=zu),py=" ",gy=!1;function by(a,s){switch(a){case"keyup":return FN.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function yy(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var dl=!1;function HN(a,s){switch(a){case"compositionend":return yy(s);case"keypress":return s.which!==32?null:(gy=!0,py);case"textInput":return a=s.data,a===py&&gy?null:a;default:return null}}function $N(a,s){if(dl)return a==="compositionend"||!_m&&by(a,s)?(a=uy(),$0=vm=Ts=null,dl=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:u,offset:s-a};a=h}e:{for(;u;){if(u.nextSibling){u=u.nextSibling;break e}u=u.parentNode}u=void 0}u=Ny(u)}}function ky(a,s){return a&&s?a===s?!0:a&&a.nodeType===3?!1:s&&s.nodeType===3?ky(a,s.parentNode):"contains"in a?a.contains(s):a.compareDocumentPosition?!!(a.compareDocumentPosition(s)&16):!1:!1}function Ay(a){a=a!=null&&a.ownerDocument!=null&&a.ownerDocument.defaultView!=null?a.ownerDocument.defaultView:window;for(var s=So(a.document);s instanceof a.HTMLIFrameElement;){try{var u=typeof s.contentWindow.location.href=="string"}catch{u=!1}if(u)a=s.contentWindow;else break;s=So(a.document)}return s}function km(a){var s=a&&a.nodeName&&a.nodeName.toLowerCase();return s&&(s==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||s==="textarea"||a.contentEditable==="true")}var QN=Wa&&"documentMode"in document&&11>=document.documentMode,fl=null,Am=null,$u=null,Rm=!1;function Ry(a,s,u){var h=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;Rm||fl==null||fl!==So(h)||(h=fl,"selectionStart"in h&&km(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),$u&&Hu($u,h)||($u=h,h=Dd(Am,"onSelect"),0>=M,b-=M,Vi=1<<32-bt(s)+b|u<v?v:8;var M=U.T,L={};U.T=L,pp(a,!1,s,u);try{var W=b(),he=U.S;if(he!==null&&he(L,W),W!==null&&typeof W=="object"&&typeof W.then=="function"){var _e=s9(W,h);ac(a,s,_e,ca(a))}else ac(a,s,h,ca(a))}catch(Ae){ac(a,s,{then:function(){},status:"rejected",reason:Ae},ca())}finally{ee.p=v,U.T=M}}function d9(){}function hp(a,s,u,h){if(a.tag!==5)throw Error(r(476));var b=Mx(a).queue;Rx(a,b,s,V,u===null?d9:function(){return Ox(a),u(h)})}function Mx(a){var s=a.memoizedState;if(s!==null)return s;s={memoizedState:V,baseState:V,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xi,lastRenderedState:V},next:null};var u={};return s.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xi,lastRenderedState:u},next:null},a.memoizedState=s,a=a.alternate,a!==null&&(a.memoizedState=s),s}function Ox(a){var s=Mx(a).next.queue;ac(a,s,{},ca())}function mp(){return Ar(Sc)}function Dx(){return Xn().memoizedState}function Ix(){return Xn().memoizedState}function f9(a){for(var s=a.return;s!==null;){switch(s.tag){case 24:case 3:var u=ca();a=Cs(u);var h=ks(s,a,u);h!==null&&(da(h,s,u),Zu(h,s,u)),s={cache:qm()},a.payload=s;return}s=s.return}}function h9(a,s,u){var h=ca();u={lane:h,revertLane:0,action:u,hasEagerState:!1,eagerState:null,next:null},hd(a)?Px(s,u):(u=Im(a,s,u,h),u!==null&&(da(u,a,h),jx(u,s,h)))}function Lx(a,s,u){var h=ca();ac(a,s,u,h)}function ac(a,s,u,h){var b={lane:h,revertLane:0,action:u,hasEagerState:!1,eagerState:null,next:null};if(hd(a))Px(s,b);else{var v=a.alternate;if(a.lanes===0&&(v===null||v.lanes===0)&&(v=s.lastRenderedReducer,v!==null))try{var M=s.lastRenderedState,L=v(M,u);if(b.hasEagerState=!0,b.eagerState=L,ia(L,M))return X0(a,s,b,0),wn===null&&W0(),!1}catch{}finally{}if(u=Im(a,s,b,h),u!==null)return da(u,a,h),jx(u,s,h),!0}return!1}function pp(a,s,u,h){if(h={lane:2,revertLane:Yp(),action:h,hasEagerState:!1,eagerState:null,next:null},hd(a)){if(s)throw Error(r(479))}else s=Im(a,u,h,2),s!==null&&da(s,a,2)}function hd(a){var s=a.alternate;return a===zt||s!==null&&s===zt}function Px(a,s){Sl=od=!0;var u=a.pending;u===null?s.next=s:(s.next=u.next,u.next=s),a.pending=s}function jx(a,s,u){if((u&4194048)!==0){var h=s.lanes;h&=a.pendingLanes,u|=h,s.lanes=u,Ce(a,u)}}var md={readContext:Ar,use:ud,useCallback:Hn,useContext:Hn,useEffect:Hn,useImperativeHandle:Hn,useLayoutEffect:Hn,useInsertionEffect:Hn,useMemo:Hn,useReducer:Hn,useRef:Hn,useState:Hn,useDebugValue:Hn,useDeferredValue:Hn,useTransition:Hn,useSyncExternalStore:Hn,useId:Hn,useHostTransitionStatus:Hn,useFormState:Hn,useActionState:Hn,useOptimistic:Hn,useMemoCache:Hn,useCacheRefresh:Hn},Bx={readContext:Ar,use:ud,useCallback:function(a,s){return Yr().memoizedState=[a,s===void 0?null:s],a},useContext:Ar,useEffect:Ex,useImperativeHandle:function(a,s,u){u=u!=null?u.concat([a]):null,fd(4194308,4,_x.bind(null,s,a),u)},useLayoutEffect:function(a,s){return fd(4194308,4,a,s)},useInsertionEffect:function(a,s){fd(4,2,a,s)},useMemo:function(a,s){var u=Yr();s=s===void 0?null:s;var h=a();if(Po){ut(!0);try{a()}finally{ut(!1)}}return u.memoizedState=[h,s],h},useReducer:function(a,s,u){var h=Yr();if(u!==void 0){var b=u(s);if(Po){ut(!0);try{u(s)}finally{ut(!1)}}}else b=s;return h.memoizedState=h.baseState=b,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b},h.queue=a,a=a.dispatch=h9.bind(null,zt,a),[h.memoizedState,a]},useRef:function(a){var s=Yr();return a={current:a},s.memoizedState=a},useState:function(a){a=up(a);var s=a.queue,u=Lx.bind(null,zt,s);return s.dispatch=u,[a.memoizedState,u]},useDebugValue:dp,useDeferredValue:function(a,s){var u=Yr();return fp(u,a,s)},useTransition:function(){var a=up(!1);return a=Rx.bind(null,zt,a.queue,!0,!1),Yr().memoizedState=a,[!1,a]},useSyncExternalStore:function(a,s,u){var h=zt,b=Yr();if(Zt){if(u===void 0)throw Error(r(407));u=u()}else{if(u=s(),wn===null)throw Error(r(349));(Vt&124)!==0||ix(h,s,u)}b.memoizedState=u;var v={value:u,getSnapshot:s};return b.queue=v,Ex(ox.bind(null,h,v,a),[a]),h.flags|=2048,Tl(9,dd(),sx.bind(null,h,v,u,s),null),u},useId:function(){var a=Yr(),s=wn.identifierPrefix;if(Zt){var u=Yi,h=Vi;u=(h&~(1<<32-bt(h)-1)).toString(32)+u,s="«"+s+"R"+u,u=ld++,0St?(hr=ht,ht=null):hr=ht.sibling;var Qt=ge(ie,ht,ce[St],ke);if(Qt===null){ht===null&&(ht=hr);break}a&&ht&&Qt.alternate===null&&s(ie,ht),te=v(Qt,te,St),Ut===null?rt=Qt:Ut.sibling=Qt,Ut=Qt,ht=hr}if(St===ce.length)return u(ie,ht),Zt&&Ro(ie,St),rt;if(ht===null){for(;StSt?(hr=ht,ht=null):hr=ht.sibling;var Gs=ge(ie,ht,Qt.value,ke);if(Gs===null){ht===null&&(ht=hr);break}a&&ht&&Gs.alternate===null&&s(ie,ht),te=v(Gs,te,St),Ut===null?rt=Gs:Ut.sibling=Gs,Ut=Gs,ht=hr}if(Qt.done)return u(ie,ht),Zt&&Ro(ie,St),rt;if(ht===null){for(;!Qt.done;St++,Qt=ce.next())Qt=Ae(ie,Qt.value,ke),Qt!==null&&(te=v(Qt,te,St),Ut===null?rt=Qt:Ut.sibling=Qt,Ut=Qt);return Zt&&Ro(ie,St),rt}for(ht=h(ht);!Qt.done;St++,Qt=ce.next())Qt=ye(ht,ie,St,Qt.value,ke),Qt!==null&&(a&&Qt.alternate!==null&&ht.delete(Qt.key===null?St:Qt.key),te=v(Qt,te,St),Ut===null?rt=Qt:Ut.sibling=Qt,Ut=Qt);return a&&ht.forEach(function(pC){return s(ie,pC)}),Zt&&Ro(ie,St),rt}function hn(ie,te,ce,ke){if(typeof ce=="object"&&ce!==null&&ce.type===T&&ce.key===null&&(ce=ce.props.children),typeof ce=="object"&&ce!==null){switch(ce.$$typeof){case x:e:{for(var rt=ce.key;te!==null;){if(te.key===rt){if(rt=ce.type,rt===T){if(te.tag===7){u(ie,te.sibling),ke=b(te,ce.props.children),ke.return=ie,ie=ke;break e}}else if(te.elementType===rt||typeof rt=="object"&&rt!==null&&rt.$$typeof===$&&Fx(rt)===te.type){u(ie,te.sibling),ke=b(te,ce.props),sc(ke,ce),ke.return=ie,ie=ke;break e}u(ie,te);break}else s(ie,te);te=te.sibling}ce.type===T?(ke=ko(ce.props.children,ie.mode,ke,ce.key),ke.return=ie,ie=ke):(ke=Z0(ce.type,ce.key,ce.props,null,ie.mode,ke),sc(ke,ce),ke.return=ie,ie=ke)}return M(ie);case y:e:{for(rt=ce.key;te!==null;){if(te.key===rt)if(te.tag===4&&te.stateNode.containerInfo===ce.containerInfo&&te.stateNode.implementation===ce.implementation){u(ie,te.sibling),ke=b(te,ce.children||[]),ke.return=ie,ie=ke;break e}else{u(ie,te);break}else s(ie,te);te=te.sibling}ke=jm(ce,ie.mode,ke),ke.return=ie,ie=ke}return M(ie);case $:return rt=ce._init,ce=rt(ce._payload),hn(ie,te,ce,ke)}if(de(ce))return _t(ie,te,ce,ke);if(J(ce)){if(rt=J(ce),typeof rt!="function")throw Error(r(150));return ce=rt.call(ce),vt(ie,te,ce,ke)}if(typeof ce.then=="function")return hn(ie,te,pd(ce),ke);if(ce.$$typeof===D)return hn(ie,te,nd(ie,ce),ke);gd(ie,ce)}return typeof ce=="string"&&ce!==""||typeof ce=="number"||typeof ce=="bigint"?(ce=""+ce,te!==null&&te.tag===6?(u(ie,te.sibling),ke=b(te,ce),ke.return=ie,ie=ke):(u(ie,te),ke=Pm(ce,ie.mode,ke),ke.return=ie,ie=ke),M(ie)):u(ie,te)}return function(ie,te,ce,ke){try{ic=0;var rt=hn(ie,te,ce,ke);return _l=null,rt}catch(ht){if(ht===Xu||ht===ad)throw ht;var Ut=sa(29,ht,null,ie.mode);return Ut.lanes=ke,Ut.return=ie,Ut}finally{}}}var Nl=Ux(!0),Hx=Ux(!1),ka=le(null),hi=null;function Rs(a){var s=a.alternate;I(ir,ir.current&1),I(ka,a),hi===null&&(s===null||El.current!==null||s.memoizedState!==null)&&(hi=a)}function $x(a){if(a.tag===22){if(I(ir,ir.current),I(ka,a),hi===null){var s=a.alternate;s!==null&&s.memoizedState!==null&&(hi=a)}}else Ms()}function Ms(){I(ir,ir.current),I(ka,ka.current)}function Qi(a){X(ka),hi===a&&(hi=null),X(ir)}var ir=le(0);function bd(a){for(var s=a;s!==null;){if(s.tag===13){var u=s.memoizedState;if(u!==null&&(u=u.dehydrated,u===null||u.data==="$?"||ig(u)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===a)break;for(;s.sibling===null;){if(s.return===null||s.return===a)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}function gp(a,s,u,h){s=a.memoizedState,u=u(h,s),u=u==null?s:p({},s,u),a.memoizedState=u,a.lanes===0&&(a.updateQueue.baseState=u)}var bp={enqueueSetState:function(a,s,u){a=a._reactInternals;var h=ca(),b=Cs(h);b.payload=s,u!=null&&(b.callback=u),s=ks(a,b,h),s!==null&&(da(s,a,h),Zu(s,a,h))},enqueueReplaceState:function(a,s,u){a=a._reactInternals;var h=ca(),b=Cs(h);b.tag=1,b.payload=s,u!=null&&(b.callback=u),s=ks(a,b,h),s!==null&&(da(s,a,h),Zu(s,a,h))},enqueueForceUpdate:function(a,s){a=a._reactInternals;var u=ca(),h=Cs(u);h.tag=2,s!=null&&(h.callback=s),s=ks(a,h,u),s!==null&&(da(s,a,u),Zu(s,a,u))}};function qx(a,s,u,h,b,v,M){return a=a.stateNode,typeof a.shouldComponentUpdate=="function"?a.shouldComponentUpdate(h,v,M):s.prototype&&s.prototype.isPureReactComponent?!Hu(u,h)||!Hu(b,v):!0}function Gx(a,s,u,h){a=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(u,h),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(u,h),s.state!==a&&bp.enqueueReplaceState(s,s.state,null)}function jo(a,s){var u=s;if("ref"in s){u={};for(var h in s)h!=="ref"&&(u[h]=s[h])}if(a=a.defaultProps){u===s&&(u=p({},u));for(var b in a)u[b]===void 0&&(u[b]=a[b])}return u}var yd=typeof reportError=="function"?reportError:function(a){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof a=="object"&&a!==null&&typeof a.message=="string"?String(a.message):String(a),error:a});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",a);return}console.error(a)};function Vx(a){yd(a)}function Yx(a){console.error(a)}function Kx(a){yd(a)}function xd(a,s){try{var u=a.onUncaughtError;u(s.value,{componentStack:s.stack})}catch(h){setTimeout(function(){throw h})}}function Wx(a,s,u){try{var h=a.onCaughtError;h(u.value,{componentStack:u.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(b){setTimeout(function(){throw b})}}function yp(a,s,u){return u=Cs(u),u.tag=3,u.payload={element:null},u.callback=function(){xd(a,s)},u}function Xx(a){return a=Cs(a),a.tag=3,a}function Qx(a,s,u,h){var b=u.type.getDerivedStateFromError;if(typeof b=="function"){var v=h.value;a.payload=function(){return b(v)},a.callback=function(){Wx(s,u,h)}}var M=u.stateNode;M!==null&&typeof M.componentDidCatch=="function"&&(a.callback=function(){Wx(s,u,h),typeof b!="function"&&(js===null?js=new Set([this]):js.add(this));var L=h.stack;this.componentDidCatch(h.value,{componentStack:L!==null?L:""})})}function p9(a,s,u,h,b){if(u.flags|=32768,h!==null&&typeof h=="object"&&typeof h.then=="function"){if(s=u.alternate,s!==null&&Yu(s,u,b,!0),u=ka.current,u!==null){switch(u.tag){case 13:return hi===null?Hp():u.alternate===null&&zn===0&&(zn=3),u.flags&=-257,u.flags|=65536,u.lanes=b,h===Ym?u.flags|=16384:(s=u.updateQueue,s===null?u.updateQueue=new Set([h]):s.add(h),qp(a,h,b)),!1;case 22:return u.flags|=65536,h===Ym?u.flags|=16384:(s=u.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([h])},u.updateQueue=s):(u=s.retryQueue,u===null?s.retryQueue=new Set([h]):u.add(h)),qp(a,h,b)),!1}throw Error(r(435,u.tag))}return qp(a,h,b),Hp(),!1}if(Zt)return s=ka.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=b,h!==Fm&&(a=Error(r(422),{cause:h}),Vu(Ta(a,u)))):(h!==Fm&&(s=Error(r(423),{cause:h}),Vu(Ta(s,u))),a=a.current.alternate,a.flags|=65536,b&=-b,a.lanes|=b,h=Ta(h,u),b=yp(a.stateNode,h,b),Xm(a,b),zn!==4&&(zn=2)),!1;var v=Error(r(520),{cause:h});if(v=Ta(v,u),hc===null?hc=[v]:hc.push(v),zn!==4&&(zn=2),s===null)return!0;h=Ta(h,u),u=s;do{switch(u.tag){case 3:return u.flags|=65536,a=b&-b,u.lanes|=a,a=yp(u.stateNode,h,a),Xm(u,a),!1;case 1:if(s=u.type,v=u.stateNode,(u.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(js===null||!js.has(v))))return u.flags|=65536,b&=-b,u.lanes|=b,b=Xx(b),Qx(b,a,u,h),Xm(u,b),!1}u=u.return}while(u!==null);return!1}var Zx=Error(r(461)),dr=!1;function Sr(a,s,u,h){s.child=a===null?Hx(s,null,u,h):Nl(s,a.child,u,h)}function Jx(a,s,u,h,b){u=u.render;var v=s.ref;if("ref"in h){var M={};for(var L in h)L!=="ref"&&(M[L]=h[L])}else M=h;return Io(s),h=tp(a,s,u,M,v,b),L=np(),a!==null&&!dr?(rp(a,s,b),Zi(a,s,b)):(Zt&&L&&Bm(s),s.flags|=1,Sr(a,s,h,b),s.child)}function ev(a,s,u,h,b){if(a===null){var v=u.type;return typeof v=="function"&&!Lm(v)&&v.defaultProps===void 0&&u.compare===null?(s.tag=15,s.type=v,tv(a,s,v,h,b)):(a=Z0(u.type,null,h,s,s.mode,b),a.ref=s.ref,a.return=s,s.child=a)}if(v=a.child,!Np(a,b)){var M=v.memoizedProps;if(u=u.compare,u=u!==null?u:Hu,u(M,h)&&a.ref===s.ref)return Zi(a,s,b)}return s.flags|=1,a=Gi(v,h),a.ref=s.ref,a.return=s,s.child=a}function tv(a,s,u,h,b){if(a!==null){var v=a.memoizedProps;if(Hu(v,h)&&a.ref===s.ref)if(dr=!1,s.pendingProps=h=v,Np(a,b))(a.flags&131072)!==0&&(dr=!0);else return s.lanes=a.lanes,Zi(a,s,b)}return xp(a,s,u,h,b)}function nv(a,s,u){var h=s.pendingProps,b=h.children,v=a!==null?a.memoizedState:null;if(h.mode==="hidden"){if((s.flags&128)!==0){if(h=v!==null?v.baseLanes|u:u,a!==null){for(b=s.child=a.child,v=0;b!==null;)v=v|b.lanes|b.childLanes,b=b.sibling;s.childLanes=v&~h}else s.childLanes=0,s.child=null;return rv(a,s,h,u)}if((u&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},a!==null&&rd(s,v!==null?v.cachePool:null),v!==null?tx(s,v):Zm(),$x(s);else return s.lanes=s.childLanes=536870912,rv(a,s,v!==null?v.baseLanes|u:u,u)}else v!==null?(rd(s,v.cachePool),tx(s,v),Ms(),s.memoizedState=null):(a!==null&&rd(s,null),Zm(),Ms());return Sr(a,s,b,u),s.child}function rv(a,s,u,h){var b=Vm();return b=b===null?null:{parent:ar._currentValue,pool:b},s.memoizedState={baseLanes:u,cachePool:b},a!==null&&rd(s,null),Zm(),$x(s),a!==null&&Yu(a,s,h,!0),null}function vd(a,s){var u=s.ref;if(u===null)a!==null&&a.ref!==null&&(s.flags|=4194816);else{if(typeof u!="function"&&typeof u!="object")throw Error(r(284));(a===null||a.ref!==u)&&(s.flags|=4194816)}}function xp(a,s,u,h,b){return Io(s),u=tp(a,s,u,h,void 0,b),h=np(),a!==null&&!dr?(rp(a,s,b),Zi(a,s,b)):(Zt&&h&&Bm(s),s.flags|=1,Sr(a,s,u,b),s.child)}function av(a,s,u,h,b,v){return Io(s),s.updateQueue=null,u=rx(s,h,u,b),nx(a),h=np(),a!==null&&!dr?(rp(a,s,v),Zi(a,s,v)):(Zt&&h&&Bm(s),s.flags|=1,Sr(a,s,u,v),s.child)}function iv(a,s,u,h,b){if(Io(s),s.stateNode===null){var v=gl,M=u.contextType;typeof M=="object"&&M!==null&&(v=Ar(M)),v=new u(h,v),s.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=bp,s.stateNode=v,v._reactInternals=s,v=s.stateNode,v.props=h,v.state=s.memoizedState,v.refs={},Km(s),M=u.contextType,v.context=typeof M=="object"&&M!==null?Ar(M):gl,v.state=s.memoizedState,M=u.getDerivedStateFromProps,typeof M=="function"&&(gp(s,u,M,h),v.state=s.memoizedState),typeof u.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(M=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),M!==v.state&&bp.enqueueReplaceState(v,v.state,null),ec(s,h,v,b),Ju(),v.state=s.memoizedState),typeof v.componentDidMount=="function"&&(s.flags|=4194308),h=!0}else if(a===null){v=s.stateNode;var L=s.memoizedProps,W=jo(u,L);v.props=W;var he=v.context,_e=u.contextType;M=gl,typeof _e=="object"&&_e!==null&&(M=Ar(_e));var Ae=u.getDerivedStateFromProps;_e=typeof Ae=="function"||typeof v.getSnapshotBeforeUpdate=="function",L=s.pendingProps!==L,_e||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(L||he!==M)&&Gx(s,v,h,M),Ns=!1;var ge=s.memoizedState;v.state=ge,ec(s,h,v,b),Ju(),he=s.memoizedState,L||ge!==he||Ns?(typeof Ae=="function"&&(gp(s,u,Ae,h),he=s.memoizedState),(W=Ns||qx(s,u,W,h,ge,he,M))?(_e||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(s.flags|=4194308)):(typeof v.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=h,s.memoizedState=he),v.props=h,v.state=he,v.context=M,h=W):(typeof v.componentDidMount=="function"&&(s.flags|=4194308),h=!1)}else{v=s.stateNode,Wm(a,s),M=s.memoizedProps,_e=jo(u,M),v.props=_e,Ae=s.pendingProps,ge=v.context,he=u.contextType,W=gl,typeof he=="object"&&he!==null&&(W=Ar(he)),L=u.getDerivedStateFromProps,(he=typeof L=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(M!==Ae||ge!==W)&&Gx(s,v,h,W),Ns=!1,ge=s.memoizedState,v.state=ge,ec(s,h,v,b),Ju();var ye=s.memoizedState;M!==Ae||ge!==ye||Ns||a!==null&&a.dependencies!==null&&td(a.dependencies)?(typeof L=="function"&&(gp(s,u,L,h),ye=s.memoizedState),(_e=Ns||qx(s,u,_e,h,ge,ye,W)||a!==null&&a.dependencies!==null&&td(a.dependencies))?(he||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(h,ye,W),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(h,ye,W)),typeof v.componentDidUpdate=="function"&&(s.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof v.componentDidUpdate!="function"||M===a.memoizedProps&&ge===a.memoizedState||(s.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||M===a.memoizedProps&&ge===a.memoizedState||(s.flags|=1024),s.memoizedProps=h,s.memoizedState=ye),v.props=h,v.state=ye,v.context=W,h=_e):(typeof v.componentDidUpdate!="function"||M===a.memoizedProps&&ge===a.memoizedState||(s.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||M===a.memoizedProps&&ge===a.memoizedState||(s.flags|=1024),h=!1)}return v=h,vd(a,s),h=(s.flags&128)!==0,v||h?(v=s.stateNode,u=h&&typeof u.getDerivedStateFromError!="function"?null:v.render(),s.flags|=1,a!==null&&h?(s.child=Nl(s,a.child,null,b),s.child=Nl(s,null,u,b)):Sr(a,s,u,b),s.memoizedState=v.state,a=s.child):a=Zi(a,s,b),a}function sv(a,s,u,h){return Gu(),s.flags|=256,Sr(a,s,u,h),s.child}var vp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ep(a){return{baseLanes:a,cachePool:Yy()}}function Sp(a,s,u){return a=a!==null?a.childLanes&~u:0,s&&(a|=Aa),a}function ov(a,s,u){var h=s.pendingProps,b=!1,v=(s.flags&128)!==0,M;if((M=v)||(M=a!==null&&a.memoizedState===null?!1:(ir.current&2)!==0),M&&(b=!0,s.flags&=-129),M=(s.flags&32)!==0,s.flags&=-33,a===null){if(Zt){if(b?Rs(s):Ms(),Zt){var L=Bn,W;if(W=L){e:{for(W=L,L=fi;W.nodeType!==8;){if(!L){L=null;break e}if(W=Za(W.nextSibling),W===null){L=null;break e}}L=W}L!==null?(s.memoizedState={dehydrated:L,treeContext:Ao!==null?{id:Vi,overflow:Yi}:null,retryLane:536870912,hydrationErrors:null},W=sa(18,null,null,0),W.stateNode=L,W.return=s,s.child=W,Lr=s,Bn=null,W=!0):W=!1}W||Oo(s)}if(L=s.memoizedState,L!==null&&(L=L.dehydrated,L!==null))return ig(L)?s.lanes=32:s.lanes=536870912,null;Qi(s)}return L=h.children,h=h.fallback,b?(Ms(),b=s.mode,L=Ed({mode:"hidden",children:L},b),h=ko(h,b,u,null),L.return=s,h.return=s,L.sibling=h,s.child=L,b=s.child,b.memoizedState=Ep(u),b.childLanes=Sp(a,M,u),s.memoizedState=vp,h):(Rs(s),wp(s,L))}if(W=a.memoizedState,W!==null&&(L=W.dehydrated,L!==null)){if(v)s.flags&256?(Rs(s),s.flags&=-257,s=Tp(a,s,u)):s.memoizedState!==null?(Ms(),s.child=a.child,s.flags|=128,s=null):(Ms(),b=h.fallback,L=s.mode,h=Ed({mode:"visible",children:h.children},L),b=ko(b,L,u,null),b.flags|=2,h.return=s,b.return=s,h.sibling=b,s.child=h,Nl(s,a.child,null,u),h=s.child,h.memoizedState=Ep(u),h.childLanes=Sp(a,M,u),s.memoizedState=vp,s=b);else if(Rs(s),ig(L)){if(M=L.nextSibling&&L.nextSibling.dataset,M)var he=M.dgst;M=he,h=Error(r(419)),h.stack="",h.digest=M,Vu({value:h,source:null,stack:null}),s=Tp(a,s,u)}else if(dr||Yu(a,s,u,!1),M=(u&a.childLanes)!==0,dr||M){if(M=wn,M!==null&&(h=u&-u,h=(h&42)!==0?1:Ke(h),h=(h&(M.suspendedLanes|u))!==0?0:h,h!==0&&h!==W.retryLane))throw W.retryLane=h,pl(a,h),da(M,a,h),Zx;L.data==="$?"||Hp(),s=Tp(a,s,u)}else L.data==="$?"?(s.flags|=192,s.child=a.child,s=null):(a=W.treeContext,Bn=Za(L.nextSibling),Lr=s,Zt=!0,Mo=null,fi=!1,a!==null&&(Na[Ca++]=Vi,Na[Ca++]=Yi,Na[Ca++]=Ao,Vi=a.id,Yi=a.overflow,Ao=s),s=wp(s,h.children),s.flags|=4096);return s}return b?(Ms(),b=h.fallback,L=s.mode,W=a.child,he=W.sibling,h=Gi(W,{mode:"hidden",children:h.children}),h.subtreeFlags=W.subtreeFlags&65011712,he!==null?b=Gi(he,b):(b=ko(b,L,u,null),b.flags|=2),b.return=s,h.return=s,h.sibling=b,s.child=h,h=b,b=s.child,L=a.child.memoizedState,L===null?L=Ep(u):(W=L.cachePool,W!==null?(he=ar._currentValue,W=W.parent!==he?{parent:he,pool:he}:W):W=Yy(),L={baseLanes:L.baseLanes|u,cachePool:W}),b.memoizedState=L,b.childLanes=Sp(a,M,u),s.memoizedState=vp,h):(Rs(s),u=a.child,a=u.sibling,u=Gi(u,{mode:"visible",children:h.children}),u.return=s,u.sibling=null,a!==null&&(M=s.deletions,M===null?(s.deletions=[a],s.flags|=16):M.push(a)),s.child=u,s.memoizedState=null,u)}function wp(a,s){return s=Ed({mode:"visible",children:s},a.mode),s.return=a,a.child=s}function Ed(a,s){return a=sa(22,a,null,s),a.lanes=0,a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},a}function Tp(a,s,u){return Nl(s,a.child,null,u),a=wp(s,s.pendingProps.children),a.flags|=2,s.memoizedState=null,a}function lv(a,s,u){a.lanes|=s;var h=a.alternate;h!==null&&(h.lanes|=s),Hm(a.return,s,u)}function _p(a,s,u,h,b){var v=a.memoizedState;v===null?a.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:h,tail:u,tailMode:b}:(v.isBackwards=s,v.rendering=null,v.renderingStartTime=0,v.last=h,v.tail=u,v.tailMode=b)}function uv(a,s,u){var h=s.pendingProps,b=h.revealOrder,v=h.tail;if(Sr(a,s,h.children,u),h=ir.current,(h&2)!==0)h=h&1|2,s.flags|=128;else{if(a!==null&&(a.flags&128)!==0)e:for(a=s.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&lv(a,u,s);else if(a.tag===19)lv(a,u,s);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===s)break e;for(;a.sibling===null;){if(a.return===null||a.return===s)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}h&=1}switch(I(ir,h),b){case"forwards":for(u=s.child,b=null;u!==null;)a=u.alternate,a!==null&&bd(a)===null&&(b=u),u=u.sibling;u=b,u===null?(b=s.child,s.child=null):(b=u.sibling,u.sibling=null),_p(s,!1,b,u,v);break;case"backwards":for(u=null,b=s.child,s.child=null;b!==null;){if(a=b.alternate,a!==null&&bd(a)===null){s.child=b;break}a=b.sibling,b.sibling=u,u=b,b=a}_p(s,!0,u,null,v);break;case"together":_p(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Zi(a,s,u){if(a!==null&&(s.dependencies=a.dependencies),Ps|=s.lanes,(u&s.childLanes)===0)if(a!==null){if(Yu(a,s,u,!1),(u&s.childLanes)===0)return null}else return null;if(a!==null&&s.child!==a.child)throw Error(r(153));if(s.child!==null){for(a=s.child,u=Gi(a,a.pendingProps),s.child=u,u.return=s;a.sibling!==null;)a=a.sibling,u=u.sibling=Gi(a,a.pendingProps),u.return=s;u.sibling=null}return s.child}function Np(a,s){return(a.lanes&s)!==0?!0:(a=a.dependencies,!!(a!==null&&td(a)))}function g9(a,s,u){switch(s.tag){case 3:Pe(s,s.stateNode.containerInfo),_s(s,ar,a.memoizedState.cache),Gu();break;case 27:case 5:pe(s);break;case 4:Pe(s,s.stateNode.containerInfo);break;case 10:_s(s,s.type,s.memoizedProps.value);break;case 13:var h=s.memoizedState;if(h!==null)return h.dehydrated!==null?(Rs(s),s.flags|=128,null):(u&s.child.childLanes)!==0?ov(a,s,u):(Rs(s),a=Zi(a,s,u),a!==null?a.sibling:null);Rs(s);break;case 19:var b=(a.flags&128)!==0;if(h=(u&s.childLanes)!==0,h||(Yu(a,s,u,!1),h=(u&s.childLanes)!==0),b){if(h)return uv(a,s,u);s.flags|=128}if(b=s.memoizedState,b!==null&&(b.rendering=null,b.tail=null,b.lastEffect=null),I(ir,ir.current),h)break;return null;case 22:case 23:return s.lanes=0,nv(a,s,u);case 24:_s(s,ar,a.memoizedState.cache)}return Zi(a,s,u)}function cv(a,s,u){if(a!==null)if(a.memoizedProps!==s.pendingProps)dr=!0;else{if(!Np(a,u)&&(s.flags&128)===0)return dr=!1,g9(a,s,u);dr=(a.flags&131072)!==0}else dr=!1,Zt&&(s.flags&1048576)!==0&&Fy(s,ed,s.index);switch(s.lanes=0,s.tag){case 16:e:{a=s.pendingProps;var h=s.elementType,b=h._init;if(h=b(h._payload),s.type=h,typeof h=="function")Lm(h)?(a=jo(h,a),s.tag=1,s=iv(null,s,h,a,u)):(s.tag=0,s=xp(null,s,h,a,u));else{if(h!=null){if(b=h.$$typeof,b===z){s.tag=11,s=Jx(null,s,h,a,u);break e}else if(b===q){s.tag=14,s=ev(null,s,h,a,u);break e}}throw s=ae(h)||h,Error(r(306,s,""))}}return s;case 0:return xp(a,s,s.type,s.pendingProps,u);case 1:return h=s.type,b=jo(h,s.pendingProps),iv(a,s,h,b,u);case 3:e:{if(Pe(s,s.stateNode.containerInfo),a===null)throw Error(r(387));h=s.pendingProps;var v=s.memoizedState;b=v.element,Wm(a,s),ec(s,h,null,u);var M=s.memoizedState;if(h=M.cache,_s(s,ar,h),h!==v.cache&&$m(s,[ar],u,!0),Ju(),h=M.element,v.isDehydrated)if(v={element:h,isDehydrated:!1,cache:M.cache},s.updateQueue.baseState=v,s.memoizedState=v,s.flags&256){s=sv(a,s,h,u);break e}else if(h!==b){b=Ta(Error(r(424)),s),Vu(b),s=sv(a,s,h,u);break e}else{switch(a=s.stateNode.containerInfo,a.nodeType){case 9:a=a.body;break;default:a=a.nodeName==="HTML"?a.ownerDocument.body:a}for(Bn=Za(a.firstChild),Lr=s,Zt=!0,Mo=null,fi=!0,u=Hx(s,null,h,u),s.child=u;u;)u.flags=u.flags&-3|4096,u=u.sibling}else{if(Gu(),h===b){s=Zi(a,s,u);break e}Sr(a,s,h,u)}s=s.child}return s;case 26:return vd(a,s),a===null?(u=m4(s.type,null,s.pendingProps,null))?s.memoizedState=u:Zt||(u=s.type,a=s.pendingProps,h=Ld(Te.current).createElement(u),h[Ge]=s,h[st]=a,Tr(h,u,a),Sn(h),s.stateNode=h):s.memoizedState=m4(s.type,a.memoizedProps,s.pendingProps,a.memoizedState),null;case 27:return pe(s),a===null&&Zt&&(h=s.stateNode=d4(s.type,s.pendingProps,Te.current),Lr=s,fi=!0,b=Bn,Fs(s.type)?(sg=b,Bn=Za(h.firstChild)):Bn=b),Sr(a,s,s.pendingProps.children,u),vd(a,s),a===null&&(s.flags|=4194304),s.child;case 5:return a===null&&Zt&&((b=h=Bn)&&(h=q9(h,s.type,s.pendingProps,fi),h!==null?(s.stateNode=h,Lr=s,Bn=Za(h.firstChild),fi=!1,b=!0):b=!1),b||Oo(s)),pe(s),b=s.type,v=s.pendingProps,M=a!==null?a.memoizedProps:null,h=v.children,ng(b,v)?h=null:M!==null&&ng(b,M)&&(s.flags|=32),s.memoizedState!==null&&(b=tp(a,s,l9,null,null,u),Sc._currentValue=b),vd(a,s),Sr(a,s,h,u),s.child;case 6:return a===null&&Zt&&((a=u=Bn)&&(u=G9(u,s.pendingProps,fi),u!==null?(s.stateNode=u,Lr=s,Bn=null,a=!0):a=!1),a||Oo(s)),null;case 13:return ov(a,s,u);case 4:return Pe(s,s.stateNode.containerInfo),h=s.pendingProps,a===null?s.child=Nl(s,null,h,u):Sr(a,s,h,u),s.child;case 11:return Jx(a,s,s.type,s.pendingProps,u);case 7:return Sr(a,s,s.pendingProps,u),s.child;case 8:return Sr(a,s,s.pendingProps.children,u),s.child;case 12:return Sr(a,s,s.pendingProps.children,u),s.child;case 10:return h=s.pendingProps,_s(s,s.type,h.value),Sr(a,s,h.children,u),s.child;case 9:return b=s.type._context,h=s.pendingProps.children,Io(s),b=Ar(b),h=h(b),s.flags|=1,Sr(a,s,h,u),s.child;case 14:return ev(a,s,s.type,s.pendingProps,u);case 15:return tv(a,s,s.type,s.pendingProps,u);case 19:return uv(a,s,u);case 31:return h=s.pendingProps,u=s.mode,h={mode:h.mode,children:h.children},a===null?(u=Ed(h,u),u.ref=s.ref,s.child=u,u.return=s,s=u):(u=Gi(a.child,h),u.ref=s.ref,s.child=u,u.return=s,s=u),s;case 22:return nv(a,s,u);case 24:return Io(s),h=Ar(ar),a===null?(b=Vm(),b===null&&(b=wn,v=qm(),b.pooledCache=v,v.refCount++,v!==null&&(b.pooledCacheLanes|=u),b=v),s.memoizedState={parent:h,cache:b},Km(s),_s(s,ar,b)):((a.lanes&u)!==0&&(Wm(a,s),ec(s,null,null,u),Ju()),b=a.memoizedState,v=s.memoizedState,b.parent!==h?(b={parent:h,cache:h},s.memoizedState=b,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=b),_s(s,ar,h)):(h=v.cache,_s(s,ar,h),h!==b.cache&&$m(s,[ar],u,!0))),Sr(a,s,s.pendingProps.children,u),s.child;case 29:throw s.pendingProps}throw Error(r(156,s.tag))}function Ji(a){a.flags|=4}function dv(a,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)a.flags&=-16777217;else if(a.flags|=16777216,!x4(s)){if(s=ka.current,s!==null&&((Vt&4194048)===Vt?hi!==null:(Vt&62914560)!==Vt&&(Vt&536870912)===0||s!==hi))throw Qu=Ym,Ky;a.flags|=8192}}function Sd(a,s){s!==null&&(a.flags|=4),a.flags&16384&&(s=a.tag!==22?xo():536870912,a.lanes|=s,Rl|=s)}function oc(a,s){if(!Zt)switch(a.tailMode){case"hidden":s=a.tail;for(var u=null;s!==null;)s.alternate!==null&&(u=s),s=s.sibling;u===null?a.tail=null:u.sibling=null;break;case"collapsed":u=a.tail;for(var h=null;u!==null;)u.alternate!==null&&(h=u),u=u.sibling;h===null?s||a.tail===null?a.tail=null:a.tail.sibling=null:h.sibling=null}}function Ln(a){var s=a.alternate!==null&&a.alternate.child===a.child,u=0,h=0;if(s)for(var b=a.child;b!==null;)u|=b.lanes|b.childLanes,h|=b.subtreeFlags&65011712,h|=b.flags&65011712,b.return=a,b=b.sibling;else for(b=a.child;b!==null;)u|=b.lanes|b.childLanes,h|=b.subtreeFlags,h|=b.flags,b.return=a,b=b.sibling;return a.subtreeFlags|=h,a.childLanes=u,s}function b9(a,s,u){var h=s.pendingProps;switch(zm(s),s.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ln(s),null;case 1:return Ln(s),null;case 3:return u=s.stateNode,h=null,a!==null&&(h=a.memoizedState.cache),s.memoizedState.cache!==h&&(s.flags|=2048),Wi(ar),tt(),u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),(a===null||a.child===null)&&(qu(s)?Ji(s):a===null||a.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,$y())),Ln(s),null;case 26:return u=s.memoizedState,a===null?(Ji(s),u!==null?(Ln(s),dv(s,u)):(Ln(s),s.flags&=-16777217)):u?u!==a.memoizedState?(Ji(s),Ln(s),dv(s,u)):(Ln(s),s.flags&=-16777217):(a.memoizedProps!==h&&Ji(s),Ln(s),s.flags&=-16777217),null;case 27:Re(s),u=Te.current;var b=s.type;if(a!==null&&s.stateNode!=null)a.memoizedProps!==h&&Ji(s);else{if(!h){if(s.stateNode===null)throw Error(r(166));return Ln(s),null}a=ve.current,qu(s)?Uy(s):(a=d4(b,h,u),s.stateNode=a,Ji(s))}return Ln(s),null;case 5:if(Re(s),u=s.type,a!==null&&s.stateNode!=null)a.memoizedProps!==h&&Ji(s);else{if(!h){if(s.stateNode===null)throw Error(r(166));return Ln(s),null}if(a=ve.current,qu(s))Uy(s);else{switch(b=Ld(Te.current),a){case 1:a=b.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:a=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":a=b.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":a=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":a=b.createElement("div"),a.innerHTML=" + diff --git a/screenshots/Screenshot 2025-08-26 at 12.25.27 PM (2).png b/screenshots/Screenshot 2025-08-26 at 12.25.27 PM (2).png new file mode 100644 index 00000000..2a841bf4 Binary files /dev/null and b/screenshots/Screenshot 2025-08-26 at 12.25.27 PM (2).png differ diff --git a/screenshots/Scriberr-transcription profiles for handling different transcription configurations .png b/screenshots/Scriberr-transcription profiles for handling different transcription configurations .png new file mode 100644 index 00000000..c797a08a Binary files /dev/null and b/screenshots/Scriberr-transcription profiles for handling different transcription configurations .png differ diff --git a/screenshots/scriberr-Ollama:openAI llm providers for chat and summarization.png b/screenshots/scriberr-Ollama:openAI llm providers for chat and summarization.png new file mode 100644 index 00000000..4c925fec Binary files /dev/null and b/screenshots/scriberr-Ollama:openAI llm providers for chat and summarization.png differ diff --git a/screenshots/scriberr-annotate transcript and take notes.png b/screenshots/scriberr-annotate transcript and take notes.png new file mode 100644 index 00000000..e80607f5 Binary files /dev/null and b/screenshots/scriberr-annotate transcript and take notes.png differ diff --git a/screenshots/scriberr-chat-with-your-recording-transcript.png b/screenshots/scriberr-chat-with-your-recording-transcript.png new file mode 100644 index 00000000..ed5a28d3 Binary files /dev/null and b/screenshots/scriberr-chat-with-your-recording-transcript.png differ diff --git a/screenshots/scriberr-download-transcript-in-different-formats.png b/screenshots/scriberr-download-transcript-in-different-formats.png new file mode 100644 index 00000000..58e45ed6 Binary files /dev/null and b/screenshots/scriberr-download-transcript-in-different-formats.png differ diff --git a/screenshots/scriberr-fine tune advanced transcription parameters as you see fit to improve transcription quality.png b/screenshots/scriberr-fine tune advanced transcription parameters as you see fit to improve transcription quality.png new file mode 100644 index 00000000..f766d2f7 Binary files /dev/null and b/screenshots/scriberr-fine tune advanced transcription parameters as you see fit to improve transcription quality.png differ diff --git a/screenshots/scriberr-homepage.png b/screenshots/scriberr-homepage.png new file mode 100644 index 00000000..f6129a46 Binary files /dev/null and b/screenshots/scriberr-homepage.png differ diff --git a/screenshots/scriberr-inbuilt audio recorder for directly recording and transcribing audio within the app.png b/screenshots/scriberr-inbuilt audio recorder for directly recording and transcribing audio within the app.png new file mode 100644 index 00000000..99bcd8b6 Binary files /dev/null and b/screenshots/scriberr-inbuilt audio recorder for directly recording and transcribing audio within the app.png differ diff --git a/screenshots/scriberr-manage api keys.png b/screenshots/scriberr-manage api keys.png new file mode 100644 index 00000000..1ab8ecac Binary files /dev/null and b/screenshots/scriberr-manage api keys.png differ diff --git a/screenshots/scriberr-summarize transcripts.png b/screenshots/scriberr-summarize transcripts.png new file mode 100644 index 00000000..0a20f2c3 Binary files /dev/null and b/screenshots/scriberr-summarize transcripts.png differ diff --git a/screenshots/scriberr-transcript page.png b/screenshots/scriberr-transcript page.png new file mode 100644 index 00000000..283ea199 Binary files /dev/null and b/screenshots/scriberr-transcript page.png differ diff --git a/web/frontend/src/components/ProfileSettings.tsx b/web/frontend/src/components/ProfileSettings.tsx index 104b1ef1..fb52a5d9 100644 --- a/web/frontend/src/components/ProfileSettings.tsx +++ b/web/frontend/src/components/ProfileSettings.tsx @@ -2,6 +2,7 @@ import { useState, useCallback } from "react"; import { Button } from "./ui/button"; import { ProfilesTable } from "./ProfilesTable"; import { TranscriptionConfigDialog, type WhisperXParams } from "./TranscriptionConfigDialog"; +import { useAuth } from "../contexts/AuthContext"; interface TranscriptionProfile { id: string; @@ -17,6 +18,7 @@ export function ProfileSettings() { const [profileDialogOpen, setProfileDialogOpen] = useState(false); const [editingProfile, setEditingProfile] = useState(null); const [refreshTrigger, setRefreshTrigger] = useState(0); + const { getAuthHeaders } = useAuth(); const handleCreateProfile = useCallback(() => { setEditingProfile(null); @@ -28,13 +30,56 @@ export function ProfileSettings() { setProfileDialogOpen(true); }, []); - const handleProfileSaved = useCallback(async (_params: WhisperXParams & { profileName?: string; profileDescription?: string }) => { - // Profile saving logic would go here - // For now, just close the dialog and refresh - setRefreshTrigger((prev) => prev + 1); - setProfileDialogOpen(false); - setEditingProfile(null); - }, []); + const handleProfileSaved = useCallback(async (payload: WhisperXParams & { profileName?: string; profileDescription?: string }) => { + try { + const name = (payload.profileName || "").trim(); + const description = (payload.profileDescription || "").trim(); + if (!name) { + alert("Profile name is required"); + return; + } + + const { profileName: _pn, profileDescription: _pd, ...paramRest } = payload as any; + const body = { + name, + description: description || undefined, + parameters: paramRest as WhisperXParams, + }; + + let res: Response; + if (editingProfile) { + // Preserve current default flag unless changed elsewhere + res = await fetch(`/api/v1/profiles/${editingProfile.id}`, { + method: "PUT", + headers: { "Content-Type": "application/json", ...getAuthHeaders() }, + body: JSON.stringify({ + ...body, + id: editingProfile.id, + is_default: editingProfile.is_default, + }), + }); + } else { + res = await fetch(`/api/v1/profiles`, { + method: "POST", + headers: { "Content-Type": "application/json", ...getAuthHeaders() }, + body: JSON.stringify(body), + }); + } + + if (!res.ok) { + const text = await res.text(); + alert(`Failed to save profile: ${res.status} ${text}`); + return; + } + + setRefreshTrigger((prev) => prev + 1); + setProfileDialogOpen(false); + setEditingProfile(null); + } catch (e) { + console.error("Failed to save profile", e); + alert("Failed to save profile"); + } + }, [editingProfile, getAuthHeaders]); const handleProfileChange = useCallback(() => { setRefreshTrigger((prev) => prev + 1); @@ -64,6 +109,7 @@ export function ProfileSettings() { refreshTrigger={refreshTrigger} onProfileChange={handleProfileChange} onEditProfile={handleEditProfile} + onCreateProfile={handleCreateProfile} /> diff --git a/web/frontend/src/components/ProfilesTable.tsx b/web/frontend/src/components/ProfilesTable.tsx index b9cc96fb..24d1d8f5 100644 --- a/web/frontend/src/components/ProfilesTable.tsx +++ b/web/frontend/src/components/ProfilesTable.tsx @@ -27,15 +27,17 @@ interface TranscriptionProfile { } interface ProfilesTableProps { - refreshTrigger: number; - onProfileChange: () => void; - onEditProfile: (profile: TranscriptionProfile) => void; + refreshTrigger: number; + onProfileChange: () => void; + onEditProfile: (profile: TranscriptionProfile) => void; + onCreateProfile?: () => void; } export function ProfilesTable({ - refreshTrigger, - onProfileChange, - onEditProfile, + refreshTrigger, + onProfileChange, + onEditProfile, + onCreateProfile, }: ProfilesTableProps) { const { getAuthHeaders } = useAuth(); const [profiles, setProfiles] = useState([]); @@ -148,13 +150,13 @@ export function ProfilesTable({ Create your first transcription profile to save and reuse your preferred settings.

- + ); }