test-lah 1.0.7 → 1.0.9
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +44 -34
- package/.next/standalone/.next/app-path-routes-manifest.json +8 -7
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +21 -21
- package/.next/standalone/.next/server/app/(dashboard)/integrations/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js +17 -70
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js +2 -22
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +34 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/api/e2e/route.js +13 -2
- package/.next/standalone/.next/server/app/api/e2e/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/generate/route.js +13 -2
- package/.next/standalone/.next/server/app/api/generate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/llm/encrypt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/llm/test/route.js +13 -2
- package/.next/standalone/.next/server/app/api/llm/test/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/refine-notes/route.js +29 -0
- package/.next/standalone/.next/server/app/api/refine-notes/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/refine-notes/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/weather/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/integrations.html +1 -1
- package/.next/standalone/.next/server/app/integrations.rsc +4 -4
- package/.next/standalone/.next/server/app/login/page.js +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +3 -3
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +8 -7
- package/.next/standalone/.next/server/chunks/423.js +62 -0
- package/.next/standalone/.next/server/chunks/615.js +2 -2
- package/.next/standalone/.next/server/chunks/736.js +2 -2
- package/.next/standalone/.next/server/chunks/779.js +1 -0
- package/.next/standalone/.next/server/chunks/845.js +5 -5
- package/.next/standalone/.next/server/chunks/898.js +21 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/172-84d6b7afea495880.js +1 -0
- package/.next/standalone/.next/static/chunks/246-28370f424ce95be6.js +1 -0
- package/.next/standalone/.next/static/chunks/253-d1beae5e3cf2d88e.js +1 -0
- package/.next/standalone/.next/static/chunks/642-d84ad067810dd35b.js +1 -0
- package/.next/standalone/.next/static/chunks/661-a763fedcbf90af81.js +1 -0
- package/.next/standalone/.next/static/chunks/793-7306e111aea85b00.js +1 -0
- package/.next/standalone/.next/static/chunks/968-a7dcf12036013254.js +62 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-d62f7774ba0ed3ab.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-e4ed5abcbb7c8802.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-0d320c1bd8d89d9c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-1b2e89d37c95e30f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-5f4191feafff095a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/e2e/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/generate/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/llm/test/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/refine-notes/route-234cc6154c5cd194.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/weather/route-234cc6154c5cd194.js +1 -0
- package/.next/{static/chunks/app/login/page-a655de2a3e8514f8.js → standalone/.next/static/chunks/app/login/page-35c717d39c71dcbf.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/page-dd12a450edb4a44d.js +1 -0
- package/.next/standalone/.next/static/css/d31bdcc43c2da03c.css +3 -0
- package/.next/standalone/.next/static/pu5ThH8RrsP9e4dTXjYwA/_buildManifest.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/static/chunks/172-84d6b7afea495880.js +1 -0
- package/.next/static/chunks/246-28370f424ce95be6.js +1 -0
- package/.next/static/chunks/253-d1beae5e3cf2d88e.js +1 -0
- package/.next/static/chunks/642-d84ad067810dd35b.js +1 -0
- package/.next/static/chunks/661-a763fedcbf90af81.js +1 -0
- package/.next/static/chunks/793-7306e111aea85b00.js +1 -0
- package/.next/static/chunks/968-a7dcf12036013254.js +62 -0
- package/.next/static/chunks/app/(dashboard)/integrations/page-d62f7774ba0ed3ab.js +1 -0
- package/.next/static/chunks/app/(dashboard)/layout-e4ed5abcbb7c8802.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-0d320c1bd8d89d9c.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-1b2e89d37c95e30f.js +1 -0
- package/.next/static/chunks/app/(dashboard)/projects/page-5f4191feafff095a.js +1 -0
- package/.next/static/chunks/app/api/e2e/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/generate/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/llm/encrypt/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/llm/test/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/refine-notes/route-234cc6154c5cd194.js +1 -0
- package/.next/static/chunks/app/api/weather/route-234cc6154c5cd194.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/login/page-a655de2a3e8514f8.js → static/chunks/app/login/page-35c717d39c71dcbf.js} +1 -1
- package/.next/static/chunks/app/page-dd12a450edb4a44d.js +1 -0
- package/.next/static/css/d31bdcc43c2da03c.css +3 -0
- package/.next/static/pu5ThH8RrsP9e4dTXjYwA/_buildManifest.js +1 -0
- package/README.md +27 -4
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/350.js +0 -21
- package/.next/standalone/.next/server/chunks/403.js +0 -1
- package/.next/standalone/.next/server/chunks/583.js +0 -1
- package/.next/standalone/.next/static/Dmhhi1aH71i6LYut_5YOv/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/246-1673b37cc8edb269.js +0 -1
- package/.next/standalone/.next/static/chunks/485-23e4a6e33ee79f14.js +0 -1
- package/.next/standalone/.next/static/chunks/532-95cb537bb36c2e68.js +0 -62
- package/.next/standalone/.next/static/chunks/637-dcbc811f7143935f.js +0 -1
- package/.next/standalone/.next/static/chunks/708-1fc7a6d1d5b4aee7.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-4f738ff151196fe8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-b69fc155f1796e19.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-a90eeaea3538ebf2.js +0 -1
- package/.next/standalone/.next/static/css/ab7683c62149b050.css +0 -3
- package/.next/static/Dmhhi1aH71i6LYut_5YOv/_buildManifest.js +0 -1
- package/.next/static/chunks/246-1673b37cc8edb269.js +0 -1
- package/.next/static/chunks/485-23e4a6e33ee79f14.js +0 -1
- package/.next/static/chunks/532-95cb537bb36c2e68.js +0 -62
- package/.next/static/chunks/637-dcbc811f7143935f.js +0 -1
- package/.next/static/chunks/708-1fc7a6d1d5b4aee7.js +0 -1
- package/.next/static/chunks/app/(dashboard)/integrations/page-f5e71fcfbeffdfb1.js +0 -1
- package/.next/static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-4f738ff151196fe8.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/[projectId]/summary/page-b69fc155f1796e19.js +0 -1
- package/.next/static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js +0 -1
- package/.next/static/chunks/app/api/e2e/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/generate/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/llm/encrypt/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/llm/test/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/api/weather/route-ccff81cd0a5704f2.js +0 -1
- package/.next/static/chunks/app/page-a90eeaea3538ebf2.js +0 -1
- package/.next/static/css/ab7683c62149b050.css +0 -3
- /package/.next/standalone/.next/static/{Dmhhi1aH71i6LYut_5YOv → pu5ThH8RrsP9e4dTXjYwA}/_ssgManifest.js +0 -0
- /package/.next/static/{Dmhhi1aH71i6LYut_5YOv → pu5ThH8RrsP9e4dTXjYwA}/_ssgManifest.js +0 -0
package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-d62f7774ba0ed3ab.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{469:(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=(null==m?void 0:m.defaultModel)||r.defaultModel,[j,N]=(0,l.useState)(null),[C,w]=(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 U=async()=>{let e=h.trim();if(e){f(!0),N(null),w(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,model:k})}),t=await o.json();N(t),t.ok&&w(e)}catch(e){N({ok:!1,error:"Network error"})}finally{f(!1)}}},M=async()=>{let e=C||h.trim();if(!e)return;if(!C)return void await U();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),N(null),w(null)},P=(e,o)=>{p(r.id,{[e]:o})};if(!m)return null;let L=r.color||"#6B7280";return(0,t.jsxs)("div",{className:"rounded-xl border transition-all overflow-hidden",style:{borderColor:i?L:o?"var(--border-hover)":"var(--border)",backgroundColor:"var(--bg-card)",boxShadow:i?"0 0 0 1px ".concat(L,"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(L,"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:L},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(L,"15"),color:L},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),w(null),N(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),w(null),N(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&&U()}}),(0,t.jsx)("button",{onClick:U,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:M,disabled:!C&&!h.trim(),className:"px-4 py-2 text-xs font-medium rounded-lg transition-all hover:opacity-90 disabled:opacity-40",style:{backgroundColor:L,color:"#fff"},children:"Connect"}),u&&(0,t.jsx)("button",{onClick:()=>{v(!1),x(m.apiKey),g(m.baseURL||r.baseURL||""),w(null),N(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"})]}),j&&(0,t.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:j.ok?"var(--status-pass-bg)":"var(--status-fail-bg)",color:j.ok?"var(--status-pass-text)":"var(--status-fail-text)"},children:j.ok?"Connection verified! Click Connect to save.":"Failed: ".concat(j.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:L,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),N(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:L,color:"#fff"},children:"Set Active"})]}),(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=>P("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=>P("secondaryModel",e),allowEmpty:!0})]})]}),i&&m.connected&&(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:L}}),"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=469)),_N_E=e.O()}]);
|
|
@@ -0,0 +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:()=>l});var a=r(5155),s=r(2115);let o=(0,s.createContext)(null);function l(){let e=(0,s.useContext)(o);if(!e)throw Error("useProgress must be used within ProgressProvider");return e}function n(e){let{children:t}=e,[r,l]=(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),l(0),i("")},[]),m=(0,s.useCallback)(e=>{h(),l(0),i(e||""),d(!0),u.current=setInterval(()=>{l(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)=>{l(Math.min(95,e)),t&&i(t)},[]),b=(0,s.useCallback)(e=>{h(),l(100),e&&i(e),setTimeout(()=>{p()},500)},[h,p]),g=(0,s.useCallback)(()=>{h(),p()},[h,p]);return(0,s.useEffect)(()=>()=>h(),[h]),(0,a.jsxs)(o.Provider,{value:{startProgress:m,updateProgress:v,completeProgress:b,cancelProgress:g,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:g,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:()=>l});var a=r(2115);let s="qa-auth";function o(e){try{sessionStorage.setItem(s,JSON.stringify(e))}catch(e){}}function l(){let[e,t]=(0,a.useState)({name:"",isLoggedIn:!1}),[r,l]=(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}}}()),l(!0)},[]);let n=(0,a.useCallback)(e=>{let r={name:e,isLoggedIn:!0};o(r),t(r)},[]),i=(0,a.useCallback)(()=>{let e={name:"",isLoggedIn:!1};o(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),o=r(63),l=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)),o=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|o).toString(16).padStart(6,"0"))}function m(e){let{profile:t,initials:r,onSetName:o,onSetBannerColor:l,onSetAvatarUrl:n,onSetRole:i}=e,[c,m]=(0,s.useState)(!1),[v,b]=(0,s.useState)(!1),[g,f]=(0,s.useState)(!1),[y,j]=(0,s.useState)(t.name),[k,w]=(0,s.useState)(t.role||""),N=(0,s.useRef)(null),C=(0,s.useRef)(null),S=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{N.current&&!N.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,s.useEffect)(()=>{v&&C.current&&C.current.focus()},[v]),(0,s.useEffect)(()=>{g&&S.current&&S.current.focus()},[g]);let M=()=>{o(y.trim()),b(!1)},L=()=>{i(k.trim()),f(!1)},I=!!t.avatarUrl;return(0,a.jsxs)("div",{className:"relative",ref:N,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:I?(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:I?(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:C,value:y,onChange:e=>j(e.target.value),onBlur:M,onKeyDown:e=>{"Enter"===e.key&&M(),"Escape"===e.key&&b(!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:()=>{j(t.name),b(!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:g?(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:()=>l(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)),o=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|o).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:o,initials:l,stats:n}=e,[i,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(!1);if(!t)return null;let x="My Test Lah!:\n".concat(n.projects," Projects | ").concat(n.testCases," Cases | ").concat(n.passRate,"% Pass Rate"),h=async()=>{if(navigator.share)try{await navigator.share({title:"Test Lah! Stats",text:x})}catch(e){}else navigator.clipboard.writeText(x)};return(0,a.jsxs)("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)),o=Math.max(0,(255&r)-Math.round((255&r)*t));return"#".concat((a<<16|s<<8|o).toString(16).padStart(6,"0"))}(o.bannerColor,.25)," 0%, ").concat(o.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)),o=Math.min(255,(255&r)+Math.round((255-(255&r))*t));return"#".concat((a<<16|s<<8|o).toString(16).padStart(6,"0"))}(o.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:o.avatarUrl?(0,a.jsx)("img",{src:o.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:l})}),(0,a.jsx)("h3",{className:"text-base font-semibold text-white drop-shadow-sm",children:o.name||"Anonymous Tester"}),(0,a.jsx)("p",{className:"text-xs mt-0.5 text-white/70",children:o.role||"No role set"}),(0,a.jsxs)("div",{className:"flex items-center gap-4 mt-4",children:[(0,a.jsx)(b,{value:n.projects,label:"Projects"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(b,{value:n.testCases,label:"Cases"}),(0,a.jsx)("div",{className:"w-px h-6 bg-white/20"}),(0,a.jsx)(b,{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)("button",{onClick:()=>u(!0),className:"mt-2 px-4 py-1.5 text-[11px] font-medium rounded-full transition-colors",style:{backgroundColor:"rgba(255,255,255,0.1)",color:"rgba(255,255,255,0.7)"},children:"Get reward for my hardwork"})]})]}),(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)(g,{label:"Pass",value:n.pass,color:"var(--status-pass-text)"}),(0,a.jsx)(g,{label:"Fail",value:n.fail,color:"var(--status-fail-text)"}),(0,a.jsx)(g,{label:"Skip",value:n.skip,color:"var(--status-skip-text)"}),(0,a.jsx)(g,{label:"Blocked",value:n.blocked,color:"var(--status-blocked-text)"}),(0,a.jsx)(g,{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:h,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"})]}),d&&(0,a.jsx)("div",{className:"fixed inset-0 z-[500] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.4)",animation:"fadeIn 150ms ease-out"},onClick:()=>u(!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.jsx)("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:"M12 2L15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})})}),(0,a.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:"Premium Feature"}),(0,a.jsxs)("p",{className:"text-xs leading-relaxed mb-4",style:{color:"var(--text-secondary)"},children:["Getting rewards for your hardwork is only available for ",(0,a.jsx)("strong",{children:"Premium Users"}),". To upgrade, please transfer to the following VA:"]}),(0,a.jsxs)("div",{className:"px-4 py-3 rounded-lg border mb-4",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-wider mb-1",style:{color:"var(--text-tertiary)"},children:"Virtual Account"}),(0,a.jsx)("p",{className:"text-sm font-mono font-semibold",style:{color:"var(--text-primary)"},children:"0895 332 333 587"}),(0,a.jsx)("p",{className:"text-[10px] mt-1",style:{color:"var(--text-tertiary)"},children:"a/n Qois Ramadhani"})]}),(0,a.jsx)("p",{className:"text-[10px] italic",style:{color:"var(--text-tertiary)"},children:"*This is a joke. Please don't actually transfer. Or do. I won't stop you."})]}),(0,a.jsx)("div",{className:"px-6 pb-5",children:(0,a.jsx)("button",{onClick:()=>u(!1),className:"w-full 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:"Fine, I'll keep working for free"})})]})})]})}function b(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 g(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 y=r(265);function j(){let{projects:e,activeProject:t,activeProjectId:r,profile:n,profileInitials:d,setProfileName:u,setProfileBannerColor:x,setProfileAvatarUrl:h,setProfileRole:p}=(0,l.M)(),{logout:b}=(0,c.A)(),g=(0,o.useRouter)(),f=(0,o.usePathname)(),{startProgress:j,completeProgress:w}=(0,y.p1)(),[N,C]=(0,s.useState)(!1),[S,M]=(0,s.useState)(!1),L=Object.values(e),I=(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,o=e.filter(e=>"untested"===e.status).length,l=e.filter(e=>"blocked"===e.status).length,n=L.reduce((e,t)=>e+t.flows.length,0),i=L.reduce((e,t)=>{var r;return e+(null!=(r=t.edges)?r:[]).length},0),c=t-s,d=c>0?Math.round(r/c*100):0;return{projects:L.length,testCases:t,passRate:d,nodes:n,edges:i,pass:r,fail:a,skip:s,untested:o,blocked:l}},[L]),A=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:()=>g.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:()=>C(!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",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"===A}),(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"===A})]}),(0,a.jsx)(v,{open:N,onClose:()=>C(!1),profile:n,initials:d,stats:I}),S&&(0,a.jsx)("div",{className:"fixed inset-0 z-[400] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.4)",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.jsx)("div",{className:"px-6 pt-5 pb-2 text-center border-b overflow-hidden",style:{borderColor:"var(--border)",background:"linear-gradient(135deg, #FCEAEA 0%, #F5D0D0 50%, #FCEAEA 100%)"},children:(0,a.jsx)("h3",{className:"text-sm font-semibold",style:{color:"var(--status-fail-text)"},children:"Where are you going? ծ_\xd4"})}),(0,a.jsxs)("div",{className:"px-6 pt-4 pb-4 text-center",children:[(0,a.jsx)("div",{className:"w-32 h-32 mx-auto mb-4 rounded-lg overflow-hidden",children:(0,a.jsx)("img",{src:"https://i.ytimg.com/vi/EcMlX_36gjs/mqdefault.jpg",alt:"Suspicious dog",className:"w-full h-full object-cover"})}),(0,a.jsx)("h3",{className:"text-base font-semibold mb-2",style:{color:"var(--text-primary)"},children:'Are you taking a "sick leave" again?'}),(0,a.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--text-tertiary)"},children:"We both know you're not coming back."})]}),(0,a.jsxs)("div",{className:"px-6 pb-3 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 transition-opacity hover:opacity-80",style:{backgroundColor:"var(--accent)",color:"var(--bg-primary)"},children:"Cancel, I love my job"}),(0,a.jsx)("button",{onClick:()=>{M(!1),j("Logging out..."),b(),setTimeout(()=>{w("Logged out!"),g.push("/login")},500)},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(--status-fail-text)"},children:"Quit my job"})]}),(0,a.jsx)("div",{className:"px-6 pb-5 text-center",children:(0,a.jsxs)("p",{className:"text-[10px]",style:{color:"var(--text-tertiary)"},children:["Contact"," ",(0,a.jsxs)("span",{className:"relative inline-block group/nathan",children:[(0,a.jsx)("a",{href:"https://t.me/nathanaeliman",target:"_blank",rel:"noopener noreferrer",className:"underline cursor-pointer font-medium",style:{color:"var(--accent)"},children:"the best QA"}),(0,a.jsxs)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-1.5 rounded-lg overflow-hidden opacity-0 group-hover/nathan:opacity-100 transition-opacity pointer-events-none",style:{boxShadow:"0 4px 16px rgba(0,0,0,0.2)",width:120,height:120},children:[(0,a.jsx)("img",{src:"https://media.licdn.com/dms/image/v2/D5603AQHBu4wrzFWoTw/profile-displayphoto-crop_800_800/B56Zq.Sy6LKsAI-/0/1764129191465?e=1782345600&v=beta&t=79y6xLivwcpvwy53sy1TuVopK4FMp6O8uAu7QxlIxDo",alt:"Nathan",className:"w-full h-full object-cover"}),(0,a.jsx)("span",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0",style:{borderLeft:"6px solid transparent",borderRight:"6px solid transparent",borderTop:"6px solid var(--bg-card)"}})]})]})," ","to do my job instead"]})})]})})]})}function k(e){let{label:t,icon:r,active:s,href:o,badge:l}=e;return(0,a.jsxs)(i(),{href:o,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,l&&(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:l}),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 N(e){let{children:t}=e,r=(0,o.useRouter)(),{isLoggedIn:l,loaded:n}=(0,c.A)();return((0,s.useEffect)(()=>{n&&!l&&r.replace("/login")},[n,l,r]),n)?l?(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 C(){let{undo:e,redo:t,canUndo:r,canRedo:a}=(0,l.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,l.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)(N,{children:(0,a.jsx)(l.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)(C,{}),(0,a.jsx)(j,{}),(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()}]);
|