 <br>
npm install @ftdata/corePacote interno que fornece a base para aplicações web Fulltrack, incluindo autenticação, internacionalização e configuração global. Contém hooks e tipos reutilizáveis usados em projetos internos.
---
- Shell principal para aplicações web Fulltrack
- Hooks para autenticação, configuração, idioma, permissões, sessão e settings
- Tipos e interfaces para configuração, ambiente, navbar, idiomas, usuário e settings
- Constantes de configuração
- Integração com react-i18next para internacionalização
---
``bash`
pnpm install
pnpm build # ← builda a lib
pnpm dev # ← Observa mudanças e builda em tempo real.
---
O principal export da biblioteca é o AppCore, que funciona como um wrapper central da aplicação, gerenciando autenticação, idioma, configuração, sessão e rotas. Os hooks também estão disponíveis, mas seu uso é opcional.
`ts`
import { AppCore, DEFAULT_CONFIG } from '@ftdata/core';
`ts
import "@ftdata/ui/base.css"; // ← consulte a doc @ftdata/ui
import { AppCore, DEFAULT_CONFIG } from '@ftdata/core';
import httpInstance from './libs/http'; // ← consulte a doc @ftdata/http
import Welcome from './pages/Welcome';
import Settings from './pages/Settings';
import Report from './pages/Report';
const ROUTES = [
{ path: '/', element:
{ path: '/settings', element:
{ path: '/reports', element:
];
function App() {
return (
);
}
export default App;
`
---
As informações que você precisa fornecer ao AppCore podem ser resumidas em tópicos:
- module: nome do módulo da aplicação. Serve para identificar o módulo nas configurações internas. (opcional)
- namespace: número usado para requisições de traduções. Por padrão, é '114'. (opcional)
- navbar: configurações do que aparece na barra de navegação, permitindo customizar a interface principal. (opcional)changeCompanies
- : habilita a opção de trocar de empresa no sistema.attendance
- : habilita a exibição do painel de ponto/frequência.alerts
- : habilita notificações de alertas no navbar.notifications
- : habilita notificações gerais.breadcrumb
- : exibe ou oculta o breadcrumb da navegação.wiki
- : habilita link ou acesso ao wiki interno.
- environment: configuração do ambiente da aplicação. (obrigatório)S3_URL
- : URL do bucket S3 para armazenamento e recursos.
- httpInstance: instância do @ftdata/http usada para chamadas HTTP. (obrigatório)
- routes: array de rotas da aplicação, cada uma com path e element. Define a navegação do app. (opcional)
>
> Observações:
>
> - A maioria das configurações podem ser herdadas do DEFAULT_CONFIG, mas são totalmente customizáveis.AppCore
>
> - já gerencia todo o fluxo da aplicação, então o uso de hooks é opcional.
>
>
---
| Nome | Descrição |
| ------------------ | ------------------------------------------------------------------------------------------ |
| useAuth | Gerencia autenticação do usuário, login, logout e dados do usuário autenticado. |useConfiguration
| | Permite acessar e modificar configurações globais da aplicação. |useLanguage
| | Gerencia o idioma da aplicação e integra com o sistema de internacionalização (i18next). |usePermissions
| | Controla permissões e regras de acesso do usuário. |useSession
| | Gerencia informações da sessão atual do usuário. |useSettings
| | Permite acessar e modificar configurações personalizadas do usuário. |useTranslation
| | Hook para internacionalização, baseado no react-i18next. |
---
| Nome | Descrição |
| ---------------- | ------------------------------------------------------------------------------------------ |
| AppCore | Wrapper central da aplicação, gerencia autenticação, idioma, configuração, sessão e rotas. |WithPermission
| | Componente para renderização condicional por permissão. |
---
| Nome | Descrição |
| -------------------- | ---------------------------------------------- |
| IConfig | Interface para configuração global do AppCore. |IEnvironmentConfig
| | Interface para configuração de ambiente. |INavbarConfig
| | Interface para configuração da navbar. |UserType
| | Tipo para dados do usuário. |SettingsType
| | Tipo para configurações personalizadas. |LanguageType
| | Tipo para idiomas suportados. |
---
| Nome | Descrição |
| ---------------- | ------------------------------- |
| DEFAULT_CONFIG | Configuração padrão do AppCore. |
---
>
> Para importar:
>
> `ts``
> import { AppCore, useAuth, IConfig, DEFAULT_CONFIG, ... } from '@ftdata/core';
>
>
>