1.0.4 • Published 8 months ago
@lugardetech/gestao-empresarial v1.0.4
@licita/gestao-empresarial
Módulo de Gestão Empresarial do Sistema de Licitações.
Funcionalidades
- ✅ CRUD completo de empresas
- ✅ Validação de CNPJ
- ✅ Hooks React para gerenciamento de estado
- ✅ Integração com Supabase
- ✅ Tipos TypeScript completos
Instalação
npm install @licita/gestao-empresarial @licita/shared-libsUso
Services
import { EmpresaService } from '@licita/gestao-empresarial'
// Listar empresas
const empresas = await EmpresaService.listar()
// Criar empresa
const novaEmpresa = await EmpresaService.criar({
cnpj: '12345678000190',
razao_social: 'Empresa Exemplo LTDA',
tipo_empresa: 'LTDA'
})
// Validar CNPJ
const isValid = EmpresaService.validarCnpj('12345678000190')
// Formatar CNPJ
const formatted = EmpresaService.formatarCnpj('12345678000190')Hooks React
import { useEmpresas, useEmpresa } from '@licita/gestao-empresarial'
function EmpresasPage() {
const { empresas, loading, error, criar, atualizar, desativar } = useEmpresas()
const handleCreate = async (data) => {
try {
await criar(data)
// Empresa criada com sucesso
} catch (error) {
// Tratar erro
}
}
if (loading) return <div>Carregando...</div>
if (error) return <div>Erro: {error}</div>
return (
<div>
{empresas.map(empresa => (
<div key={empresa.id}>{empresa.razao_social}</div>
))}
</div>
)
}
function EmpresaDetails({ id }: { id: string }) {
const { empresa, loading, error } = useEmpresa(id)
if (loading) return <div>Carregando...</div>
if (error) return <div>Erro: {error}</div>
if (!empresa) return <div>Empresa não encontrada</div>
return <div>{empresa.razao_social}</div>
}Tipos
import { EmpresaFormData, TIPOS_EMPRESA } from '@licita/gestao-empresarial'
const formData: EmpresaFormData = {
cnpj: '12345678000190',
razao_social: 'Empresa Exemplo',
tipo_empresa: 'LTDA'
}
// Lista de tipos de empresa
TIPOS_EMPRESA.forEach(tipo => {
console.log(tipo.value, tipo.label)
})Dependências
@licita/shared-libs: Bibliotecas compartilhadas@supabase/supabase-js: Cliente Supabasereact: React (peer dependency)react-hook-form: Formulários (peer dependency)zod: Validação (peer dependency)
Desenvolvimento
# Instalar dependências
npm install
# Build
npm run build
# Watch mode
npm run dev
# Testes
npm test
# Lint
npm run lintEstrutura
src/
├── services/ # Lógica de negócios
│ └── EmpresaService.ts
├── hooks/ # React hooks
│ └── useEmpresas.ts
├── types/ # Tipos TypeScript
│ └── empresa.ts
└── index.ts # Exports públicos