{"version":3,"file":"FileUploadComponent.CA6AeNWy.mjs","names":["useState","useCallback","createClient"],"sources":["https:/framerusercontent.com/modules/8U7J9TATmsbSnMRkbcch/7Fuo6GSbMd2YI9HkeOqq/FileUploadComponent.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Frame,addPropertyControls}from\"framer\";import{useState,useCallback}from\"react\";import{useDropzone}from\"react-dropzone\";import{createClient}from\"@supabase/supabase-js\";// ✅ Supabase 연결\nconst supabaseUrl=\"https://cldidwqhwznkyqvbrtxa.supabase.co\";const supabaseAnonKey=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNsZGlkd3Fod3pua3lxdmJydHhhIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTMwNjMwMzEsImV4cCI6MjA2ODYzOTAzMX0.f5qhT_G4srXhf38TYhaqEWrWPhxre-4zZzOKFeovfR8\";const supabase=createClient(supabaseUrl,supabaseAnonKey);/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function FileUploadComponent({onUploadComplete}){const[fileName,setFileName]=useState(\"선택된 파일 없음\");const[uploading,setUploading]=useState(false);const[fileUrl,setFileUrl]=useState(\"\");const[errorMsg,setErrorMsg]=useState(\"\");const getTimestampFileName=originalName=>{const ext=originalName.split(\".\").pop();const now=new Date;const y=now.getFullYear();const m=String(now.getMonth()+1).padStart(2,\"0\");const d=String(now.getDate()).padStart(2,\"0\");const h=String(now.getHours()).padStart(2,\"0\");const min=String(now.getMinutes()).padStart(2,\"0\");const s=String(now.getSeconds()).padStart(2,\"0\");return`${y}${m}${d}${h}${min}${s}.${ext}`;};// const file = acceptedFiles[0]\n// const fileName =\nconst onDrop=useCallback(async acceptedFiles=>{const file=acceptedFiles[0];if(!file)return;const maxSize=50*1024*1024;if(file.size>maxSize){setErrorMsg(\"❌ 파일은 최대 45MB까지 업로드할 수 있습니다.\");return;}setFileName(file.name);setUploading(true);setErrorMsg(\"\");setFileUrl(\"\");const{error}=await supabase.storage.from(\"form\").upload(`framer/${getTimestampFileName(file.name)}`,file,{cacheControl:\"3600\",upsert:true});if(error){setErrorMsg(\"업로드 실패: \"+error.message);setUploading(false);return;}const{data:urlData}=supabase.storage.from(\"form\").getPublicUrl(`framer/${file.name}`);setFileUrl(urlData.publicUrl);setUploading(false);},[]);const{getRootProps,getInputProps,isDragActive}=useDropzone({onDrop,multiple:false,accept:{\"image/*\":[\".jpg\",\".png\"],\"application/pdf\":[\".pdf\"],\"application/vnd.ms-powerpoint\":[\".ppt\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\".pptx\"],\"application/msword\":[\".doc\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\".docx\"],\"application/haansofthwp\":[\".hwp\"],\"application/vnd.ms-excel\":[\".xls\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\".xlsx\"]},maxSize:50*1024*1024});return /*#__PURE__*/_jsxs(Frame,{width:\"100%\",height:240,background:\"repeating-linear-gradient(45deg, #f7f7f7, #f7f7f7 10px, #ffffff 10px, #ffffff 20px)\",radius:4,...getRootProps(),style:{display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",border:\"1px dashed #ccc\",textAlign:\"center\",fontFamily:\"Pretendard, sans-serif\",padding:24,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"input\",{...getInputProps()}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:16,fontWeight:600},children:[\"회사소개서 파일을 드래그하거나\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:\"red\",textDecoration:\"underline\"},children:\"클릭하여 업로드해 주세요.\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,marginTop:10},children:[\"지원 파일 형식 :\",\" \",/*#__PURE__*/_jsx(\"code\",{children:\"jpg, png, pdf, ppt, pptx, doc, docx, hwp, xls, xlsx\"}),/*#__PURE__*/_jsx(\"br\",{}),\"Allowed file size : \",/*#__PURE__*/_jsx(\"strong\",{children:\"≤45MB\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:10},children:\"귀사의 파일은 보안 정책에 따라 안전하게 처리되며, 외부 유출 없이 기밀이 보장됩니다.\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:16,fontSize:14},children:uploading?\"⏳ 업로드 중...\":fileUrl?`✅ 업로드 완료: ${fileName}`:`📁 ${fileName}`}),errorMsg&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"red\",fontSize:13},children:errorMsg}),fileUrl&&/*#__PURE__*/_jsx(\"a\",{href:fileUrl,target:\"_blank\",rel:\"noopener noreferrer\",style:{marginTop:8,color:\"#007bff\",fontSize:13,textDecoration:\"underline\"},children:\"파일 열기\"})]});}addPropertyControls(FileUploadComponent,{});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUploadComponent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FileUploadComponent.map"],"mappings":"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"}