PageSourceSearch

https://genesissa.com/_nuxt/DFm1Y64-.js

js genesissa.com collected 2026-09-24 14:44:08 UTC 27,972 bytes, 1 lines download raw bytes

1import{_ as le}from"./BOYm_eYX.js";import{cd as ne,bS as ce,bV as de,co as ue,b7 as me,x as d,u as e,H as v,cr as N,bO as o,a_ as M,bE as s,b as D,bo as F,B,w as V,cu as H,cs as _,cj as S,ci as A,cf as pe,bQ as h,ai as z,bm as y,bc as u}from"./HqA1Igia.js";import{B as L}from"./L9ug01dQ.js";import{u as be}from"./CgW0BYs9.js";import{r as ve}from"./n5Y1udX_.js";import{r as j}from"./D2VL7AO6.js";import{r as P}from"./DrnZkbeh.js";import{r as xe}from"./AYCsnceX.js";import"./Dnaa9P-1.js";import"./yK5usSyh.js";import"./Bc-IbRQY.js";const fe={class:"h-full flex flex-col"},_e={class:"flex-1 overflow-y-auto w-full"},he={class:"max-w-[920px] mx-auto px-4 md:px-6 py-4 space-y-4"},ge={class:"flex flex-col gap-2 md:flex-row md:items-end md:justify-between"},ye={class:"flex items-center gap-3 lg:gap-4"},ke={class:"text-sm text-[var(--muted)] mt-0.5"},we={key:0,class:"grid gap-3"},Be={class:"text-base font-semibold text-[var(--text)]"},Se={class:"text-xs text-[var(--muted)] mt-1"},ze={class:"text-base font-semibold text-[var(--text)]"},Ie={class:"text-xs text-[var(--muted)] mt-1"},Ve={class:"text-base font-semibold text-[var(--text)]"},Te={class:"text-xs text-[var(--muted)] mt-1"},Ne={class:"card-glass rounded-2xl p-5 flex items-center justify-between gap-4 opacity-90"},Ae={class:"text-base font-semibold text-[var(--text)]"},Ce={class:"text-xs text-[var(--muted)] mt-1"},Ee={class:"card-glass rounded-2xl p-5 flex items-center justify-between gap-4 opacity-90"},Oe={class:"text-base font-semibold text-[var(--text)]"},Ue={class:"text-xs text-[var(--muted)] mt-1"},$e={key:0,class:"mt-4"},Me={class:"text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)] mb-2"},De={class:"space-y-2"},Fe={class:"min-w-0"},He={class:"flex items-center gap-2"},je={class:"text-sm font-semibold text-[var(--text)] truncate"},Pe=["title"],qe={class:"text-xs text-[var(--muted)] mt-0.5"},Ge={class:"font-mono"},Le={key:0},Qe={key:1,class:"card-glass rounded-2xl p-4 md:p-6"},Re={class:"text-base font-semibold text-[var(--text)]"},Ye={class:"text-xs text-[var(--muted)] mt-1"},Je={class:"space-y-2"},Ke={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},We=["placeholder"],Xe={class:"space-y-2"},Ze={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},ea={class:"space-y-2"},aa={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},ta={value:0},sa={value:1},oa={value:3},ra={value:6},ia={value:12},la={class:"text-[11px] text-[var(--muted)]"},na={class:"space-y-1.5"},ca={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},da={value:0},ua={value:3},ma={value:6},pa={value:12},ba={class:"text-[11px] text-[var(--muted)]"},va={class:"flex items-center gap-2 text-xs text-[var(--muted)]"},xa={class:"flex items-center gap-3 pt-1"},fa=["disabled"],_a=["disabled"],ha={key:2,class:"card-glass rounded-2xl p-4 md:p-6"},ga={class:"text-base font-semibold text-[var(--text)]"},ya={class:"text-xs text-[var(--muted)] mt-1"},ka={class:"space-y-2"},wa={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Ba={class:"space-y-2"},Sa={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},za={class:"space-y-2"},Ia={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Va=["placeholder"],Ta={class:"space-y-2"},Na={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Aa={class:"space-y-2"},Ca={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Ea=["disabled"],Oa={value:0},Ua={value:1},$a={value:3},Ma={value:6},Da={value:12},Fa={class:"text-[11px] text-[var(--muted)]"},Ha={class:"space-y-2"},ja={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},Pa={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},qa=["onUpdate:modelValue"],Ga={class:"min-w-0"},La={class:"block text-sm font-medium text-[var(--text)]"},Qa={key:0,class:"block text-[11px] text-[var(--muted)]"},Ra={class:"text-[11px] text-[var(--muted)]"},Ya={class:"flex items-center gap-2 text-xs text-[var(--muted)]"},Ja={class:"flex items-center gap-3 pt-1"},Ka=["disabled"],Wa=["disabled"],Xa={key:3,class:"card-glass rounded-2xl p-4 md:p-6"},Za={class:"text-base font-semibold text-[var(--text)]"},et={class:"text-xs text-[var(--muted)] mt-1"},at={class:"space-y-2"},tt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},st=["placeholder"],ot={class:"space-y-2"},rt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},it={class:"space-y-2"},lt={class:"block text-[11px] font-bold tracking-[0.06em] uppercase text-[var(--muted)]"},nt={value:0},ct={value:1},dt={value:3},ut={value:6},mt={value:12},pt={class:"text-[11px] text-[var(--muted)]"},bt={class:"flex items-center gap-2 text-xs text-[var(--muted)]"},vt={class:"flex items-center gap-3 pt-1"},xt=["disabled"],ft=["disabled"],_t={key:4,class:"card-glass rounded-2xl p-4 md:p-6 space-y-4"},ht={class:"flex items-center gap-2"},gt={class:"text-base font-semibold text-[var(--text)]"},yt={class:"text-xs text-[var(--muted)]"},kt={class:"space-y-2"},wt={class:"text-sm font-semibold text-[var(--text)]"},Bt={class:"text-xs text-[var(--muted)]"},St={class:"font-mono"},zt={key:0},It={key:1},Vt={class:"pt-2 flex gap-2"},jt={__name:"index",setup(Tt){const{pageTitleClass:Q}=be(),{tn:a}=ne(),k=ce(),C=de(),p=y("escolher"),m=y(!1),b=y({email:"",senha:"",mesesHistorico:3,mesesFuturos:12}),l=y({empresa:null,empresas:[],buscandoEmpresa:!1,filial:null,filiais:[],buscandoFilial:!1,email:"",senha:"",mesesHistorico:3,modulos:{clientes:!0,colaboradores:!0,servicos:!0,produtos:!0,atendimentos:!0,agendamentos:!0,financeiro:!0}}),f=y({email:"",senha:"",mesesHistorico:3}),R=[{key:"clientes",label:a("Clientes"),hint:"inclui assinaturas"},{key:"colaboradores",label:a("Colaboradores"),hint:a("serviços, comissões e horários")},{key:"servicos",label:a("Serviços"),hint:""},{key:"produtos",label:a("Produtos"),hint:""},{key:"atendimentos",label:a("Atendimentos"),hint:a("fichas do histórico")},{key:"agendamentos",label:a("Agendamentos futuros"),hint:"agenda de hoje pra frente"},{key:"financeiro",label:a("Financeiro"),hint:"contas a pagar e receber"}],Y={clientes:["clientes","assinaturas"],colaboradores:["colaboradores","colaborador_servicos","comissoes_servico","horarios_colaborador"],servicos:["servicos"],produtos:["produtos"],atendimentos:["atendimentos_historico","produtos_vendidos"],agendamentos:["agendamentos_futuros"],financeiro:["contas_recebidas_historico","contas_pagas_historico"]};function J(i){const r=[];for(const[n,t]of Object.entries(Y))i?.[n]||r.push(...t);return r}const w=y([]),T=y("bestbarbers"),E=y([]);let O=null,U=null;function K(i){if(i=(i||"").trim(),O&&clearTimeout(O),i.length<3){l.value.empresas=[];return}O=setTimeout(async()=>{l.value.buscandoEmpresa=!0;try{const r=await h(`/migracao/onebeleza/empresas?q=${encodeURIComponent(i)}`,"GET");l.value.empresas=r?.empresas||[]}catch(r){console.warn("[importar-one] busca empresa falhou",z(r)),l.value.empresas=[]}finally{l.value.buscandoEmpresa=!1}},250)}function W(i){if(l.value.empresa?.id){if(i=(i||"").trim(),U&&clearTimeout(U),i.length<3){l.value.filiais=[];return}U=setTimeout(async()=>{l.value.buscandoFilial=!0;try{const r=await h(`/migracao/onebeleza/filiais?empresaId=${encodeURIComponent(l.value.empresa.id)}&q=${encodeURIComponent(i)}`,"GET");l.value.filiais=r?.filiais||[]}catch(r){console.warn("[importar-one] busca filial falhou",z(r)),l.value.filiais=[]}finally{l.value.buscandoFilial=!1}},250)}}ue(()=>l.value.empresa?.id,()=>{l.value.filial=null,l.value.filiais=[]});function X(i,r){const n=Number(i)||0,t=Math.min(12,Math.max(0,Number(r)||0));if(n<=0&&t<=0)return null;const g=[],I=new Date;for(let x=Math.max(0,n-1);x>=-t;x--){const c=new Date(I.getFullYear(),I.getMonth()-x,1);g.push(`${c.getFullYear()}
1-${String(c.getMonth()+1).padStart(2,"0")}`)}return g}function q(i){if(!i||i<=0)return null;const r=[],n=new Date;for(let t=i-1;t>=0;t--){const g=new Date(n.getFullYear(),n.getMonth()-t,1);r.push(`${g.getFullYear()}-${String(g.getMonth()+1).padStart(2,"0")}`)}return r}async function Z(){try{const[i,r,n,t,g,I]=await Promise.allSettled([h("/migracao/bestbarbers","GET"),h("/migracao/onebeleza","GET"),h("/migracao/avec","GET"),h("/migracao/agendaservico","GET"),h("/migracao/cashbarber","GET"),h("/migracao/appbarber","GET")]),x=[];if(i.status==="fulfilled")for(const c of i.value?.sessoes||[])x.push({...c,origem:"bestbarbers"});if(r.status==="fulfilled")for(const c of r.value?.sessoes||[])x.push({...c,origem:"onebeleza"});if(n.status==="fulfilled")for(const c of n.value?.sessoes||[])x.push({...c,origem:"avec"});if(t.status==="fulfilled")for(const c of t.value?.sessoes||[])x.push({...c,origem:"agendaservico"});if(g.status==="fulfilled")for(const c of g.value?.sessoes||[])x.push({...c,origem:"cashbarber"});if(I.status==="fulfilled")for(const c of I.value?.sessoes||[])x.push({...c,origem:"appbarber"});x.sort((c,ie)=>new Date(ie.criado_em).getTime()-new Date(c.criado_em).getTime()),E.value=x}catch(i){console.warn("[importar] falha ao carregar histórico",z(i))}}function ee(i){return i==="concluido"?"bg-emerald-500/10 text-emerald-500":i==="em_andamento"?"bg-[var(--accent)]/10 text-[var(--accent)]":i==="erro"?"bg-red-500/10 text-red-500":i==="cancelado"?"bg-gray-500/10 text-gray-500":"bg-[var(--surface-2)] text-[var(--muted)]"}function ae(i){return i==="onebeleza"?"bg-purple-500/10 text-purple-500":i==="avec"?"bg-amber-500/10 text-amber-500":i==="agendaservico"?"bg-teal-500/10 text-teal-500":i==="cashbarber"?"bg-rose-500/10 text-rose-500":i==="appbarber"?"bg-sky-500/10 text-sky-500":"bg-blue-500/10 text-blue-500"}function G(i){return i==="onebeleza"?"OneBeleza":i==="avec"?"Avec":i==="agendaservico"?a("Agenda Serviço"):i==="cashbarber"?"CashBarber":i==="appbarber"?"AppBarber":"BestBarbers"}function te(i){if(!i)return"";const r=new Date(i);return Number.isNaN(r.getTime())?"":r.toLocaleString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}me(Z);function $(i){i==="bestbarbers"?p.value="login-bestbarbers":i==="onebeleza"?p.value="login-onebeleza":i==="avec"&&(p.value="login-avec")}async function se(){m.value=!0;try{const i=X(b.value.mesesHistorico,b.value.mesesFuturos),r=await h("/migracao/bestbarbers/iniciar","POST",{email:b.value.email.trim(),senha:b.value.senha,...i?{periodo_meses:i}:{}});w.value=r?.migracoes||[],T.value="bestbarbers",p.value="iniciado",C.loadBarbearias?.(),k.addNotification({type:"success",message:`${w.value.length} estabelecimento(s) criada(s). Importação rodando em background.`})}catch(i){k.addNotification({type:"error",message:z(i)})}finally{m.value=!1}}async function oe(){if(!l.value.empresa?.id||!l.value.filial?.id){k.addNotification({type:"error",message:a("Selecione empresa e filial na lista antes de continuar.")});return}m.value=!0;try{const i=q(l.value.mesesHistorico),r=J(l.value.modulos),n=await h("/migracao/onebeleza/iniciar","POST",{empresaId:l.value.empresa.id,filialId:l.value.filial.id,empresaNome:l.value.empresa.nome,filialNome:l.value.filial.nome,email:l.value.email.trim(),senha:l.value.senha,...i?{periodo_meses:i}:{},...r.length?{etapas_ignoradas:r}:{}});w.value=n?.migracao_sessao_id?[{migracao_sessao_id:n.migracao_sessao_id,barbearia:n.barbearia,onebeleza_filial_id:n.onebeleza_filial_id}]:n?.migracoes||[],T.value="onebeleza",p.value="iniciado",C.loadBarbearias?.(),k.addNotification({type:"success",message:a("Estabelecimento criada. Importação OneBeleza rodando em background.")})}catch(i){k.addNotification({type:"error",message:z(i)})}finally{m.value=!1}}async function re(){m.value=!0;try{const i=q(f.value.mesesHistorico),r=await h("/migracao/avec/iniciar","POST",{email:f.value.email.trim(),senha:f.value.senha,...i?{periodo_meses:i}:{}});w.value=r?.migracao_sessao_id?[{migracao_sessao_id:r.migracao_sessao_id,barbearia:r.barbearia}]:[],T.value="avec",p.value="iniciado",C.loadBarbearias?.(),k.addNotification({type:"success",message:a("Estabelecimento criada. Importação Avec rodando em background.")})}catch(i){k.addNotification({type:"error",message:z(i)})}finally{m.value=!1}}return(i,r)=>{const n=le;return u(),d("div",fe,[e("div",_e,[e("div",he,[e("header",ge,[e("div",ye,[v(n,{to:"/barbearias",class:"p-2 rounded-xl border border-[var(--border)] text-[var(--text)] transition duration-200 hover:bg-[var(--surface-2)] touch-target flex-shrink-0"},{default:N(()=>[v(o(ve),{class:"h-5 w-5 lg:h-6 lg:w-6"})]),_:1}),e("div",null,[e("h1",{class:M(o(Q)??"text-xl lg:text-2xl font-bold text-[var(--text)] tracking-tight")},s(o(a)("Importar de outro sistema")),3),e("p",ke,s(o(a)("Migra serviços, produtos, colaboradores, clientes e assinaturas de outra plataforma.")),1)])])]),p.value==="escolher"?(u(),d("div",we,[e("button",{type:"button",onClick:r[0]||(r[0]=t=>$("bestbarbers")),class:"card-glass rounded-2xl p-5 text-left flex items-center justify-between gap-4 hover:bg-[var(--surface-2)] transition"},[e("div",null,[e("h3",Be,s(o(a)("BestBarbers")),1),e("p",Se,s(o(a)("Importar com login e senha.")),1)]),v(o(j),{class:"h-5 w-5 text-[var(--subtle)]"})]),e("button",{type:"button",onClick:r[1]||(r[1]=t=>$("onebeleza")),class:"card-glass rounded-2xl p-5 text-left flex items-center justify-between gap-4 hover:bg-[var(--surface-2)] transition"},[e("div",null,[e("h3",ze,s(o(a)("OneBeleza Premium")),1),e("p",Ie,s(o(a)("Importar com empresa, filial, login e senha.")),1)]),v(o(j),{class:"h-5 w-5 text-[var(--subtle)]"})]),e("button",{type:"button",onClick:r[2]||(r[2]=t=>$("avec")),class:"card-glass rounded-2xl p-5 text-left flex items-center justify-between gap-4 hover:bg-[var(--surface-2)] transition"},[e("div",null,[e("h3",Ve,s(o(a)("Avec")),1),e("p",Te,s(o(a)("Importar com login e senha.")),1)]),v(o(j),{class:"h-5 w-5 text-[var(--subtle)]"})]),e("div",Ne,[e("div",null,[e("h3",Ae,s(o(a)("Agenda Serviço")),1),e("p",Ce,s(o(a)("Importar pela extensão do navegador, com o painel aberto e logado. O andamento a
1parece aqui embaixo.")),1)])]),e("div",Ee,[e("div",null,[e("h3",Oe,s(o(a)("CashBarber")),1),e("p",Ue,s(o(a)("Importar pela extensão do navegador, com o painel aberto e logado. O andamento aparece aqui embaixo.")),1)])]),E.value.length>0?(u(),d("div",$e,[e("h3",Me,s(o(a)("Importações anteriores")),1),e("ul",De,[(u(!0),d(D,null,F(E.value,t=>(u(),d("li",{key:t.id,class:"card-glass rounded-2xl p-4 flex items-center justify-between gap-3"},[e("div",Fe,[e("div",He,[e("p",je,s(t.barbearia?.nome||"Barbearia removida"),1),e("span",{class:M(["px-2 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-[0.06em]",ae(t.origem)]),title:G(t.origem)},s(G(t.origem)),11,Pe),e("span",{class:M(["px-2 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-[0.06em]",ee(t.status)])},s(t.status),3)]),e("p",qe,[B(s(t.email_bestbarbers||t.email_onebeleza||t.email_avec||t.email_cashbarber||t.empresa_agendaservico||t.empresa_appbarber||"via extensão")+" · ",1),e("span",Ge,s(t.barbearia?.codigo||"—"),1),B(" · "+s(te(t.criado_em))+" ",1),t.etapa_atual?(u(),d("span",Le," · etapa "+s(t.etapa_atual),1)):V("",!0)])]),v(n,{to:`/barbearias/importar/${t.id}?origem=${t.origem}`,class:"px-3 py-1.5 rounded-lg text-xs font-semibold text-[var(--accent)] border border-[var(--accent)] hover:bg-[var(--accent)] hover:!text-white transition whitespace-nowrap"},{default:N(()=>[B(s(o(a)("Ver progresso")),1)]),_:1},8,["to"])]))),128))])])):V("",!0)])):p.value==="login-bestbarbers"?(u(),d("div",Qe,[e("form",{onSubmit:H(se,["prevent"]),class:"space-y-5 max-w-[520px]"},[e("div",null,[e("h3",Re,s(o(a)("Importar do BestBarbers")),1),e("p",Ye,s(o(a)("Suas credenciais são usadas apenas para baixar os dados. Não as armazenamos em texto claro.")),1)]),e("div",Je,[e("label",Ke,s(o(a)("E-mail ou telefone do BestBarbers *")),1),_(e("input",{"onUpdate:modelValue":r[3]||(r[3]=t=>b.value.email=t),type:"text",required:"",autocomplete:"username",placeholder:o(a)("[email protected]"),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,8,We),[[S,b.value.email]])]),e("div",Xe,[e("label",Ze,s(o(a)("Senha *")),1),_(e("input",{"onUpdate:modelValue":r[4]||(r[4]=t=>b.value.senha=t),type:"password",required:"",autocomplete:"current-password",placeholder:"••••••••",class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,512),[[S,b.value.senha]])]),e("div",ea,[e("label",aa,s(o(a)("Histórico financeiro a importar")),1),_(e("select",{"onUpdate:modelValue":r[5]||(r[5]=t=>b.value.mesesHistorico=t),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},[e("option",ta,s(o(a)("Nenhum (só cadastros — serviços, clientes, etc.)")),1),e("option",sa,s(o(a)("Último mês")),1),e("option",oa,s(o(a)("Últimos 3 meses")),1),e("option",ra,s(o(a)("Últimos 6 meses")),1),e("option",ia,s(o(a)("Últimos 12 meses")),1)],512),[[A,b.value.mesesHistorico]]),e("p",la,s(o(a)("Inclui atendimentos finalizados, vales pagos e despesas avulsas do período. Quanto maior o intervalo, mais demora.")),1)]),e("div",na,[e("label",ca,s(o(a)("Agenda futura a importar")),1),_(e("select",{"onUpdate:modelValue":r[6]||(r[6]=t=>b.value.mesesFuturos=t),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},[e("option",da,s(o(a)("Nenhuma")),1),e("option",ua,s(o(a)("Próximos 3 meses")),1),e("option",ma,s(o(a)("Próximos 6 meses")),1),e("option",pa,s(o(a)("Próximo 1 ano")),1)],512),[[A,b.value.mesesFuturos]]),e("p",ba,s(o(a)("Traz o que já está marcado daqui pra frente. Um ano é o máximo.")),1)]),e("div",va,[v(o(P),{class:"h-4 w-4 flex-shrink-0"}),e("span",null,s(o(a)("Se sua conta tiver mais de uma unidade, cada uma virará um estabelecimento separada.")),1)]),e("div",xa,[e("button",{type:"button",onClick:r[7]||(r[7]=t=>p.value="escolher"),class:"px-4 py-2 rounded-xl border border-[var(--border)] text-sm text-[var(--text)] hover:bg-[var(--surface-2)] transition",disabled:m.value},s(o(a)("Voltar")),9,fa),e("button",{type:"submit",disabled:m.value||!b.value.email||!b.value.senha,class:"px-4 py-2 rounded-xl bg-[var(--accent)] !text-white text-sm font-semibold hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed transition"},s(m.value?"Conectando…":"Iniciar importação"),9,_a)])],32)])):p.value==="login-onebeleza"?(u(),d("div",ha,[e("form",{onSubmit:H(oe,["prevent"]),class:"space-y-5 max-w-[520px]"},[e("div",null,[e("h3",ga,s(o(a)("Importar do OneBeleza Premium")),1),e("p",ya,s(o(a)("Use os mesmos dad
1os que você usa pra acessar premium.onebeleza.com.br. A senha é guardada criptografada e descartada ao final.")),1)]),e("div",ka,[e("label",wa,s(o(a)("Empresa *")),1),v(L,{modelValue:l.value.empresa,"onUpdate:modelValue":r[8]||(r[8]=t=>l.value.empresa=t),items:l.value.empresas,"is-loading":l.value.buscandoEmpresa,placeholder:o(a)("Digite ao menos 3 letras da empresa"),"get-display-text":t=>t.nome,"get-item-key":t=>t.id,onSearch:K},null,8,["modelValue","items","is-loading","placeholder","get-display-text","get-item-key"])]),e("div",Ba,[e("label",Sa,s(o(a)("Filial *")),1),v(L,{modelValue:l.value.filial,"onUpdate:modelValue":r[9]||(r[9]=t=>l.value.filial=t),items:l.value.filiais,"is-loading":l.value.buscandoFilial,disabled:!l.value.empresa,placeholder:l.value.empresa?"Digite ao menos 3 letras da filial":"Escolha a empresa primeiro","get-display-text":t=>t.nome,"get-item-key":t=>t.id,onSearch:W},null,8,["modelValue","items","is-loading","disabled","placeholder","get-display-text","get-item-key"])]),e("div",za,[e("label",Ia,s(o(a)("E-mail *")),1),_(e("input",{"onUpdate:modelValue":r[10]||(r[10]=t=>l.value.email=t),type:"email",required:"",autocomplete:"username",placeholder:o(a)("[email protected]"),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,8,Va),[[S,l.value.email]])]),e("div",Ta,[e("label",Na,s(o(a)("Senha *")),1),_(e("input",{"onUpdate:modelValue":r[11]||(r[11]=t=>l.value.senha=t),type:"password",required:"",autocomplete:"current-password",placeholder:"••••••••",class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,512),[[S,l.value.senha]])]),e("div",Aa,[e("label",Ca,s(o(a)("Histórico de fichas a importar")),1),_(e("select",{"onUpdate:modelValue":r[12]||(r[12]=t=>l.value.mesesHistorico=t),disabled:!l.value.modulos.atendimentos,class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition disabled:opacity-50 disabled:cursor-not-allowed"},[e("option",Oa,s(o(a)("Nenhum (só cadastros)")),1),e("option",Ua,s(o(a)("Último mês")),1),e("option",$a,s(o(a)("Últimos 3 meses")),1),e("option",Ma,s(o(a)("Últimos 6 meses")),1),e("option",Da,s(o(a)("Últimos 12 meses")),1)],8,Ea),[[A,l.value.mesesHistorico]]),e("p",Fa,s(l.value.modulos.atendimentos?"Inclui fichas (atendimentos finalizados) do período. Quanto maior o intervalo, mais demora.":"Desmarque de Atendimentos abaixo — o histórico de fichas não será importado."),1)]),e("div",Ha,[e("label",ja,s(o(a)("O que importar")),1),e("div",Pa,[(u(),d(D,null,F(R,t=>e("label",{key:t.key,class:"flex items-start gap-2 p-2.5 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] cursor-pointer hover:border-[var(--accent)] transition"},[_(e("input",{"onUpdate:modelValue":g=>l.value.modulos[t.key]=g,type:"checkbox",class:"mt-0.5 h-4 w-4 accent-[var(--accent)] flex-shrink-0"},null,8,qa),[[pe,l.value.modulos[t.key]]]),e("span",Ga,[e("span",La,s(o(a)(t.label)),1),t.hint?(u(),d("span",Qa,s(o(a)(t.hint)),1)):V("",!0)])])),64))]),e("p",Ra,s(o(a)("Perfil, formas de pagamento, planos e estoque entram sempre (base). Desmarcar um módulo pula essa parte da importação.")),1)]),e("div",Ya,[v(o(P),{class:"h-4 w-4 flex-shrink-0"}),e("span",null,s(o(a)("Para importar várias filiais da mesma empresa, rode este formulário uma vez para cada filial — cada execução cria um estabelecimento separada.")),1)]),e("div",Ja,[e("button",{type:"button",onClick:r[13]||(r[13]=t=>p.value="escolher"),class:"px-4 py-2 rounded-xl border border-[var(--border)] text-sm text-[var(--text)] hover:bg-[var(--surface-2)] transition",disabled:m.value},s(o(a)("Voltar")),9,Ka),e("button",{type:"submit",disabled:m.value||!l.value.empresa||!l.value.filial||!l.value.email||!l.value.senha,class:"px-4 py-2 rounded-xl bg-[var(--accent)] !text-white text-sm font-semibold hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed transition"},s(m.value?"Conectando…":"Iniciar importação"),9,Wa)])],32)])):p.value==="login-avec"?(u(),d("div",Xa,[e("form",{onSubmit:H(re,["prevent"]),class:"space-y-5 max-w-[520px]"},[e("div",null,[e("h3",Za,s(o(a)("Importar da Avec")),1),e("p",et,s(o(a)("Suas credenciais são usadas apenas para baixar os dados. Não as armazenamos em texto claro. O login pode levar até um minuto (rodamos um navegador de verdade em segundo plano).")),1)]),e("div",at,[e("label",tt,s(o(a)("E-mail da Avec *")),1
1),_(e("input",{"onUpdate:modelValue":r[14]||(r[14]=t=>f.value.email=t),type:"email",required:"",autocomplete:"username",placeholder:o(a)("[email protected]"),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,8,st),[[S,f.value.email]])]),e("div",ot,[e("label",rt,s(o(a)("Senha *")),1),_(e("input",{"onUpdate:modelValue":r[15]||(r[15]=t=>f.value.senha=t),type:"password",required:"",autocomplete:"current-password",placeholder:"••••••••",class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] placeholder:text-[var(--subtle)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},null,512),[[S,f.value.senha]])]),e("div",it,[e("label",lt,s(o(a)("Histórico financeiro a importar")),1),_(e("select",{"onUpdate:modelValue":r[16]||(r[16]=t=>f.value.mesesHistorico=t),class:"w-full px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] text-sm text-[var(--text)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)] transition"},[e("option",nt,s(o(a)("Nenhum (só cadastros — serviços, clientes, etc.)")),1),e("option",ct,s(o(a)("Último mês")),1),e("option",dt,s(o(a)("Últimos 3 meses")),1),e("option",ut,s(o(a)("Últimos 6 meses")),1),e("option",mt,s(o(a)("Últimos 12 meses")),1)],512),[[A,f.value.mesesHistorico]]),e("p",pt,s(o(a)("Inclui comandas finalizadas e o financeiro (recebidas/pagas) do período. Quanto maior o intervalo, mais demora.")),1)]),e("div",bt,[v(o(P),{class:"h-4 w-4 flex-shrink-0"}),e("span",null,s(o(a)("Planos e assinaturas ainda não são importados — em construção.")),1)]),e("div",vt,[e("button",{type:"button",onClick:r[17]||(r[17]=t=>p.value="escolher"),class:"px-4 py-2 rounded-xl border border-[var(--border)] text-sm text-[var(--text)] hover:bg-[var(--surface-2)] transition",disabled:m.value},s(o(a)("Voltar")),9,xt),e("button",{type:"submit",disabled:m.value||!f.value.email||!f.value.senha,class:"px-4 py-2 rounded-xl bg-[var(--accent)] !text-white text-sm font-semibold hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed transition"},s(m.value?"Conectando…":"Iniciar importação"),9,ft)])],32)])):p.value==="iniciado"?(u(),d("div",_t,[e("div",ht,[v(o(xe),{class:"h-6 w-6 text-[var(--accent)]"}),e("h3",gt,s(w.value.length)+" estabelecimento(s) criada(s) ",1)]),e("p",yt,s(o(a)("Suas estabelecimentos já aparecem na lista. A importação dos dados (serviços, produtos, colaboradores, clientes, assinaturas) continua rodando em background. Você pode acompanhar o progresso pelas páginas abaixo:")),1),e("ul",kt,[(u(!0),d(D,null,F(w.value,t=>(u(),d("li",{key:t.migracao_sessao_id,class:"flex items-center justify-between gap-3 p-3 rounded-xl border border-[var(--border)] bg-[var(--surface-2)]"},[e("div",null,[e("p",wt,s(t.barbearia.nome),1),e("p",Bt,[B(s(o(a)("Código:"))+" ",1),e("span",St,s(t.barbearia.codigo),1),t.bestbarbers_shop_id?(u(),d("span",zt," · shop_id BestBarbers: "+s(t.bestbarbers_shop_id),1)):t.onebeleza_filial_id?(u(),d("span",It," · filial OneBeleza: "+s(t.onebeleza_filial_id),1)):V("",!0)])]),v(n,{to:`/barbearias/importar/${t.migracao_sessao_id}?origem=${T.value}`,class:"px-3 py-1.5 rounded-lg text-xs font-semibold text-[var(--accent)] border border-[var(--accent)] hover:bg-[var(--accent)] hover:!text-white transition"},{default:N(()=>[B(s(o(a)("Ver progresso")),1)]),_:1},8,["to"])]))),128))]),e("div",Vt,[v(n,{to:"/barbearias",class:"px-4 py-2 rounded-xl border border-[var(--border)] text-sm text-[var(--text)] hover:bg-[var(--surface-2)] transition"},{default:N(()=>[B(s(o(a)("Ir para estabelecimentos")),1)]),_:1})])])):V("",!0)])])])}}};export{jt 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.