test-lah 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +28 -21
  3. package/.next/standalone/.next/app-path-routes-manifest.json +2 -1
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +21 -21
  6. package/.next/standalone/.next/server/app/(dashboard)/integrations/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/integrations/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/integrations/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js +6 -3
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js +2 -2
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  23. package/.next/standalone/.next/server/app/api/e2e/route.js +131 -0
  24. package/.next/standalone/.next/server/app/api/e2e/route.js.nft.json +1 -0
  25. package/.next/standalone/.next/server/app/api/e2e/route_client-reference-manifest.js +1 -0
  26. package/.next/standalone/.next/server/app/api/generate/route.js +3 -3
  27. package/.next/standalone/.next/server/app/api/generate/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/generate/route_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/api/llm/encrypt/route.js +1 -1
  30. package/.next/standalone/.next/server/app/api/llm/encrypt/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/llm/encrypt/route_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/api/llm/test/route.js +3 -3
  33. package/.next/standalone/.next/server/app/api/llm/test/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/llm/test/route_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/api/weather/route.js +1 -1
  36. package/.next/standalone/.next/server/app/api/weather/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/weather/route_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  39. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/index.html +1 -1
  41. package/.next/standalone/.next/server/app/index.rsc +2 -2
  42. package/.next/standalone/.next/server/app/integrations.html +1 -1
  43. package/.next/standalone/.next/server/app/integrations.rsc +4 -4
  44. package/.next/standalone/.next/server/app/login/page.js +1 -1
  45. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/login.html +1 -1
  48. package/.next/standalone/.next/server/app/login.rsc +2 -2
  49. package/.next/standalone/.next/server/app/page.js +1 -1
  50. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/projects.html +1 -1
  53. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  54. package/.next/standalone/.next/server/app-paths-manifest.json +2 -1
  55. package/.next/standalone/.next/server/chunks/615.js +2 -2
  56. package/.next/standalone/.next/server/chunks/692.js +1 -1
  57. package/.next/standalone/.next/server/chunks/{984.js → 736.js} +4 -4
  58. package/.next/standalone/.next/server/chunks/824.js +2 -2
  59. package/.next/standalone/.next/server/chunks/{174.js → 845.js} +3 -3
  60. package/.next/standalone/.next/server/chunks/{331.js → 873.js} +3 -3
  61. package/.next/standalone/.next/server/chunks/917.js +1 -0
  62. package/.next/standalone/.next/server/pages/404.html +1 -1
  63. package/.next/standalone/.next/server/pages/500.html +1 -1
  64. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  66. package/.next/standalone/.next/static/9OtwPzpy1ovRWzffCh95h/_buildManifest.js +1 -0
  67. package/.next/standalone/.next/static/chunks/246-1673b37cc8edb269.js +1 -0
  68. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +1 -0
  69. package/.next/{static/chunks/app/(dashboard)/layout-897f5e42d6866a6e.js → standalone/.next/static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js} +1 -1
  70. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js +1 -0
  71. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/{page-524594daf0494836.js → page-b69fc155f1796e19.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-f3e1d8b28a760b83.js → page-11a49918142004f5.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +1 -0
  74. package/.next/standalone/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +1 -0
  75. package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +1 -0
  76. package/.next/standalone/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +1 -0
  77. package/.next/standalone/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +1 -0
  78. package/.next/standalone/.next/static/css/0ecf0abc0513341e.css +3 -0
  79. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  80. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  81. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  82. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  83. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +191 -0
  84. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  85. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  86. package/.next/standalone/node_modules/playwright/index.js +17 -0
  87. package/.next/standalone/node_modules/playwright/index.mjs +18 -0
  88. package/.next/standalone/node_modules/playwright/package.json +61 -0
  89. package/.next/standalone/node_modules/playwright-core/browsers.json +81 -0
  90. package/.next/standalone/node_modules/playwright-core/index.js +32 -0
  91. package/.next/standalone/node_modules/playwright-core/index.mjs +28 -0
  92. package/.next/standalone/node_modules/playwright-core/lib/coreBundle.js +69799 -0
  93. package/.next/standalone/node_modules/playwright-core/lib/utilsBundle.js +85418 -0
  94. package/.next/standalone/node_modules/playwright-core/lib/xdg-open +1066 -0
  95. package/.next/standalone/node_modules/playwright-core/package.json +34 -0
  96. package/.next/standalone/package.json +5 -2
  97. package/.next/static/9OtwPzpy1ovRWzffCh95h/_buildManifest.js +1 -0
  98. package/.next/static/chunks/246-1673b37cc8edb269.js +1 -0
  99. package/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +1 -0
  100. package/.next/{standalone/.next/static/chunks/app/(dashboard)/layout-897f5e42d6866a6e.js → static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js} +1 -1
  101. package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js +1 -0
  102. package/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/{page-524594daf0494836.js → page-b69fc155f1796e19.js} +1 -1
  103. package/.next/static/chunks/app/(dashboard)/projects/{page-f3e1d8b28a760b83.js → page-11a49918142004f5.js} +1 -1
  104. package/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +1 -0
  105. package/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +1 -0
  106. package/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +1 -0
  107. package/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +1 -0
  108. package/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +1 -0
  109. package/.next/static/css/0ecf0abc0513341e.css +3 -0
  110. package/package.json +4 -1
  111. package/.next/standalone/.next/static/3YcKKljN8y2beg2wtB7D2/_buildManifest.js +0 -1
  112. package/.next/standalone/.next/static/chunks/882-cc9789441250ca9d.js +0 -1
  113. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-bb73e3391f40493c.js +0 -1
  114. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-d04f72d976710ff8.js +0 -1
  115. package/.next/standalone/.next/static/chunks/app/api/generate/route-1bebaa46eebbcd06.js +0 -1
  116. package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-1bebaa46eebbcd06.js +0 -1
  117. package/.next/standalone/.next/static/chunks/app/api/llm/test/route-1bebaa46eebbcd06.js +0 -1
  118. package/.next/standalone/.next/static/chunks/app/api/weather/route-1bebaa46eebbcd06.js +0 -1
  119. package/.next/standalone/.next/static/css/148903621a1952c4.css +0 -3
  120. package/.next/static/3YcKKljN8y2beg2wtB7D2/_buildManifest.js +0 -1
  121. package/.next/static/chunks/882-cc9789441250ca9d.js +0 -1
  122. package/.next/static/chunks/app/(dashboard)/integrations/page-bb73e3391f40493c.js +0 -1
  123. package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-d04f72d976710ff8.js +0 -1
  124. package/.next/static/chunks/app/api/generate/route-1bebaa46eebbcd06.js +0 -1
  125. package/.next/static/chunks/app/api/llm/encrypt/route-1bebaa46eebbcd06.js +0 -1
  126. package/.next/static/chunks/app/api/llm/test/route-1bebaa46eebbcd06.js +0 -1
  127. package/.next/static/chunks/app/api/weather/route-1bebaa46eebbcd06.js +0 -1
  128. package/.next/static/css/148903621a1952c4.css +0 -3
  129. /package/.next/standalone/.next/static/{3YcKKljN8y2beg2wtB7D2 → 9OtwPzpy1ovRWzffCh95h}/_ssgManifest.js +0 -0
  130. /package/.next/static/{3YcKKljN8y2beg2wtB7D2 → 9OtwPzpy1ovRWzffCh95h}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ exports.id=917,exports.ids=[917],exports.modules={22682:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactDOM},27825:(a,b,c)=>{"use strict";a.exports=c(33030)},33030:(a,b,c)=>{"use strict";var d=c(28354),e=c(22682),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},48723:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(51506),e=c(96896);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},51506:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:"/"+a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},77533:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(49290),f=c(48723),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},77925:()=>{},96896:(a,b)=>{"use strict";function c(a){return"("===a[0]&&a.endsWith(")")}function d(a){return a.startsWith("@")&&"@children"!==a}function e(a,b){if(a.includes(f)){let a=JSON.stringify(b);return"{}"!==a?f+"?"+a:f}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DEFAULT_SEGMENT_KEY:function(){return g},PAGE_SEGMENT_KEY:function(){return f},addSearchParamsIfPageSegment:function(){return e},isGroupSegment:function(){return c},isParallelRouteSegment:function(){return d}});let f="__PAGE__",g="__DEFAULT__"},97954:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactServerDOMWebpackServer}};
@@ -1 +1 @@
1
- <!DOCTYPE html><!--3YcKKljN8y2beg2wtB7D2--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/148903621a1952c4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-879312f65eed9520.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-4f84124391a7dac4.js" async=""></script><script src="/_next/static/chunks/main-app-9c62372c526a8308.js" async=""></script><script src="/_next/static/chunks/app/layout-3ad98a7069d70b7b.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Test Lah!</title><meta name="description" content="Test Lah! — Your Boss&#x27;s Favorite QA Tool"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="350x350"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3" style="font-family:Inter, system-ui, sans-serif"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><div class="fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out" style="opacity:0;transform:translateY(100%);pointer-events:none"><div class="h-1 w-full" style="background-color:var(--bg-secondary)"><div class="h-full transition-all duration-200 ease-out" style="width:0%;background-color:var(--accent);box-shadow:none"></div></div></div><script src="/_next/static/chunks/webpack-879312f65eed9520.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6061,[\"177\",\"static/chunks/app/layout-3ad98a7069d70b7b.js\"],\"Providers\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/148903621a1952c4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"3YcKKljN8y2beg2wtB7D2\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/148903621a1952c4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_f367f3\",\"style\":{\"fontFamily\":\"Inter, system-ui, sans-serif\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Test Lah!\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Test Lah! — Your Boss's Favorite QA Tool\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"350x350\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$Lf\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--9OtwPzpy1ovRWzffCh95h--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/0ecf0abc0513341e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-879312f65eed9520.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-4f84124391a7dac4.js" async=""></script><script src="/_next/static/chunks/main-app-9c62372c526a8308.js" async=""></script><script src="/_next/static/chunks/app/layout-3ad98a7069d70b7b.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Test Lah!</title><meta name="description" content="Test Lah! — Your Boss&#x27;s Favorite QA Tool"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="350x350"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3" style="font-family:Inter, system-ui, sans-serif"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><div class="fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out" style="opacity:0;transform:translateY(100%);pointer-events:none"><div class="h-1 w-full" style="background-color:var(--bg-secondary)"><div class="h-full transition-all duration-200 ease-out" style="width:0%;background-color:var(--accent);box-shadow:none"></div></div></div><script src="/_next/static/chunks/webpack-879312f65eed9520.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6061,[\"177\",\"static/chunks/app/layout-3ad98a7069d70b7b.js\"],\"Providers\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/0ecf0abc0513341e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"9OtwPzpy1ovRWzffCh95h\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0ecf0abc0513341e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_f367f3\",\"style\":{\"fontFamily\":\"Inter, system-ui, sans-serif\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Test Lah!\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Test Lah! — Your Boss's Favorite QA Tool\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"350x350\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$Lf\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-879312f65eed9520.js" defer=""></script><script src="/_next/static/chunks/framework-a6e0b7e30f98059a.js" defer=""></script><script src="/_next/static/chunks/main-646068343426c12d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/3YcKKljN8y2beg2wtB7D2/_buildManifest.js" defer=""></script><script src="/_next/static/3YcKKljN8y2beg2wtB7D2/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"3YcKKljN8y2beg2wtB7D2","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-879312f65eed9520.js" defer=""></script><script src="/_next/static/chunks/framework-a6e0b7e30f98059a.js" defer=""></script><script src="/_next/static/chunks/main-646068343426c12d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/9OtwPzpy1ovRWzffCh95h/_buildManifest.js" defer=""></script><script src="/_next/static/9OtwPzpy1ovRWzffCh95h/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"9OtwPzpy1ovRWzffCh95h","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"60a3ea029916e378c2d86e693740e24a303aaf50d6\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"generateTestCode\"},\"70ec37527f854489dd782643d7896ddea22d39a1eb\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"executeTestCase\"},\"785ce821970b970b41c6827cb01aa6f624cf5d6466\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"runE2ETests\"},\"78a6afe4f65d149677061ced217792707b27de1558\":{\"workers\":{\"app/api/e2e/route\":{\"moduleId\":\"62322\",\"async\":false}},\"layer\":{\"app/api/e2e/route\":\"rsc\"},\"filename\":\"lib/e2e-agent.ts\",\"exportedName\":\"analyzeFailure\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"yIz6bHWO3jHc730DvjYgxB9tVJw4ahDlcMWRJv36/vY="}
1
+ {"node":{"60a3ea029916e378c2d86e693740e24a303aaf50d6":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"generateTestCode"},"70ec37527f854489dd782643d7896ddea22d39a1eb":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"executeTestCase"},"785ce821970b970b41c6827cb01aa6f624cf5d6466":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"runE2ETests"},"78a6afe4f65d149677061ced217792707b27de1558":{"workers":{"app/api/e2e/route":{"moduleId":"62322","async":false}},"layer":{"app/api/e2e/route":"rsc"},"filename":"lib/e2e-agent.ts","exportedName":"analyzeFailure"}},"edge":{},"encryptionKey":"8xfS+MGAeQU8NwffqEslmCiz0wAFPaet5S4dBJXd29M="}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:11,errorRate:1e-4,numBits:211,numHashes:14,bitArray:[1,0,1,e,0,e,r,r,e,e,e,r,r,e,r,e,e,e,r,e,r,r,e,e,r,r,e,e,r,r,r,r,r,r,r,e,e,e,e,r,e,e,e,e,e,e,r,r,r,e,e,e,r,r,r,r,r,r,r,e,r,e,e,e,r,e,r,e,e,r,e,r,r,r,e,e,r,e,r,e,r,r,r,r,r,e,e,r,e,r,e,e,e,e,e,r,e,e,e,r,e,e,e,e,e,e,r,r,e,e,r,r,r,r,r,e,r,e,e,r,e,r,e,e,r,e,r,e,e,e,r,r,e,e,e,e,e,e,r,e,r,r,r,r,e,r,r,e,r,e,e,e,e,e,r,r,e,e,e,e,e,e,e,e,r,e,r,r,e,e,r,r,r,r,e,e,e,e,r,r,r,e,e,e,r,e,e,r,e,r,r,r,e,e,e,e,e,r,r,r,e,e,e,e,r,e,e,r,r,r,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[r,r,e,e,e,e,r,e,r,e,r,e,r,e,r,e,e,r,e,r]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[246],{7065:(e,t,r)=>{r.d(t,{q:()=>a,s:()=>n});var l=r(5155),s=r(2115);function n(){let[e,t]=(0,s.useState)(null),r=(0,s.useCallback)((e,r)=>new Promise(l=>{t({type:"alert",title:e,message:r,resolve:()=>{t(null),l()}})}),[]);return{dialog:e,alert:r,confirm:(0,s.useCallback)((e,r)=>new Promise(l=>{t({type:"confirm",title:e,message:r,resolve:e=>{t(null),l(!0===e)}})}),[]),prompt:(0,s.useCallback)(function(e,r){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return new Promise(s=>{t({type:"prompt",title:e,message:r,defaultValue:l,resolve:e=>{t(null),s("string"==typeof e?e:null)}})})},[])}}function a(e){let{dialog:t}=e,[r,n]=(0,s.useState)(""),a=(0,s.useRef)(null);return((0,s.useEffect)(()=>{if((null==t?void 0:t.type)==="prompt"){var e;n(null!=(e=t.defaultValue)?e:""),setTimeout(()=>{var e;return null==(e=a.current)?void 0:e.focus()},50)}},[t]),(0,s.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&t.resolve("prompt"===t.type&&null),"Enter"===e.key&&"prompt"!==t.type&&t.resolve("confirm"===t.type||null)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t]),t)?(0,l.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>t.resolve("prompt"===t.type&&null),children:(0,l.jsx)("div",{className:"relative w-full max-w-sm mx-4",onClick:e=>e.stopPropagation(),children:(0,l.jsx)("div",{className:"p-[2px] rounded-xl overflow-hidden",style:{background:"linear-gradient(135deg, #9E7AFF 0%, #FE8BBB 50%, #9E7AFF 100%)",backgroundSize:"200% 200%",animation:"borderShine 3s linear infinite"},children:(0,l.jsxs)("div",{className:"rounded-[10px] p-5",style:{backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-xl)"},children:[(0,l.jsx)("h3",{className:"text-sm font-semibold mb-2",style:{color:"var(--text-primary)"},children:t.title}),(0,l.jsx)("p",{className:"text-xs mb-4",style:{color:"var(--text-secondary)"},children:t.message}),"prompt"===t.type&&(0,l.jsx)("input",{ref:a,value:r,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"===e.key&&t.resolve(r.trim()||null)},className:"w-full px-3 py-2 text-sm rounded-lg border outline-none transition-colors focus:border-[var(--accent)] mb-4",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)",color:"var(--text-primary)"},placeholder:"Enter value..."}),(0,l.jsxs)("div",{className:"flex gap-2 justify-end",children:["alert"!==t.type&&(0,l.jsx)("button",{onClick:()=>t.resolve("prompt"===t.type&&null),className:"px-3 py-1.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,l.jsx)("button",{onClick:()=>{"confirm"===t.type?t.resolve(!0):"prompt"===t.type?t.resolve(r.trim()||null):t.resolve(null)},className:"px-3 py-1.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--accent)",color:"var(--bg-primary)"},children:"confirm"===t.type?"Confirm":"OK"})]})]})})})}):null}},7246:(e,t,r)=>{r.d(t,{q:()=>p,M:()=>f});var l=r(5155),s=r(2115);function n(e,t){let[r,l]=(0,s.useState)(()=>(function(e,t){try{let r=localStorage.getItem(e);return r?JSON.parse(r):t}catch(e){return t}})(e,t)),[n,a]=(0,s.useState)(null),o=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let t=t=>{if(t.key===e&&t.newValue)try{l(JSON.parse(t.newValue))}catch(e){}};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)},[e]),[r,(0,s.useCallback)(t=>{l(r=>{let l=t instanceof Function?t(r):t;return o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{try{localStorage.setItem(e,JSON.stringify(l))}catch(e){}a(new Date().toISOString())},300),l})},[e]),n]}var a=r(8566);let o={projects:{},activeProjectId:null,selectedNodeId:null},i={name:"",bannerColor:"#64B5F6",avatarUrl:"",role:"QA Engineer"},c={baseUrl:"http://localhost:3000",browser:"chromium",headless:!0,timeout:3e4};var u=r(7065);let d=(0,s.createContext)(null);function p(e){let{children:t}=e,r=function(){var e;let[t,r,l]=n("qa-dashboard",o),i=(0,s.useCallback)(e=>{let t=crypto.randomUUID(),l={id:t,name:e,createdAt:new Date().toISOString(),flows:[],testCases:{},columnConfig:[...a._X],columnConfigs:{},edges:[],userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:0,tcCounter:{}};return r(e=>({...e,projects:{...e.projects,[t]:l},activeProjectId:t,selectedNodeId:null})),t},[r]),c=(0,s.useCallback)(e=>{r(t=>{var r;let{[e]:l,...s}=t.projects,n=Object.keys(s);return{...t,projects:s,activeProjectId:t.activeProjectId===e?null!=(r=n[0])?r:null:t.activeProjectId,selectedNodeId:t.activeProjectId===e?null:t.selectedNodeId}})},[r]),u=(0,s.useCallback)(e=>{r(t=>({...t,activeProjectId:e,selectedNodeId:null}))},[r]),d=(0,s.useCallback)((e,t)=>{r(r=>({...r,projects:{...r.projects,[e]:{...r.projects[e],name:t}}}))},[r]),p=(0,s.useCallback)(e=>{r(t=>{let r=t.projects[e];if(!r)return t;let l=crypto.randomUUID(),s=new Date().toISOString(),n={...JSON.parse(JSON.stringify(r)),id:l,name:"".concat(r.name," (Copy)"),createdAt:s};return{...t,projects:{...t.projects,[l]:n},activeProjectId:l,selectedNodeId:null}})},[r]),f=(0,s.useCallback)(e=>{try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return{ok:!1,error:"Invalid JSON"};if(!t.name||!t.flows)return{ok:!1,error:"Missing required fields (name, flows)"};let l=crypto.randomUUID(),s={id:l,name:t.name,createdAt:t.createdAt||new Date().toISOString(),flows:Array.isArray(t.flows)?t.flows:[],testCases:t.testCases&&"object"==typeof t.testCases?t.testCases:{},columnConfig:Array.isArray(t.columnConfig)?t.columnConfig:[...a._X],columnConfigs:t.columnConfigs&&"object"==typeof t.columnConfigs?t.columnConfigs:{},edges:Array.isArray(t.edges)?t.edges:[],userProfile:t.userProfile&&"object"==typeof t.userProfile?t.userProfile:{name:"",bannerColor:"#64B5F6"},nodeCounter:"number"==typeof t.nodeCounter?t.nodeCounter:0,tcCounter:t.tcCounter&&"object"==typeof t.tcCounter?t.tcCounter:{}};return r(e=>({...e,projects:{...e.projects,[l]:s},activeProjectId:l,selectedNodeId:null})),{ok:!0}}catch(e){return{ok:!1,error:"Failed to parse project file"}}},[r]),C=(0,s.useCallback)(e=>{r(t=>({...t,selectedNodeId:e}))},[r]),m=(0,s.useCallback)((e,t)=>{r(r=>({...r,projects:{...r.projects,[e]:t(r.projects[e])}}))},[r]),v=t.activeProjectId&&null!=(e=t.projects[t.activeProjectId])?e:null;return{state:t,setState:r,projects:t.projects,activeProject:v,activeProjectId:t.activeProjectId,selectedNodeId:t.selectedNodeId,createProject:i,deleteProject:c,duplicateProject:p,importProject:f,switchProject:u,renameProject:d,setSelectedNodeId:C,updateProject:m,lastSaved:l}}(),p=function(){let[e,t]=n("qa-profile",i),r=e.name.split(" ").map(e=>e[0]).filter(Boolean).slice(0,2).join("").toUpperCase()||"?";return{profile:e,setName:e=>t(t=>({...t,name:e})),setBannerColor:e=>t(t=>({...t,bannerColor:e})),setAvatarUrl:e=>t(t=>({...t,avatarUrl:e})),setRole:e=>t(t=>({...t,role:e})),initials:r}}(),f=function(e,t){let[r,l]=(0,s.useState)([]),[n,a]=(0,s.useState)(-1),o=(0,s.useRef)(!1),i=(0,s.useCallback)(t=>{if(!e||o.current){o.current=!1;return}l(r=>{let l=[...r.slice(0,n+1),{label:t,projectSnapshot:JSON.parse(JSON.stringify(e))}];return l.length>50&&l.shift(),l}),a(e=>Math.min(e+1,49))},[e,n]),c=(0,s.useCallback)(()=>{if(n<0||!e)return;let l=r[n];l&&(o.current=!0,t(e.id,()=>l.projectSnapshot),a(e=>e-1))},[r,n,e,t]),u=(0,s.useCallback)(()=>{if(n>=r.length-1||!e)return;let l=r[n+1];l&&(o.current=!0,t(e.id,()=>l.projectSnapshot),a(e=>e+1))},[r,n,e,t]),d=n>=0;return{pushState:i,undo:c,redo:u,canUndo:d,canRedo:n<r.length-1,recentActions:r.slice(-10).map(e=>e.label).reverse()}}(r.activeProject,r.updateProject),C=function(e,t,r,l){var n,o;let i=null!=(n=null==e?void 0:e.flows)?n:[],c=null!=(o=null==e?void 0:e.edges)?o:[],u=(0,s.useCallback)((r,s,n,o)=>{if(!e)return null;let i=crypto.randomUUID(),c="";return t(e.id,e=>{var t;let l=(null!=(t=e.nodeCounter)?t:0)+1,u=(s||"").trim().replace(/[^a-zA-Z0-9\s]/g,"").split(/\s+/);c=u.length>=2?u.slice(0,2).map(e=>e.charAt(0).toUpperCase()).join("")+String(l).padStart(2,"0"):u[0]&&u[0].length>=2?u[0].slice(0,3).toUpperCase()+String(l).padStart(2,"0"):"N".concat(String(l).padStart(3,"0"));let d=(0,a.IU)(i,c,s,r);n&&(d.position=n),o&&(d.direction=o);let p=[...e.flows];if(r){let e=p.findIndex(e=>e.id===r);-1!==e&&(p[e]={...p[e],children:[...p[e].children,i]})}return p.push(d),{...e,flows:p,testCases:{...e.testCases,[i]:[]},nodeCounter:l}}),l(i),i},[e,t,l]),d=(0,s.useCallback)(s=>{if(!e)return;let n=new Set,a=t=>{n.add(t);let r=e.flows.find(e=>e.id===t);null==r||r.children.forEach(a)};a(s),t(e.id,e=>{var t;let r=e.flows.filter(e=>!n.has(e.id)).map(e=>({...e,children:e.children.filter(e=>!n.has(e))})),l={...e.testCases};n.forEach(e=>delete l[e]);let s=(null!=(t=e.edges)?t:[]).filter(e=>!n.has(e.fromId)&&!n.has(e.toId));return{...e,flows:r,testCases:l,edges:s}}),n.has(null!=r?r:"")&&l(null)},[e,t,r,l]),p=(0,s.useCallback)(s=>{if(!e||0===s.length)return;let n=new Set,a=t=>{n.add(t);let r=e.flows.find(e=>e.id===t);null==r||r.children.forEach(a)};s.forEach(a),t(e.id,e=>{var t;let r=e.flows.filter(e=>!n.has(e.id)).map(e=>({...e,children:e.children.filter(e=>!n.has(e))})),l={...e.testCases};n.forEach(e=>delete l[e]);let s=(null!=(t=e.edges)?t:[]).filter(e=>!n.has(e.fromId)&&!n.has(e.toId));return{...e,flows:r,testCases:l,edges:s}}),n.has(null!=r?r:"")&&l(null)},[e,t,r,l]),f=(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>({...e,flows:e.flows.map(e=>e.id===r?{...e,label:l}:e)}))},[e,t]),C=(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>({...e,flows:e.flows.map(e=>e.id===r?{...e,...l}:e)}))},[e,t]),m=(0,s.useCallback)(r=>{e&&t(e.id,e=>{let t=e.flows.find(e=>e.id===r);return t&&t.parentId?{...e,flows:e.flows.map(e=>e.id===r?{...e,parentId:null}:e.id===t.parentId?{...e,children:e.children.filter(e=>e!==r)}:e)}:e})},[e,t]),v=(0,s.useCallback)(e=>{l(e)},[l]),b=(0,s.useCallback)((r,l,s)=>{if(!e)return;let n={id:crypto.randomUUID(),fromId:r,toId:l,type:s};t(e.id,e=>{var t;return{...e,edges:[...null!=(t=e.edges)?t:[],n]}})},[e,t]),g=(0,s.useCallback)(r=>{e&&t(e.id,e=>{var t;return{...e,edges:(null!=(t=e.edges)?t:[]).filter(e=>e.id!==r)}})},[e,t]);return{nodes:i,edges:c,selectedNodeId:r,addNode:u,deleteNode:d,deleteNodes:p,unlinkNode:m,renameNode:f,updateNode:C,selectNode:v,addEdge:b,deleteEdge:g,updateEdge:(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>{var t;return{...e,edges:(null!=(t=e.edges)?t:[]).map(e=>e.id===r?{...e,...l}:e)}})},[e,t]),resetLayout:(0,s.useCallback)(()=>{e&&t(e.id,e=>({...e,flows:e.flows.map(e=>({...e,position:null}))}))},[e,t])}}(r.activeProject,r.updateProject,r.selectedNodeId,r.setSelectedNodeId),m=function(e,t,r){var l;let n=r&&e&&null!=(l=e.testCases[r])?l:[],o=function(e){let t=e.length,r=e.filter(e=>"pass"===e.status).length,l=e.filter(e=>"fail"===e.status).length,s=e.filter(e=>"skip"===e.status).length,n=e.filter(e=>"untested"===e.status).length,a=t-s,o=a>0?Math.round(r/a*100):0;return{total:t,pass:r,fail:l,skip:s,untested:n,passRate:o}}(n),i=(0,s.useCallback)((r,l,s,n)=>{var a,o;if(!e)return;let i=e.flows.find(e=>e.id===r),c=null!=(a=null==i?void 0:i.code)?a:"N000",u=null!=(o=e.testCases[r])?o:[],d="";t(e.id,e=>{var t,a,o;let i={...null!=(t=e.tcCounter)?t:{}},p=(null!=(a=i[r])?a:0)+1;i[r]=p,d="".concat(c,"-TC").concat(String(p).padStart(3,"0"));let f={id:crypto.randomUUID(),code:d,title:l,steps:null!=s?s:"",expected:null!=n?n:"",status:"untested",case_type:"General",notes:"",links:"",order:u.length};return{...e,testCases:{...e.testCases,[r]:[...null!=(o=e.testCases[r])?o:[],f]},tcCounter:i}})},[e,t]),c=(0,s.useCallback)((r,l,s)=>{e&&t(e.id,e=>{var t;return{...e,testCases:{...e.testCases,[r]:(null!=(t=e.testCases[r])?t:[]).map(e=>e.id===l?{...e,...s}:e)}}})},[e,t]),u=(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>{var t;return{...e,testCases:{...e.testCases,[r]:(null!=(t=e.testCases[r])?t:[]).filter(e=>e.id!==l)}}})},[e,t]),d=(0,s.useCallback)((r,l)=>{if(!e||0===l.length)return;let s=new Set(l);t(e.id,e=>{var t;return{...e,testCases:{...e.testCases,[r]:(null!=(t=e.testCases[r])?t:[]).filter(e=>!s.has(e.id))}}})},[e,t]),p=(0,s.useCallback)((r,l,s)=>{if(!e||0===l.length)return;let n=new Set(l);t(e.id,e=>{var t;return{...e,testCases:{...e.testCases,[r]:(null!=(t=e.testCases[r])?t:[]).map(e=>n.has(e.id)?{...e,...s}:e)}}})},[e,t]),f=(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>{var t;let s=new Map((null!=(t=e.testCases[r])?t:[]).map(e=>[e.id,e])),n=l.map((e,t)=>{let r=s.get(e);return r?{...r,order:t}:null}).filter(Boolean);return{...e,testCases:{...e.testCases,[r]:n}}})},[e,t]),C=(0,s.useCallback)((r,l,s)=>{e&&t(e.id,e=>{var t,n;let o={...null!=(t=e.columnConfigs)?t:{}},i=null!=(n=o[r])?n:[...a._X];return o[r]=i.map(e=>e.key===l?{...e,label:s}:e),{...e,columnConfigs:o}})},[e,t]),m=(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>{var t,s;let n={...null!=(t=e.columnConfigs)?t:{}},o=null!=(s=n[r])?s:[...a._X];return n[r]=o.map(e=>e.key===l?{...e,visible:!e.visible}:e),{...e,columnConfigs:n}})},[e,t]),v=(0,s.useCallback)((r,l)=>{if(!e)return;let s=l.toLowerCase().replace(/\s+/g,"_");t(e.id,e=>{var t,n;let o={...null!=(t=e.columnConfigs)?t:{}},i=null!=(n=o[r])?n:[...a._X];return o[r]=[...i,{key:s,label:l,visible:!0}],{...e,columnConfigs:o}})},[e,t]);return{testCases:n,stats:o,addTestCase:i,updateTestCase:c,deleteTestCase:u,bulkDeleteTestCases:d,bulkUpdateTestCases:p,reorderTestCases:f,updateColumnConfig:C,toggleColumnVisibility:m,addColumn:v,deleteColumn:(0,s.useCallback)((r,l)=>{e&&t(e.id,e=>{var t,s;let n={...null!=(t=e.columnConfigs)?t:{}},o=null!=(s=n[r])?s:[...a._X];return n[r]=o.filter(e=>e.key!==l),{...e,columnConfigs:n}})},[e,t]),reorderColumn:(0,s.useCallback)((r,l,s)=>{e&&t(e.id,e=>{var t,n;let o={...null!=(t=e.columnConfigs)?t:{}},i=[...null!=(n=o[r])?n:[...a._X]],c=i.findIndex(e=>e.key===l);if(-1===c)return e;let u="up"===s?c-1:c+1;if(u<0||u>=i.length)return e;let d=i[c];return i[c]=i[u],i[u]=d,o[r]=i,{...e,columnConfigs:o}})},[e,t])}}(r.activeProject,r.updateProject,r.selectedNodeId),v=function(e,t){let r=null==e?void 0:e.id,l=(0,s.useMemo)(()=>(null==e?void 0:e.e2eData)||{config:c,runs:[],savedScripts:[]},[null==e?void 0:e.e2eData]),n=(0,s.useCallback)(e=>{r&&t(r,t=>({...t,e2eData:e(t.e2eData||{config:c,runs:[],savedScripts:[]})}))},[r,t]),a=(0,s.useCallback)(e=>{n(t=>({...t,config:{...t.config,...e}}))},[n]),o=(0,s.useCallback)(e=>{let t={...e,id:"run-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),timestamp:new Date().toISOString()};return n(e=>({...e,runs:[t,...e.runs].slice(0,20)})),t},[n]),i=(0,s.useCallback)(e=>{n(t=>({...t,runs:t.runs.filter(t=>t.id!==e)}))},[n]),u=(0,s.useCallback)(()=>{n(e=>({...e,runs:[]}))},[n]),d=(0,s.useCallback)((e,t,l,s)=>{n(n=>{let a=n.savedScripts.findIndex(t=>t.testCaseId===e),o={id:a>=0?n.savedScripts[a].id:"script-".concat(Date.now()),projectId:r,testCaseId:e,title:t,code:l,script:s,updatedAt:new Date().toISOString()},i=[...n.savedScripts];return a>=0?i[a]=o:i.push(o),{...n,savedScripts:i}})},[r,n]),p=(0,s.useCallback)(e=>{n(t=>({...t,savedScripts:t.savedScripts.filter(t=>t.testCaseId!==e)}))},[n]),f=(0,s.useCallback)(e=>l.savedScripts.find(t=>t.testCaseId===e),[l.savedScripts]);return{config:l.config,runs:l.runs,savedScripts:l.savedScripts,saveConfig:a,saveRun:o,deleteRun:i,clearRuns:u,saveScript:d,deleteScript:p,getScript:f}}(r.activeProject,r.updateProject),b=(0,u.s)(),g=(0,s.useMemo)(()=>({projects:r.projects,activeProject:r.activeProject,activeProjectId:r.activeProjectId,selectedNodeId:r.selectedNodeId,createProject:r.createProject,deleteProject:r.deleteProject,duplicateProject:r.duplicateProject,importProject:r.importProject,switchProject:r.switchProject,renameProject:r.renameProject,setSelectedNodeId:r.setSelectedNodeId,updateProject:r.updateProject,profile:p.profile,profileInitials:p.initials,setProfileName:p.setName,setProfileBannerColor:p.setBannerColor,setProfileAvatarUrl:p.setAvatarUrl,setProfileRole:p.setRole,canUndo:f.canUndo,canRedo:f.canRedo,undo:f.undo,redo:f.redo,pushState:f.pushState,mindmap:C,testCases:m,e2e:v,dialog:b.dialog,alertDialog:b.alert,confirmDialog:b.confirm,promptDialog:b.prompt,lastSaved:r.lastSaved}),[r,p,f,C,m,v,b]);return(0,l.jsx)(d.Provider,{value:g,children:t})}function f(){let e=(0,s.useContext)(d);if(!e)throw Error("useDashboard must be used within DashboardProvider");return e}},8566:(e,t,r)=>{r.d(t,{D_:()=>s,IU:()=>a,T7:()=>n,_X:()=>l});let l=[{key:"code",label:"ID",visible:!0},{key:"title",label:"Test Case",visible:!0},{key:"steps",label:"Steps",visible:!0},{key:"expected",label:"Expected Result",visible:!0},{key:"status",label:"Status",visible:!0},{key:"case_type",label:"Case Type",visible:!1},{key:"notes",label:"Notes",visible:!0},{key:"links",label:"Links",visible:!1}],s=["General","Positive","Negative"],n=["#E57373","#F06292","#BA68C8","#9575CD","#7986CB","#64B5F6","#4FC3F7","#4DD0E1","#4DB6AC","#81C784","#AED581","#FFD54F","#FFB74D","#FF8A65","#A1887F","#90A4AE"];function a(e,t,r,l){return{id:e,code:t,label:r,parentId:l,children:[],shape:"rounded",notes:"",position:null}}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{2850:(e,r,o)=>{Promise.resolve().then(o.bind(o,4071))},3362:(e,r,o)=>{"use strict";o.d(r,{Pj:()=>t});let t=Object.values({openai:{id:"openai",name:"OpenAI",type:"native",description:"GPT models powering ChatGPT. Industry-leading language understanding.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/openai.svg",keyUrl:"https://platform.openai.com/api-keys",keyPlaceholder:"sk-...",color:"#10A37F",sdkProvider:"openai",defaultModel:"gpt-4o-mini",popularModels:["gpt-4o","gpt-4o-mini","gpt-4-turbo","gpt-3.5-turbo"]},google:{id:"google",name:"Google Gemini",type:"native",description:"Google's multimodal AI with strong reasoning capabilities.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/googlegemini.svg",keyUrl:"https://aistudio.google.com/apikey",keyPlaceholder:"AIza...",color:"#4285F4",sdkProvider:"google",defaultModel:"gemini-2.5-flash",popularModels:["gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash"]},anthropic:{id:"anthropic",name:"Anthropic",type:"native",description:"Claude models — safe, steerable, and highly capable.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/anthropic.svg",keyUrl:"https://console.anthropic.com/settings/keys",keyPlaceholder:"sk-ant-...",color:"#D97706",sdkProvider:"anthropic",defaultModel:"claude-sonnet-4-20250514",popularModels:["claude-sonnet-4-20250514","claude-haiku-4-20250514","claude-3-5-sonnet-20241022"]},deepseek:{id:"deepseek",name:"DeepSeek",type:"openai-compatible",description:"High-performance open-source models with competitive reasoning.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/deepseek.svg",keyUrl:"https://platform.deepseek.com/api_keys",keyPlaceholder:"sk-...",color:"#4D6BFE",sdkProvider:"openai",baseURL:"https://api.deepseek.com/v1",defaultModel:"deepseek-chat",popularModels:["deepseek-chat","deepseek-reasoner"]},xiaomi:{id:"xiaomi",name:"Xiaomi (MiMo)",type:"openai-compatible",description:"Xiaomi's MiMo models — OpenAI-compatible API.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/xiaomi.svg",keyUrl:"https://platform.xiaomimimo.com/",keyPlaceholder:"tp-...",color:"#FF6900",sdkProvider:"openai",baseURL:"https://token-plan-sgp.xiaomimimo.com/v1",defaultModel:"mimo-v2.5",popularModels:["mimo-v2.5","mimo-v2.5-pro"]},openrouter:{id:"openrouter",name:"OpenRouter",type:"openai-compatible",description:"Unified gateway to 200+ models — Claude, Llama, Mistral, Gemini, and more.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/openrouter.svg",keyUrl:"https://openrouter.ai/keys",keyPlaceholder:"sk-or-...",color:"#6366F1",sdkProvider:"openai",baseURL:"https://openrouter.ai/api/v1",defaultModel:"openrouter/free",popularModels:["openrouter/free","meta-llama/llama-4-maverick:free","google/gemini-2.5-flash:free","deepseek/deepseek-chat-v3-0324:free","mistralai/mistral-small-3.2-24b:free","qwen/qwen3-235b-a22b:free","microsoft/phi-4-reasoning-plus:free"]},groq:{id:"groq",name:"Groq",type:"native",description:"Ultra-fast inference with LPU hardware. Blazing speed for Llama, Mixtral, and Gemma models.",logoUrl:"https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/groq.svg",keyUrl:"https://console.groq.com/keys",keyPlaceholder:"gsk_...",color:"#F55036",sdkProvider:"groq",defaultModel:"llama-3.3-70b-versatile",popularModels:["llama-3.3-70b-versatile","llama-3.1-8b-instant","mixtral-8x7b-32768","gemma2-9b-it","meta-llama/llama-4-scout-17b-16e-instruct","qwen-qwq-32b"]},custom:{id:"custom",name:"Custom (OpenAI-compatible)",type:"openai-compatible",description:"Any OpenAI-compatible API — Ollama, LM Studio, vLLM, LiteLLM, etc.",logoUrl:"",keyUrl:"",keyPlaceholder:"sk-... or any key",color:"#6B7280",sdkProvider:"openai",defaultModel:"",popularModels:[],requiresBaseURL:!0}})},4071:(e,r,o)=>{"use strict";o.r(r),o.d(r,{default:()=>n});var t=o(5155),l=o(2115),a=o(5307),s=o(7669),i=o(3362);function n(){let{activeProviderId:e,setActiveProvider:r}=(0,s.P)(),[o,n]=(0,l.useState)(e);return(0,l.useEffect)(()=>{o||n(e)},[e]),(0,t.jsxs)("div",{className:"h-full overflow-auto relative",children:[(0,t.jsxs)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[(0,t.jsx)(a.b,{width:40,height:40,x:-1,y:-1,className:"opacity-20"}),(0,t.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, var(--bg-primary) 0%, transparent 20%, transparent 80%, var(--bg-primary) 100%)"}})]}),(0,t.jsxs)("div",{className:"relative p-6 max-w-4xl",children:[(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("h2",{className:"text-lg font-medium",style:{color:"var(--text-primary)"},children:"Integrations"}),(0,t.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--text-tertiary)"},children:"Connect an AI provider to enable test case generation."})]}),(0,t.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider mb-3",style:{color:"var(--text-tertiary)"},children:"AI Providers"}),(0,t.jsx)("div",{className:"space-y-3",children:i.Pj.map(l=>(0,t.jsx)(d,{def:l,expanded:o===l.id,onToggle:()=>n(e=>e===l.id?null:l.id),isActive:e===l.id,onSetActive:()=>r(l.id)},l.id))})]})]})}function d(e){let{def:r,expanded:o,onToggle:a,isActive:i,onSetActive:n}=e,{config:d,updateProvider:p}=(0,s.P)(),m=d.providers[r.id],[u,v]=(0,l.useState)(!1),[h,x]=(0,l.useState)((null==m?void 0:m.apiKey)||""),[y,g]=(0,l.useState)((null==m?void 0:m.baseURL)||r.baseURL||""),[b,f]=(0,l.useState)(!1),[k,j]=(0,l.useState)(null),[N,C]=(0,l.useState)(null);(0,l.useEffect)(()=>{o&&m&&!m.connected&&!u&&(x(m.apiKey),g(m.baseURL||r.baseURL||""))},[o]),(0,l.useEffect)(()=>{(null==m?void 0:m.connected)&&m.apiKey&&!m.apiKey.startsWith("enc:")&&fetch("/api/llm/encrypt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:m.apiKey})}).then(e=>e.json()).then(e=>{e.encrypted&&p(r.id,{apiKey:e.encrypted})}).catch(()=>{})},[]);let w=async()=>{let e=h.trim();if(e){f(!0),j(null),C(null);try{let o=await fetch("/api/llm/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r.id,apiKey:e,baseURL:y.trim()||void 0})}),t=await o.json();j(t),t.ok&&C(e)}catch(e){j({ok:!1,error:"Network error"})}finally{f(!1)}}},U=async()=>{let e=N||h.trim();if(!e)return;if(!N)return void await w();let o=e;try{let r=await fetch("/api/llm/encrypt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e})}),t=await r.json();t.encrypted&&(o=t.encrypted)}catch(e){}p(r.id,{apiKey:o,baseURL:y.trim()||r.baseURL||"",connected:!0,models:r.popularModels,defaultModel:(null==m?void 0:m.defaultModel)||r.defaultModel||r.popularModels[0]||"",secondaryModel:(null==m?void 0:m.secondaryModel)||""}),v(!1),j(null),C(null)},M=(e,o)=>{p(r.id,{[e]:o})};if(!m)return null;let P=r.color||"#6B7280";return(0,t.jsxs)("div",{className:"rounded-xl border transition-all overflow-hidden",style:{borderColor:i?P:o?"var(--border-hover)":"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:i?"0 0 0 1px ".concat(P,"20"):void 0},children:[(0,t.jsxs)("button",{onClick:a,className:"w-full px-5 py-4 flex items-center gap-3 text-left transition-colors hover:bg-[var(--bg-secondary)]",children:[(0,t.jsx)("div",{className:"w-11 h-11 rounded-lg flex items-center justify-center overflow-hidden flex-shrink-0",style:{backgroundColor:"".concat(P,"10")},children:r.logoUrl?(0,t.jsx)("img",{src:r.logoUrl,alt:r.name,width:24,height:24,className:"opacity-80",style:{filter:"brightness(0.5)"},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("span",{className:"text-xs font-bold",style:{color:P},children:"API"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-semibold",style:{color:"var(--text-primary)"},children:r.name}),i&&m.connected&&(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full",style:{backgroundColor:"".concat(P,"15"),color:P},children:"Active"}),(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full",style:{backgroundColor:m.connected?"var(--status-pass-bg)":"var(--bg-secondary)",color:m.connected?"var(--status-pass-text)":"var(--text-tertiary)"},children:m.connected?"Connected":"Not configured"})]}),(0,t.jsx)("p",{className:"text-[11px] mt-0.5 truncate",style:{color:"var(--text-tertiary)"},children:r.description})]}),(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 transition-transform duration-200",style:{transform:o?"rotate(180deg)":"rotate(0deg)"},children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,t.jsx)("div",{style:{maxHeight:o?"600px":"0px",overflow:"hidden",transition:"max-height 250ms ease-out"},children:(0,t.jsxs)("div",{className:"px-5 pb-5 pt-1 space-y-3",children:[u||!m.connected?(0,t.jsxs)("div",{className:"space-y-2",children:[r.requiresBaseURL&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1",style:{color:"var(--text-tertiary)"},children:"API Base URL"}),(0,t.jsx)("input",{type:"text",value:y,onChange:e=>{g(e.target.value),C(null),j(null)},placeholder:"https://api.example.com/v1",className:"w-full px-3 py-2 text-sm rounded-lg outline-none border transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("input",{type:"password",value:h,onChange:e=>{x(e.target.value),C(null),j(null)},placeholder:r.keyPlaceholder,className:"flex-1 px-3 py-2 text-sm rounded-lg outline-none border transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"},onKeyDown:e=>{"Enter"===e.key&&w()}}),(0,t.jsx)("button",{onClick:w,disabled:b||!h.trim(),className:"px-4 py-2 text-xs font-medium rounded-lg border transition-all hover:bg-[var(--bg-secondary)] disabled:opacity-40",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:b?(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("svg",{className:"animate-spin",width:12,height:12,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",strokeDasharray:"30 70"})}),"Testing"]}):"Test"}),(0,t.jsx)("button",{onClick:U,disabled:!N&&!h.trim(),className:"px-4 py-2 text-xs font-medium rounded-lg transition-all hover:opacity-90 disabled:opacity-40",style:{backgroundColor:P,color:"#fff"},children:"Connect"}),u&&(0,t.jsx)("button",{onClick:()=>{v(!1),x(m.apiKey),g(m.baseURL||r.baseURL||""),C(null),j(null)},className:"px-3 py-2 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"})]}),k&&(0,t.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:k.ok?"var(--status-pass-bg)":"var(--status-fail-bg)",color:k.ok?"var(--status-pass-text)":"var(--status-fail-text)"},children:k.ok?"Connection verified! Click Connect to save.":"Failed: ".concat(k.error)}),r.keyUrl&&(0,t.jsxs)("p",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:["Get your key at"," ",(0,t.jsx)("a",{href:r.keyUrl,target:"_blank",rel:"noopener noreferrer",style:{color:P,textDecoration:"underline"},children:r.keyUrl.replace("https://","").split("/")[0]})]})]}):(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:()=>{x(m.apiKey),g(m.baseURL||r.baseURL||""),v(!0)},className:"flex-1 px-3 py-2 text-xs font-medium rounded-lg border transition-all hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Update API Key"}),(0,t.jsx)("button",{onClick:()=>{p(r.id,{apiKey:"",connected:!1,models:[],defaultModel:"",secondaryModel:""}),x(""),g(r.baseURL||""),v(!1),j(null)},className:"px-3 py-2 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--status-fail-bg)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:"Disconnect"}),!i&&(0,t.jsx)("button",{onClick:n,className:"px-3 py-2 text-xs font-medium rounded-lg transition-all hover:opacity-90",style:{backgroundColor:P,color:"#fff"},children:"Set Active"})]}),m.connected&&(0,t.jsxs)("div",{className:"pt-3 border-t",style:{borderColor:"var(--border)"},children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1.5",style:{color:"var(--text-tertiary)"},children:"Default Model"}),(0,t.jsx)(c,{value:m.defaultModel,models:m.models.length>0?m.models:r.popularModels,onChange:e=>M("defaultModel",e)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium uppercase tracking-wider block mb-1.5",style:{color:"var(--text-tertiary)"},children:"Fallback Model"}),(0,t.jsx)(c,{value:m.secondaryModel,models:m.models.length>0?m.models:r.popularModels,onChange:e=>M("secondaryModel",e),allowEmpty:!0})]})]}),i&&(0,t.jsxs)("div",{className:"mt-2 text-[10px] flex items-center gap-1.5",style:{color:"var(--text-tertiary)"},children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:P}}),"Using ",m.defaultModel,m.secondaryModel?" (fallback: ".concat(m.secondaryModel,")"):""]})]})]})})]})}function c(e){let{value:r,models:o,onChange:a,allowEmpty:s}=e,[i,n]=(0,l.useState)(!1),d=o.includes(r);return i||!d&&""!==r?(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)("input",{type:"text",value:r,onChange:e=>a(e.target.value),placeholder:"model-id",className:"flex-1 px-2.5 py-1.5 text-xs rounded-lg border outline-none transition-colors focus:border-[var(--accent)]",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"}}),o.length>0&&(0,t.jsx)("button",{onClick:()=>{n(!1),a(o[0])},className:"px-2 py-1.5 text-[10px] rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Switch to preset list",children:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})})]}):(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsxs)("select",{value:r,onChange:e=>a(e.target.value),className:"flex-1 px-2.5 py-1.5 text-xs rounded-lg border outline-none transition-colors cursor-pointer",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)",color:"var(--text-primary)"},children:[s&&(0,t.jsx)("option",{value:"",children:"None"}),o.map(e=>(0,t.jsx)("option",{value:e,children:e},e))]}),(0,t.jsx)("button",{onClick:()=>n(!0),className:"px-2 py-1.5 text-[10px] rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Enter custom model ID",children:"✏️"})]})}},4269:(e,r,o)=>{"use strict";o.d(r,{cn:()=>a});var t=o(2821),l=o(5889);function a(){for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];return(0,l.QP)((0,t.$)(r))}},5307:(e,r,o)=>{"use strict";o.d(r,{b:()=>s});var t=o(5155),l=o(2115),a=o(4269);function s(e){let{width:r=40,height:o=40,x:s=-1,y:i=-1,strokeDasharray:n="0",squares:d,className:c,...p}=e,m=(0,l.useId)();return(0,t.jsxs)("svg",{"aria-hidden":"true",className:(0,a.cn)("pointer-events-none absolute inset-0 h-full w-full fill-gray-400/30 stroke-gray-400/30",c),...p,children:[(0,t.jsx)("defs",{children:(0,t.jsx)("pattern",{id:m,width:r,height:o,patternUnits:"userSpaceOnUse",x:s,y:i,children:(0,t.jsx)("path",{d:"M.5 ".concat(o,"V.5H").concat(r),fill:"none",strokeDasharray:n})})}),(0,t.jsx)("rect",{width:"100%",height:"100%",strokeWidth:0,fill:"url(#".concat(m,")")}),d&&(0,t.jsx)("svg",{x:s,y:i,className:"overflow-visible",children:d.map(e=>{let[l,a]=e;return(0,t.jsx)("rect",{strokeWidth:"0",width:r-1,height:o-1,x:l*r+1,y:a*o+1},"".concat(l,"-").concat(a))})})]})}},7669:(e,r,o)=>{"use strict";o.d(r,{P:()=>c});var t=o(2115),l=o(3362);let a="qa-llm-config",s={apiKey:"",baseURL:"",defaultModel:"",secondaryModel:"",models:[],connected:!1};function i(){let e={};for(let r of l.Pj)e[r.id]={...s,baseURL:r.baseURL||""};return{activeProvider:null,providers:e}}function n(){try{let r=localStorage.getItem(a);if(!r)return i();let o=JSON.parse(r);if(o.provider&&o.apiKey&&!o.providers){let e=i();return{...e,activeProvider:null,providers:{...e.providers,google:{...s,apiKey:o.apiKey,connected:!0}}}}let t=i(),n={...t,...o,providers:{...t.providers}};for(let r of l.Pj){var e;let t=null==(e=o.providers)?void 0:e[r.id];n.providers[r.id]={...s,baseURL:r.baseURL||"",...t}}return n}catch(e){return i()}}function d(e){try{localStorage.setItem(a,JSON.stringify(e))}catch(e){}}function c(){let[e,r]=(0,t.useState)(i),[o,l]=(0,t.useState)(!1);(0,t.useEffect)(()=>{r(n()),l(!0)},[]);let a=(0,t.useCallback)((e,o)=>{let t=n(),l={...t,providers:{...t.providers,[e]:{...t.providers[e],...o}}};d(l),r(l)},[]),s=(0,t.useCallback)(e=>{let o={...n(),activeProvider:e};d(o),r(o)},[]),c=e.activeProvider?e.providers[e.activeProvider]:null,p=o&&!!c&&c.apiKey.length>0&&c.connected;return{config:e,loaded:o,isConnected:p,activeProvider:c,activeProviderId:e.activeProvider,updateProvider:a,setActiveProvider:s}}}},e=>{e.O(0,[909,441,255,358],()=>e(e.s=2850)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[305],{63:(e,t,r)=>{"use strict";var a=r(7260);r.o(a,"useParams")&&r.d(t,{useParams:function(){return a.useParams}}),r.o(a,"usePathname")&&r.d(t,{usePathname:function(){return a.usePathname}}),r.o(a,"useRouter")&&r.d(t,{useRouter:function(){return a.useRouter}})},265:(e,t,r)=>{"use strict";r.d(t,{Vx:()=>n,p1:()=>o});var a=r(5155),s=r(2115);let l=(0,s.createContext)(null);function o(){let e=(0,s.useContext)(l);if(!e)throw Error("useProgress must be used within ProgressProvider");return e}function n(e){let{children:t}=e,[r,o]=(0,s.useState)(0),[n,i]=(0,s.useState)(""),[c,d]=(0,s.useState)(!1),u=(0,s.useRef)(null),x=(0,s.useRef)(null),h=(0,s.useCallback)(()=>{u.current&&(clearInterval(u.current),u.current=null),x.current&&(clearTimeout(x.current),x.current=null)},[]),p=(0,s.useCallback)(()=>{d(!1),o(0),i("")},[]),m=(0,s.useCallback)(e=>{h(),o(0),i(e||""),d(!0),u.current=setInterval(()=>{o(e=>e>=90?(u.current&&clearInterval(u.current),u.current=null,90):e+15*Math.random())},300),x.current=setTimeout(()=>{p()},8e3)},[h,p]),v=(0,s.useCallback)((e,t)=>{o(Math.min(95,e)),t&&i(t)},[]),g=(0,s.useCallback)(e=>{h(),o(100),e&&i(e),setTimeout(()=>{p()},500)},[h,p]),b=(0,s.useCallback)(()=>{h(),p()},[h,p]);return(0,s.useEffect)(()=>()=>h(),[h]),(0,a.jsxs)(l.Provider,{value:{startProgress:m,updateProgress:v,completeProgress:g,cancelProgress:b,isProgressing:c},children:[t,(0,a.jsxs)("div",{className:"fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out",style:{opacity:+!!c,transform:c?"translateY(0)":"translateY(100%)",pointerEvents:c?"auto":"none"},children:[(0,a.jsx)("div",{className:"h-1 w-full",style:{backgroundColor:"var(--bg-secondary)"},children:(0,a.jsx)("div",{className:"h-full transition-all duration-200 ease-out",style:{width:"".concat(r,"%"),backgroundColor:r>=100?"var(--status-pass-text)":"var(--accent)",boxShadow:r>=100?"0 0 10px var(--status-pass-text)":"none"}})}),n&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-2 px-4 text-xs font-medium cursor-pointer",onClick:b,style:{backgroundColor:"var(--bg-card)",color:r>=100?"var(--status-pass-text)":"var(--text-secondary)",borderTop:"1px solid var(--border)"},children:[r>=100&&(0,a.jsx)("svg",{className:"mr-2",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:(0,a.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"var(--status-pass-text)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),n]})]})]})}},854:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var a=r(2115);let s="qa-auth";function l(e){try{sessionStorage.setItem(s,JSON.stringify(e))}catch(e){}}function o(){let[e,t]=(0,a.useState)({name:"",isLoggedIn:!1}),[r,o]=(0,a.useState)(!1);(0,a.useEffect)(()=>{t(function(){try{let e=sessionStorage.getItem(s);if(!e)return{name:"",isLoggedIn:!1};return JSON.parse(e)}catch(e){return{name:"",isLoggedIn:!1}}}()),o(!0)},[]);let n=(0,a.useCallback)(e=>{let r={name:e,isLoggedIn:!0};l(r),t(r)},[]),i=(0,a.useCallback)(()=>{let e={name:"",isLoggedIn:!1};l(e),t(e)},[]);return{...e,loaded:r,login:n,logout:i}}},8609:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>M});var a=r(5155),s=r(2115),l=r(63),o=r(3882),n=r(2619),i=r.n(n),c=r(854),d=r(8566);let u=["https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_11.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_12.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_13.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_14.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_15.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_16.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_17.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_18.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_19.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_20.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_21.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_22.png"],x=["https://i.pinimg.com/736x/ed/74/06/ed74063ade6d66fce2ca19acbe74babc.jpg","https://i.pinimg.com/736x/8c/6d/56/8c6d563311f0917d45d1f2ce5d7c1a2d.jpg","https://i.pinimg.com/736x/86/b8/be/86b8bea1c772cf5c540e6f01e6acce59.jpg","https://i.pinimg.com/736x/78/d4/b1/78d4b1787a4fd23c2a8d21e4fbbc016f.jpg","https://i.pinimg.com/1200x/87/de/e6/87dee6d33b04f1df28bc85702ee12d4b.jpg","https://i.pinimg.com/1200x/3b/e3/95/3be395c4a94705f95e0603afb04f9d56.jpg","https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo"],h=["QA Engineer","QA Lead","Developer","Designer","Manager"];function p(e,t){let r=parseInt(e.replace("#",""),16),a=Math.min(255,(r>>16)+Math.round((255-(r>>16))*t)),s=Math.min(255,(r>>8&255)+Math.round((255-(r>>8&255))*t)),l=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}function m(e){let{profile:t,initials:r,onSetName:l,onSetBannerColor:o,onSetAvatarUrl:n,onSetRole:i}=e,[c,m]=(0,s.useState)(!1),[v,g]=(0,s.useState)(!1),[b,f]=(0,s.useState)(!1),[j,y]=(0,s.useState)(t.name),[k,w]=(0,s.useState)(t.role||""),C=(0,s.useRef)(null),N=(0,s.useRef)(null),S=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{C.current&&!C.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,s.useEffect)(()=>{v&&N.current&&N.current.focus()},[v]),(0,s.useEffect)(()=>{b&&S.current&&S.current.focus()},[b]);let M=()=>{l(j.trim()),g(!1)},L=()=>{i(k.trim()),f(!1)},E=!!t.avatarUrl;return(0,a.jsxs)("div",{className:"relative",ref:C,children:[(0,a.jsx)("button",{onClick:()=>m(!c),className:"w-9 h-9 rounded-full flex items-center justify-center text-xs font-medium overflow-hidden border-2 transition-all hover:scale-105",style:{borderColor:c?"var(--accent)":"transparent",boxShadow:c?"0 0 0 2px var(--accent), 0 2px 8px rgba(0,0,0,0.1)":"0 1px 3px rgba(0,0,0,0.08)"},children:E?(0,a.jsx)("img",{src:t.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("span",{className:"w-full h-full flex items-center justify-center",style:{backgroundColor:t.bannerColor,color:"#fff"},children:r})}),c&&(0,a.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-80 border z-50 overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-xl)",animation:"fadeIn 150ms ease-out"},children:[(0,a.jsxs)("div",{className:"relative px-5 pt-5 pb-4",style:{background:"linear-gradient(135deg, ".concat(t.bannerColor," 0%, ").concat(p(t.bannerColor,.4)," 50%, ").concat(t.bannerColor," 100%)")},children:[(0,a.jsx)("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"radial-gradient(circle at 20% 50%, white 1px, transparent 1px), radial-gradient(circle at 80% 20%, white 1px, transparent 1px)",backgroundSize:"30px 30px"}}),(0,a.jsxs)("div",{className:"relative flex items-end gap-4",children:[(0,a.jsxs)("div",{className:"relative group",children:[(0,a.jsx)("div",{className:"w-16 h-16 rounded-xl overflow-hidden border-3 flex-shrink-0",style:{borderColor:"rgba(255,255,255,0.3)",boxShadow:"0 4px 12px rgba(0,0,0,0.2)"},children:E?(0,a.jsx)("img",{src:t.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center text-xl font-bold",style:{backgroundColor:t.bannerColor,color:"#fff"},children:r})}),(0,a.jsx)("div",{className:"absolute inset-0 rounded-xl flex items-center justify-center opacity-0 group-hover:opacity-100 cursor-pointer transition-opacity",style:{backgroundColor:"rgba(0,0,0,0.4)"},onClick:e=>{var t;e.stopPropagation(),null==(t=document.getElementById("avatar-gallery"))||t.scrollIntoView({behavior:"smooth"})},children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"white",children:(0,a.jsx)("path",{d:"M14 11V14H2V11H0V14C0 15.1.9 16 2 16H14C15.1 16 16 15.1 16 14V11H14ZM7 9L4.5 6.5L3 8L8 13L13 8L11.5 6.5L9 9V0H7V9Z"})})})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 pb-1",children:[v?(0,a.jsx)("input",{ref:N,value:j,onChange:e=>y(e.target.value),onBlur:M,onKeyDown:e=>{"Enter"===e.key&&M(),"Escape"===e.key&&g(!1)},className:"w-full bg-white/20 backdrop-blur-sm outline-none text-white text-sm font-semibold px-2 py-1 rounded placeholder-white/50",placeholder:"Your name..."}):(0,a.jsx)("div",{className:"text-sm font-semibold text-white cursor-pointer hover:opacity-80 truncate",onClick:()=>{y(t.name),g(!0)},children:t.name||"Click to set name"}),(0,a.jsx)("div",{className:"text-[11px] mt-0.5 px-2 py-0.5 rounded-full inline-block cursor-pointer hover:opacity-80",style:{backgroundColor:"rgba(255,255,255,0.15)",color:"rgba(255,255,255,0.9)"},onClick:()=>{w(t.role||""),f(!0)},children:b?(0,a.jsx)("input",{ref:S,value:k,onChange:e=>w(e.target.value),onBlur:L,onKeyDown:e=>{"Enter"===e.key&&L(),"Escape"===e.key&&f(!1)},className:"bg-transparent outline-none text-white text-[11px] w-24 placeholder-white/50",placeholder:"Your role..."}):t.role||"Set role..."})]})]})]}),(0,a.jsxs)("div",{className:"px-4 pt-3 pb-2",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Role"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.map(e=>(0,a.jsx)("button",{onClick:()=>i(e),className:"px-2 py-1 text-[10px] rounded-md border transition-colors",style:{borderColor:t.role===e?"var(--accent)":"var(--border)",color:t.role===e?"var(--accent)":"var(--text-secondary)",backgroundColor:t.role===e?"var(--accent)10":"transparent",fontWeight:t.role===e?600:400},children:e},e))})]}),(0,a.jsxs)("div",{id:"avatar-gallery",className:"px-4 pt-2 pb-3",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Choose Avatar"}),(0,a.jsx)("div",{className:"grid grid-cols-6 gap-2",children:u.map((e,r)=>(0,a.jsx)("button",{onClick:()=>n(e),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:t.avatarUrl===e?"var(--accent)":"transparent",boxShadow:t.avatarUrl===e?"0 0 0 2px var(--accent)":"none"},children:(0,a.jsx)("img",{src:e,alt:"Avatar ".concat(r+11),className:"w-full h-full object-cover",loading:"lazy"})},e))}),(0,a.jsx)("div",{className:"grid grid-cols-6 gap-2 mt-2",children:x.map((e,r)=>(0,a.jsx)("button",{onClick:()=>n(e),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:t.avatarUrl===e?"var(--accent)":"transparent",boxShadow:t.avatarUrl===e?"0 0 0 2px var(--accent)":"none"},children:(0,a.jsx)("img",{src:e,alt:"Avatar ".concat(r+23),className:"w-full h-full object-cover",loading:"lazy"})},e))})]}),(0,a.jsxs)("div",{className:"px-4 pb-4",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Banner Color"}),(0,a.jsx)("div",{className:"grid grid-cols-8 gap-1.5",children:d.T7.map(e=>(0,a.jsx)("button",{onClick:()=>o(e),className:"w-6 h-6 rounded-full transition-transform hover:scale-110 relative overflow-hidden",style:{background:"linear-gradient(135deg, ".concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.max(0,(r>>16)-Math.round((r>>16)*.3)),s=Math.max(0,(r>>8&255)-Math.round((r>>8&255)*.3)),l=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(e,.3)," 0%, ").concat(e," 50%, ").concat(p(e,.3)," 100%)"),outline:t.bannerColor!==e||t.avatarUrl?"none":"2px solid var(--accent)",outlineOffset:2},children:(0,a.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%)",animation:"shimmer 2s ease-in-out infinite"}})},e))})]}),(0,a.jsxs)("div",{className:"px-4 py-2.5 border-t flex items-center justify-between",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("span",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:"Profile data stored locally"}),(0,a.jsx)("button",{onClick:()=>m(!1),className:"text-[10px] font-medium px-2 py-0.5 rounded",style:{color:"var(--accent)"},children:"Done"})]})]})]})}function v(e){let{open:t,onClose:r,profile:l,initials:o,stats:n}=e,[i,c]=(0,s.useState)(!1);if(!t)return null;let d="My Test Lah!:\n".concat(n.projects," Projects | ").concat(n.testCases," Cases | ").concat(n.passRate,"% Pass Rate"),u=async()=>{if(navigator.share)try{await navigator.share({title:"Test Lah! Stats",text:d})}catch(e){}else navigator.clipboard.writeText(d)};return(0,a.jsx)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:r,children:(0,a.jsxs)("div",{className:"w-72 mx-4",onClick:e=>e.stopPropagation(),style:{perspective:"1000px"},children:[(0,a.jsxs)("div",{className:"relative w-full",style:{transformStyle:"preserve-3d",transform:i?"rotateY(180deg)":"rotateY(0)",transition:"transform 0.5s ease",height:"380px"},children:[(0,a.jsxs)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)"},children:[(0,a.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(160deg, ".concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.max(0,(r>>16)-Math.round((r>>16)*.25)),s=Math.max(0,(r>>8&255)-Math.round((r>>8&255)*t)),l=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(l.bannerColor,.25)," 0%, ").concat(l.bannerColor," 50%, ").concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.min(255,(r>>16)+Math.round((255-(r>>16))*.2)),s=Math.min(255,(r>>8&255)+Math.round((255-(r>>8&255))*t)),l=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(l.bannerColor,.2)," 100%)")}}),(0,a.jsxs)("div",{className:"relative h-full flex flex-col items-center justify-center px-4",children:[(0,a.jsx)("div",{className:"w-20 h-20 rounded-xl overflow-hidden border-2 mb-3",style:{borderColor:"rgba(255,255,255,0.3)"},children:l.avatarUrl?(0,a.jsx)("img",{src:l.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center text-2xl font-bold",style:{backgroundColor:"rgba(0,0,0,0.2)",color:"#fff"},children:o})}),(0,a.jsx)("h3",{className:"text-base font-semibold text-white drop-shadow-sm",children:l.name||"Anonymous Tester"}),(0,a.jsx)("p",{className:"text-xs mt-0.5 text-white/70",children:l.role||"No role set"}),(0,a.jsxs)("div",{className:"flex items-center gap-4 mt-4",children:[(0,a.jsx)(g,{value:n.projects,label:"Projects"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(g,{value:n.testCases,label:"Cases"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(g,{value:"".concat(n.passRate,"%"),label:"Pass"})]}),(0,a.jsx)("button",{onClick:()=>c(!0),className:"mt-5 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.2)",color:"#fff"},children:"View stats"})]})]}),(0,a.jsx)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",transform:"rotateY(180deg)",borderColor:"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)"},children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[(0,a.jsxs)("div",{className:"px-4 py-3 border-b flex items-center justify-between",style:{borderColor:"var(--border)"},children:[(0,a.jsx)("span",{className:"text-xs font-semibold",style:{color:"var(--text-primary)"},children:"Statistics"}),(0,a.jsx)("button",{onClick:()=>c(!1),className:"text-[10px] px-2 py-0.5 rounded border transition-colors hover:bg-[var(--bg-secondary)]",style:{color:"var(--text-tertiary)",borderColor:"var(--border)"},children:"Back"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:"Pass Rate"}),(0,a.jsxs)("span",{className:"text-sm font-semibold",style:{color:n.passRate>=80?"var(--status-pass-text)":n.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"},children:[n.passRate,"%"]})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full overflow-hidden",style:{backgroundColor:"var(--bg-secondary)"},children:(0,a.jsx)("div",{className:"h-full rounded-full",style:{width:"".concat(n.passRate,"%"),backgroundColor:n.passRate>=80?"var(--status-pass-text)":n.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"}})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,a.jsx)(b,{label:"Pass",value:n.pass,color:"var(--status-pass-text)"}),(0,a.jsx)(b,{label:"Fail",value:n.fail,color:"var(--status-fail-text)"}),(0,a.jsx)(b,{label:"Skip",value:n.skip,color:"var(--status-skip-text)"}),(0,a.jsx)(b,{label:"New",value:n.untested})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(f,{label:"Test Cases",value:n.testCases}),(0,a.jsx)(f,{label:"Flow Nodes",value:n.nodes}),(0,a.jsx)(f,{label:"Edges",value:n.edges}),(0,a.jsx)(f,{label:"Projects",value:n.projects})]}),(0,a.jsxs)("button",{onClick:u,className:"w-full px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)] flex items-center justify-center gap-1.5",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:[(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8"}),(0,a.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,a.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]}),"Share"]})]})]})})]}),(0,a.jsx)("button",{onClick:r,className:"w-full mt-2 px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)",backgroundColor:"var(--bg-card)"},children:"Close"})]})})}function g(e){let{value:t,label:r}=e;return(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"text-sm font-semibold text-white",children:t}),(0,a.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/60",children:r})]})}function b(e){let{label:t,value:r,color:s}=e;return(0,a.jsxs)("div",{className:"py-2 rounded-lg text-center",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("div",{className:"text-sm font-medium",style:{color:null!=s?s:"var(--text-secondary)"},children:r}),(0,a.jsx)("div",{className:"text-[8px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:t})]})}function f(e){let{label:t,value:r}=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("span",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:t}),(0,a.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:r})]})}var j=r(265);function y(){let{projects:e,activeProject:t,activeProjectId:r,profile:n,profileInitials:d,setProfileName:u,setProfileBannerColor:x,setProfileAvatarUrl:h,setProfileRole:p}=(0,o.M)(),{logout:g}=(0,c.A)(),b=(0,l.useRouter)(),f=(0,l.usePathname)(),{startProgress:y,completeProgress:w}=(0,j.p1)(),[C,N]=(0,s.useState)(!1),[S,M]=(0,s.useState)(!1),L=Object.values(e),E=(0,s.useMemo)(()=>{let e=L.flatMap(e=>Object.values(e.testCases).flat()),t=e.length,r=e.filter(e=>"pass"===e.status).length,a=e.filter(e=>"fail"===e.status).length,s=e.filter(e=>"skip"===e.status).length,l=e.filter(e=>"untested"===e.status).length,o=L.reduce((e,t)=>e+t.flows.length,0),n=L.reduce((e,t)=>{var r;return e+(null!=(r=t.edges)?r:[]).length},0),i=t-s,c=i>0?Math.round(r/i*100):0;return{projects:L.length,testCases:t,passRate:c,nodes:o,edges:n,pass:r,fail:a,skip:s,untested:l}},[L]),P=f.startsWith("/integrations")?"integrations":"projects";return(0,a.jsxs)("header",{className:"flex flex-col border-b flex-shrink-0 relative",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)"},children:[(0,a.jsx)("div",{className:"absolute inset-0 overflow-hidden flex items-center justify-center pointer-events-none group/duck",children:(0,a.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"",className:"h-[85%] object-contain select-none transition-all duration-300 group-hover/duck:scale-110 group-hover/duck:opacity-[0.15] cursor-pointer",style:{opacity:.09,pointerEvents:"auto"},onClick:()=>b.push("/projects"),title:"Quack! \uD83E\uDD86"})}),(0,a.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-6 py-2.5",children:[(0,a.jsx)("div",{className:"flex items-center gap-3",children:(0,a.jsxs)(i(),{href:"/projects",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-8 h-8 rounded-md overflow-hidden bg-white flex-shrink-0",style:{boxShadow:"0 1px 4px rgba(0,0,0,0.08)"},children:(0,a.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"Logo",width:32,height:32,className:"w-full h-full object-contain"})}),(0,a.jsx)("span",{className:"shimmer-text text-sm font-bold tracking-wide select-none",style:{background:"linear-gradient(90deg, var(--text-primary) 0%, var(--text-primary) 40%, #FFD54F 50%, var(--text-primary) 60%, var(--text-primary) 100%)",backgroundSize:"200% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",animation:"shimmerText 3s ease-in-out infinite"},children:"Test Lah!"})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{onClick:()=>N(!0),className:"hidden md:block px-3 py-1.5 text-[11px] font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"My Card"}),(0,a.jsx)("div",{className:"hidden md:block w-px h-5 mx-0.5",style:{backgroundColor:"var(--border)"}}),(0,a.jsx)("div",{className:"relative z-[60]",children:(0,a.jsx)(m,{profile:n,initials:d,onSetName:u,onSetBannerColor:x,onSetAvatarUrl:h,onSetRole:p})}),(0,a.jsx)("button",{onClick:()=>{M(!0)},className:"w-8 h-8 flex items-center justify-center text-xs rounded-md border transition-colors hover:bg-[var(--bg-secondary)] hover:border-[var(--status-fail-text)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Logout",children:(0,a.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:(0,a.jsx)("path",{d:"M5 2H3.5A1.5 1.5 0 002 3.5v7A1.5 1.5 0 003.5 12H5M9 10l3-3-3-3M6 7h6",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,a.jsxs)("div",{className:"relative z-10 flex items-center gap-1 px-6 pb-1.5",children:[(0,a.jsx)(k,{label:"All Projects",href:"/projects",icon:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,a.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"})]}),active:"projects"===P}),(0,a.jsx)(k,{label:"Integrations",href:"/integrations",icon:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,a.jsx)("circle",{cx:"5",cy:"5",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("circle",{cx:"9",cy:"9",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("path",{d:"M7.5 5.5L6.5 8.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),active:"integrations"===P})]}),(0,a.jsx)(v,{open:C,onClose:()=>N(!1),profile:n,initials:d,stats:E}),S&&(0,a.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>M(!1),children:(0,a.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-xl border overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"px-6 pt-6 pb-4 text-center",children:[(0,a.jsx)("div",{className:"w-14 h-14 mx-auto mb-4 rounded-full flex items-center justify-center",style:{backgroundColor:"var(--status-skip-bg)"},children:(0,a.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--status-skip-text)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"}),(0,a.jsx)("polyline",{points:"16 17 21 12 16 7"}),(0,a.jsx)("line",{x1:"21",y1:"12",x2:"9",y2:"12"})]})}),(0,a.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:"Mau Keluar? Sedekahnya mana??"}),(0,a.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--text-tertiary)"},children:"Sebelum keluar, mungkin bisa traktir developer secangkir kopi? ☕"})]}),(0,a.jsxs)("div",{className:"px-6 pb-5 flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>M(!1),className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Batal"}),(0,a.jsx)("button",{onClick:()=>{M(!1),y("Logging out..."),g(),setTimeout(()=>{w("Logged out!"),b.push("/login")},500)},className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--status-fail-text)",color:"#fff"},children:"Keluar"})]})]})})]})}function k(e){let{label:t,icon:r,active:s,href:l,badge:o}=e;return(0,a.jsxs)(i(),{href:l,className:"flex items-center gap-2 px-3 py-2 text-xs font-medium rounded-t-md transition-colors relative",style:{color:s?"var(--accent)":"var(--text-tertiary)",backgroundColor:s?"var(--bg-secondary)":"transparent"},children:[r,t,o&&(0,a.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold rounded-full leading-none",style:{backgroundColor:s?"var(--accent)":"var(--bg-secondary)",color:s?"#fff":"var(--text-tertiary)"},children:o}),s&&(0,a.jsx)("div",{className:"absolute bottom-0 left-2 right-2 h-0.5 rounded-t-full",style:{backgroundColor:"var(--accent)"}})]})}var w=r(7065);function C(e){let{children:t}=e,r=(0,l.useRouter)(),{isLoggedIn:o,loaded:n}=(0,c.A)();return((0,s.useEffect)(()=>{n&&!o&&r.replace("/login")},[n,o,r]),n)?o?(0,a.jsx)(a.Fragment,{children:t}):null:(0,a.jsx)("div",{className:"h-screen flex items-center justify-center",style:{backgroundColor:"var(--bg-primary)"},children:(0,a.jsx)("div",{className:"text-sm",style:{color:"var(--text-tertiary)"},children:"Loading..."})})}function N(){let{undo:e,redo:t,canUndo:r,canRedo:a}=(0,o.M)();return(0,s.useEffect)(()=>{let s=s=>{(s.ctrlKey||s.metaKey)&&"z"===s.key&&!s.shiftKey&&(s.preventDefault(),r&&e()),(s.ctrlKey||s.metaKey)&&("Z"===s.key||"z"===s.key&&s.shiftKey)&&(s.preventDefault(),a&&t()),(s.ctrlKey||s.metaKey)&&"y"===s.key&&(s.preventDefault(),a&&t())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t,r,a]),null}function S(e){let{children:t}=e,{dialog:r}=(0,o.M)();return(0,a.jsxs)(a.Fragment,{children:[t,(0,a.jsx)(w.q,{dialog:r})]})}function M(e){let{children:t}=e;return(0,a.jsx)(C,{children:(0,a.jsx)(o.q,{children:(0,a.jsx)(S,{children:(0,a.jsxs)("div",{className:"h-screen flex flex-col",style:{backgroundColor:"var(--bg-primary)"},children:[(0,a.jsx)(N,{}),(0,a.jsx)(y,{}),(0,a.jsx)("div",{className:"flex-1 min-h-0",children:t})]})})})})}},9715:(e,t,r)=>{Promise.resolve().then(r.bind(r,8609))}},e=>{e.O(0,[619,882,441,255,358],()=>e(e.s=9715)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[305],{63:(e,t,r)=>{"use strict";var a=r(7260);r.o(a,"useParams")&&r.d(t,{useParams:function(){return a.useParams}}),r.o(a,"usePathname")&&r.d(t,{usePathname:function(){return a.usePathname}}),r.o(a,"useRouter")&&r.d(t,{useRouter:function(){return a.useRouter}})},265:(e,t,r)=>{"use strict";r.d(t,{Vx:()=>n,p1:()=>o});var a=r(5155),s=r(2115);let l=(0,s.createContext)(null);function o(){let e=(0,s.useContext)(l);if(!e)throw Error("useProgress must be used within ProgressProvider");return e}function n(e){let{children:t}=e,[r,o]=(0,s.useState)(0),[n,i]=(0,s.useState)(""),[c,d]=(0,s.useState)(!1),u=(0,s.useRef)(null),x=(0,s.useRef)(null),h=(0,s.useCallback)(()=>{u.current&&(clearInterval(u.current),u.current=null),x.current&&(clearTimeout(x.current),x.current=null)},[]),p=(0,s.useCallback)(()=>{d(!1),o(0),i("")},[]),m=(0,s.useCallback)(e=>{h(),o(0),i(e||""),d(!0),u.current=setInterval(()=>{o(e=>e>=90?(u.current&&clearInterval(u.current),u.current=null,90):e+15*Math.random())},300),x.current=setTimeout(()=>{p()},8e3)},[h,p]),v=(0,s.useCallback)((e,t)=>{o(Math.min(95,e)),t&&i(t)},[]),g=(0,s.useCallback)(e=>{h(),o(100),e&&i(e),setTimeout(()=>{p()},500)},[h,p]),b=(0,s.useCallback)(()=>{h(),p()},[h,p]);return(0,s.useEffect)(()=>()=>h(),[h]),(0,a.jsxs)(l.Provider,{value:{startProgress:m,updateProgress:v,completeProgress:g,cancelProgress:b,isProgressing:c},children:[t,(0,a.jsxs)("div",{className:"fixed bottom-0 left-0 right-0 z-[600] transition-all duration-300 ease-out",style:{opacity:+!!c,transform:c?"translateY(0)":"translateY(100%)",pointerEvents:c?"auto":"none"},children:[(0,a.jsx)("div",{className:"h-1 w-full",style:{backgroundColor:"var(--bg-secondary)"},children:(0,a.jsx)("div",{className:"h-full transition-all duration-200 ease-out",style:{width:"".concat(r,"%"),backgroundColor:r>=100?"var(--status-pass-text)":"var(--accent)",boxShadow:r>=100?"0 0 10px var(--status-pass-text)":"none"}})}),n&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-2 px-4 text-xs font-medium cursor-pointer",onClick:b,style:{backgroundColor:"var(--bg-card)",color:r>=100?"var(--status-pass-text)":"var(--text-secondary)",borderTop:"1px solid var(--border)"},children:[r>=100&&(0,a.jsx)("svg",{className:"mr-2",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:(0,a.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"var(--status-pass-text)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),n]})]})]})}},854:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var a=r(2115);let s="qa-auth";function l(e){try{sessionStorage.setItem(s,JSON.stringify(e))}catch(e){}}function o(){let[e,t]=(0,a.useState)({name:"",isLoggedIn:!1}),[r,o]=(0,a.useState)(!1);(0,a.useEffect)(()=>{t(function(){try{let e=sessionStorage.getItem(s);if(!e)return{name:"",isLoggedIn:!1};return JSON.parse(e)}catch(e){return{name:"",isLoggedIn:!1}}}()),o(!0)},[]);let n=(0,a.useCallback)(e=>{let r={name:e,isLoggedIn:!0};l(r),t(r)},[]),i=(0,a.useCallback)(()=>{let e={name:"",isLoggedIn:!1};l(e),t(e)},[]);return{...e,loaded:r,login:n,logout:i}}},8609:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>M});var a=r(5155),s=r(2115),l=r(63),o=r(7246),n=r(2619),i=r.n(n),c=r(854),d=r(8566);let u=["https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_11.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_12.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_13.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_14.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_15.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_16.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_17.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_18.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_19.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_20.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_21.png","https://cdn.jsdelivr.net/gh/alohe/avatars/png/upstream_22.png"],x=["https://i.pinimg.com/736x/ed/74/06/ed74063ade6d66fce2ca19acbe74babc.jpg","https://i.pinimg.com/736x/8c/6d/56/8c6d563311f0917d45d1f2ce5d7c1a2d.jpg","https://i.pinimg.com/736x/86/b8/be/86b8bea1c772cf5c540e6f01e6acce59.jpg","https://i.pinimg.com/736x/78/d4/b1/78d4b1787a4fd23c2a8d21e4fbbc016f.jpg","https://i.pinimg.com/1200x/87/de/e6/87dee6d33b04f1df28bc85702ee12d4b.jpg","https://i.pinimg.com/1200x/3b/e3/95/3be395c4a94705f95e0603afb04f9d56.jpg","https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo"],h=["QA Engineer","QA Lead","Developer","Designer","Manager"];function p(e,t){let r=parseInt(e.replace("#",""),16),a=Math.min(255,(r>>16)+Math.round((255-(r>>16))*t)),s=Math.min(255,(r>>8&255)+Math.round((255-(r>>8&255))*t)),l=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}function m(e){let{profile:t,initials:r,onSetName:l,onSetBannerColor:o,onSetAvatarUrl:n,onSetRole:i}=e,[c,m]=(0,s.useState)(!1),[v,g]=(0,s.useState)(!1),[b,f]=(0,s.useState)(!1),[j,y]=(0,s.useState)(t.name),[k,w]=(0,s.useState)(t.role||""),C=(0,s.useRef)(null),N=(0,s.useRef)(null),S=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{C.current&&!C.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,s.useEffect)(()=>{v&&N.current&&N.current.focus()},[v]),(0,s.useEffect)(()=>{b&&S.current&&S.current.focus()},[b]);let M=()=>{l(j.trim()),g(!1)},L=()=>{i(k.trim()),f(!1)},E=!!t.avatarUrl;return(0,a.jsxs)("div",{className:"relative",ref:C,children:[(0,a.jsx)("button",{onClick:()=>m(!c),className:"w-9 h-9 rounded-full flex items-center justify-center text-xs font-medium overflow-hidden border-2 transition-all hover:scale-105",style:{borderColor:c?"var(--accent)":"transparent",boxShadow:c?"0 0 0 2px var(--accent), 0 2px 8px rgba(0,0,0,0.1)":"0 1px 3px rgba(0,0,0,0.08)"},children:E?(0,a.jsx)("img",{src:t.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("span",{className:"w-full h-full flex items-center justify-center",style:{backgroundColor:t.bannerColor,color:"#fff"},children:r})}),c&&(0,a.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-80 border z-50 overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-xl)",animation:"fadeIn 150ms ease-out"},children:[(0,a.jsxs)("div",{className:"relative px-5 pt-5 pb-4",style:{background:"linear-gradient(135deg, ".concat(t.bannerColor," 0%, ").concat(p(t.bannerColor,.4)," 50%, ").concat(t.bannerColor," 100%)")},children:[(0,a.jsx)("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"radial-gradient(circle at 20% 50%, white 1px, transparent 1px), radial-gradient(circle at 80% 20%, white 1px, transparent 1px)",backgroundSize:"30px 30px"}}),(0,a.jsxs)("div",{className:"relative flex items-end gap-4",children:[(0,a.jsxs)("div",{className:"relative group",children:[(0,a.jsx)("div",{className:"w-16 h-16 rounded-xl overflow-hidden border-3 flex-shrink-0",style:{borderColor:"rgba(255,255,255,0.3)",boxShadow:"0 4px 12px rgba(0,0,0,0.2)"},children:E?(0,a.jsx)("img",{src:t.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center text-xl font-bold",style:{backgroundColor:t.bannerColor,color:"#fff"},children:r})}),(0,a.jsx)("div",{className:"absolute inset-0 rounded-xl flex items-center justify-center opacity-0 group-hover:opacity-100 cursor-pointer transition-opacity",style:{backgroundColor:"rgba(0,0,0,0.4)"},onClick:e=>{var t;e.stopPropagation(),null==(t=document.getElementById("avatar-gallery"))||t.scrollIntoView({behavior:"smooth"})},children:(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"white",children:(0,a.jsx)("path",{d:"M14 11V14H2V11H0V14C0 15.1.9 16 2 16H14C15.1 16 16 15.1 16 14V11H14ZM7 9L4.5 6.5L3 8L8 13L13 8L11.5 6.5L9 9V0H7V9Z"})})})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 pb-1",children:[v?(0,a.jsx)("input",{ref:N,value:j,onChange:e=>y(e.target.value),onBlur:M,onKeyDown:e=>{"Enter"===e.key&&M(),"Escape"===e.key&&g(!1)},className:"w-full bg-white/20 backdrop-blur-sm outline-none text-white text-sm font-semibold px-2 py-1 rounded placeholder-white/50",placeholder:"Your name..."}):(0,a.jsx)("div",{className:"text-sm font-semibold text-white cursor-pointer hover:opacity-80 truncate",onClick:()=>{y(t.name),g(!0)},children:t.name||"Click to set name"}),(0,a.jsx)("div",{className:"text-[11px] mt-0.5 px-2 py-0.5 rounded-full inline-block cursor-pointer hover:opacity-80",style:{backgroundColor:"rgba(255,255,255,0.15)",color:"rgba(255,255,255,0.9)"},onClick:()=>{w(t.role||""),f(!0)},children:b?(0,a.jsx)("input",{ref:S,value:k,onChange:e=>w(e.target.value),onBlur:L,onKeyDown:e=>{"Enter"===e.key&&L(),"Escape"===e.key&&f(!1)},className:"bg-transparent outline-none text-white text-[11px] w-24 placeholder-white/50",placeholder:"Your role..."}):t.role||"Set role..."})]})]})]}),(0,a.jsxs)("div",{className:"px-4 pt-3 pb-2",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Role"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.map(e=>(0,a.jsx)("button",{onClick:()=>i(e),className:"px-2 py-1 text-[10px] rounded-md border transition-colors",style:{borderColor:t.role===e?"var(--accent)":"var(--border)",color:t.role===e?"var(--accent)":"var(--text-secondary)",backgroundColor:t.role===e?"var(--accent)10":"transparent",fontWeight:t.role===e?600:400},children:e},e))})]}),(0,a.jsxs)("div",{id:"avatar-gallery",className:"px-4 pt-2 pb-3",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Choose Avatar"}),(0,a.jsx)("div",{className:"grid grid-cols-6 gap-2",children:u.map((e,r)=>(0,a.jsx)("button",{onClick:()=>n(e),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:t.avatarUrl===e?"var(--accent)":"transparent",boxShadow:t.avatarUrl===e?"0 0 0 2px var(--accent)":"none"},children:(0,a.jsx)("img",{src:e,alt:"Avatar ".concat(r+11),className:"w-full h-full object-cover",loading:"lazy"})},e))}),(0,a.jsx)("div",{className:"grid grid-cols-6 gap-2 mt-2",children:x.map((e,r)=>(0,a.jsx)("button",{onClick:()=>n(e),className:"w-10 h-10 rounded-lg overflow-hidden border-2 transition-all hover:scale-110 hover:shadow-md",style:{borderColor:t.avatarUrl===e?"var(--accent)":"transparent",boxShadow:t.avatarUrl===e?"0 0 0 2px var(--accent)":"none"},children:(0,a.jsx)("img",{src:e,alt:"Avatar ".concat(r+23),className:"w-full h-full object-cover",loading:"lazy"})},e))})]}),(0,a.jsxs)("div",{className:"px-4 pb-4",children:[(0,a.jsx)("label",{className:"text-[10px] font-semibold uppercase tracking-wider block mb-2",style:{color:"var(--text-tertiary)"},children:"Banner Color"}),(0,a.jsx)("div",{className:"grid grid-cols-8 gap-1.5",children:d.T7.map(e=>(0,a.jsx)("button",{onClick:()=>o(e),className:"w-6 h-6 rounded-full transition-transform hover:scale-110 relative overflow-hidden",style:{background:"linear-gradient(135deg, ".concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.max(0,(r>>16)-Math.round((r>>16)*.3)),s=Math.max(0,(r>>8&255)-Math.round((r>>8&255)*.3)),l=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(e,.3)," 0%, ").concat(e," 50%, ").concat(p(e,.3)," 100%)"),outline:t.bannerColor!==e||t.avatarUrl?"none":"2px solid var(--accent)",outlineOffset:2},children:(0,a.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%)",animation:"shimmer 2s ease-in-out infinite"}})},e))})]}),(0,a.jsxs)("div",{className:"px-4 py-2.5 border-t flex items-center justify-between",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("span",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:"Profile data stored locally"}),(0,a.jsx)("button",{onClick:()=>m(!1),className:"text-[10px] font-medium px-2 py-0.5 rounded",style:{color:"var(--accent)"},children:"Done"})]})]})]})}function v(e){let{open:t,onClose:r,profile:l,initials:o,stats:n}=e,[i,c]=(0,s.useState)(!1);if(!t)return null;let d="My Test Lah!:\n".concat(n.projects," Projects | ").concat(n.testCases," Cases | ").concat(n.passRate,"% Pass Rate"),u=async()=>{if(navigator.share)try{await navigator.share({title:"Test Lah! Stats",text:d})}catch(e){}else navigator.clipboard.writeText(d)};return(0,a.jsx)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:r,children:(0,a.jsxs)("div",{className:"w-72 mx-4",onClick:e=>e.stopPropagation(),style:{perspective:"1000px"},children:[(0,a.jsxs)("div",{className:"relative w-full",style:{transformStyle:"preserve-3d",transform:i?"rotateY(180deg)":"rotateY(0)",transition:"transform 0.5s ease",height:"380px"},children:[(0,a.jsxs)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)"},children:[(0,a.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(160deg, ".concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.max(0,(r>>16)-Math.round((r>>16)*.25)),s=Math.max(0,(r>>8&255)-Math.round((r>>8&255)*t)),l=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(l.bannerColor,.25)," 0%, ").concat(l.bannerColor," 50%, ").concat(function(e,t){let r=parseInt(e.replace("#",""),16),a=Math.min(255,(r>>16)+Math.round((255-(r>>16))*.2)),s=Math.min(255,(r>>8&255)+Math.round((255-(r>>8&255))*t)),l=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|l).toString(16).padStart(6,"0"))}(l.bannerColor,.2)," 100%)")}}),(0,a.jsxs)("div",{className:"relative h-full flex flex-col items-center justify-center px-4",children:[(0,a.jsx)("div",{className:"w-20 h-20 rounded-xl overflow-hidden border-2 mb-3",style:{borderColor:"rgba(255,255,255,0.3)"},children:l.avatarUrl?(0,a.jsx)("img",{src:l.avatarUrl,alt:"Avatar",className:"w-full h-full object-cover"}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center text-2xl font-bold",style:{backgroundColor:"rgba(0,0,0,0.2)",color:"#fff"},children:o})}),(0,a.jsx)("h3",{className:"text-base font-semibold text-white drop-shadow-sm",children:l.name||"Anonymous Tester"}),(0,a.jsx)("p",{className:"text-xs mt-0.5 text-white/70",children:l.role||"No role set"}),(0,a.jsxs)("div",{className:"flex items-center gap-4 mt-4",children:[(0,a.jsx)(g,{value:n.projects,label:"Projects"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(g,{value:n.testCases,label:"Cases"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(g,{value:"".concat(n.passRate,"%"),label:"Pass"})]}),(0,a.jsx)("button",{onClick:()=>c(!0),className:"mt-5 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.2)",color:"#fff"},children:"View stats"})]})]}),(0,a.jsx)("div",{className:"absolute inset-0 rounded-xl overflow-hidden border",style:{backfaceVisibility:"hidden",transform:"rotateY(180deg)",borderColor:"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)"},children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[(0,a.jsxs)("div",{className:"px-4 py-3 border-b flex items-center justify-between",style:{borderColor:"var(--border)"},children:[(0,a.jsx)("span",{className:"text-xs font-semibold",style:{color:"var(--text-primary)"},children:"Statistics"}),(0,a.jsx)("button",{onClick:()=>c(!1),className:"text-[10px] px-2 py-0.5 rounded border transition-colors hover:bg-[var(--bg-secondary)]",style:{color:"var(--text-tertiary)",borderColor:"var(--border)"},children:"Back"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:"Pass Rate"}),(0,a.jsxs)("span",{className:"text-sm font-semibold",style:{color:n.passRate>=80?"var(--status-pass-text)":n.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"},children:[n.passRate,"%"]})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full overflow-hidden",style:{backgroundColor:"var(--bg-secondary)"},children:(0,a.jsx)("div",{className:"h-full rounded-full",style:{width:"".concat(n.passRate,"%"),backgroundColor:n.passRate>=80?"var(--status-pass-text)":n.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"}})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,a.jsx)(b,{label:"Pass",value:n.pass,color:"var(--status-pass-text)"}),(0,a.jsx)(b,{label:"Fail",value:n.fail,color:"var(--status-fail-text)"}),(0,a.jsx)(b,{label:"Skip",value:n.skip,color:"var(--status-skip-text)"}),(0,a.jsx)(b,{label:"New",value:n.untested})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(f,{label:"Test Cases",value:n.testCases}),(0,a.jsx)(f,{label:"Flow Nodes",value:n.nodes}),(0,a.jsx)(f,{label:"Edges",value:n.edges}),(0,a.jsx)(f,{label:"Projects",value:n.projects})]}),(0,a.jsxs)("button",{onClick:u,className:"w-full px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)] flex items-center justify-center gap-1.5",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:[(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8"}),(0,a.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,a.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]}),"Share"]})]})]})})]}),(0,a.jsx)("button",{onClick:r,className:"w-full mt-2 px-3 py-2 text-[11px] font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)",backgroundColor:"var(--bg-card)"},children:"Close"})]})})}function g(e){let{value:t,label:r}=e;return(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"text-sm font-semibold text-white",children:t}),(0,a.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-white/60",children:r})]})}function b(e){let{label:t,value:r,color:s}=e;return(0,a.jsxs)("div",{className:"py-2 rounded-lg text-center",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("div",{className:"text-sm font-medium",style:{color:null!=s?s:"var(--text-secondary)"},children:r}),(0,a.jsx)("div",{className:"text-[8px] uppercase tracking-wider",style:{color:"var(--text-tertiary)"},children:t})]})}function f(e){let{label:t,value:r}=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg",style:{backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("span",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:t}),(0,a.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:r})]})}var j=r(265);function y(){let{projects:e,activeProject:t,activeProjectId:r,profile:n,profileInitials:d,setProfileName:u,setProfileBannerColor:x,setProfileAvatarUrl:h,setProfileRole:p}=(0,o.M)(),{logout:g}=(0,c.A)(),b=(0,l.useRouter)(),f=(0,l.usePathname)(),{startProgress:y,completeProgress:w}=(0,j.p1)(),[C,N]=(0,s.useState)(!1),[S,M]=(0,s.useState)(!1),L=Object.values(e),E=(0,s.useMemo)(()=>{let e=L.flatMap(e=>Object.values(e.testCases).flat()),t=e.length,r=e.filter(e=>"pass"===e.status).length,a=e.filter(e=>"fail"===e.status).length,s=e.filter(e=>"skip"===e.status).length,l=e.filter(e=>"untested"===e.status).length,o=L.reduce((e,t)=>e+t.flows.length,0),n=L.reduce((e,t)=>{var r;return e+(null!=(r=t.edges)?r:[]).length},0),i=t-s,c=i>0?Math.round(r/i*100):0;return{projects:L.length,testCases:t,passRate:c,nodes:o,edges:n,pass:r,fail:a,skip:s,untested:l}},[L]),P=f.startsWith("/integrations")?"integrations":"projects";return(0,a.jsxs)("header",{className:"flex flex-col border-b flex-shrink-0 relative",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)"},children:[(0,a.jsx)("div",{className:"absolute inset-0 overflow-hidden flex items-center justify-center pointer-events-none group/duck",children:(0,a.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"",className:"h-[85%] object-contain select-none transition-all duration-300 group-hover/duck:scale-110 group-hover/duck:opacity-[0.15] cursor-pointer",style:{opacity:.09,pointerEvents:"auto"},onClick:()=>b.push("/projects"),title:"Quack! \uD83E\uDD86"})}),(0,a.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-6 py-2.5",children:[(0,a.jsx)("div",{className:"flex items-center gap-3",children:(0,a.jsxs)(i(),{href:"/projects",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-8 h-8 rounded-md overflow-hidden bg-white flex-shrink-0",style:{boxShadow:"0 1px 4px rgba(0,0,0,0.08)"},children:(0,a.jsx)("img",{src:"https://static.vecteezy.com/system/resources/thumbnails/067/162/149/small/cute-duck-meme-sticker-transparent-cute-illustration-free-png.png",alt:"Logo",width:32,height:32,className:"w-full h-full object-contain"})}),(0,a.jsx)("span",{className:"shimmer-text text-sm font-bold tracking-wide select-none",style:{background:"linear-gradient(90deg, var(--text-primary) 0%, var(--text-primary) 40%, #FFD54F 50%, var(--text-primary) 60%, var(--text-primary) 100%)",backgroundSize:"200% 100%",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",animation:"shimmerText 3s ease-in-out infinite"},children:"Test Lah!"})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{onClick:()=>N(!0),className:"hidden md:block px-3 py-1.5 text-[11px] font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"My Card"}),(0,a.jsx)("div",{className:"hidden md:block w-px h-5 mx-0.5",style:{backgroundColor:"var(--border)"}}),(0,a.jsx)("div",{className:"relative z-[60]",children:(0,a.jsx)(m,{profile:n,initials:d,onSetName:u,onSetBannerColor:x,onSetAvatarUrl:h,onSetRole:p})}),(0,a.jsx)("button",{onClick:()=>{M(!0)},className:"w-8 h-8 flex items-center justify-center text-xs rounded-md border transition-colors hover:bg-[var(--bg-secondary)] hover:border-[var(--status-fail-text)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},title:"Logout",children:(0,a.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:(0,a.jsx)("path",{d:"M5 2H3.5A1.5 1.5 0 002 3.5v7A1.5 1.5 0 003.5 12H5M9 10l3-3-3-3M6 7h6",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,a.jsxs)("div",{className:"relative z-10 flex items-center gap-1 px-6 pb-1.5",children:[(0,a.jsx)(k,{label:"All Projects",href:"/projects",icon:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,a.jsx)("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"8",y:"1",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"1",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("rect",{x:"8",y:"8",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2",fill:"none"})]}),active:"projects"===P}),(0,a.jsx)(k,{label:"Integrations",href:"/integrations",icon:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",children:[(0,a.jsx)("circle",{cx:"5",cy:"5",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("circle",{cx:"9",cy:"9",r:"2.5",stroke:"currentColor",strokeWidth:"1.2",fill:"none"}),(0,a.jsx)("path",{d:"M7.5 5.5L6.5 8.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),active:"integrations"===P})]}),(0,a.jsx)(v,{open:C,onClose:()=>N(!1),profile:n,initials:d,stats:E}),S&&(0,a.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>M(!1),children:(0,a.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-xl border overflow-hidden",style:{backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"px-6 pt-6 pb-4 text-center",children:[(0,a.jsx)("div",{className:"w-14 h-14 mx-auto mb-4 rounded-full flex items-center justify-center",style:{backgroundColor:"var(--status-skip-bg)"},children:(0,a.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--status-skip-text)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"}),(0,a.jsx)("polyline",{points:"16 17 21 12 16 7"}),(0,a.jsx)("line",{x1:"21",y1:"12",x2:"9",y2:"12"})]})}),(0,a.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:"Mau Keluar? Sedekahnya mana??"}),(0,a.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--text-tertiary)"},children:"Sebelum keluar, mungkin bisa traktir developer secangkir kopi? ☕"})]}),(0,a.jsxs)("div",{className:"px-6 pb-5 flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>M(!1),className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Batal"}),(0,a.jsx)("button",{onClick:()=>{M(!1),y("Logging out..."),g(),setTimeout(()=>{w("Logged out!"),b.push("/login")},500)},className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-opacity hover:opacity-80",style:{backgroundColor:"var(--status-fail-text)",color:"#fff"},children:"Keluar"})]})]})})]})}function k(e){let{label:t,icon:r,active:s,href:l,badge:o}=e;return(0,a.jsxs)(i(),{href:l,className:"flex items-center gap-2 px-3 py-2 text-xs font-medium rounded-t-md transition-colors relative",style:{color:s?"var(--accent)":"var(--text-tertiary)",backgroundColor:s?"var(--bg-secondary)":"transparent"},children:[r,t,o&&(0,a.jsx)("span",{className:"ml-1 px-1.5 py-0.5 text-[9px] font-semibold rounded-full leading-none",style:{backgroundColor:s?"var(--accent)":"var(--bg-secondary)",color:s?"#fff":"var(--text-tertiary)"},children:o}),s&&(0,a.jsx)("div",{className:"absolute bottom-0 left-2 right-2 h-0.5 rounded-t-full",style:{backgroundColor:"var(--accent)"}})]})}var w=r(7065);function C(e){let{children:t}=e,r=(0,l.useRouter)(),{isLoggedIn:o,loaded:n}=(0,c.A)();return((0,s.useEffect)(()=>{n&&!o&&r.replace("/login")},[n,o,r]),n)?o?(0,a.jsx)(a.Fragment,{children:t}):null:(0,a.jsx)("div",{className:"h-screen flex items-center justify-center",style:{backgroundColor:"var(--bg-primary)"},children:(0,a.jsx)("div",{className:"text-sm",style:{color:"var(--text-tertiary)"},children:"Loading..."})})}function N(){let{undo:e,redo:t,canUndo:r,canRedo:a}=(0,o.M)();return(0,s.useEffect)(()=>{let s=s=>{(s.ctrlKey||s.metaKey)&&"z"===s.key&&!s.shiftKey&&(s.preventDefault(),r&&e()),(s.ctrlKey||s.metaKey)&&("Z"===s.key||"z"===s.key&&s.shiftKey)&&(s.preventDefault(),a&&t()),(s.ctrlKey||s.metaKey)&&"y"===s.key&&(s.preventDefault(),a&&t())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t,r,a]),null}function S(e){let{children:t}=e,{dialog:r}=(0,o.M)();return(0,a.jsxs)(a.Fragment,{children:[t,(0,a.jsx)(w.q,{dialog:r})]})}function M(e){let{children:t}=e;return(0,a.jsx)(C,{children:(0,a.jsx)(o.q,{children:(0,a.jsx)(S,{children:(0,a.jsxs)("div",{className:"h-screen flex flex-col",style:{backgroundColor:"var(--bg-primary)"},children:[(0,a.jsx)(N,{}),(0,a.jsx)(y,{}),(0,a.jsx)("div",{className:"flex-1 min-h-0",children:t})]})})})})}},9715:(e,t,r)=>{Promise.resolve().then(r.bind(r,8609))}},e=>{e.O(0,[619,246,441,255,358],()=>e(e.s=9715)),_N_E=e.O()}]);