import{r as t,j as e}from"./react-D_B_5QVd.js";import{w as v,x as j,L as x}from"./index-QBya0NjG.js";import{m as w}from"./marked-CesSW9Du.js";import"./jszip-C9ownNzX.js";import"./react-dom-EAO2-NBm.js";import"./scheduler-DYLXRpC5.js";import"./@google-4tyssLU_.js";import"./idb-Dob3nYDb.js";const g=`function UserList(users) {
if (users.length = 0) {
return "no users";
} else {
return (
users.map(u => {
return
{u.name}
})
)
}
}`,E=()=>{const[o,u]=t.useState(g),[l,c]=t.useState(""),[a,d]=t.useState(!1),[n,i]=t.useState(""),[f,m]=t.useState("");t.useEffect(()=>{(async()=>{if(l){const r=await w.parse(l);m(r)}else m("")})()},[l]);const p=t.useCallback(async()=>{if(!o.trim()){i("Please enter some code to review.");return}d(!0),i(""),c("");try{const s=v(o);let r="";for await(const h of s)r+=h,c(r)}catch(s){const r=s instanceof Error?s.message:"An unknown error occurred.";i(`Failed to get review: ${r}`)}finally{d(!1)}},[o]);return e.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8",children:[e.jsxs("header",{className:"mb-6",children:[e.jsxs("h1",{className:"text-3xl font-bold text-slate-100 flex items-center",children:[e.jsx(j,{}),e.jsx("span",{className:"ml-3",children:"AI Code Review Bot"})]}),e.jsx("p",{className:"text-slate-400 mt-1",children:"Get an automated code review from Gemini."})]}),e.jsxs("div",{className:"flex-grow grid grid-cols-1 lg:grid-cols-2 gap-6 h-full overflow-hidden",children:[e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("label",{htmlFor:"code-input",className:"text-sm font-medium text-slate-400 mb-2",children:"Code to Review"}),e.jsx("textarea",{id:"code-input",value:o,onChange:s=>u(s.target.value),placeholder:"Paste your code here...",className:"flex-grow p-4 bg-slate-900 border border-slate-700 rounded-md resize-none font-mono text-sm text-cyan-300"}),e.jsx("button",{onClick:p,disabled:a,className:"mt-4 w-full flex items-center justify-center px-6 py-3 bg-cyan-500 text-slate-900 font-bold rounded-md hover:bg-cyan-400 disabled:bg-slate-600",children:a?e.jsx(x,{}):"Request Review"})]}),e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("label",{className:"text-sm font-medium text-slate-400 mb-2",children:"AI Feedback"}),e.jsxs("div",{className:"flex-grow p-4 bg-slate-800/50 border border-slate-700/50 rounded-md overflow-y-auto",children:[a&&e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(x,{})}),n&&e.jsx("p",{className:"text-red-400",children:n}),l&&!a&&e.jsx("div",{className:"prose prose-sm prose-invert max-w-none",dangerouslySetInnerHTML:{__html:f}}),!a&&!l&&!n&&e.jsx("div",{className:"text-slate-500 h-full flex items-center justify-center",children:"Review will appear here."})]})]})]})]})};export{E as CodeReviewBot};
//# sourceMappingURL=CodeReviewBot-BgQ3GFY_.js.map