VendeeDocs
Frontend

Features

Estrutura features/<domain>/ com domínios do app

O código de domínio vive em src/features/<domain>/, cada um com seus componentes e páginas.

Domínios

src/features/
├── activities/      # ActivitiesPage, ActivityRow, criação/edição/conclusão
├── admin/           # AdminWorkspacesPage (super admin — não visível pro cliente)
├── auth/            # LoginPage, ForgotPasswordPage, ResetPasswordPage, AuthCallback
├── base-clientes/   # BaseClientesPage, 8 abas de análise (Visão Geral → Comparar)
├── contacts/        # ContactsPage, ContactDetailPage
├── companies/       # CompaniesPage, CompanyDetailPage
├── dashboard/       # DashboardPage com 3 abas (TabOverview, TabFunnel, TabProductivity)
│   ├── components/  # HeroNumberCard, KpiMiniCard, PipelineFunnel, RevenueGoalGauge...
│   └── tabs/        # TabOverview.tsx, TabFunnel.tsx, TabProductivity.tsx
├── deals/           # DealsPage (kanban), DealDetailPage (hub)
│   └── components/  # KanbanBoard, KanbanCard, KanbanColumn, DealTimelineComposer...
├── import/          # ImportPage (wizard CSV/XLSX)
├── legal/           # TermsPage, PrivacyPage
├── onboarding/      # OnboardingPage, OnboardingPill, OnboardingDrawer, steps.ts
├── proposals/       # ProposalsListPage, ProposalDetailPage, ProposalPreviewPage
│   ├── components/  # NewProposalDialog, PublishModal, AcceptModal, ProposalTimeline
│   └── templates/   # TemplateRenderer + shared contabil components
├── qualification/   # QualificationLiveDrawer, QualificationReadOnlyDrawer, utils
└── settings/        # SettingsLayout + subpages por rota
    ├── empresa/, equipe/, goals/, segments/, pipelines/, products/
    ├── tipos-negocio/, origens/, atividades/, motivos-perda/
    ├── qualificacao/, campos/, propostas/, perfil/

Convenções

  • Cada feature tem *Page.tsx como componente de página (target de rota)
  • Componentes específicos do domínio ficam em components/ dentro da feature
  • Componentes compartilhados ficam em src/components/shared/
  • UI primitivos ficam em src/components/ui/ (shadcn)

SimpleCrudSettings

Várias páginas de settings seguem o padrão SimpleCRUD — uma lista editável com criar, renomear e ativar/desativar. Domínios que usam esse padrão:

  • Produtos
  • Tipos de Negócio
  • Origens
  • Tipos de Atividade
  • Motivos de Perda

On this page