Aimobile / assets /AiStyleTransfer-4K23Hln9.js
admin08077's picture
Upload 395 files
634008a verified
import{r as s,j as e}from"./react-B-lWpQRQ.js";import{a8 as y,S as j,L as x,M as b}from"./index-DyMS-nC-.js";import"./@google-xfXoiafW.js";import"./@braintree-DY5JYOZd.js";import"./react-dom-CU2yWD-Y.js";import"./scheduler-DYLXRpC5.js";import"./idb-Dob3nYDb.js";import"./axe-core-CA05Kxsw.js";import"./marked-CesSW9Du.js";import"./@mermaid-js-Ce0__7Tp.js";import"./langium-B_PGe6V2.js";import"./vscode-jsonrpc-2tvYB2ki.js";import"./chevrotain-D5DQZOif.js";import"./@chevrotain-DMYZVohV.js";import"./lodash-es-CKTcnrxn.js";import"./chevrotain-allstar-eFSt8-qu.js";import"./vscode-languageserver-types-NoPvPymt.js";import"./vscode-languageserver-textdocument-CKBVUiR3.js";import"./vscode-uri-CoxP0whD.js";const g="function my_func(x,y){return x+y;}",N=`- Use camelCase for function names.
- Add a space after commas in argument lists.
- Use semicolons at the end of statements.`,$=()=>{const[r,f]=s.useState(g),[a,u]=s.useState(N),[o,d]=s.useState(""),[l,m]=s.useState(!1),[i,c]=s.useState(""),p=s.useCallback(async()=>{if(!r.trim()||!a.trim()){c("Please provide both code and a style guide.");return}m(!0),c(""),d("");try{const t=y({code:r,styleGuide:a});let n="";for await(const h of t)n+=h,d(n)}catch(t){const n=t instanceof Error?t.message:"An unknown error occurred.";c(`Failed to transfer style: ${n}`)}finally{m(!1)}},[r,a]);return e.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8 text-text-primary",children:[e.jsxs("header",{className:"mb-6",children:[e.jsxs("h1",{className:"text-3xl font-bold flex items-center",children:[e.jsx(j,{}),e.jsx("span",{className:"ml-3",children:"AI Code Style Transfer"})]}),e.jsx("p",{className:"text-text-secondary mt-1",children:"Rewrite code to match a specific style guide using AI."})]}),e.jsxs("div",{className:"flex-grow flex flex-col gap-4 min-h-0",children:[e.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[e.jsx("label",{htmlFor:"input-code",className:"text-sm font-medium text-text-secondary mb-2",children:"Original Code"}),e.jsx("textarea",{id:"input-code",value:r,onChange:t=>f(t.target.value),className:"flex-grow p-4 bg-surface border border-border rounded-md resize-y font-mono text-sm"})]}),e.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[e.jsx("label",{htmlFor:"style-guide",className:"text-sm font-medium text-text-secondary mb-2",children:"Style Guide"}),e.jsx("textarea",{id:"style-guide",value:a,onChange:t=>u(t.target.value),className:"flex-grow p-4 bg-surface border border-border rounded-md resize-y font-mono text-sm"})]}),e.jsx("div",{className:"flex-shrink-0",children:e.jsx("button",{onClick:p,disabled:l,className:"btn-primary w-full max-w-xs mx-auto flex items-center justify-center px-6 py-3",children:l?e.jsx(x,{}):"Rewrite Code"})}),e.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[e.jsx("label",{className:"text-sm font-medium text-text-secondary mb-2",children:"Rewritten Code"}),e.jsxs("div",{className:"flex-grow p-1 bg-background border border-border rounded-md overflow-y-auto",children:[l&&!o&&e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(x,{})}),i&&e.jsx("p",{className:"p-4 text-red-500",children:i}),o&&e.jsx(b,{content:o}),!l&&!o&&!i&&e.jsx("div",{className:"text-text-secondary h-full flex items-center justify-center",children:"Rewritten code will appear here."})]})]})]})]})};export{$ as AiStyleTransfer};
//# sourceMappingURL=AiStyleTransfer-4K23Hln9.js.map