PageSourceSearch

https://carregamento3bs.lovable.app/assets/PapelParedePage-CHglIvlk.js

js carregamento3bs.lovable.app collected 2026-10-03 05:35:27 UTC 4,442 bytes, 1 lines download raw bytes

1import{u as z,r as t,j as a}from"./react-vendor-BorBU4Bs.js";import{a as A,aw as I,B as o,A as O,ax as B,K as y,an as N,ao as w,M as b,ae as R,T,at as s}from"./index-DkhxOMdR.js";import{S as V}from"./slider-CdUPNIq3.js";import{g as G,a as q,f as F,l as H,s as J,u as K,b as x,r as L,c as $}from"./wallpaper-BkBjoLyg.js";import"./radix-vendor-CazrR58L.js";import"./charts-vendor-BxJanGhU.js";import"./query-vendor-dlntIC_S.js";import"./supabase-vendor-BxTHC7hl.js";import"./xlsx-vendor-DOnNs5_d.js";import"./qr-vendor-Ca1-Dxvv.js";function ra(){const C=z(),{isMaster:i}=A(),d=t.useRef(null),[h,g]=t.useState(!1),[f,P]=t.useState([]),[j,S]=t.useState({}),[m,l]=t.useState(G()),[v,p]=t.useState(q()),u=async()=>{const e=await H();P(e);const n=await Promise.all(e.map(async c=>[c,await J(c)??""]));S(Object.fromEntries(n))};t.useEffect(()=>{u(),F().then(e=>{l(e.path),p(e.opacity)}).catch(()=>{})},[]);const E=async e=>{var c;const n=(c=e.target.files)==null?void 0:c[0];if(n){if(!n.type.startsWith("image/")){s.error("Envie uma imagem (PNG, JPG, WEBP)");return}g(!0);try{const r=await K(n);await x(r),l(r),await u(),s.success("Imagem enviada e aplicada ao fundo da tela inicial para todos os usuários")}catch(r){s.error((r==null?void 0:r.message)||"Erro ao enviar a imagem")}finally{g(!1),d.current&&(d.current.value="")}}},W=async e=>{try{await x(e),l(e),s.success("Papel de parede aplicado para todos os usuários")}catch{s.error("Somente o Master pode alterar o papel de parede")}},k=async e=>{try{await L(e),m===e&&l(null),await u(),s.success("Imagem removida")}catch{s.error("Somente o Master pode remover imagens")}},M=async()=>{try{await x(null),l(null),s.success("Fundo removido da tela inicial")}catch{s.error("Somente o Master pode alterar o papel de parede")}},U=async e=>{p(e);try{await $(e)}catch{s.error("Somente o Master pode alterar a intensidade")}};return a.jsxs("div",{className:"animate-fade-in",children:[a.jsxs("div",{className:"flex flex-col items-center text-center gap-2 mb-4",children:[a.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-primary/20 text-primary",children:a.jsx(I,{className:"h-6 w-6"})}),a.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Papel de Parede"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Envie imagens e escolha qual aparece como marca d'água no fundo da tela inicial"})]}),a.jsxs("div",{className:"flex justify-center gap-2 mb-6",children:[a.jsxs(o,{variant:"ghost",size:"sm",onClick:()=>C("/configuracoes"),children:[a.jsx(O,{className:"h-4 w-4 mr-1"})," Voltar"]}),a.jsx("input",{ref:d,type:"file",accept:"image/*",className:"hidden",onChange:E}),i&&a.jsxs(o,{size:"sm",onClick:()=>{var e;return(e=d.current)==null?void 0:e.click()},disabled:h,children:[a.jsx(B,{className:"h-4 w-4 mr-1"})," ",h?"Enviando...":"Enviar imagem"]}),i&&a.jsx(o,{variant:"outline",size:"sm",onClick:M,children:"Sem papel de parede"})]}),a.jsxs("div",{className:"space-y-6 max-w-4xl mx-auto",children:[a.jsxs(y,{children:[a.jsx(N,{className:"pb-3",children:a.jsxs(w,{className:"text-base",children:["Intensidade da marca d'água (",v,"%)"]})}),a.jsx(b,{children:a.jsx(V,{value:[v],min:3,max:60,step:1,disabled:!i,onValueChange:e=>p(e[0]),onValueCommit:e=>U(e[0])})})]}),a.jsxs(y,{children:[a.jsx(N,{className:"pb-3",children:a.jsx(w,{className:"text-base",children:"Imagens enviadas"})}),a.jsx(b,{children:f.length===0?a.jsx("p",{className:"text-sm text-muted-foreground",children:'Nenhuma imagem enviada ainda. Use o botão "Enviar imagem".'}):a.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:f.map(e=>a.jsxs("div",{className:`relative overflow-hidden rounded-xl border transition-all ${m===e?"border-primary ring-2 ring-primary/40":"border-border"}`,children:[j[e]&&a.jsx("img",{src:j[e],alt:"Papel de parede",className:"h-32 w-full object-cover"}),a.jsxs("div",{className:"flex items-center justify-between gap-1 p-2",children:[a.jsx(o,{size:"sm",variant:"outline",disabled:!i,onClick:()=>W(e),children:m===e?a.jsx(R,{className:"h-4 w-4"}):"Usar"}),i&&a.jsx(o,{size:"sm",variant:"ghost",onClick:()=>k(e),children:a.jsx(T,{className:"h-4 w-4 text-destructive"})})]})]},e))})})]}),a.jsx("p",{className:"text-xs text-muted-foreground px-1",children:"A imagem escolhida e a intensidade valem para todos os usuários do sistema. Somente o Master pode enviar, aplicar ou remover imagens."})]})]})}export{ra as default};

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.