{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/scbP9CVgquLP7XtwDwVt/ljSg96XH0t17Jw7bsNRW/Transcript.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// IMPORTANT: Remplacez cette URL par l'URL de votre API de production\nconst API_BASE_URL=\"https://231109125.xyz\";const TRANSCRIPT_API_ENDPOINT=`${API_BASE_URL}/api/transcripts/generate`;export default function FramerTranscript(){const[form,setForm]=React.useState({url:\"\",email:\"\"});const[loading,setLoading]=React.useState(false);const[error,setError]=React.useState(null);const[transcript,setTranscript]=React.useState(null);const[copyButtonText,setCopyButtonText]=React.useState(\"\uD83D\uDCCB Copy Transcript\");const handleInputChange=(key,value)=>{setForm({...form,[key]:value});setError(null);setTranscript(null);setCopyButtonText(\"\uD83D\uDCCB Copy Transcript\");};async function handleSubmit(){if(!form.url||!form.email){setError(\"Please enter both URL and email.\");return;}setLoading(true);setError(null);setTranscript(null);setCopyButtonText(\"\uD83D\uDCCB Copy Transcript\");const body={url:form.url,email:form.email};try{const response=await fetch(TRANSCRIPT_API_ENDPOINT,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(body)});const jsonResponse=await response.json();if(!response.ok){throw new Error(jsonResponse.details||jsonResponse.error||\"An unknown error occurred\");}if(jsonResponse.ok&&jsonResponse.transcript){setTranscript(jsonResponse.transcript);}else{throw new Error(\"Transcript not found in the response.\");}}catch(e){console.error(\"Transcript generation error:\",e);setError(e.message||\"Failed to generate transcript.\");}finally{setLoading(false);}}const handleCopyToClipboard=()=>{if(transcript){navigator.clipboard.writeText(transcript).then(()=>{setCopyButtonText(\"\u2705 Copied!\");setTimeout(()=>setCopyButtonText(\"\uD83D\uDCCB Copy Transcript\"),2e3);}).catch(err=>{console.error(\"Failed to copy transcript: \",err);setError(\"Failed to copy to clipboard. Please try again or copy manually.\");});}};const handleDownloadTranscript=()=>{if(transcript){const blob=new Blob([transcript],{type:\"text/plain;charset=utf-8\"});const url=URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=url;link.download=\"transcript.txt\";document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(url);}};if(transcript){return /*#__PURE__*/_jsxs(\"div\",{style:col,children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:18,fontWeight:600,color:\"#333\",marginBottom:12},children:\"Generated Transcript:\"}),/*#__PURE__*/_jsx(\"div\",{style:transcriptContainerStyle,children:/*#__PURE__*/_jsx(\"pre\",{style:transcriptPreStyle,children:transcript})}),/*#__PURE__*/_jsxs(\"div\",{style:buttonGroupStyle,children:[/*#__PURE__*/_jsx(\"button\",{style:btn,onClick:handleCopyToClipboard,children:copyButtonText}),/*#__PURE__*/_jsx(\"button\",{style:{...btn,background:\"#28a745\"},onClick:handleDownloadTranscript,children:\"\uD83D\uDCBE Download .txt\"})]}),/*#__PURE__*/_jsx(\"button\",{style:{...btn,background:\"#6c757d\",marginTop:12},onClick:()=>{setTranscript(null);setForm({url:\"\",email:\"\"});},children:\"Generate Another\"})]});}return /*#__PURE__*/_jsxs(\"div\",{style:col,children:[/*#__PURE__*/_jsx(\"input\",{style:inputStyle,type:\"url\",placeholder:\"Enter the media URL...\",value:form.url,onChange:e=>handleInputChange(\"url\",e.target.value)}),/*#__PURE__*/_jsx(\"input\",{style:inputStyle,type:\"email\",placeholder:\"Enter your email...\",value:form.email,onChange:e=>handleInputChange(\"email\",e.target.value)}),error&&/*#__PURE__*/_jsxs(\"p\",{style:{color:\"red\",fontSize:14,marginTop:8,marginBottom:0},children:[\"Error: \",error]}),/*#__PURE__*/_jsx(\"button\",{style:btn,onClick:handleSubmit,disabled:loading,children:loading?\"Generating...\":\"\uD83D\uDCDD Generate Transcript\"})]});}// Styles\nconst col={display:\"flex\",flexDirection:\"column\",gap:16,padding:20,background:\"#f9f9f9\",borderRadius:10,boxShadow:\"0 4px 12px rgba(0,0,0,0.08)\"};const inputStyle={padding:\"14px 16px\",fontSize:16,borderRadius:8,border:\"1px solid #ddd\",boxSizing:\"border-box\",width:\"100%\"};// textAreaStyle n'est plus utilis\u00E9, vous pouvez le supprimer si vous le souhaitez.\n// const textAreaStyle = {\n//     ...inputStyle,\n//     minHeight: \"80px\",\n//     resize: \"vertical\"\n// } as const\nconst btn={padding:\"14px 18px\",borderRadius:8,background:\"#0070f3\",color:\"#fff\",fontSize:16,fontWeight:600,cursor:\"pointer\",border:\"none\",textAlign:\"center\",transition:\"background-color 0.2s ease\"};const transcriptContainerStyle={background:\"#fff\",border:\"1px solid #eee\",borderRadius:8,padding:\"15px 20px\",maxHeight:\"300px\",overflowY:\"auto\"};const transcriptPreStyle={whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",margin:0,fontSize:15,lineHeight:1.6,color:\"#333\"};const buttonGroupStyle={display:\"flex\",gap:12,marginTop:8};addPropertyControls(FramerTranscript,{_apiBaseUrl:{type:ControlType.String,defaultValue:\"http://localhost:3000\",title:\"API Base URL\",hidden:()=>true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerTranscript\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Transcript.map"],
  "mappings": "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",
  "names": ["API_BASE_URL", "TRANSCRIPT_API_ENDPOINT", "FramerTranscript", "form", "setForm", "ye", "loading", "setLoading", "error", "setError", "transcript", "setTranscript", "copyButtonText", "setCopyButtonText", "handleInputChange", "key", "value", "handleSubmit", "body", "response", "jsonResponse", "e", "handleCopyToClipboard", "navigator", "err", "handleDownloadTranscript", "blob", "url", "link", "u", "col", "p", "transcriptContainerStyle", "transcriptPreStyle", "buttonGroupStyle", "btn", "inputStyle", "addPropertyControls", "ControlType"]
}
