Skip to content

Instalacao

GitHub Copilot edited this page Aug 15, 2026 · 2 revisions

Instalação e Configuração

Contexto


Pré-requisitos

Dependência Razão
@controleonline/ui-common Utilitários compartilhados, formatters, useStore, API
@controleonline/ui-default Componentes genéricos (tabela, endereço, upload, filtros)
@controleonline/ui-crm Integração de contexto CRM (prospect, pipeline)
@controleonline/ui-layout Layout base do app
React Native + @react-navigation/native Navegação entre telas
react-native-safe-area-context SafeArea para iOS/Android
react-native-vector-icons Ícones (Feather, MaterialIcons, FontAwesome)

Instalação como submódulo (app-community)

O ui-people é consumido como submódulo Git dentro de app-community:

# No repositório app-community
git submodule add https://github.com/ControleOnline/ui-people \
  app-community/modules/controleonline/ui-people

git submodule update --init --recursive

Importação do pacote

// Importar páginas
import Profile   from '@controleonline/ui-people/src/react/pages/Profile';
import People    from '@controleonline/ui-people/src/react/pages/People';
import MyCompaniesPage from '@controleonline/ui-people/src/react/pages/MyCompaniesPage';

// Importar store modules
import peopleStore        from '@controleonline/ui-people/src/store/people';
import peopleDomainsStore from '@controleonline/ui-people/src/store/people_domains';

// Importar rotas
import peopleRoutes from '@controleonline/ui-people/src/react/router/routes';

Registro do store

Os módulos Vuex/Redux devem ser registrados com os nomes canônicos:

store.registerModule('people',         peopleStore);
store.registerModule('people_domains', peopleDomainsStore);
store.registerModule('address',        addressStore);
store.registerModule('documents',      documentsStore);
store.registerModule('phones',         phonesStore);
store.registerModule('emails',         emailsStore);
store.registerModule('people_link',    peopleLinkStore);

Registro de rotas

import peopleRoutes from '@controleonline/ui-people/src/react/router/routes';

// Adicionar ao navigator
const Stack = createStackNavigator();
peopleRoutes.forEach(route => (
  <Stack.Screen
    name={route.name}
    component={route.component}
    options={route.options}
  />
));

Variáveis de ambiente / globais

Global Tipo Descrição
global.t objeto Provider de i18n. Chaves usadas: people.title.*, people.searchPlaceholder.*, people.label.*
localStorage Web API Persiste sessão do usuário (session) com avatar e IDs
app_type string Tipo do app (MANAGER, CRM, POS, etc.) — importado de @appType

Procedimento de atualização

cd app-community/modules/controleonline/ui-people
git pull origin master
cd ../../..
git add modules/controleonline/ui-people
git commit -m "chore: update ui-people submodule"

Clone this wiki locally