fix(login): render standalone views edge-to-edge e esconde scrollbar do carrossel de onboarding
- App.tsx: wrappers de padding (p-4/md:p-8) e max-w-7xl/mx-auto agora só se aplicam quando não é tela standalone; login/landing/public renderizam full-bleed - OnboardingChat.tsx: classe ob-noscroll esconde a barra de rolagem do slide intro (mantém scroll), substituindo a custom-scrollbar indefinida no fluxo de login Inclui também demais alterações pendentes do working tree (snapshot do estado atual de dev). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,497 @@
|
||||
# CRM ORTODONTIA + TUTORIA ORTODÔNTICA
|
||||
|
||||
---
|
||||
|
||||
# LISTA DE TAREFAS
|
||||
|
||||
## FASE 1 — Documentação Fotográfica (armazenamento local)
|
||||
|
||||
### Backend
|
||||
- [x] Tabelas orto_photo_session, orto_photo, orto_photo_annotation no PostgreSQL
|
||||
- [x] multer configurado — upload local em /app/media/orto-fotos/
|
||||
- [x] express.static servindo /app/media em /media
|
||||
- [x] POST /api/orto/:tratamentoId/sessoes — criar/buscar sessão por tipo
|
||||
- [x] GET /api/orto/:tratamentoId/sessoes — listar sessões com fotos
|
||||
- [x] POST /api/orto/sessoes/:sessaoId/fotos — upload de foto para slot
|
||||
- [x] DELETE /api/orto/fotos/:fotoId — excluir foto
|
||||
- [x] GET /api/orto/:tratamentoId/completude — % de documentação preenchida
|
||||
|
||||
### Frontend
|
||||
- [x] OrthoPhotoWorkspace — substitui PhotoCompare placeholder
|
||||
- [x] Tabs de sessão (Inicial / 3m / 6m / 12m / Finalização / Pós-contenção)
|
||||
- [x] Grid de 15 slots (5 extraoral + 5 intraoral + 5 complementar)
|
||||
- [x] Upload por clique no slot (file input)
|
||||
- [x] Visualizador de foto (modal fullscreen)
|
||||
- [x] Exclusão de foto com confirmação
|
||||
- [x] Indicador de completude (%)
|
||||
- [x] Comparador lado a lado (selecionar 2 slots e comparar)
|
||||
- [x] backend.ts — métodos getOrtoSessoes, uploadOrtoFoto, deleteOrtoFoto, getOrtoCompletude
|
||||
|
||||
## FASE 2 — Tutoria Integrada
|
||||
- [x] Tabelas ortho_tutor_profile, ortho_tutoring_request, ortho_tutoring_message, ortho_tutoring_photo_package
|
||||
- [x] Botão "Solicitar Tutoria" no painel do paciente (TutoriaSection.tsx)
|
||||
- [x] Lista de tutores disponíveis com SLA e preço
|
||||
- [x] Formulário de solicitação (escolha tutor, tipo, descrição)
|
||||
- [x] Pacote automático gerado (todas as fotos do tratamento incluídas)
|
||||
- [x] Chat inline por caso (CLINICA ↔ TUTOR)
|
||||
- [x] Painel do tutor — receber, responder, fechar (TutorPainelView.tsx)
|
||||
- [x] Status tracking: AGUARDANDO → EM_ANALISE → RESPONDIDO → FECHADO
|
||||
- [x] Menu "PAINEL TUTOR" no Sidebar
|
||||
- [x] Rota /tutoria-painel no App.tsx
|
||||
|
||||
## FASE 3 — Planejamento Visual e PDFs
|
||||
- [x] Marcações clínicas nas fotos — PhotoAnnotator.tsx (SVG overlay)
|
||||
- Ferramentas: Seta, Linha, Círculo, Retângulo, Texto, Caneta livre
|
||||
- Cores (6) + espessura (P/M/G) + desfazer + limpar
|
||||
- Anotações persistidas no banco (orto_photo_annotation)
|
||||
- Botão ANOTAR no viewer de fotos
|
||||
- [x] PDF — Documentação fotográfica (grade 15 slots + fotos base64)
|
||||
- [x] PDF — Evolução ortodôntica (timeline cronológico)
|
||||
- [x] PDF — Caso clínico para tutoria (triagem + diagnóstico + fotos)
|
||||
- [x] jsPDF instalado (client-side, sem servidor)
|
||||
- [x] OrthoReports.tsx integrado no OrthoDetailPanel
|
||||
- [ ] Planejamento visual (vetores de movimentação) — Fase 4
|
||||
- [ ] Tutor anota diretamente no painel de tutoria — próximo passo
|
||||
|
||||
## MARKETPLACE DE TUTORES (GLOBAL)
|
||||
- [x] Fluxo de candidatura self-service para dentistas (TutorCandidaturaView)
|
||||
- [x] Formulário acadêmico em 3 passos (dados pessoais / formação / perfil público)
|
||||
- [x] Status tracking: PENDENTE → AGUARDANDO_PAGAMENTO → ATIVO / REJEITADO
|
||||
- [x] Painel admin de gestão (AdminGestaoTutoresView) — 3 abas: Candidaturas / Ativos / Configurações
|
||||
- [x] Aprovação/rejeição com campo de observação
|
||||
- [x] Configuração de taxa de inscrição + chave PIX fallback
|
||||
- [x] Integração MercadoPago — pagamento único (PIX / cartão / boleto)
|
||||
- [x] Webhook automático — ativa perfil ao detectar pagamento aprovado
|
||||
- [x] Confirmação manual de pagamento pelo admin (fallback)
|
||||
- [x] Tutor global — disponível para TODAS as clínicas do sistema
|
||||
- [x] Criação automática de ortho_tutor_profile após ativação
|
||||
- [x] Tabelas: tutor_candidatura, tutor_config, tutor_pagamento
|
||||
- [x] Sidebar: "SER TUTOR ORTO" (dentistas) + "GESTÃO TUTORES" (admin)
|
||||
|
||||
## FASE 4 — Marketplace e IA
|
||||
- [ ] Marketplace público de tutores
|
||||
- [ ] Sistema de pagamento
|
||||
- [ ] IA clínica (sugestão de diagnóstico, sequência de fios)
|
||||
- [ ] Rede colaborativa entre clínicas
|
||||
- [ ] App mobile para registro fotográfico
|
||||
|
||||
## MIGRAÇÃO STORAGE
|
||||
- [ ] Substituir multer local por Wasabi S3
|
||||
- [ ] Manter URLs compatíveis (alterar apenas o driver de storage)
|
||||
- [ ] Migração das fotos existentes para o Wasabi
|
||||
|
||||
---
|
||||
|
||||
## Visão Estratégica
|
||||
|
||||
Projeto de CRM Ortodôntico integrado com Marketplace de Tutoria Ortodôntica, Documentação Fotográfica, Planejamento Clínico e Colaboração entre Profissionais.
|
||||
|
||||
---
|
||||
|
||||
# MÓDULO CRM ORTODONTIA
|
||||
|
||||
## Componentes Principais
|
||||
|
||||
- PatientHeader
|
||||
- ClinicalTriage
|
||||
- Diagnosis
|
||||
- TreatmentPlan
|
||||
- Timeline
|
||||
- NewEvolution
|
||||
- PhotoCompare
|
||||
- ContencaoTermo
|
||||
- ClinicalRequests
|
||||
- MaintenanceReport
|
||||
- Finalization
|
||||
|
||||
## Fluxo do Tratamento
|
||||
|
||||
Triagem → Diagnóstico → Planejamento → Evoluções → Controle Fotográfico → Relatórios → Finalização → Contenção
|
||||
|
||||
---
|
||||
|
||||
# MÓDULO DE TUTORIA ORTODÔNTICA
|
||||
|
||||
## Objetivo
|
||||
|
||||
Permitir que ortodontistas experientes ofereçam:
|
||||
|
||||
- Segunda opinião
|
||||
- Planejamento ortodôntico
|
||||
- Mentoria clínica
|
||||
- Discussão de casos
|
||||
- Encaminhamento de pacientes
|
||||
|
||||
## Perfis
|
||||
|
||||
### Tutor Ortodôntico
|
||||
|
||||
- Publicar portfólio
|
||||
- Receber solicitações
|
||||
- Definir preços
|
||||
- Definir SLA
|
||||
- Receber pagamentos
|
||||
|
||||
### Solicitante
|
||||
|
||||
- Enviar casos
|
||||
- Escolher tutor
|
||||
- Acompanhar status
|
||||
- Receber pareceres
|
||||
|
||||
---
|
||||
|
||||
# INTEGRAÇÃO DA TUTORIA AO CRM
|
||||
|
||||
A tutoria não será um sistema isolado.
|
||||
|
||||
Será incorporada ao painel do paciente:
|
||||
|
||||
Paciente
|
||||
├── Triagem
|
||||
├── Diagnóstico
|
||||
├── Plano
|
||||
├── Evoluções
|
||||
├── Fotografias
|
||||
├── Tutoria Ortodôntica
|
||||
├── Relatórios
|
||||
└── Finalização
|
||||
|
||||
## Solicitar Tutoria
|
||||
|
||||
Botão:
|
||||
|
||||
[ Solicitar Tutoria ]
|
||||
|
||||
### Tipos
|
||||
|
||||
- Segunda opinião
|
||||
- Planejamento completo
|
||||
- Discussão de caso
|
||||
- Alinhadores
|
||||
- Orto-cirúrgico
|
||||
- Encaminhamento
|
||||
|
||||
---
|
||||
|
||||
# PACOTE AUTOMÁTICO PARA O TUTOR
|
||||
|
||||
Ao solicitar uma tutoria o sistema gera automaticamente:
|
||||
|
||||
## Dados Clínicos
|
||||
|
||||
- Triagem
|
||||
- Diagnóstico
|
||||
- Planejamento
|
||||
- Evoluções
|
||||
|
||||
## Dados Ortodônticos
|
||||
|
||||
- Classe de Angle
|
||||
- Fio atual
|
||||
- Cooperação
|
||||
- Status do tratamento
|
||||
|
||||
## Arquivos
|
||||
|
||||
- Fotografias
|
||||
- Radiografias
|
||||
- Tomografias
|
||||
- STL
|
||||
- PDFs
|
||||
|
||||
---
|
||||
|
||||
# MÓDULO DE DOCUMENTAÇÃO FOTOGRÁFICA
|
||||
|
||||
## Objetivo
|
||||
|
||||
Transformar as fotografias em uma documentação ortodôntica completa.
|
||||
|
||||
---
|
||||
|
||||
# WORKSPACE FOTOGRÁFICO
|
||||
|
||||
Novo módulo:
|
||||
|
||||
OrthoPhotoWorkspace
|
||||
|
||||
Recursos:
|
||||
|
||||
- Upload
|
||||
- Organização
|
||||
- Comparação
|
||||
- Anotações
|
||||
- Compartilhamento
|
||||
- Exportação
|
||||
|
||||
---
|
||||
|
||||
# SESSÕES FOTOGRÁFICAS
|
||||
|
||||
Cada paciente pode possuir:
|
||||
|
||||
- Inicial
|
||||
- Controle 3 meses
|
||||
- Controle 6 meses
|
||||
- Controle 12 meses
|
||||
- Finalização
|
||||
- Pós contenção
|
||||
|
||||
---
|
||||
|
||||
# TEMPLATE ORTODÔNTICO PADRÃO
|
||||
|
||||
## Extraoral
|
||||
|
||||
- Frontal sorrindo
|
||||
- Frontal repouso
|
||||
- Perfil direito
|
||||
- Perfil esquerdo
|
||||
- Perfil sorrindo
|
||||
|
||||
## Intraoral
|
||||
|
||||
- Frontal oclusão
|
||||
- Lateral direita
|
||||
- Lateral esquerda
|
||||
- Oclusal superior
|
||||
- Oclusal inferior
|
||||
|
||||
## Complementares
|
||||
|
||||
- Linha média
|
||||
- Overjet
|
||||
- Overbite
|
||||
- Mordida cruzada
|
||||
- Mordida aberta
|
||||
|
||||
---
|
||||
|
||||
# SISTEMA DE SLOTS
|
||||
|
||||
Cada fotografia ocupa posição específica.
|
||||
|
||||
Garantindo padronização clínica.
|
||||
|
||||
---
|
||||
|
||||
# EDITOR DE IMAGENS
|
||||
|
||||
Ferramentas:
|
||||
|
||||
- Zoom
|
||||
- Crop
|
||||
- Rotação
|
||||
- Contraste
|
||||
- Brilho
|
||||
- Espelhamento
|
||||
|
||||
---
|
||||
|
||||
# MARCAÇÕES CLÍNICAS
|
||||
|
||||
Permitir desenhar diretamente nas imagens.
|
||||
|
||||
Tipos:
|
||||
|
||||
- Seta
|
||||
- Linha
|
||||
- Texto
|
||||
- Círculo
|
||||
- Área destacada
|
||||
|
||||
Exemplos:
|
||||
|
||||
- Linha média desviada
|
||||
- Apinhamento
|
||||
- Torque inadequado
|
||||
- Mordida cruzada
|
||||
|
||||
---
|
||||
|
||||
# COMPARADOR FOTOGRÁFICO
|
||||
|
||||
Modos:
|
||||
|
||||
- Inicial × Atual
|
||||
- Inicial × Final
|
||||
- 6 meses × 12 meses
|
||||
|
||||
Visualizações:
|
||||
|
||||
- Slider
|
||||
- Lado a lado
|
||||
- Sobreposição
|
||||
|
||||
---
|
||||
|
||||
# CHECKLIST DE DOCUMENTAÇÃO
|
||||
|
||||
Validação automática:
|
||||
|
||||
- Frontal
|
||||
- Perfil direito
|
||||
- Perfil esquerdo
|
||||
- Oclusal superior
|
||||
- Oclusal inferior
|
||||
- Oclusão frontal
|
||||
|
||||
Indicador:
|
||||
|
||||
Documentação Completa (%)
|
||||
|
||||
---
|
||||
|
||||
# TUTORIA SOBRE FOTOGRAFIAS
|
||||
|
||||
## Enviar para Tutor
|
||||
|
||||
O sistema envia:
|
||||
|
||||
- Fotos
|
||||
- Diagnóstico
|
||||
- Planejamento
|
||||
- Timeline
|
||||
- Evoluções
|
||||
|
||||
---
|
||||
|
||||
# RESPOSTA DO TUTOR
|
||||
|
||||
Tutor pode:
|
||||
|
||||
- Escrever parecer
|
||||
- Marcar fotografias
|
||||
- Desenhar vetores
|
||||
- Apontar correções
|
||||
- Criar planejamento visual
|
||||
|
||||
---
|
||||
|
||||
# PLANEJAMENTO VISUAL
|
||||
|
||||
Ferramenta Premium.
|
||||
|
||||
Permite:
|
||||
|
||||
- Vetores de movimentação
|
||||
- Correção de linha média
|
||||
- Planejamento de fechamento de espaços
|
||||
- Estratégia de extrações
|
||||
- Planejamento de alinhadores
|
||||
|
||||
---
|
||||
|
||||
# RELATÓRIOS
|
||||
|
||||
## PDF Documentação
|
||||
|
||||
Documentação completa organizada.
|
||||
|
||||
## PDF Evolução
|
||||
|
||||
Comparação cronológica.
|
||||
|
||||
## PDF Tutoria
|
||||
|
||||
- Caso clínico
|
||||
- Fotografias
|
||||
- Comentários
|
||||
- Marcações
|
||||
- Planejamento
|
||||
|
||||
---
|
||||
|
||||
# BANCO DE DADOS
|
||||
|
||||
## ortho_tutor_profile
|
||||
|
||||
Cadastro do tutor.
|
||||
|
||||
## ortho_tutoring_request
|
||||
|
||||
Solicitações de tutoria.
|
||||
|
||||
## ortho_tutoring_message
|
||||
|
||||
Chat do caso.
|
||||
|
||||
## ortho_tutoring_financial
|
||||
|
||||
Controle financeiro.
|
||||
|
||||
## ortho_photo_session
|
||||
|
||||
Sessões fotográficas.
|
||||
|
||||
## ortho_photo
|
||||
|
||||
Fotografias.
|
||||
|
||||
## ortho_photo_annotation
|
||||
|
||||
Marcações sobre imagens.
|
||||
|
||||
## ortho_photo_compare
|
||||
|
||||
Comparações.
|
||||
|
||||
## ortho_tutoring_photo_package
|
||||
|
||||
Pacotes enviados para tutores.
|
||||
|
||||
---
|
||||
|
||||
# ROADMAP
|
||||
|
||||
## Fase 1
|
||||
|
||||
- Persistência das fotos
|
||||
- Sessões fotográficas
|
||||
- Upload real
|
||||
- Comparação
|
||||
|
||||
## Fase 2
|
||||
|
||||
- Tutoria integrada
|
||||
- Chat
|
||||
- Envio de documentação
|
||||
|
||||
## Fase 3
|
||||
|
||||
- Planejamento visual
|
||||
- Marcações do tutor
|
||||
- PDFs avançados
|
||||
|
||||
## Fase 4
|
||||
|
||||
- Marketplace público
|
||||
- IA clínica
|
||||
- Rede colaborativa de ortodontistas
|
||||
|
||||
---
|
||||
|
||||
# DIFERENCIAL
|
||||
|
||||
CRM Ortodontia
|
||||
|
||||
+
|
||||
|
||||
Documentação Fotográfica Profissional
|
||||
|
||||
+
|
||||
|
||||
Tutoria Ortodôntica
|
||||
|
||||
+
|
||||
|
||||
Planejamento Visual
|
||||
|
||||
+
|
||||
|
||||
Marketplace de Especialistas
|
||||
|
||||
+
|
||||
|
||||
Colaboração Entre Clínicas
|
||||
Reference in New Issue
Block a user