1"use strict";(self.webpackChunkmeuecomm=self.webpackChunkmeuecomm||[]).push([[2883],{65727:(e,a,s)=>{s.d(a,{A:()=>l});s(9950);var r=s(18743),t=s(44414);const l=e=>{let{imageUrl:a,isOpen:s,closeModal:l,style:i={}}=e;return s?(0,t.jsxs)(r.Modal,{isOpen:s,onClose:l,style:i,children:[(0,t.jsx)(r.ModalBody,{children:(0,t.jsx)("img",{src:a,alt:"Lightbox",style:{width:"100%",height:"auto",maxHeight:"80vh",objectFit:"contain"},className:"rounded-lg p-4"})}),(0,t.jsx)(r.ModalFooter,{children:(0,t.jsx)(r.Button,{className:"w-full sm:w-auto",onClick:l,layout:"outline",children:"Fechar"})})]}):null}},12883:(e,a,s)=>{s.r(a),s.d(a,{default:()=>C});var r=s(9950),t=s(65155),l=s(75266),i=s(18743),o=s(66495),d=s(41274),n=s(11665),c=s(76495),m=s(82341),x=s(30385),p=s(28793),g=s(65727),u=s(80896),h=s(85668),b=s(55966),j=s(876),v=s(19390),f=s(12449),y=(s(47705),s(59051)),k=s.n(y),N=s(41397),w=s(44414);const A=e=>{var a,s,t,l;let{isOpen:o,onClose:d,fetchData:n,limiteAtingido:c,imagensRestantes:m}=e;const[p,g]=(0,r.useState)("arquivo"),[u,h]=(0,r.useState)(null),[b,v]=(0,r.useState)(""),[f,y]=(0,r.useState)(null),[k,N]=(0,r.useState)(!1),[A,C]=(0,r.useState)(0),[_,R]=(0,r.useState)(null),[S,T]=(0,r.useState)(!1),[L,U]=(0,r.useState)(0),[P,O]=(0,r.useState)(0),D=()=>{h(null),v(""),y(null),N(!1),C(0),R(null),T(!1),U(0),O(0),d()},E=e=>{if("csv"===e){const e=new Blob(["codigo_produto,imagem_1_url,imagem_2_url,imagem_3_url,titulo_1,titulo_2,titulo_3\nPROD001,https://cdn.exemplo.com/img1.jpg,https://cdn.exemplo.com/img2.jpg,https://cdn.exemplo.com/img3.jpg,Frente,Lateral,Traseira\nPROD002,https://cdn.exemplo.com/prod2-img1.jpg,,,Foto Principal,,\nPROD003,https://cdn.exemplo.com/prod3.jpg,https://cdn.exemplo.com/prod3-2.jpg,,Vista 1,Vista 2,"],{type:"text/csv"}),a=window.URL.createObjectURL(e),s=document.createElement("a");s.href=a,s.download="template_upload_imagens.csv",s.click(),window.URL.revokeObjectURL(a),(0,x.A)("success","Template CSV baixado!")}else if("txt"===e){const e=new Blob(["PROD001;https://cdn.exemplo.com/img1.jpg;https://cdn.exemplo.com/img2.jpg;https://cdn.exemplo.com/img3.jpg\nPROD002;https://cdn.exemplo.com/prod2-img1.jpg\nPROD003;https://cdn.exemplo.com/prod3.jpg;https://cdn.exemplo.com/prod3-2.jpg"],{type:"text/plain"}),a=window.URL.createObjectURL(e),s=document.createElement("a");s.href=a,s.download="template_upload_imagens.txt",s.click(),window.URL.revokeObjectURL(a),(0,x.A)("success","Template TXT baixado!")}};return(0,w.jsxs)(i.Modal,{isOpen:o,onClose:D,style:{maxWidth:"900px",maxHeight:"90vh",overflowY:"auto"},children:[(0,w.jsx)(i.ModalHeader,{children:(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-link-45deg text-purple-600"}),(0,w.jsx)("span",{children:"Upload de Imagens por URL"})]})}),(0,w.jsx)(i.ModalBody,{children:(0,w.jsxs)("div",{className:"space-y-4",children:[(0,w.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900 border border-blue-200 dark:border-blue-800 rounded-lg p-4",children:(0,w.jsxs)("div",{className:"flex items-start gap-3",children:[(0,w.jsx)("i",{className:"bi bi-info-circle text-blue-600 dark:text-blue-400 text-xl"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("h4",{className:"font-semibold text-blue-800 dark:text-blue-300 mb-1",children:"Como funciona?"}),(0,w.jsxs)("p",{className:"text-sm text-blue-700 dark:text-blue-400",children:["Fa\xe7a upload de m\xfaltiplas imagens por URL e vincule-as automaticamente aos produtos. Voc\xea pode enviar at\xe9 ",(0,w.jsx)("strong",{children:"3 imagens por produto"}),"."]})]})]})}),f&&(null===(a=f.produtos)||void 0===a?void 0:a.length)>10&&(0,w.jsx)("div",{className:"bg-purple-50 dark:bg-purple-900 border border-purple-200 dark:border-purple-800 rounded-lg p-3",children:(0,w.jsxs)("div",{className:"flex items-start gap-2",children:[(0,w.jsx)("i",{className:"bi bi-lightning-charge text-purple-600 dark:text-purple-400 text-lg"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-semibold text-purple-800 dark:text-purple-300",children:"Processamento otimizado em lotes"}),(0,w.jsx)("p",{className:"text-xs text-purple-700 dark:text-purple-400 mt-1",children:"Suas imagens ser\xe3o enviadas em grupos de 10 produtos para garantir estabilidade e evitar timeouts."})]})]})}),c&&(0,w.jsx)("div",{className:"bg-red-50 dark:bg-red-900 border border-red-200 dark:border-red-800 rounded-lg p-3",children:(0,w.jsxs)("div",{className:"flex items-center gap-2 text-red-800 dark:text-red-300",children:[(0,w.jsx)("i",{className:"bi bi-exclamation-triangle"}),(0,w.jsx)("span",{className:"text-sm font-semibold",children:"Limite de imagens atingido!"})]})}),m>0&&m<=20&&(0,w.jsx)("div",{className:"bg-yellow-50 dark:bg-yellow-900 border border-yellow-200 dark:border-yellow-800 rounded-lg p-3",children:(0,w.jsxs)("div",{className:"flex items-center gap-2 text-yellow-800 dark:text-yellow-300",children:[(0,w.jsx)("i",{className:"bi bi-exclamation-circle"}),(0,w.jsxs)("span",{className:"text-sm",children:["Restam apenas ",(0,w.jsx)("strong",{children:m})," imagens dispon\xedveis"]})]})}),(0,w.jsxs)("div",{className:"flex gap-2 border-b border-gray-200 dark:border-gray-700",children:[(0,w.jsxs)("button",{onClick:()=>g("arquivo"),className:"px-4 py-2 font-medium text-sm transition-all ".concat("arquivo"===p?"text-purple-600 dar
1k:text-purple-400 border-b-2 border-purple-600":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"),children:[(0,w.jsx)("i",{className:"bi bi-file-earmark-arrow-up mr-2"}),"Upload de Arquivo"]}),(0,w.jsxs)("button",{onClick:()=>g("manual"),className:"px-4 py-2 font-medium text-sm transition-all ".concat("manual"===p?"text-purple-600 dark:text-purple-400 border-b-2 border-purple-600":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"),children:[(0,w.jsx)("i",{className:"bi bi-list-ul mr-2"}),"Entrada de URLs"]})]}),"arquivo"===p?(0,w.jsxs)("div",{className:"space-y-3",children:[(0,w.jsxs)("div",{className:"bg-purple-50 dark:bg-purple-900 rounded-lg p-4 border border-purple-200 dark:border-purple-800",children:[(0,w.jsxs)("p",{className:"text-sm font-semibold text-purple-800 dark:text-purple-300 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-download mr-2"}),"Baixe o template de exemplo:"]}),(0,w.jsxs)("div",{className:"flex gap-2",children:[(0,w.jsxs)(i.Button,{size:"small",onClick:()=>E("csv"),layout:"outline",children:[(0,w.jsx)("i",{className:"bi bi-file-earmark-spreadsheet mr-1"}),"Template CSV"]}),(0,w.jsxs)(i.Button,{size:"small",onClick:()=>E("txt"),layout:"outline",children:[(0,w.jsx)("i",{className:"bi bi-file-text mr-1"}),"Template TXT"]}),(0,w.jsxs)("button",{onClick:()=>T(!S),className:"text-sm text-purple-600 dark:text-purple-400 hover:underline",children:[S?"Ocultar":"Ver"," exemplo"]})]})]}),S&&(0,w.jsxs)("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-4 border border-gray-200 dark:border-gray-700",children:[(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("p",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"\ud83d\udccb Formato CSV:"}),(0,w.jsx)("pre",{className:"text-xs bg-gray-100 dark:bg-gray-900 p-3 rounded overflow-x-auto",children:"codigo_produto,imagem_1_url,imagem_2_url,imagem_3_url\nPROD001,https://cdn.com/img1.jpg,https://cdn.com/img2.jpg,https://cdn.com/img3.jpg\nPROD002,https://cdn.com/prod2.jpg,,"})]}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"\ud83d\udccb Formato TXT (com ponto-e-v\xedrgula):"}),(0,w.jsx)("pre",{className:"text-xs bg-gray-100 dark:bg-gray-900 p-3 rounded overflow-x-auto",children:"PROD001;https://cdn.com/img1.jpg;https://cdn.com/img2.jpg;https://cdn.com/img3.jpg\nPROD002;https://cdn.com/prod2.jpg"})]})]}),(0,w.jsxs)("div",{className:"border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-6 text-center",children:[(0,w.jsx)("input",{type:"file",id:"uploadUrl",accept:".csv,.txt",className:"hidden",onChange:e=>{var a;const s=null===(a=e.target.files)||void 0===a?void 0:a[0];s&&(h(s),(async e=>{if(!e)return;const a=e.name.split(".").pop().toLowerCase();if("csv"===a||"txt"===a){const a=new FileReader;a.onload=e=>{try{const a=e.target.result.split("\n").filter((e=>e.trim()));if(a.length<2)return void(0,x.A)("error","Arquivo CSV vazio ou inv\xe1lido");const s=[];for(let e=1;e<a.length;e++){const r=a[e].split(/[,;\t]/).map((e=>e.trim().replace(/^["']|["']$/g,"")));if(r[0]){const e=[];for(let a=1;a<=3&&a<r.length;a++)r[a]&&r[a].startsWith("http")&&e.push({url:r[a],titulo:r[a+3]||void 0});e.length>0&&s.push({codigo_produto:r[0],imagens:e})}}if(0===s.length)return void(0,x.A)("error","Nenhum produto v\xe1lido encontrado no arquivo");y({produtos:s}),(0,x.A)("success","".concat(s.length," produtos carregados com sucesso!"))}catch(a){console.error(a),(0,x.A)("error","Erro ao processar arquivo CSV")}},a.readAsText(e)}else(0,x.A)("error","Formato n\xe3o suportado. Use CSV ou TXT")})(s))}}),(0,w.jsx)("label",{htmlFor:"uploadUrl",className:"cursor-pointer",children:(0,w.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,w.jsx)("div",{className:"w-12 h-12 bg-purple-100 dark:bg-purple-900 rounded-full flex items-center justify-center",children:(0,w.jsx)("i",{className:"bi bi-file-earmark-arrow-up text-2xl text-purple-600 dark:text-purple-400"})}),(0,w.jsx)("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:u?u.name:"Clique para selecionar o arquivo"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Formatos aceitos: CSV, TXT"})]})})]})]}):(0,w.jsxs)("div",{className:"space-y-3",children:[(0,w.jsxs)("div",{className:"bg-purple-50 dark:bg-purple-900 border border-purple-200 dark:border-purple-800 rounded-lg p-4",children:[(0,w.jsxs)("p",{className:"text-sm font-semibold text-purple-800 dark:text-purple-300 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-info-circle mr-2"}),"Formato aceito:"]}),(0,w.jsxs)("div",{className:"text-xs text-purple-700 dark:text-purple-400 space-y-1",children:[(0,w.jsxs)("p",{children:["\u2022 ",(0,w.jsx)("strong",{children:"Uma linha por produto:"})," CODIGO_PRODUTO;URL1;URL2;URL3"]}),(0,w.jsxs)("p",{children:["\u2022 ",(0,w.jsx)("strong",{children:"Uma URL por linha:"})," Repita o c\xf3digo do produto em cada linha"]}),(0,w.jsxs)("p",{children:["\u2022 Use ",(0,w.jsx)("strong",{children:"ponto-e-v\xedrgula (;)"})," como separador"]}),(0,w.jsxs)("p",{children:["\u2022 At\xe9 ",(0,w.jsx)("strong",{children:"3 URLs por produto"})]})]})]}),(0,w.jsx)("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Cole as URLs abaixo:"}),(0,w.jsx)("textarea",{value:b,onChange:e=>v(e.target.value),placeholder:"PROD001;https://cdn.exemplo.com/img1.jpg;https://cdn.exemplo.com/img2.jpg\nPROD002;https://cdn.exemplo.com/prod2.jpg\nPROD003;https://cdn.exemplo.com/img1.jpg\nPROD003;https://cdn.exemplo.com/img2.jpg",className:"w-full h-64 p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-sm font-mono"}),(0,w.jsxs)(i.Button,{size:"small",onClick:()=>{try{if(!b.trim())return void(0,x.A)("error","Nenhuma URL informada");const e=b.trim().split("\n").filter((e=>e.trim())),a=[],s=new Map;if(e.forEach((e=>{const a=e.split(";").map((e=>e.trim())).filter((e=>e));if(a.length>=2){const e=a[0];s.has(e)||s.set(e,[]);for(let r=1;r<a.length&&s.get(e).length<3;r++)a[r].startsWith("http")&&s.get(e).push({url:a[r]}
1)}})),s.forEach(((e,s)=>{e.length>0&&a.push({codigo_produto:s,imagens:e})})),0===a.length)return void(0,x.A)("error","Nenhum produto v\xe1lido encontrado. Use o formato: PRODUTO;URL");y({produtos:a}),(0,x.A)("success","".concat(a.length," produtos processados com sucesso!"))}catch(e){console.error(e),(0,x.A)("error","Erro ao processar URLs. Verifique o formato.")}},children:[(0,w.jsx)("i",{className:"bi bi-check-circle mr-1"}),"Processar URLs"]})]}),f&&(0,w.jsxs)("div",{className:"bg-green-50 dark:bg-green-900 border border-green-200 dark:border-green-800 rounded-lg p-4",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-check-circle-fill text-green-600 dark:text-green-400"}),(0,w.jsx)("span",{className:"font-semibold text-green-800 dark:text-green-300",children:"Dados carregados com sucesso!"})]}),(0,w.jsxs)("div",{className:"text-sm text-green-700 dark:text-green-400",children:[(0,w.jsxs)("p",{children:["\u2713 ",(null===(s=f.produtos)||void 0===s?void 0:s.length)||0," produtos encontrados"]}),(0,w.jsxs)("p",{children:["\u2713 ",(null===(t=f.produtos)||void 0===t?void 0:t.reduce(((e,a)=>{var s;return e+((null===(s=a.imagens)||void 0===s?void 0:s.length)||0)}),0))||0," imagens para processar"]}),(null===(l=f.produtos)||void 0===l?void 0:l.length)>10&&(0,w.jsxs)("p",{className:"text-xs mt-1 text-green-600 dark:text-green-500",children:["\u26a1 Ser\xe1 processado em ",Math.ceil(f.produtos.length/10)," lotes de at\xe9 10 produtos"]})]})]}),k&&A>=0&&(0,w.jsxs)("div",{className:"bg-purple-50 dark:bg-purple-900 border border-purple-200 dark:border-purple-800 rounded-lg p-4",children:[(0,w.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("span",{className:"text-sm font-medium text-purple-800 dark:text-purple-300",children:P>0?"Processando lote ".concat(L," de ").concat(P,"..."):"Processando..."}),P>0&&(0,w.jsx)("p",{className:"text-xs text-purple-600 dark:text-purple-400 mt-1",children:"Enviando em lotes para otimizar o processamento"})]}),(0,w.jsxs)("span",{className:"text-sm font-bold text-purple-800 dark:text-purple-300",children:[A,"%"]})]}),(0,w.jsx)("div",{className:"w-full bg-purple-200 dark:bg-purple-800 rounded-full h-2",children:(0,w.jsx)("div",{className:"bg-purple-600 h-2 rounded-full transition-all",style:{width:"".concat(A,"%")}})})]}),_&&(0,w.jsx)("div",{className:"border rounded-lg p-4 ".concat("success"===_.status?"bg-green-50 dark:bg-green-900 border-green-200 dark:border-green-800":"bg-red-50 dark:bg-red-900 border-red-200 dark:border-red-800"),children:(0,w.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi ".concat("success"===_.status?"bi-check-circle-fill text-green-600":"bi-exclamation-triangle-fill text-red-600"," text-xl")}),(0,w.jsxs)("div",{className:"flex-1",children:[(0,w.jsx)("p",{className:"font-semibold ".concat("success"===_.status?"text-green-800 dark:text-green-300":"text-red-800 dark:text-red-300"),children:_.mensagem}),void 0!==_.sucesso&&(0,w.jsxs)("div",{className:"mt-2 text-sm",children:[(0,w.jsxs)("p",{className:"text-green-700 dark:text-green-400",children:["\u2713 ",_.sucesso," imagens com sucesso"]}),_.erro>0&&(0,w.jsxs)("p",{className:"text-red-700 dark:text-red-400",children:["\u2717 ",_.erro," imagens com erro"]}),(0,w.jsxs)("p",{className:"text-gray-700 dark:text-gray-400",children:["\ud83d\udce6 ",_.produtos_processados," produtos processados"]})]}),_.detalhes&&_.detalhes.length>0&&(0,w.jsxs)("details",{className:"mt-3",children:[(0,w.jsx)("summary",{className:"cursor-pointer text-sm font-medium",children:"Ver detalhes"}),(0,w.jsx)("div",{className:"mt-2 max-h-40 overflow-y-auto text-xs space-y-1",children:_.detalhes.map(((e,a)=>(0,w.jsx)("div",{className:"py-1 border-b border-gray-200 dark:border-gray-700 last:border-0",children:e},a)))})]})]})]})}),(0,w.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-2",children:[(0,w.jsx)("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-3 border border-gray-200 dark:border-gray-700",children:(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-images text-purple-600 dar
1k:text-purple-400"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Por produto"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"At\xe9 3 imagens"})]})]})}),(0,w.jsx)("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-3 border border-gray-200 dark:border-gray-700",children:(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-link text-blue-600 dark:text-blue-400"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Via URL"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Download autom\xe1tico"})]})]})}),(0,w.jsx)("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-3 border border-gray-200 dark:border-gray-700",children:(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-box-seam text-green-600 dark:text-green-400"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Vincula\xe7\xe3o"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Autom\xe1tica ao produto"})]})]})}),(0,w.jsx)("div",{className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-3 border border-gray-200 dark:border-gray-700",children:(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-lightning-charge text-orange-600 dark:text-orange-400"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Em lotes"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"10 produtos/lote"})]})]})})]})]})}),(0,w.jsxs)(i.ModalFooter,{children:[(0,w.jsxs)(i.Button,{className:"w-full sm:w-auto",layout:"outline",onClick:D,children:[(0,w.jsx)("i",{className:"bi bi-x-lg mr-2"}),_?"Fechar":"Cancelar"]}),!_&&(0,w.jsxs)(i.Button,{className:"w-full sm:w-auto",onClick:async()=>{if(!f)return void(0,x.A)("error","Nenhum dado para enviar");if(c)return void(0,x.A)("error","Limite de imagens atingido!");const e=f.produtos||[];if(0!==e.length)try{N(!0),C(0);const s=[];for(let a=0;a<e.length;a+=10)s.push(e.slice(a,a+10));O(s.length);let r=0,t=0,l=0;const i=[];for(let e=0;e<s.length;e++){const o=s[e];U(e+1);const d=Math.round((e+1)/s.length*90);C(d);try{const a=await(0,j.A)("post",{produtos:o},"/imagem/upload-url");"success"===a.status?(r+=a.sucesso||0,t+=a.erro||0,l+=a.produtos_processados||0,a.detalhes&&Array.isArray(a.detalhes)&&i.push(...a.detalhes)):(t+=o.reduce(((e,a)=>{var s;return e+((null===(s=a.imagens)||void 0===s?void 0:s.length)||0)}),0),i.push("Lote ".concat(e+1,": ").concat(a.data||"Erro ao processar")))}catch(a){console.error("Erro no lote ".concat(e+1,":"),a),t+=o.reduce(((e,a)=>{var s;return e+((null===(s=a.imagens)||void 0===s?void 0:s.length)||0)}),0),i.push("Lote ".concat(e+1,": Erro na requisi\xe7\xe3o - ").concat(a.message))}e<s.length-1&&await new Promise((e=>setTimeout(e,500)))}C(100);const o=t>0?"".concat(r," imagens cadastradas em ").concat(l," produtos (").concat(t," com erro)"):"".concat(r," imagens cadastradas em ").concat(l," produtos com sucesso!");R({status:r>0?"success":"error",mensagem:o,sucesso:r,erro:t,produtos_processados:l,detalhes:i}),r>0?((0,x.A)("success",o),n()):(0,x.A)("error","Nenhuma imagem foi processada com sucesso")}catch(a){console.error(a),R({status:"error",mensagem:"Erro ao enviar dados para o servidor",detalhes:[a.message]}),(0,x.A)("error","Erro ao enviar dados")}finally{N(!1),U(0),O(0)}else(0,x.A)("error","Nenhum produto para processar")},disabled:!f||k||c,children:[(0,w.jsx)("i",{className:"bi bi-cloud-upload mr-2"}),"Enviar Imagens"]})]})]})},C=function(){var e;const[a,s]=(0,r.useState)(!0),[y,C]=(0,r.useState)(!0),[_,R]=(0,r.useState)(!1),[S,T]=(0,r.useState)(null),[L,U]=(0,r.useState)(!1),[P,O]=(0,r.useState)(1),[D,E]=(0,r.useState)(1),[B,M]=(0,r.useState)(""),[z,F]=(0,r.useState)([]),[I,q]=(0,r.useState)([]),[V,W]=(0,r.useState)([]),[G,Y]=(0,r.useState)(!1),[H,X]=(0,r.useState)(!1),[J,Q]=(0,r.useState)({}),[$,K]=(0,r.useState)(!1),[Z,ee]=(0,r.useState)(""),[ae,se]=(0,r.useState)(!1),[re,te]=(0,r.useState)([]),[le,ie]=(0,r.useState)(!1),{planoLimites:oe}=(0,h.rG)(),de=100,ne=(0,t.W6)(),ce=(null===(e=oe[0])||void 0===e?void 0:e.limite_imagens)||0,me=P,xe=ce-me,pe=ce>0&&me>=ce;(0,r.useEffect)((()=>{!1===(0,v.A)("/imagem/listar")&&ne.push("/app/dashboard")}),[]),(0,r.useEffect)((()=>{const e=z.filter((e=>I.includes(e.id_imagem)));W((a=>{const s=e.filter((e=>!a.some((a=>a.id_imagem===e.id_imagem))));return[...a,...s]}))}),[I]);const ge=async()=>{F([]),C(!0);try{const e={limit:b.BY,offset:(D-1)*b.BY,search:B.trim()},a=await(0,j.A)("get",e,"/imagem/listar");"success"===a.status?(F(a.data),O(a.total),s(!1),C(!1)):(F([]),O(0),s(!1),C(!1))}catch(e){s(!1),C(!1)}},ue=(0,r.useCallback)((0,N.debounce)(ge,500),[B]);(0,r.useEffect)((()=>
1{if(""!==B)return ue(),()=>ue.cancel();ge()}),[D,B]);const he=async e=>{if(e>0)try{const a=await(0,j.A)("delete",{},"/imagem/excluir/"+e);"success"===a.status?((0,x.A)("success","Imagem exclu\xedda com sucesso!"),R(!1),ge()):((0,x.A)("error",a.data),R(!1),ge())}catch(a){console.log(a),(0,x.A)("error","Erro ao excluir imagem!"),R(!1)}},be=e=>{K(!0),ee(e)},je=e=>{let{isOpen:a,onClose:s,titulo:t}=e;const[l,o]=(0,r.useState)({titulo_imagem:"Imagem - "+k()().format("DD/MM/YYYY"),imagem:[],manter_nome_original:!1}),[d,n]=(0,r.useState)({status:!1,message:""}),[c,m]=(0,r.useState)(!1),[p,g]=(0,r.useState)(0),[u,h]=(0,r.useState)(null),[b,v]=(0,r.useState)(!1),[f,y]=(0,r.useState)(!1),N=e=>{if("file"===e.target.type){const a=Array.from(e.target.files);if(a.length>de)return e.target.value=null,void(0,x.A)("error","Voc\xea pode enviar no m\xe1ximo 100 imagens por vez.");o({...l,imagem:a})}else o({...l,[e.target.name]:e.target.value})},A=e=>{e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?y(!0):"dragleave"===e.type&&y(!1)};return(0,w.jsxs)(i.Modal,{isOpen:a,onClose:s,style:{maxWidth:"800px"},children:[(0,w.jsx)(i.ModalHeader,{children:t}),(0,w.jsx)(i.ModalBody,{children:(0,w.jsxs)("div",{className:"space-y-4",children:[(0,w.jsxs)("div",{children:[(0,w.jsxs)("label",{className:"block text-sm mb-2",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,w.jsx)("i",{className:"bi bi-tag text-purple-600 dark:text-purple-400"}),(0,w.jsx)("span",{className:"text-gray-700 dark:text-gray-400 font-medium",children:"T\xedtulo das imagens (opcional)"})]}),(0,w.jsx)(i.Input,{type:"text",name:"titulo_imagem",value:l.titulo_imagem,onChange:N,placeholder:"Ex: Produto - Foto",className:"block w-full text-sm"})]}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1 ml-6",children:'Ser\xe1 incrementado automaticamente: "T\xedtulo 001", "T\xedtulo 002"...'})]}),(0,w.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 p-3 bg-blue-50 dark:bg-blue-900 rounded-lg border border-blue-200 dark:border-blue-800",children:[(0,w.jsx)(i.Input,{type:"checkbox",name:"manter_nome_original",onChange:e=>{o({...l,manter_nome_original:e.target.checked})},className:"mt-1"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("span",{className:"text-sm font-medium text-blue-900 dark:text-blue-300",children:"Manter nome original dos arquivos"}),(0,w.jsx)("p",{className:"text-xs text-blue-700 dark:text-blue-400 mt-1",children:"As imagens ser\xe3o salvas com o nome do arquivo original"})]})]}),0===l.imagem.length?(0,w.jsxs)("div",{onDragEnter:A,onDragLeave:A,onDragOver:A,onDrop:e=>{if(e.preventDefault(),e.stopPropagation(),y(!1),e.dataTransfer.files&&e.dataTransfer.files.length>0){const a=Array.from(e.dataTransfer.files),s=a.filter((e=>e.type.startsWith("image/")));if(s.length!==a.length&&(0,x.A)("warning","Apenas arquivos de imagem s\xe3o aceitos."),s.length>de)return void(0,x.A)("error","Voc\xea pode enviar no m\xe1ximo ".concat(de," imagens por vez."));o({...l,imagem:s})}},className:"\n relative border-2 border-dashed rounded-lg p-8 text-center transition-all\n ".concat(f?"border-purple-500 bg-purple-50 dark:bg-purple-900":"border-gray-300 dark:border-gray-600 hover:border-purple-400 dark:hover:border-purple-500","\n "),children:[(0,w.jsx)("input",{type:"file",id:"fileInput",multiple:!0,accept:"image/*",className:"hidden",onChange:N,name:"imagem"}),(0,w.jsx)("label",{htmlFor:"fileInput",className:"cursor-pointer",children:(0,w.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,w.jsx)("div",{className:"w-16 h-16 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center",children:(0,w.jsx)("i",{className:"bi bi-images text-3xl text-purple-600 dark:text-purple-400"})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Clique para selecionar ou arraste as imagens aqui"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"JPG, PNG ou GIF at\xe9 5MB cada"})]}),(0,w.jsxs)("div",{className:"bg-purple-600 hover:bg-purple-700 text-white text-sm font-medium px-4 py-2 rounded-lg flex items-center",children:[(0,w.jsx)("i",{className:"bi bi-folder2-open mr-2"}),"Selecionar imagens"]})]})})]}):(0,w.jsxs)("div",{className:"space-y-3",children:[(0,w.jsxs)("div",{className:"flex items-center justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-check-circle-fill text-green-600 dark:text-green-400"}),(0,w.jsxs)("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[l.imagem.length," ",1===l.imagem.length?"imagem selecionada":"imagens selecionadas"]})]}),(0,w.jsx)("label",{htmlFor:"fileInput",children:(0,w.jsxs)("div",{className:"bg-purple-600 hover:bg-purple-700 text-white text-sm font-medium px-4 py-2 rounded-lg flex items-center cursor-pointer",children:[(0,w.jsx)("i",{className:"bi bi-plus-lg mr-1"}),"Selecionar novamente"]})}),(0,w.jsx)("input",{type:"file",id:"fileInput",multiple:!0,accept:"image/*",className:"hidden",onChange:N,name:"imagem"})]}),(0,w.jsx)("div",{className:"flex flex-wrap gap-2 max-h-64 overflow-y-auto p-2 border border-gray-200 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-900",children:l.imagem.map(((e,a)=>(0,w.jsxs)("div",{className:"relative group",children:[(0,w.jsx)("div",{style:{width:"50px",height:"50px"},className:"rounded-lg overflow-hidden border-2 border-gray-300 dark:border-gray-600 bg-gray-100 dark:bg-gray-800 flex-shrink-0",children:(0,w.jsx)("img",{src:URL.createObjectURL(e),alt:e.name,className:"w-full h-full object-cover"})}),(0,w.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),(e=>{const a=l.imagem.filter(((a,s)=>s!==e));o({...l,imagem:a})})(a)},className:"absolute -top-2 -right-2 w-6 h-6 bg-red-500 hover:bg-red-600 text-white rounded-full flex items-center justify-center transition-all shadow-lg op
1acity-100 md:opacity-0 md:group-hover:opacity-100",title:"Remover imagem",children:(0,w.jsx)("i",{className:"bi bi-x text-sm font-bold"})})]},a)))})]}),(0,w.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2",children:[(0,w.jsxs)("div",{className:"flex items-start gap-2 p-2 bg-gray-50 dark:bg-gray-800 rounded-md border border-gray-200 dark:border-gray-700",children:[(0,w.jsx)("i",{className:"bi bi-file-earmark-image text-purple-600 dark:text-purple-400 mt-0.5"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Formatos"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"JPG, PNG, GIF"})]})]}),(0,w.jsxs)("div",{className:"flex items-start gap-2 p-2 bg-gray-50 dark:bg-gray-800 rounded-md border border-gray-200 dark:border-gray-700",children:[(0,w.jsx)("i",{className:"bi bi-hdd text-blue-600 dark:text-blue-400 mt-0.5"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Tamanho m\xe1x."}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"5MB por imagem"})]})]}),(0,w.jsxs)("div",{className:"flex items-start gap-2 p-2 bg-gray-50 dark:bg-gray-800 rounded-md border border-gray-200 dark:border-gray-700",children:[(0,w.jsx)("i",{className:"bi bi-collection text-green-600 dark:text-green-400 mt-0.5"}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-xs font-medium text-gray-700 dark:text-gray-300",children:"Quantidade"}),(0,w.jsxs)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:["At\xe9 ",de," imagens"]})]})]})]}),p>0&&(0,w.jsxs)("div",{className:"p-4 bg-purple-50 dark:bg-purple-900 rounded-lg border border-purple-200 dark:border-purple-800",children:[(0,w.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("i",{className:"bi bi-cloud-upload text-purple-600 dark:text-purple-400"}),(0,w.jsx)("span",{className:"text-sm font-medium text-purple-900 dark:text-purple-300",children:"Enviando imagens..."})]}),(0,w.jsxs)("span",{className:"text-sm font-bold text-purple-900 dark:text-purple-300",children:[p,"%"]})]}),(0,w.jsx)("div",{className:"w-full bg-purple-200 dark:bg-purple-900/40 rounded-full h-2",children:(0,w.jsx)("div",{className:"bg-purple-600 dark:bg-purple-500 h-2 rounded-full transition-all duration-300",style:{width:"".concat(p,"%")}})})]}),d.message&&(0,w.jsx)(i.HelperText,{valid:d.status,children:d.message})]})}),(0,w.jsxs)(i.ModalFooter,{children:[(0,w.jsxs)(i.Button,{className:"w-full sm:w-auto",layout:"outline",onClick:()=>{v(!0),u&&(u.abort(),ge()),s()},children:[(0,w.jsx)("i",{className:"bi bi-x-lg mr-2"}),"Cancelar"]}),(0,w.jsxs)(i.Button,{className:"w-full sm:w-auto",onClick:async()=>{if(pe)return void(0,x.A)("error","Limite de imagens atingido! Remova imagens existentes ou fa\xe7a upgrade do seu plano.");if(ce>0&&me+l.imagem.length>ce)return void(0,x.A)("error","Voc\xea pode adicionar no m\xe1ximo ".concat(xe," ").concat(1===xe?"imagem":"imagens",". Seu plano permite ").concat(ce," imagens no total."));const e=5242880,a=l.imagem.filter((a=>a.size<=e));if(l.imagem.filter((a=>a.size>e)).length>0&&(0,x.A)("error","Algumas imagens ultrapassam 5MB e foram ignoradas."),0===a.length)return void(0,x.A)("error","Nenhuma imagem v\xe1lida para envio.");m(!0),n({status:!0,message:"Enviando imagens..."}),v(!1);const r=new AbortController;h(r);const t=[];for(let s=0;s<a.length;s+=2)t.push(a.slice(s,s+2));const i=a.reduce(((e,a)=>e+a.size),0);let o=0,d=!1,c="";for(let s=0;s<t.length;s++){if(b){n({status:!1,message:"Envio cancelado pelo usu\xe1rio."});break}const e=t[s],a=new FormData;e.forEach(((e,r)=>{let t="";if(l.manter_nome_original){t=e.name.split(".").slice(0,-1).join(".")}else t=l.titulo_imagem?"".concat(l.titulo_imagem," ").concat(String(2*s+r+1).padStart(3,"0")):"Imagem ".concat(String(2*s+r+1).padStart(3,"0"));a.append("titulos_imagens[]",t),a.append("imagens[]",e)}));try{const e=await(0,j.A)("post",a,"/imagem/cadastro",{"Content-Type":"multipart/form-data"},{signal:r.signal,onUploadProgress:e=>{const a=e.loaded,s=a-(e.__lastLoaded||0);e.__lastLoaded=a,o+=s;const r=Math.min(Math.round(o/i*100),100);g(r)}});if("error"===e.status){d=!0,c=e.data||"Erro ao enviar imagens",n({status:!1,message:c}),m(!1),g(0),(0,x.A)("error",c);break}}catch(p){if(r.signal.aborted)console.warn("Upload cancelado"),n({status:!1,message:"Upload cancelado pelo usu\xe1rio."});else{console.error(p);const e="Erro ao enviar lote ".concat(s+1);n({status:!1,message:e}),(0,x.A)("error",e)}return m(!1),void g(0)}}b||d?d&&ge():(m(!1),g(100),n({status:!0,message:"Todas as imagens foram enviadas com sucesso!"}),setTimeout((()=>{(0,x.A)("success","Todas as imagens foram enviadas com sucesso!"),s(),ge(),g(0)}),500)),h(null)},disabled:c||0===l.imagem.length,children:[(0,w.jsx)("i",{className:"bi bi-cloud-upload mr-2"}),"Enviar ",l.imagem.length>0&&"(".concat(l.imagem.length,")")]})]})]})};return a?(0,w.jsx)(d.A,{}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(f.N9,{icon:!1}),(0,w.jsx)(l.A,{children:"Imagens"}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-300 mb-4",children:"Utilize o banco de imagens para armazenar imagens que ser\xe3o utilizadas em outros cadastros."}),ce>0&&(0,w.jsx)("div",{className:"mb-4 p-4 rounded-lg border ".concat(pe?"bg-red-50 dark:bg-red-900 border-red-200 dark:border-red-800":xe<=10?"bg-yellow-50 dark:bg-yellow-900 border-yellow-200 dark:border-yellow-800":"bg-blue-50 dark:bg-blue-900 border-blue-200 dark:border-blue-800"),children:(0,w.jsxs)("div",{className:"flex items-center justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center",children:[(0,w.jsx)("i",{className:"bi bi-".concat(pe?"exclamation-triangle":xe<=10?"exclamation-circle":"info-circle"," text-xl mr-3 ").concat(pe?"text-red-600 dark:text-red-400":xe<=10?"text-yellow-600 dark:text-yellow-400":"text-blue-600 dar
1k:text-blue-400")}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-semibold ".concat(pe?"text-red-800 dark:text-red-300":xe<=10?"text-yellow-800 dark:text-yellow-300":"text-blue-800 dark:text-blue-300"),children:pe?"Limite de imagens atingido!":xe<=10?"Aten\xe7\xe3o: Restam apenas ".concat(xe," ").concat(1===xe?"imagem":"imagens"):"Limite de imagens do seu plano"}),(0,w.jsxs)("p",{className:"text-xs mt-1 ".concat(pe?"text-red-700 dark:text-red-400":xe<=10?"text-yellow-700 dark:text-yellow-400":"text-blue-700 dark:text-blue-400"),children:["Voc\xea est\xe1 usando ",(0,w.jsx)("strong",{children:me})," de ",(0,w.jsx)("strong",{children:ce})," imagens dispon\xedveis no seu plano"]}),xe<=10&&(0,w.jsxs)(i.Button,{onClick:()=>ne.push("/app/account"),size:"small",className:"mt-2 bg-purple-600 hover:bg-purple-700 text-white flex items-center justify-center",children:[(0,w.jsx)("i",{className:"bi bi-arrow-up-circle mr-2"}),"Fa\xe7a upgrade para liberar mais imagens"]})]})]}),(0,w.jsxs)("div",{className:"flex items-center",children:[(0,w.jsxs)("div",{className:"text-right mr-3",children:[(0,w.jsx)("div",{className:"text-2xl font-bold ".concat(pe?"text-red-600 dark:text-red-400":xe<=10?"text-yellow-600 dark:text-yellow-400":"text-blue-600 dark:text-blue-400"),children:xe>=0?xe:0}),(0,w.jsx)("div",{className:"text-xs ".concat(pe?"text-red-700 dark:text-red-400":xe<=10?"text-yellow-700 dark:text-yellow-400":"text-blue-700 dark:text-blue-400"),children:"restantes"})]}),(0,w.jsx)("div",{className:"w-16 h-16",children:(0,w.jsxs)("svg",{className:"transform -rotate-90 w-16 h-16",children:[(0,w.jsx)("circle",{cx:"32",cy:"32",r:"28",stroke:"currentColor",strokeWidth:"6",fill:"transparent",className:pe?"text-red-200 dark:text-red-800":xe<=10?"text-yellow-200 dark:text-yellow-800":"text-blue-200 dark:text-blue-800"}),(0,w.jsx)("circle",{cx:"32",cy:"32",r:"28",stroke:"currentColor",strokeWidth:"6",fill:"transparent",strokeDasharray:"".concat(2*Math.PI*28),strokeDashoffset:"".concat(2*Math.PI*28*(1-me/ce)),className:pe?"text-red-600 dark:text-red-400":xe<=10?"text-yellow-600 dark:text-yellow-400":"text-blue-600 dark:text-blue-400",strokeLinecap:"round"})]})})]})]})}),(0,w.jsxs)("div",{className:"flex space-x-2",children:[(0,v.A)("/imagem/cadastro")?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(i.Button,{onClick:()=>{U(!0)},disabled:pe,title:pe?"Limite de imagens atingido. Remova imagens existentes ou fa\xe7a upgrade do plano.":"Adicionar novas imagens",children:(0,w.jsx)("span",{children:"Nova imagem"})}),(0,w.jsxs)(i.Button,{onClick:()=>ie(!0),disabled:pe,layout:"outline",title:"Upload em massa por URL",children:[(0,w.jsx)("i",{className:"bi bi-link-45deg mr-1"}),(0,w.jsx)("span",{children:"Upload por URL"})]}),pe&&(0,w.jsxs)("span",{className:"text-xs text-red-600 dark:text-red-400 flex items-center",children:[(0,w.jsx)("i",{className:"bi bi-lock-fill mr-1"}),"Limite atingido"]})]}):"",I.length>0?(0,w.jsxs)(w.Fragment,{children:[(0,v.A)("/imagem/atrelar")?(0,w.jsx)(i.Button,{onClick:()=>{W(I.map((e=>z.find((a=>a.id_imagem===e))))),se(!0)},layout:"outline",children:"Atrelar ao produto"}):"",(0,w.jsx)(i.Button,{onClick:()=>{q([])},layout:"outline",children:"Limpar sele\xe7\xe3o"}),(0,v.A)("/imagem/excluir")?(0,w.jsx)(i.Button,{onClick:()=>{I.length>0&&Y(!0)},layout:"outline",className:"bg-red-200 hover:bg-red-300 text-red-600 dark:bg-red-900 dark:hover:bg-red-800 dark:text-red-300",children:"Remover imagens"}):"",I.length>0?(0,w.jsxs)("span",{className:"text-xs text-gray-500 dark:text-gray-300 mt-3",children:["Imagens selecionadas: ",I.length]}):""]}):"",(0,w.jsx)("div",{className:"flex justify-end flex-1",children:(0,w.jsxs)("div",{className:"relative w-full max-w-xl focus-within:text-purple-500",children:[(0,w.jsx)("div",{className:"absolute inset-y-0 flex items-center pl-2",children:(0,w.jsx)(o.SearchIcon,{className:"w-4 h-4","aria-hidden":"true"})}),(0,w.jsx)(i.Input,{className:"pl-8 text-gray-700",placeholder:"Procurar","aria-label":"Procurar",value:B,onChange:e=>M(e.target.value)})]})})]}),(0,w.jsxs)(i.TableContainer,{className:"mb-4 mt-4",children:[(0,w.jsxs)(i.Table,{children:[(0,w.jsx)(i.TableHeader,{children:(0,w.jsxs)("tr",{children:[(0,w.jsx)(i.TableCell,{className:"text-xs text-center p-0 m-0 max-w-4",children:(0,w.jsx)("input",{type:"checkbox",className:"form-checkbox h-4 w-4 text-purple-600 cursor-pointer",checked:I.length===z.length,onChange:e=>{e.target.checked?q(z.map((e=>e.id_imagem))):q([])}})}),(0,w.jsx)(i.TableCell,{className:"text-xs text-center",children:"Imagem"}),(0,w.jsx)(i.TableCell,{className:"text-xs text-left",children:"Descri\xe7\xe3o"}),(0,w.jsx)(i.TableCell,{className:"text-xs text-center",children:"A\xe7\xf5es"})]})}),(0,w.jsxs)(i.TableBody,{children:[0===z.length&&!y&&(0,w.jsx)(n.A,{mensagem:"Nenhuma imagem cadastrada",colspan:5}),y&&(0,w.jsx)(n.A,{mensagem:"Carregando imagens...",colspan:5}),z.map(((e,a)=>(0,w.jsxs)(i.TableRow,{children:[(0,w.jsx)(i.TableCell,{className:"text-xs text-center p-0 m-0 max-w-4",children:(0,w.jsx)("input",{type:"checkbox",className:"form-checkbox h-4 w-4 text-purple-600 cursor-pointer",checked:I.includes(e.id_imagem),onChange:a=>{a.target.checked?q([...I,e.id_imagem]):q(I.filter((a=>a!==e.id_imagem)))}})}),(0,w.jsxs)(i.TableCell,{className:"text-xs text-center flex justify-center items-center p-2",children:[!1!==J[a]&&(0,w.jsx)("div",{className:"flex justify-center items-center w-20 h-20 bg-gray-200 dark:bg-gray-800 rounded-sm",children:(0,w.jsxs)("svg",{className:"animate-spin -ml-1 h-5 w-5 text-gray-500",xmlns:"http://www.w3.org00/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,w.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,w.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A8.001 8.001 0 0120.709 5.709L18 8.418"})]})}),(0,w.jsx)("a",{onClick:()=>be(e.url_imagem_original),className:"",children:(0,w.jsx)(p.A,{content:"Aperte para ver a imagem original",direction:"top",children:(0,w.jsx)("img",{src:null===e||void 0===e?void 0:e.url_imagem_thumbnail,alt:e.titulo_imagem,className:"w-20 text-center cursor-pointer justify-center rounded-sm ".concat(!1!==J[a]?"hidden":""),onLoad:()=>{return e=a,void Q((a=>({...a,[e]:!1})));var e},onError:()=>{return e=a,void Q((a=>({...a,[e]:!1})));var e},style:{display:!1!==J[a]?"none":"block",backgroundColor:"#CCC"}})})})]}),(0,w.jsx)(i.TableCell,{className:"text-xs text-left",children:e.titulo_imagem}),(0,w.jsxs)(i.TableCell,{className:"text-xs text-center",children:[(0,w.jsx)(p.A,{content:"Copiar URL",direction:"top",children:(0,w.jsx)(i.Button,{layout:"link",size:"small",onClick:()=>{return a=e.url_imagem_original,navigator.clipboard.writeText(a),void(0,x.A)("success","URL copiada para a \xe1rea de transfer\xeancia!");var a},children:(0,w.jsx)(o.DocumentDuplicate,{className:"w-5 h-5","aria-hidden":"true"})})}),(0,w.jsx)(p.A,{content:"Baixar imagem",direction:"top",children:(0,w.jsx)(i.Button,{layout:"link",size:"small",onClick:()=>((e,a)=>{const s=document.createElement("a");s.href=e,s.setAttribute("download",a),document.body.appendChild(s),s.click(),document.body.removeChild(s)})(e.url_imagem_original,e.titulo_imagem),children:(0,w.jsx)(o.FolderArrowDownIcon,{className:"w-5 h-5","aria-hidden":"true"})})}),(0,v.A)("/imagem/excluir")?(0,w.jsx)(p.A,{content:"Excluir imagem",direction:"top",children:(0,w.jsx)(i.Button,{layout:"link",size:"small",onClick:()=>{return a=e.id_imagem,R(!0),void T(a);var a},children:(0,w.jsx)(o.TrashIcon,{className:"w-5 h-5","aria-hidden":"true"})})}):""]})]},a)))]})]}),(0,w.jsx)(i.TableFooter,{children:(0,w.jsx)(i.Pagination,{totalResults:P,resultsPerPage:b.BY,onChange:function(e){E(e)},label:"Table navigation"})})]}),(0,w.jsx)("div",{className:"mb-4 bg-blue-50 dark:bg-gray-800 border border-blue-200 dark:border-gray-600 rounded-lg p-4",children:(0,w.jsxs)("div",{className:"flex items-start gap-3",children:[(0,w.jsx)("div",{className:"flex-shrink-0",children:(0,w.jsx)("div",{className:"w-8 h-8 bg-blue-500 dark:bg-blue-600 rounded-lg flex items-center justify-center",children:(0,w.jsx)("i",{className:"bi bi-images text-white dark:text-white text-sm",style:{color:"white"}})})}),(0,w.jsxs)("div",{className:"flex-1",children:[(0,w.jsx)("h4",{className:"font-semibold text-blue-800 dark:text-gray-100 mb-1",children:"Gerencie suas imagens de forma centralizada"}),(0,w.jsxs)("p",{className:"text-sm text-blue-700 dark:text-gray-300 mb-2",children:["Fa\xe7a upload de ",(0,w.jsx)("strong",{children:"m\xfaltiplas imagens"})," de uma vez e utilize-as em diferentes partes do sistema. As imagens podem ser atreladas a ",(0,w.jsx)("strong",{children:"produtos, clientes, categorias"})," e outras funcionalidades posteriormente."]}),(0,w.jsxs)("div",{className:"flex items-center gap-2 text-xs text-blue-600 dar
1k:text-gray-400 mt-3",children:[(0,w.jsx)("i",{className:"bi bi-lightbulb text-xs"}),(0,w.jsx)("span",{children:"Organize suas imagens em um local central e reutilize em todo o sistema conforme necess\xe1rio"})]})]})]})}),(0,w.jsx)("div",{className:"mb-8 bg-purple-50 dark:bg-gray-800 border border-purple-200 dark:border-gray-600 rounded-lg p-4",children:(0,w.jsxs)("div",{className:"flex items-start gap-3",children:[(0,w.jsx)("div",{className:"flex-shrink-0",children:(0,w.jsx)("div",{className:"w-8 h-8 bg-purple-500 dark:bg-purple-600 rounded-lg flex items-center justify-center",children:(0,w.jsx)("i",{className:"bi bi-link-45deg text-white dark:text-white text-sm",style:{color:"white"}})})}),(0,w.jsxs)("div",{className:"flex-1",children:[(0,w.jsx)("h4",{className:"font-semibold text-purple-800 dark:text-gray-100 mb-1",children:"Como usar as imagens no sistema?"}),(0,w.jsx)("p",{className:"text-sm text-purple-700 dark:text-gray-300 mb-3",children:"Ap\xf3s fazer upload das imagens, voc\xea pode atrel\xe1-las facilmente aos seus registros:"}),(0,w.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[(0,w.jsxs)("div",{className:"bg-purple-100 dark:bg-gray-700 p-3 rounded-lg",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-box-seam text-purple-600 dark:text-gray-400"}),(0,w.jsx)("span",{className:"font-semibold text-purple-800 dark:text-gray-200",children:"Produtos"})]}),(0,w.jsx)("p",{className:"text-purple-700 dark:text-gray-300 text-xs",children:"Adicione fotos dos seus produtos para cat\xe1logos e vendas online"})]}),(0,w.jsxs)("div",{className:"bg-purple-100 dark:bg-gray-700 p-3 rounded-lg",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-people text-purple-600 dark:text-gray-400"}),(0,w.jsx)("span",{className:"font-semibold text-purple-800 dark:text-gray-200",children:"Clientes"})]}),(0,w.jsx)("p",{className:"text-purple-700 dark:text-gray-300 text-xs",children:"Personalize perfis com fotos e logos dos seus clientes"})]}),(0,w.jsxs)("div",{className:"bg-purple-100 dark:bg-gray-700 p-3 rounded-lg",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-grid-3x3-gap text-purple-600 dark:text-gray-400"}),(0,w.jsx)("span",{className:"font-semibold text-purple-800 dark:text-gray-200",children:"Categorias"})]}),(0,w.jsx)("p",{className:"text-purple-700 dark:text-gray-300 text-xs",children:"Crie \xedcones visuais para suas categorias de produtos"})]}),(0,w.jsxs)("div",{className:"bg-purple-100 dark:bg-gray-700 p-3 rounded-lg",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,w.jsx)("i",{className:"bi bi-plus-square text-purple-600 dark:text-gray-400"}),(0,w.jsx)("span",{className:"font-semibold text-purple-800 dark:text-gray-200",children:"Outras fun\xe7\xf5es"})]}),(0,w.jsx)("p",{className:"text-purple-700 dark:text-gray-300 text-xs",children:"Use em banners, promo\xe7\xf5es e outras partes do sistema"})]})]}),(0,w.jsxs)("div",{className:"mt-3 p-2 bg-purple-100 dark:bg-gray-700 rounded text-xs text-purple-800 dark:text-gray-300",children:["\ud83d\udca1 ",(0,w.jsx)("strong",{children:"Dica:"})," Mantenha suas imagens organizadas com nomes descritivos para facilitar a localiza\xe7\xe3o e vincula\xe7\xe3o posterior."]})]})]})}),(0,w.jsx)(c.A,{isOpen:_,onClose:e=>{R(!1),parseInt(e)>0&&he(e)},id:S,titulo:"Excluir imagem",mensagem:"Tem certeza que deseja excluir a imagem?"}),(0,w.jsxs)(m.A,{isOpen:G,closeModal:()=>Y(!1),titulo:"Remover imagens selecionadas",onConfirm:()=>{H||(async()=>{try{X(!0);const e=await(0,j.A)("delete",{imagens:I},"/imagem/excluir-imagens");"success"===e.status?(X(!1),(0,x.A)("success","Imagens removidas com sucesso!"),Y(!1),q([]),ge()):(X(!1),(0,x.A)("error",e.data),ge())}catch(e){X(!1),(0,x.A)("error","Erro ao remover imagens!")}})()},children:[(0,w.jsx)("p",{children:"Tem certeza que deseja remover as imagens selecionadas?"}),I.length>0&&(0,w.jsxs)("p",{children:["Imagens selecionadas: ",I.length]}),H&&(0,w.jsx)("div",{className:"flex justify-center items-center mt-2 w-full border border-gray-300 rounded-md p-2 bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300",children:(0,w.jsx)("span",{children:"Removendo imagens, aguarde..."})})]}),(0,w.jsx)(je,{isOpen:L,onClose:()=>{U(!1)},titulo:"Adicionar imagem",fetchData:ge}),(0,w.jsxs)(m.A,{isOpen:ae,closeModal:()=>se(!1)||W([]),titulo:"Atrelar imagem ao produto",onConfirm:()=>(async()=>
1{if(void 0!==(null===re||void 0===re?void 0:re.produto.id)&&null!==(null===re||void 0===re?void 0:re.produto.id))try{const e={id_imagens:I,id_produto:null===re||void 0===re?void 0:re.produto.id,tipo_atrelacao:2},a=await(0,j.A)("post",e,"/imagem/atrelar");"success"===a.status?((0,x.A)("success","Imagens atrelaradas ao produto com sucesso!"),se(!1),q([]),ge()):((0,x.A)("error",a.data),ge())}catch(e){console.log(e),(0,x.A)("error","Erro ao atrelar imagens ao produto!")}else(0,x.A)("error","Produto n\xe3o encontrado!")})(),children:[(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-300 mb-0",children:"Imagens que ser\xe3o atreladas ao produto:"}),(0,w.jsx)("div",{className:"flex flex-wrap mt-2 mb-2",children:V.length>0&&V.map(((e,a)=>(0,w.jsx)("a",{onClick:()=>be(e.url_imagem_original),className:"",children:(0,w.jsx)("img",{src:null===e||void 0===e?void 0:e.url_imagem_thumbnail,alt:e.titulo_imagem,className:"w-20 object-center object-cover text-center cursor-pointer justify-center rounded-sm mr-2 mb-2"})},a)))}),(0,w.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-300 mb-0",children:"Selecione o produto ao qual deseja atrelar a imagem:"}),(0,w.jsx)(u.A,{selectTitle:"",showCode:!1,isMulti:!1,selectId:"produto",data:re,image:"large",setData:te,path:"/produto/listar?variacoes=true",isClearable:!0,menuPortalTarget:document.body})]}),(0,w.jsx)(g.A,{imageUrl:Z,isOpen:$,closeModal:()=>K(!1),style:{maxWidth:"800px",width:"100%"},onClick:()=>K(!1)}),(0,w.jsx)(A,{isOpen:le,onClose:()=>ie(!1),fetchData:ge,limiteAtingido:pe,imagensRestantes:xe})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.