Spaces:
Running
Running
| import{r,j as e}from"./react-_fH1j4AW.js";import{i as h}from"./geminiService-7wPGMJPL.js";import{c as g}from"./index-Nqm_ElTk.js";import{L as d}from"./LoadingSpinner-C3NwW9hm.js";import{m as j}from"./marked-CesSW9Du.js";import"./@braintree-9Zuj5s7N.js";import"./@google-4tyssLU_.js";import"./react-dom-B47xkeQg.js";import"./scheduler-DYLXRpC5.js";import"./mermaid-CwNlsT42.js";import"./dayjs-LlU9W_sF.js";import"./d3-transition-593SbTzI.js";import"./d3-timer-DdKHrDhs.js";import"./d3-dispatch-kxCwF96_.js";import"./d3-interpolate-CfLzPKWk.js";import"./d3-color-amxIadob.js";import"./d3-selection-C52G7wmG.js";import"./d3-ease-DRPgKoYJ.js";import"./d3-zoom-Dc8HCWOS.js";import"./dompurify-J5RlrwSC.js";import"./dagre-d3-es-CXvdFQqV.js";import"./lodash-es-CKQobiyk.js";import"./d3-shape-C6amFesj.js";import"./d3-path-CimkQT29.js";import"./d3-fetch-BOsq7VnW.js";import"./khroma-DUX6PT6k.js";import"./uuid-DhYbOkY1.js";import"./d3-scale-BchcX-lF.js";import"./internmap-BkD7Hj8s.js";import"./d3-array-DGRYoJHh.js";import"./d3-format-CzD4bSOQ.js";import"./d3-time-format-CUNN4Ell.js";import"./d3-time-6cSPyVSY.js";import"./d3-axis-DSWTncID.js";import"./elkjs-BS_sNva5.js";import"./cytoscape-Copgxxlq.js";import"./cytoscape-cose-bilkent-DNVwk4oY.js";import"./cose-base-HlRMd3jM.js";import"./layout-base-BVPXtQQC.js";import"./d3-sankey-DgqkLiUE.js";import"./d3-scale-chromatic-B-NsZVaP.js";import"./ts-dedent-DrFu-skq.js";import"./stylis-D5iaQeiq.js";import"./mdast-util-from-markdown-CLAsVoWb.js";import"./micromark-CTBPIv-_.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-factory-space-x2vfxbz5.js";import"./micromark-util-character-Bcm1tP9o.js";import"./micromark-core-commonmark-AH8VCgT7.js";import"./micromark-util-classify-character-Cq7Fg3xE.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-subtokenize-QwsxNXk2.js";import"./micromark-factory-destination-CypD_wgM.js";import"./micromark-factory-label-CRHH4ZHP.js";import"./micromark-factory-title-B7kCBvC9.js";import"./micromark-factory-whitespace-B322EA6O.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-html-tag-name-DbKNfynz.js";import"./micromark-util-decode-numeric-character-reference-DRnCnno4.js";import"./micromark-util-decode-string-DJl8Y_PO.js";import"./unist-util-stringify-position-Ch_qCilz.js";import"./mdast-util-to-string-C_aolqmU.js";const b="function my_func(x,y){return x+y;}",y=`- Use camelCase for function names. | |
| - Add a space after commas in argument lists. | |
| - Use semicolons at the end of statements.`,Re=()=>{const[o,c]=r.useState(b),[i,x]=r.useState(y),[l,n]=r.useState(""),[s,p]=r.useState(!1),[m,a]=r.useState(""),f=r.useCallback(async()=>{if(!o.trim()||!i.trim()){a("Please provide both code and a style guide.");return}p(!0),a(""),n("");try{const t=await h(o,i);n(t)}catch(t){const u=t instanceof Error?t.message:"An unknown error occurred.";a(`Failed to transfer style: ${u}`)}finally{p(!1)}},[o,i]);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(g,{}),e.jsx("span",{className:"ml-3",children:"AI Code Style Transfer"})]}),e.jsx("p",{className:"text-slate-400 mt-1",children:"Rewrite code to match a specific style guide using AI."})]}),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 gap-4",children:[e.jsxs("div",{className:"flex flex-col flex-1",children:[e.jsx("label",{htmlFor:"input-code",className:"text-sm font-medium text-slate-400 mb-2",children:"Original Code"}),e.jsx("textarea",{id:"input-code",value:o,onChange:t=>c(t.target.value),className:"flex-grow p-4 bg-slate-900 border border-slate-700 rounded-md resize-none font-mono text-sm"})]}),e.jsxs("div",{className:"flex flex-col flex-1",children:[e.jsx("label",{htmlFor:"style-guide",className:"text-sm font-medium text-slate-400 mb-2",children:"Style Guide"}),e.jsx("textarea",{id:"style-guide",value:i,onChange:t=>x(t.target.value),className:"flex-grow p-4 bg-slate-900 border border-slate-700 rounded-md resize-none font-mono text-sm"})]})]}),e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("label",{className:"text-sm font-medium text-slate-400 mb-2",children:"Rewritten Code"}),e.jsxs("div",{className:"flex-grow p-1 bg-slate-800/50 border border-slate-700/50 rounded-md overflow-y-auto",children:[s&&e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(d,{})}),m&&e.jsx("p",{className:"p-4 text-red-400",children:m}),l&&!s&&e.jsx("div",{className:"prose prose-sm prose-invert max-w-none prose-pre:bg-transparent prose-pre:p-4 prose-pre:m-0",dangerouslySetInnerHTML:{__html:j(l)}}),!s&&!l&&!m&&e.jsx("div",{className:"text-slate-500 h-full flex items-center justify-center",children:"Rewritten code will appear here."})]})]})]}),e.jsx("div",{className:"flex-shrink-0 pt-4",children:e.jsx("button",{onClick:f,disabled:s,className:"w-full max-w-md mx-auto 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:s?e.jsx(d,{}):"Rewrite Code"})})]})};export{Re as AiStyleTransfer}; | |
| //# sourceMappingURL=AiStyleTransfer-Ck-v5VJh.js.map | |