// ============================================================ // JuFlow — Configurações // ============================================================ const { useState: useStCF } = React; const UCF = window.JFUtils; const Configuracoes = ({ addToast }) => { const [tab, setTab] = useStCF('empresa'); const [empresa, setEmpresa] = useStCF({ nome: 'Studio JuFlow', cnpj: '12.345.678/0001-90', email: 'contato@juflow.com', telefone: '(11) 3000-0000', endereco: 'Rua das Flores, 123, Jardins, São Paulo - SP', descricao: 'Estúdio de bem-estar e estética com foco em resultados e experiência premium.', }); const [horarios, setHorarios] = useStCF({ 0: { open:false, start:'09:00', end:'17:00' }, 1: { open:true, start:'08:00', end:'19:00' }, 2: { open:true, start:'08:00', end:'19:00' }, 3: { open:true, start:'08:00', end:'19:00' }, 4: { open:true, start:'08:00', end:'19:00' }, 5: { open:true, start:'08:00', end:'19:00' }, 6: { open:true, start:'09:00', end:'17:00' }, }); const [cores, setCores] = useStCF({ primary:'#0A1F44', accent:'#FF6B35' }); const [lembretes, setLembretes] = useStCF({ whatsapp24h:true, whatsapp1h:false, email24h:true }); const [categories, setCategories] = useStCF(['Massagem','Estética','Fisioterapia','Nutrição','Fitness','Beleza','Podologia']); const [catModal, setCatModal] = useStCF({ open:false, mode:'create', original:'', value:'' }); const [catConfirm, setCatConfirm] = useStCF({ open:false, name:'' }); const DAYS = ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado']; const USERS = [ { id:1, name:'Admin Demo', email:'demo@juflow.com', role:'Admin', status:'active' }, { id:2, name:'Dra. Ana Beatriz', email:'ana@clinica.com', role:'Profissional', status:'active' }, { id:3, name:'Carla Mendes', email:'carla@clinica.com', role:'Profissional', status:'active' }, { id:4, name:'Recepcionista', email:'recepcao@clinica.com', role:'Recepção', status:'active' }, ]; const openCreateCat = () => setCatModal({ open:true, mode:'create', original:'', value:'' }); const openEditCat = (name) => setCatModal({ open:true, mode:'edit', original:name, value:name }); const closeCatModal = () => setCatModal(m => ({ ...m, open:false })); const saveCat = () => { const v = catModal.value.trim(); if (!v) { addToast('Informe um nome para a categoria.', 'warning'); return; } if (catModal.mode === 'create') { if (categories.some(c => c.toLowerCase() === v.toLowerCase())) { addToast('Já existe uma categoria com esse nome.', 'warning'); return; } setCategories(cs => [...cs, v]); addToast(`Categoria "${v}" adicionada!`, 'success'); } else { if (v !== catModal.original && categories.some(c => c.toLowerCase() === v.toLowerCase())) { addToast('Já existe uma categoria com esse nome.', 'warning'); return; } setCategories(cs => cs.map(c => c === catModal.original ? v : c)); addToast(`Categoria atualizada para "${v}".`, 'success'); } closeCatModal(); }; const askDeleteCat = (name) => setCatConfirm({ open:true, name }); const confirmDeleteCat = () => { setCategories(cs => cs.filter(c => c !== catConfirm.name)); addToast(`Categoria "${catConfirm.name}" excluída.`, 'success'); }; const setHorario = (day, key, val) => setHorarios(h => ({ ...h, [day]: { ...h[day], [key]: val } })); const setEmpresaField = (k, v) => setEmpresa(e => ({ ...e, [k]: v })); const handleSave = () => addToast('Configurações salvas com sucesso!', 'success'); return (
{tab === 'empresa' && (

Dados da Empresa

setEmpresaField('nome',v)} icon="Building2" style={{ gridColumn:'1/-1' }} /> setEmpresaField('cnpj',v)} icon="FileText" /> setEmpresaField('telefone',v)} icon="Phone" /> setEmpresaField('email',v)} icon="Mail" style={{ gridColumn:'1/-1' }} /> setEmpresaField('endereco',v)} icon="MapPin" style={{ gridColumn:'1/-1' }} />