diff --git a/QUICK-START-GIT-SYNC.md b/QUICK-START-GIT-SYNC.md new file mode 100644 index 0000000..25d30e7 --- /dev/null +++ b/QUICK-START-GIT-SYNC.md @@ -0,0 +1,69 @@ +# 🚀 Guia Rápido - Git Auto-Sync + +## Como Iniciar + +### Opção 1: Via NPM (Recomendado) + +```bash +# Com build automático +npm run git:sync + +# Sem build automático (mais rápido) +npm run git:sync:nobuild +``` + +### Opção 2: Via PowerShell + +```powershell +# Com build automático +.\git-auto-sync.ps1 + +# Sem build automático +$env:BUILD_ENABLED='false'; .\git-auto-sync.ps1 +``` + +## O que acontece? + +1. ✅ O script monitora todas as alterações nos arquivos +2. ✅ Aguarda 10 segundos após a última alteração (debounce) +3. ✅ Executa `npm run build` (se habilitado) +4. ✅ Faz `git add .` +5. ✅ Cria commit com timestamp e contagem de arquivos +6. ✅ Faz `git push origin frontend_React` + +## Exemplo de Uso + +```bash +# 1. Inicie o monitoramento +npm run git:sync + +# 2. Faça suas alterações normalmente no código +# 3. Salve os arquivos +# 4. Aguarde 10 segundos +# 5. O script automaticamente fará commit e push! +``` + +## Para Parar + +Pressione `Ctrl+C` no terminal onde o script está rodando. + +## Dicas + +- 💡 Use `git:sync:nobuild` durante desenvolvimento para commits mais rápidos +- 💡 Use `git:sync` antes de finalizar o dia para garantir build atualizado +- 💡 O script ignora automaticamente `node_modules`, `.git`, `dist`, etc. +- 💡 Múltiplas alterações em 10 segundos são agrupadas em um único commit + +## Configurações + +Edite `git-auto-sync.ps1` para ajustar: + +```powershell +$BRANCH_NAME = "frontend_React" # Branch de destino +$DEBOUNCE_SECONDS = 10 # Tempo de espera +$BUILD_ENABLED = $true # Build automático +``` + +## Documentação Completa + +Veja [GIT-AUTO-SYNC.md](./GIT-AUTO-SYNC.md) para mais detalhes. diff --git a/README.md b/README.md index 641c683..b43160b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # PlatformSistemas + Sistema de gestão integrada desenvolvido em React + TypeScript + Vite. ## 🚀 Repositório diff --git a/git-auto-sync.ps1 b/git-auto-sync.ps1 index 41d91f8..62162a1 100644 --- a/git-auto-sync.ps1 +++ b/git-auto-sync.ps1 @@ -1,49 +1,21 @@ -# ============================================ -# Script de Automação Git para PlatformSistemas +# Git Auto-Sync - PlatformSistemas # Branch: frontend_React -# Remote: https://git.itguys.com.br/itguys_dev/Workspace -# ============================================ -# Este script monitora alterações no projeto e realiza commits/push automáticos. -# Inclui debounce, filtragem inteligente e build automático. -# Configurações +param( + [switch]$NoBuild = $false +) + $BRANCH_NAME = "frontend_React" -$DEBOUNCE_SECONDS = 10 # Aguarda 10 segundos após última alteração antes de commitar -$BUILD_ENABLED = $true # Define se deve executar build antes do commit +$DEBOUNCE_SECONDS = 10 -# Variáveis de controle de debounce -$script:LastChangeTime = Get-Date -$script:PendingChanges = $false -$script:ChangedFiles = @() +$global:LastChangeTime = Get-Date +$global:PendingChanges = $false +$global:ChangedFiles = @() -# Configuração do FileSystemWatcher -$Watcher = New-Object IO.FileSystemWatcher -$Watcher.Path = $PSScriptRoot -$Watcher.Filter = "*.*" -$Watcher.IncludeSubdirectories = $true -$Watcher.EnableRaisingEvents = $true -$Watcher.NotifyFilter = [System.IO.NotifyFilters]::FileName -bor -[System.IO.NotifyFilters]::DirectoryName -bor -[System.IO.NotifyFilters]::LastWrite - -# Função para verificar se o arquivo deve ser ignorado function Test-ShouldIgnoreFile { param([string]$FilePath) - $ignorePatterns = @( - "node_modules", - ".git", - "dist", - ".env", - ".log", - "package-lock.json", - ".tmp", - ".cache", - ".vscode", - ".idea", - "*.swp", - "*~" - ) + $ignorePatterns = @("node_modules", ".git", "dist", ".env", ".log", "package-lock.json", ".tmp", ".cache", ".vscode", ".idea") foreach ($pattern in $ignorePatterns) { if ($FilePath -match [regex]::Escape($pattern)) { @@ -54,49 +26,45 @@ function Test-ShouldIgnoreFile { return $false } -# Função para processar commit e push function Invoke-GitSync { - if (-not $script:PendingChanges) { return } + if (-not $global:PendingChanges) { + return + } Write-Host "`n========================================" -ForegroundColor Cyan - Write-Host "Iniciando sincronização Git..." -ForegroundColor Cyan + Write-Host "Iniciando sincronizacao Git..." -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan try { - # Verifica se há alterações para commitar $gitStatus = git status --porcelain if ([string]::IsNullOrWhiteSpace($gitStatus)) { - Write-Host "Nenhuma alteração para commitar." -ForegroundColor Yellow - $script:PendingChanges = $false - $script:ChangedFiles = @() + Write-Host "Nenhuma alteracao para commitar." -ForegroundColor Yellow + $global:PendingChanges = $false + $global:ChangedFiles = @() return } Write-Host "`nArquivos alterados:" -ForegroundColor Gray - $script:ChangedFiles | ForEach-Object { Write-Host " - $_" -ForegroundColor DarkGray } + $global:ChangedFiles | ForEach-Object { Write-Host " - $_" -ForegroundColor DarkGray } - # Build de produção (se habilitado) - if ($BUILD_ENABLED) { - Write-Host "`nGerando build de produção..." -ForegroundColor Yellow - $buildOutput = npm run build 2>&1 + if (-not $NoBuild) { + Write-Host "`nGerando build de producao..." -ForegroundColor Yellow + npm run build if ($LASTEXITCODE -ne 0) { Write-Host "Erro no build! Abortando commit." -ForegroundColor Red - Write-Host $buildOutput -ForegroundColor Red return } - Write-Host "Build concluído com sucesso!" -ForegroundColor Green + Write-Host "Build concluido com sucesso!" -ForegroundColor Green } - # Git add Write-Host "`nAdicionando arquivos ao stage..." -ForegroundColor Yellow git add . - # Git commit $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" - $fileCount = ($script:ChangedFiles | Measure-Object).Count + $fileCount = ($global:ChangedFiles | Measure-Object).Count $commitMessage = "Auto-deploy: $timestamp | $fileCount arquivo(s) alterado(s)" - if ($BUILD_ENABLED) { + if (-not $NoBuild) { $commitMessage += " [Build included]" } @@ -105,86 +73,91 @@ function Invoke-GitSync { if ($LASTEXITCODE -ne 0) { Write-Host "Nada para commitar ou erro no commit." -ForegroundColor Yellow - $script:PendingChanges = $false - $script:ChangedFiles = @() + $global:PendingChanges = $false + $global:ChangedFiles = @() return } - # Git push - Write-Host "Enviando para o repositório remoto (branch: $BRANCH_NAME)..." -ForegroundColor Yellow + Write-Host "Enviando para o repositorio remoto (branch: $BRANCH_NAME)..." -ForegroundColor Yellow git push origin $BRANCH_NAME if ($LASTEXITCODE -eq 0) { - Write-Host "`n✓ Sincronização concluída com sucesso!" -ForegroundColor Green + Write-Host "`nSincronizacao concluida com sucesso!" -ForegroundColor Green Write-Host "========================================`n" -ForegroundColor Cyan } else { - Write-Host "`n✗ Erro ao fazer push para o repositório remoto!" -ForegroundColor Red + Write-Host "`nErro ao fazer push para o repositorio remoto!" -ForegroundColor Red Write-Host "========================================`n" -ForegroundColor Cyan } - } catch { - Write-Host "`n✗ Erro ao sincronizar com o Git: $_" -ForegroundColor Red + Write-Host "`nErro ao sincronizar com o Git: $_" -ForegroundColor Red Write-Host "========================================`n" -ForegroundColor Cyan } finally { - $script:PendingChanges = $false - $script:ChangedFiles = @() + $global:PendingChanges = $false + $global:ChangedFiles = @() } } -# Action para eventos do FileSystemWatcher +$Watcher = New-Object IO.FileSystemWatcher +$Watcher.Path = $PSScriptRoot +$Watcher.Filter = "*.*" +$Watcher.IncludeSubdirectories = $true +$Watcher.EnableRaisingEvents = $true +$Watcher.NotifyFilter = [System.IO.NotifyFilters]::FileName -bor [System.IO.NotifyFilters]::DirectoryName -bor [System.IO.NotifyFilters]::LastWrite + $Action = { $path = $Event.SourceEventArgs.FullPath $changeType = $Event.SourceEventArgs.ChangeType - # Ignora arquivos/pastas específicos - if (Test-ShouldIgnoreFile -FilePath $path) { return } + if (Test-ShouldIgnoreFile -FilePath $path) { + return + } - # Registra a alteração $relativePath = $path.Replace($PSScriptRoot, "").TrimStart("\") Write-Host "[$(Get-Date -Format 'HH:mm:ss')] $changeType : $relativePath" -ForegroundColor DarkCyan - # Atualiza controle de debounce - $script:LastChangeTime = Get-Date - $script:PendingChanges = $true + $global:LastChangeTime = Get-Date + $global:PendingChanges = $true - if ($script:ChangedFiles -notcontains $relativePath) { - $script:ChangedFiles += $relativePath + if ($global:ChangedFiles -notcontains $relativePath) { + $global:ChangedFiles += $relativePath } } -# Registra os eventos Register-ObjectEvent $Watcher "Changed" -Action $Action | Out-Null Register-ObjectEvent $Watcher "Created" -Action $Action | Out-Null Register-ObjectEvent $Watcher "Deleted" -Action $Action | Out-Null Register-ObjectEvent $Watcher "Renamed" -Action $Action | Out-Null -# Banner inicial -Write-Host "`n" -NoNewline -Write-Host "╔════════════════════════════════════════════════════════════╗" -ForegroundColor Green -Write-Host "║ Git Auto-Sync - PlatformSistemas ║" -ForegroundColor Green -Write-Host "╠════════════════════════════════════════════════════════════╣" -ForegroundColor Green -Write-Host "║ Branch: $BRANCH_NAME ║" -ForegroundColor Cyan -Write-Host "║ Remote: https://git.itguys.com.br/itguys_dev/Workspace ║" -ForegroundColor Cyan -Write-Host "║ Debounce: $DEBOUNCE_SECONDS segundos ║" -ForegroundColor Cyan -Write-Host "║ Build automático: $(if($BUILD_ENABLED){'Habilitado'}else{'Desabilitado'}) ║" -ForegroundColor Cyan -Write-Host "╠════════════════════════════════════════════════════════════╣" -ForegroundColor Green -Write-Host "║ Status: Monitorando alterações... ║" -ForegroundColor Yellow -Write-Host "║ Pressione Ctrl+C para parar ║" -ForegroundColor Yellow -Write-Host "╚════════════════════════════════════════════════════════════╝" -ForegroundColor Green -Write-Host "`n" +Write-Host "`n============================================================" -ForegroundColor Green +Write-Host " Git Auto-Sync - PlatformSistemas" -ForegroundColor Green +Write-Host "============================================================" -ForegroundColor Green +Write-Host " Branch: $BRANCH_NAME" -ForegroundColor Cyan +Write-Host " Remote: https://git.itguys.com.br/itguys_dev/Workspace" -ForegroundColor Cyan +Write-Host " Debounce: $DEBOUNCE_SECONDS segundos" -ForegroundColor Cyan +Write-Host " Build automatico: $(if($NoBuild){'Desabilitado'}else{'Habilitado'})" -ForegroundColor Cyan +Write-Host "============================================================" -ForegroundColor Green +Write-Host " Status: Monitorando alteracoes..." -ForegroundColor Yellow +Write-Host " Pressione Ctrl+C para parar" -ForegroundColor Yellow +Write-Host "============================================================`n" -ForegroundColor Green -# Loop principal com debounce +$lastHeartbeat = Get-Date while ($true) { Start-Sleep -Seconds 1 - if ($script:PendingChanges) { - $timeSinceLastChange = (Get-Date) - $script:LastChangeTime + if ((Get-Date) - $lastHeartbeat -gt (New-TimeSpan -Minutes 5)) { + Write-Host "[$(Get-Date -Format 'HH:mm:ss')] Heartbeat: Script ativo e monitorando..." -ForegroundColor Gray + $lastHeartbeat = Get-Date + } + + if ($global:PendingChanges) { + $timeSinceLastChange = (Get-Date) - $global:LastChangeTime if ($timeSinceLastChange.TotalSeconds -ge $DEBOUNCE_SECONDS) { Invoke-GitSync } } } + diff --git a/package.json b/package.json index 0959fa0..d857497 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint": "eslint .", "preview": "vite preview", "git:sync": "powershell -ExecutionPolicy Bypass -File ./git-auto-sync.ps1", - "git:sync:nobuild": "powershell -ExecutionPolicy Bypass -Command \"$env:BUILD_ENABLED='false'; .\\git-auto-sync.ps1\"" + "git:sync:nobuild": "powershell -ExecutionPolicy Bypass -File ./git-auto-sync.ps1 -NoBuild" }, "dependencies": { "@hookform/resolvers": "^5.2.2", diff --git a/src/App.jsx b/src/App.jsx index 541d966..1a4fb11 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -21,6 +21,7 @@ const PrafrotRoutes = lazy(() => import('@/features/prafrot/routes').then(m => ( const PrafrotLogin = lazy(() => import('@/features/prafrot/views/LoginView')); const TableDebug = lazy(() => import('@/features/prafrot/views/TableDebug')); const PlaygroundView = lazy(() => import('@/features/dev-tools/views/PlaygroundView')); +const WorkspaceLayout = lazy(() => import('@/features/workspace').then(m => ({ default: m.WorkspaceLayout }))); // Loading component const PageLoader = () => ( @@ -110,6 +111,13 @@ function App() { } /> + {/* Workspace Environment - Novo Ambiente Modernizado */} + + + + } /> + {/* Fallback */} } /> diff --git a/src/assets/Font/Lato/Lato-Black.ttf b/src/assets/Font/Lato/Lato-Black.ttf new file mode 100644 index 0000000..4340502 Binary files /dev/null and b/src/assets/Font/Lato/Lato-Black.ttf differ diff --git a/src/assets/Font/Lato/Lato-BlackItalic.ttf b/src/assets/Font/Lato/Lato-BlackItalic.ttf new file mode 100644 index 0000000..4df1555 Binary files /dev/null and b/src/assets/Font/Lato/Lato-BlackItalic.ttf differ diff --git a/src/assets/Font/Lato/Lato-Bold.ttf b/src/assets/Font/Lato/Lato-Bold.ttf new file mode 100644 index 0000000..016068b Binary files /dev/null and b/src/assets/Font/Lato/Lato-Bold.ttf differ diff --git a/src/assets/Font/Lato/Lato-BoldItalic.ttf b/src/assets/Font/Lato/Lato-BoldItalic.ttf new file mode 100644 index 0000000..a05d503 Binary files /dev/null and b/src/assets/Font/Lato/Lato-BoldItalic.ttf differ diff --git a/src/assets/Font/Lato/Lato-Italic.ttf b/src/assets/Font/Lato/Lato-Italic.ttf new file mode 100644 index 0000000..0d0f69e Binary files /dev/null and b/src/assets/Font/Lato/Lato-Italic.ttf differ diff --git a/src/assets/Font/Lato/Lato-Light.ttf b/src/assets/Font/Lato/Lato-Light.ttf new file mode 100644 index 0000000..dfa72ce Binary files /dev/null and b/src/assets/Font/Lato/Lato-Light.ttf differ diff --git a/src/assets/Font/Lato/Lato-LightItalic.ttf b/src/assets/Font/Lato/Lato-LightItalic.ttf new file mode 100644 index 0000000..12f2b6c Binary files /dev/null and b/src/assets/Font/Lato/Lato-LightItalic.ttf differ diff --git a/src/assets/Font/Lato/Lato-Regular.ttf b/src/assets/Font/Lato/Lato-Regular.ttf new file mode 100644 index 0000000..bb2e887 Binary files /dev/null and b/src/assets/Font/Lato/Lato-Regular.ttf differ diff --git a/src/assets/Font/Lato/Lato-Thin.ttf b/src/assets/Font/Lato/Lato-Thin.ttf new file mode 100644 index 0000000..ba58da1 Binary files /dev/null and b/src/assets/Font/Lato/Lato-Thin.ttf differ diff --git a/src/assets/Font/Lato/Lato-ThinItalic.ttf b/src/assets/Font/Lato/Lato-ThinItalic.ttf new file mode 100644 index 0000000..4d82766 Binary files /dev/null and b/src/assets/Font/Lato/Lato-ThinItalic.ttf differ diff --git a/src/assets/Font/Lato/OFL.txt b/src/assets/Font/Lato/OFL.txt new file mode 100644 index 0000000..cb1d5af --- /dev/null +++ b/src/assets/Font/Lato/OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/assets/Font/MADE Evolve Sans Bold (PERSONAL USE).otf b/src/assets/Font/MADE Evolve Sans Bold (PERSONAL USE).otf new file mode 100644 index 0000000..a4570af Binary files /dev/null and b/src/assets/Font/MADE Evolve Sans Bold (PERSONAL USE).otf differ diff --git a/src/assets/Font/venus rising rg.otf b/src/assets/Font/venus rising rg.otf new file mode 100644 index 0000000..af46def Binary files /dev/null and b/src/assets/Font/venus rising rg.otf differ diff --git a/src/assets/Font/zekton rg.otf b/src/assets/Font/zekton rg.otf new file mode 100644 index 0000000..0e53479 Binary files /dev/null and b/src/assets/Font/zekton rg.otf differ diff --git a/src/assets/Img/Icon/Centro-de-Cura.png b/src/assets/Img/Icon/Centro-de-Cura.png new file mode 100644 index 0000000..18659fd Binary files /dev/null and b/src/assets/Img/Icon/Centro-de-Cura.png differ diff --git a/src/assets/Img/Icon/Down.png b/src/assets/Img/Icon/Down.png new file mode 100644 index 0000000..a49f7e6 Binary files /dev/null and b/src/assets/Img/Icon/Down.png differ diff --git a/src/assets/Img/Icon/Icon_User.png b/src/assets/Img/Icon/Icon_User.png new file mode 100644 index 0000000..f2bbf29 Binary files /dev/null and b/src/assets/Img/Icon/Icon_User.png differ diff --git a/src/assets/Img/Icon/Interagir-4.png b/src/assets/Img/Icon/Interagir-4.png new file mode 100644 index 0000000..8d439a1 Binary files /dev/null and b/src/assets/Img/Icon/Interagir-4.png differ diff --git a/src/assets/Img/Icon/User 1.png b/src/assets/Img/Icon/User 1.png new file mode 100644 index 0000000..1bb74f6 Binary files /dev/null and b/src/assets/Img/Icon/User 1.png differ diff --git a/src/assets/Img/Icon/Zammad_logo.png b/src/assets/Img/Icon/Zammad_logo.png new file mode 100644 index 0000000..fcbc1fd Binary files /dev/null and b/src/assets/Img/Icon/Zammad_logo.png differ diff --git a/src/assets/Img/Icon/Zammad_logo_Dupla.png b/src/assets/Img/Icon/Zammad_logo_Dupla.png new file mode 100644 index 0000000..74a763c Binary files /dev/null and b/src/assets/Img/Icon/Zammad_logo_Dupla.png differ diff --git a/src/assets/Img/Icon/abra-o-livro - Copia.png b/src/assets/Img/Icon/abra-o-livro - Copia.png new file mode 100644 index 0000000..7fe0c66 Binary files /dev/null and b/src/assets/Img/Icon/abra-o-livro - Copia.png differ diff --git a/src/assets/Img/Icon/abra-o-livro copiar.png b/src/assets/Img/Icon/abra-o-livro copiar.png new file mode 100644 index 0000000..7fdb9de Binary files /dev/null and b/src/assets/Img/Icon/abra-o-livro copiar.png differ diff --git a/src/assets/Img/Icon/abra-o-livro.png b/src/assets/Img/Icon/abra-o-livro.png new file mode 100644 index 0000000..cbe3cf9 Binary files /dev/null and b/src/assets/Img/Icon/abra-o-livro.png differ diff --git a/src/assets/Img/Icon/accounting.png b/src/assets/Img/Icon/accounting.png new file mode 100644 index 0000000..f5f156a Binary files /dev/null and b/src/assets/Img/Icon/accounting.png differ diff --git a/src/assets/Img/Icon/add_group.png b/src/assets/Img/Icon/add_group.png new file mode 100644 index 0000000..9cd51d9 Binary files /dev/null and b/src/assets/Img/Icon/add_group.png differ diff --git a/src/assets/Img/Icon/agenda (1).png b/src/assets/Img/Icon/agenda (1).png new file mode 100644 index 0000000..1dbd331 Binary files /dev/null and b/src/assets/Img/Icon/agenda (1).png differ diff --git a/src/assets/Img/Icon/agenda.png b/src/assets/Img/Icon/agenda.png new file mode 100644 index 0000000..2dfeba3 Binary files /dev/null and b/src/assets/Img/Icon/agenda.png differ diff --git a/src/assets/Img/Icon/backup.png b/src/assets/Img/Icon/backup.png new file mode 100644 index 0000000..f6a962f Binary files /dev/null and b/src/assets/Img/Icon/backup.png differ diff --git a/src/assets/Img/Icon/book.png b/src/assets/Img/Icon/book.png new file mode 100644 index 0000000..923a7e4 Binary files /dev/null and b/src/assets/Img/Icon/book.png differ diff --git a/src/assets/Img/Icon/budget.png b/src/assets/Img/Icon/budget.png new file mode 100644 index 0000000..9960265 Binary files /dev/null and b/src/assets/Img/Icon/budget.png differ diff --git a/src/assets/Img/Icon/caixa-de-ferramentas - Copia.png b/src/assets/Img/Icon/caixa-de-ferramentas - Copia.png new file mode 100644 index 0000000..38b6dd3 Binary files /dev/null and b/src/assets/Img/Icon/caixa-de-ferramentas - Copia.png differ diff --git a/src/assets/Img/Icon/caixa-de-ferramentas.png b/src/assets/Img/Icon/caixa-de-ferramentas.png new file mode 100644 index 0000000..18814f3 Binary files /dev/null and b/src/assets/Img/Icon/caixa-de-ferramentas.png differ diff --git a/src/assets/Img/Icon/calendar.png b/src/assets/Img/Icon/calendar.png new file mode 100644 index 0000000..4942707 Binary files /dev/null and b/src/assets/Img/Icon/calendar.png differ diff --git a/src/assets/Img/Icon/camera.png b/src/assets/Img/Icon/camera.png new file mode 100644 index 0000000..cd4160c Binary files /dev/null and b/src/assets/Img/Icon/camera.png differ diff --git a/src/assets/Img/Icon/car.gif b/src/assets/Img/Icon/car.gif new file mode 100644 index 0000000..cdee890 Binary files /dev/null and b/src/assets/Img/Icon/car.gif differ diff --git a/src/assets/Img/Icon/cash-register.png b/src/assets/Img/Icon/cash-register.png new file mode 100644 index 0000000..48788ee Binary files /dev/null and b/src/assets/Img/Icon/cash-register.png differ diff --git a/src/assets/Img/Icon/central-de-atendimento - Copia.png b/src/assets/Img/Icon/central-de-atendimento - Copia.png new file mode 100644 index 0000000..bd8f104 Binary files /dev/null and b/src/assets/Img/Icon/central-de-atendimento - Copia.png differ diff --git a/src/assets/Img/Icon/central-de-atendimento.png b/src/assets/Img/Icon/central-de-atendimento.png new file mode 100644 index 0000000..42403a0 Binary files /dev/null and b/src/assets/Img/Icon/central-de-atendimento.png differ diff --git a/src/assets/Img/Icon/central-de-atendimento_Dupla.png b/src/assets/Img/Icon/central-de-atendimento_Dupla.png new file mode 100644 index 0000000..b98f6d4 Binary files /dev/null and b/src/assets/Img/Icon/central-de-atendimento_Dupla.png differ diff --git a/src/assets/Img/Icon/challenge.png b/src/assets/Img/Icon/challenge.png new file mode 100644 index 0000000..06c092d Binary files /dev/null and b/src/assets/Img/Icon/challenge.png differ diff --git a/src/assets/Img/Icon/chamada-telefonica (1) - Copia.png b/src/assets/Img/Icon/chamada-telefonica (1) - Copia.png new file mode 100644 index 0000000..1dc54a6 Binary files /dev/null and b/src/assets/Img/Icon/chamada-telefonica (1) - Copia.png differ diff --git a/src/assets/Img/Icon/chamada-telefonica (1).png b/src/assets/Img/Icon/chamada-telefonica (1).png new file mode 100644 index 0000000..65f29da Binary files /dev/null and b/src/assets/Img/Icon/chamada-telefonica (1).png differ diff --git a/src/assets/Img/Icon/chamada-telefonica - Copia.png b/src/assets/Img/Icon/chamada-telefonica - Copia.png new file mode 100644 index 0000000..6956dca Binary files /dev/null and b/src/assets/Img/Icon/chamada-telefonica - Copia.png differ diff --git a/src/assets/Img/Icon/chamada-telefonica.png b/src/assets/Img/Icon/chamada-telefonica.png new file mode 100644 index 0000000..611e6f5 Binary files /dev/null and b/src/assets/Img/Icon/chamada-telefonica.png differ diff --git a/src/assets/Img/Icon/checked.png b/src/assets/Img/Icon/checked.png new file mode 100644 index 0000000..d1affb6 Binary files /dev/null and b/src/assets/Img/Icon/checked.png differ diff --git a/src/assets/Img/Icon/checklist (1).png b/src/assets/Img/Icon/checklist (1).png new file mode 100644 index 0000000..3a2291b Binary files /dev/null and b/src/assets/Img/Icon/checklist (1).png differ diff --git a/src/assets/Img/Icon/checklist.png b/src/assets/Img/Icon/checklist.png new file mode 100644 index 0000000..2aacd75 Binary files /dev/null and b/src/assets/Img/Icon/checklist.png differ diff --git a/src/assets/Img/Icon/children.png b/src/assets/Img/Icon/children.png new file mode 100644 index 0000000..42df861 Binary files /dev/null and b/src/assets/Img/Icon/children.png differ diff --git a/src/assets/Img/Icon/church (1).png b/src/assets/Img/Icon/church (1).png new file mode 100644 index 0000000..27efed9 Binary files /dev/null and b/src/assets/Img/Icon/church (1).png differ diff --git a/src/assets/Img/Icon/church.png b/src/assets/Img/Icon/church.png new file mode 100644 index 0000000..96c9a75 Binary files /dev/null and b/src/assets/Img/Icon/church.png differ diff --git a/src/assets/Img/Icon/departament.png b/src/assets/Img/Icon/departament.png new file mode 100644 index 0000000..2abe01e Binary files /dev/null and b/src/assets/Img/Icon/departament.png differ diff --git a/src/assets/Img/Icon/document.png b/src/assets/Img/Icon/document.png new file mode 100644 index 0000000..f5f4046 Binary files /dev/null and b/src/assets/Img/Icon/document.png differ diff --git a/src/assets/Img/Icon/down-arrow.png b/src/assets/Img/Icon/down-arrow.png new file mode 100644 index 0000000..8e00f47 Binary files /dev/null and b/src/assets/Img/Icon/down-arrow.png differ diff --git a/src/assets/Img/Icon/download.png b/src/assets/Img/Icon/download.png new file mode 100644 index 0000000..b4dfdd8 Binary files /dev/null and b/src/assets/Img/Icon/download.png differ diff --git a/src/assets/Img/Icon/driver-license.png b/src/assets/Img/Icon/driver-license.png new file mode 100644 index 0000000..35a7073 Binary files /dev/null and b/src/assets/Img/Icon/driver-license.png differ diff --git a/src/assets/Img/Icon/editar.png b/src/assets/Img/Icon/editar.png new file mode 100644 index 0000000..72dbf2c Binary files /dev/null and b/src/assets/Img/Icon/editar.png differ diff --git a/src/assets/Img/Icon/email.png b/src/assets/Img/Icon/email.png new file mode 100644 index 0000000..983e66e Binary files /dev/null and b/src/assets/Img/Icon/email.png differ diff --git a/src/assets/Img/Icon/engrenagem - Copia.png b/src/assets/Img/Icon/engrenagem - Copia.png new file mode 100644 index 0000000..5b7e367 Binary files /dev/null and b/src/assets/Img/Icon/engrenagem - Copia.png differ diff --git a/src/assets/Img/Icon/engrenagem - Line - Copia.png b/src/assets/Img/Icon/engrenagem - Line - Copia.png new file mode 100644 index 0000000..1ad7673 Binary files /dev/null and b/src/assets/Img/Icon/engrenagem - Line - Copia.png differ diff --git a/src/assets/Img/Icon/engrenagem - Line.png b/src/assets/Img/Icon/engrenagem - Line.png new file mode 100644 index 0000000..1ad7673 Binary files /dev/null and b/src/assets/Img/Icon/engrenagem - Line.png differ diff --git a/src/assets/Img/Icon/engrenagem.png b/src/assets/Img/Icon/engrenagem.png new file mode 100644 index 0000000..21ea14f Binary files /dev/null and b/src/assets/Img/Icon/engrenagem.png differ diff --git a/src/assets/Img/Icon/engrenagem_1.png b/src/assets/Img/Icon/engrenagem_1.png new file mode 100644 index 0000000..71b628b Binary files /dev/null and b/src/assets/Img/Icon/engrenagem_1.png differ diff --git a/src/assets/Img/Icon/engrenagem_2.png b/src/assets/Img/Icon/engrenagem_2.png new file mode 100644 index 0000000..b099ce2 Binary files /dev/null and b/src/assets/Img/Icon/engrenagem_2.png differ diff --git a/src/assets/Img/Icon/envelope.png b/src/assets/Img/Icon/envelope.png new file mode 100644 index 0000000..a87f57d Binary files /dev/null and b/src/assets/Img/Icon/envelope.png differ diff --git a/src/assets/Img/Icon/event (1).png b/src/assets/Img/Icon/event (1).png new file mode 100644 index 0000000..9cc77ee Binary files /dev/null and b/src/assets/Img/Icon/event (1).png differ diff --git a/src/assets/Img/Icon/event.png b/src/assets/Img/Icon/event.png new file mode 100644 index 0000000..86d90f4 Binary files /dev/null and b/src/assets/Img/Icon/event.png differ diff --git a/src/assets/Img/Icon/events.png b/src/assets/Img/Icon/events.png new file mode 100644 index 0000000..c36aec8 Binary files /dev/null and b/src/assets/Img/Icon/events.png differ diff --git a/src/assets/Img/Icon/exportar.png b/src/assets/Img/Icon/exportar.png new file mode 100644 index 0000000..449dfcc Binary files /dev/null and b/src/assets/Img/Icon/exportar.png differ diff --git a/src/assets/Img/Icon/facebook - Copia.png b/src/assets/Img/Icon/facebook - Copia.png new file mode 100644 index 0000000..e2713bd Binary files /dev/null and b/src/assets/Img/Icon/facebook - Copia.png differ diff --git a/src/assets/Img/Icon/facebook.png b/src/assets/Img/Icon/facebook.png new file mode 100644 index 0000000..4666ce0 Binary files /dev/null and b/src/assets/Img/Icon/facebook.png differ diff --git a/src/assets/Img/Icon/ferramentas - Copia.png b/src/assets/Img/Icon/ferramentas - Copia.png new file mode 100644 index 0000000..e4b6d43 Binary files /dev/null and b/src/assets/Img/Icon/ferramentas - Copia.png differ diff --git a/src/assets/Img/Icon/ferramentas.png b/src/assets/Img/Icon/ferramentas.png new file mode 100644 index 0000000..ac05b0c Binary files /dev/null and b/src/assets/Img/Icon/ferramentas.png differ diff --git a/src/assets/Img/Icon/fire.png b/src/assets/Img/Icon/fire.png new file mode 100644 index 0000000..4c0719d Binary files /dev/null and b/src/assets/Img/Icon/fire.png differ diff --git a/src/assets/Img/Icon/footprints.png b/src/assets/Img/Icon/footprints.png new file mode 100644 index 0000000..9d13503 Binary files /dev/null and b/src/assets/Img/Icon/footprints.png differ diff --git a/src/assets/Img/Icon/grafico-de-pizza.png b/src/assets/Img/Icon/grafico-de-pizza.png new file mode 100644 index 0000000..8fe7179 Binary files /dev/null and b/src/assets/Img/Icon/grafico-de-pizza.png differ diff --git a/src/assets/Img/Icon/group.png b/src/assets/Img/Icon/group.png new file mode 100644 index 0000000..4705703 Binary files /dev/null and b/src/assets/Img/Icon/group.png differ diff --git a/src/assets/Img/Icon/hand-shake.png b/src/assets/Img/Icon/hand-shake.png new file mode 100644 index 0000000..779b55b Binary files /dev/null and b/src/assets/Img/Icon/hand-shake.png differ diff --git a/src/assets/Img/Icon/handshake (1).png b/src/assets/Img/Icon/handshake (1).png new file mode 100644 index 0000000..c857269 Binary files /dev/null and b/src/assets/Img/Icon/handshake (1).png differ diff --git a/src/assets/Img/Icon/handshake.png b/src/assets/Img/Icon/handshake.png new file mode 100644 index 0000000..c857269 Binary files /dev/null and b/src/assets/Img/Icon/handshake.png differ diff --git a/src/assets/Img/Icon/heart.png b/src/assets/Img/Icon/heart.png new file mode 100644 index 0000000..2ac83c8 Binary files /dev/null and b/src/assets/Img/Icon/heart.png differ diff --git a/src/assets/Img/Icon/hide.png b/src/assets/Img/Icon/hide.png new file mode 100644 index 0000000..62dc80a Binary files /dev/null and b/src/assets/Img/Icon/hide.png differ diff --git a/src/assets/Img/Icon/hide_with.png b/src/assets/Img/Icon/hide_with.png new file mode 100644 index 0000000..9bb2156 Binary files /dev/null and b/src/assets/Img/Icon/hide_with.png differ diff --git a/src/assets/Img/Icon/home.png b/src/assets/Img/Icon/home.png new file mode 100644 index 0000000..b3d0ed5 Binary files /dev/null and b/src/assets/Img/Icon/home.png differ diff --git a/src/assets/Img/Icon/hospital.png b/src/assets/Img/Icon/hospital.png new file mode 100644 index 0000000..5004728 Binary files /dev/null and b/src/assets/Img/Icon/hospital.png differ diff --git a/src/assets/Img/Icon/hug.png b/src/assets/Img/Icon/hug.png new file mode 100644 index 0000000..80d4158 Binary files /dev/null and b/src/assets/Img/Icon/hug.png differ diff --git a/src/assets/Img/Icon/instagram - Copia.png b/src/assets/Img/Icon/instagram - Copia.png new file mode 100644 index 0000000..735e38c Binary files /dev/null and b/src/assets/Img/Icon/instagram - Copia.png differ diff --git a/src/assets/Img/Icon/instagram.png b/src/assets/Img/Icon/instagram.png new file mode 100644 index 0000000..40cce4d Binary files /dev/null and b/src/assets/Img/Icon/instagram.png differ diff --git a/src/assets/Img/Icon/left-arrow.png b/src/assets/Img/Icon/left-arrow.png new file mode 100644 index 0000000..9e73c1d Binary files /dev/null and b/src/assets/Img/Icon/left-arrow.png differ diff --git a/src/assets/Img/Icon/lighthouses (1).png b/src/assets/Img/Icon/lighthouses (1).png new file mode 100644 index 0000000..5268a35 Binary files /dev/null and b/src/assets/Img/Icon/lighthouses (1).png differ diff --git a/src/assets/Img/Icon/lighthouses.png b/src/assets/Img/Icon/lighthouses.png new file mode 100644 index 0000000..5015e3a Binary files /dev/null and b/src/assets/Img/Icon/lighthouses.png differ diff --git a/src/assets/Img/Icon/linkedin - Copia.png b/src/assets/Img/Icon/linkedin - Copia.png new file mode 100644 index 0000000..39f141b Binary files /dev/null and b/src/assets/Img/Icon/linkedin - Copia.png differ diff --git a/src/assets/Img/Icon/linkedin.png b/src/assets/Img/Icon/linkedin.png new file mode 100644 index 0000000..b08be31 Binary files /dev/null and b/src/assets/Img/Icon/linkedin.png differ diff --git a/src/assets/Img/Icon/list copiar.png b/src/assets/Img/Icon/list copiar.png new file mode 100644 index 0000000..aa3aebd Binary files /dev/null and b/src/assets/Img/Icon/list copiar.png differ diff --git a/src/assets/Img/Icon/list.png b/src/assets/Img/Icon/list.png new file mode 100644 index 0000000..df2ed01 Binary files /dev/null and b/src/assets/Img/Icon/list.png differ diff --git a/src/assets/Img/Icon/localizacao.png b/src/assets/Img/Icon/localizacao.png new file mode 100644 index 0000000..3eb72d2 Binary files /dev/null and b/src/assets/Img/Icon/localizacao.png differ diff --git a/src/assets/Img/Icon/logo_verbo.png b/src/assets/Img/Icon/logo_verbo.png new file mode 100644 index 0000000..12fda7b Binary files /dev/null and b/src/assets/Img/Icon/logo_verbo.png differ diff --git a/src/assets/Img/Icon/lupa.png b/src/assets/Img/Icon/lupa.png new file mode 100644 index 0000000..e10ed83 Binary files /dev/null and b/src/assets/Img/Icon/lupa.png differ diff --git a/src/assets/Img/Icon/lupa_branca.png b/src/assets/Img/Icon/lupa_branca.png new file mode 100644 index 0000000..482d888 Binary files /dev/null and b/src/assets/Img/Icon/lupa_branca.png differ diff --git a/src/assets/Img/Icon/lupa_preta.png b/src/assets/Img/Icon/lupa_preta.png new file mode 100644 index 0000000..90f3269 Binary files /dev/null and b/src/assets/Img/Icon/lupa_preta.png differ diff --git a/src/assets/Img/Icon/mailbox.png b/src/assets/Img/Icon/mailbox.png new file mode 100644 index 0000000..a08eca1 Binary files /dev/null and b/src/assets/Img/Icon/mailbox.png differ diff --git a/src/assets/Img/Icon/membership.png b/src/assets/Img/Icon/membership.png new file mode 100644 index 0000000..e9f13ec Binary files /dev/null and b/src/assets/Img/Icon/membership.png differ diff --git a/src/assets/Img/Icon/microsoft.png b/src/assets/Img/Icon/microsoft.png new file mode 100644 index 0000000..58e1e96 Binary files /dev/null and b/src/assets/Img/Icon/microsoft.png differ diff --git a/src/assets/Img/Icon/mission.png b/src/assets/Img/Icon/mission.png new file mode 100644 index 0000000..8fcba50 Binary files /dev/null and b/src/assets/Img/Icon/mission.png differ diff --git a/src/assets/Img/Icon/monitor copiar.png b/src/assets/Img/Icon/monitor copiar.png new file mode 100644 index 0000000..14820b2 Binary files /dev/null and b/src/assets/Img/Icon/monitor copiar.png differ diff --git a/src/assets/Img/Icon/monitor.png b/src/assets/Img/Icon/monitor.png new file mode 100644 index 0000000..73b045e Binary files /dev/null and b/src/assets/Img/Icon/monitor.png differ diff --git a/src/assets/Img/Icon/music.png b/src/assets/Img/Icon/music.png new file mode 100644 index 0000000..75df741 Binary files /dev/null and b/src/assets/Img/Icon/music.png differ diff --git a/src/assets/Img/Icon/musical-note.png b/src/assets/Img/Icon/musical-note.png new file mode 100644 index 0000000..5627e2c Binary files /dev/null and b/src/assets/Img/Icon/musical-note.png differ diff --git a/src/assets/Img/Icon/novo-banco-de-dados.png b/src/assets/Img/Icon/novo-banco-de-dados.png new file mode 100644 index 0000000..cc4dbe0 Binary files /dev/null and b/src/assets/Img/Icon/novo-banco-de-dados.png differ diff --git a/src/assets/Img/Icon/nuvem.png b/src/assets/Img/Icon/nuvem.png new file mode 100644 index 0000000..c3fecf3 Binary files /dev/null and b/src/assets/Img/Icon/nuvem.png differ diff --git a/src/assets/Img/Icon/o-email - Copia.png b/src/assets/Img/Icon/o-email - Copia.png new file mode 100644 index 0000000..bec8d49 Binary files /dev/null and b/src/assets/Img/Icon/o-email - Copia.png differ diff --git a/src/assets/Img/Icon/o-email.png b/src/assets/Img/Icon/o-email.png new file mode 100644 index 0000000..6d06b93 Binary files /dev/null and b/src/assets/Img/Icon/o-email.png differ diff --git a/src/assets/Img/Icon/o-email_Dupla.png b/src/assets/Img/Icon/o-email_Dupla.png new file mode 100644 index 0000000..b04b116 Binary files /dev/null and b/src/assets/Img/Icon/o-email_Dupla.png differ diff --git a/src/assets/Img/Icon/options.png b/src/assets/Img/Icon/options.png new file mode 100644 index 0000000..f6971fa Binary files /dev/null and b/src/assets/Img/Icon/options.png differ diff --git a/src/assets/Img/Icon/paint-palette copia.png b/src/assets/Img/Icon/paint-palette copia.png new file mode 100644 index 0000000..3f8bbc2 Binary files /dev/null and b/src/assets/Img/Icon/paint-palette copia.png differ diff --git a/src/assets/Img/Icon/paint-palette.png b/src/assets/Img/Icon/paint-palette.png new file mode 100644 index 0000000..c74cfdc Binary files /dev/null and b/src/assets/Img/Icon/paint-palette.png differ diff --git a/src/assets/Img/Icon/payment-method (1).png b/src/assets/Img/Icon/payment-method (1).png new file mode 100644 index 0000000..4ee145d Binary files /dev/null and b/src/assets/Img/Icon/payment-method (1).png differ diff --git a/src/assets/Img/Icon/people.png b/src/assets/Img/Icon/people.png new file mode 100644 index 0000000..7a78301 Binary files /dev/null and b/src/assets/Img/Icon/people.png differ diff --git a/src/assets/Img/Icon/peoples.png b/src/assets/Img/Icon/peoples.png new file mode 100644 index 0000000..0feda93 Binary files /dev/null and b/src/assets/Img/Icon/peoples.png differ diff --git a/src/assets/Img/Icon/pin-de-localizacao - Copia.png b/src/assets/Img/Icon/pin-de-localizacao - Copia.png new file mode 100644 index 0000000..8dfe6f3 Binary files /dev/null and b/src/assets/Img/Icon/pin-de-localizacao - Copia.png differ diff --git a/src/assets/Img/Icon/pin-de-localizacao.png b/src/assets/Img/Icon/pin-de-localizacao.png new file mode 100644 index 0000000..0fec87f Binary files /dev/null and b/src/assets/Img/Icon/pin-de-localizacao.png differ diff --git a/src/assets/Img/Icon/planning.png b/src/assets/Img/Icon/planning.png new file mode 100644 index 0000000..c83106e Binary files /dev/null and b/src/assets/Img/Icon/planning.png differ diff --git a/src/assets/Img/Icon/plus_branco.png b/src/assets/Img/Icon/plus_branco.png new file mode 100644 index 0000000..5bab375 Binary files /dev/null and b/src/assets/Img/Icon/plus_branco.png differ diff --git a/src/assets/Img/Icon/plus_preto.png b/src/assets/Img/Icon/plus_preto.png new file mode 100644 index 0000000..a04d2fd Binary files /dev/null and b/src/assets/Img/Icon/plus_preto.png differ diff --git a/src/assets/Img/Icon/pray.png b/src/assets/Img/Icon/pray.png new file mode 100644 index 0000000..6065078 Binary files /dev/null and b/src/assets/Img/Icon/pray.png differ diff --git a/src/assets/Img/Icon/previous.png b/src/assets/Img/Icon/previous.png new file mode 100644 index 0000000..da303dc Binary files /dev/null and b/src/assets/Img/Icon/previous.png differ diff --git a/src/assets/Img/Icon/profile-user.png b/src/assets/Img/Icon/profile-user.png new file mode 100644 index 0000000..3bdd46b Binary files /dev/null and b/src/assets/Img/Icon/profile-user.png differ diff --git a/src/assets/Img/Icon/project.png b/src/assets/Img/Icon/project.png new file mode 100644 index 0000000..44f0ef9 Binary files /dev/null and b/src/assets/Img/Icon/project.png differ diff --git a/src/assets/Img/Icon/relatorio.png b/src/assets/Img/Icon/relatorio.png new file mode 100644 index 0000000..785fc23 Binary files /dev/null and b/src/assets/Img/Icon/relatorio.png differ diff --git a/src/assets/Img/Icon/salvation.png b/src/assets/Img/Icon/salvation.png new file mode 100644 index 0000000..ef5adb6 Binary files /dev/null and b/src/assets/Img/Icon/salvation.png differ diff --git a/src/assets/Img/Icon/satelite.png b/src/assets/Img/Icon/satelite.png new file mode 100644 index 0000000..3e5341e Binary files /dev/null and b/src/assets/Img/Icon/satelite.png differ diff --git a/src/assets/Img/Icon/save-money.png b/src/assets/Img/Icon/save-money.png new file mode 100644 index 0000000..85f4140 Binary files /dev/null and b/src/assets/Img/Icon/save-money.png differ diff --git a/src/assets/Img/Icon/server.png b/src/assets/Img/Icon/server.png new file mode 100644 index 0000000..b5e0cc4 Binary files /dev/null and b/src/assets/Img/Icon/server.png differ diff --git a/src/assets/Img/Icon/servidor.png b/src/assets/Img/Icon/servidor.png new file mode 100644 index 0000000..914354a Binary files /dev/null and b/src/assets/Img/Icon/servidor.png differ diff --git a/src/assets/Img/Icon/seta-direita - Copia.png b/src/assets/Img/Icon/seta-direita - Copia.png new file mode 100644 index 0000000..2053673 Binary files /dev/null and b/src/assets/Img/Icon/seta-direita - Copia.png differ diff --git a/src/assets/Img/Icon/seta-direita.png b/src/assets/Img/Icon/seta-direita.png new file mode 100644 index 0000000..e5ca151 Binary files /dev/null and b/src/assets/Img/Icon/seta-direita.png differ diff --git a/src/assets/Img/Icon/seta-direitaCOPIA.png b/src/assets/Img/Icon/seta-direitaCOPIA.png new file mode 100644 index 0000000..aad5dcd Binary files /dev/null and b/src/assets/Img/Icon/seta-direitaCOPIA.png differ diff --git a/src/assets/Img/Icon/seta-esquerda - Copia.png b/src/assets/Img/Icon/seta-esquerda - Copia.png new file mode 100644 index 0000000..f1e702b Binary files /dev/null and b/src/assets/Img/Icon/seta-esquerda - Copia.png differ diff --git a/src/assets/Img/Icon/seta-esquerda - Copia2.png b/src/assets/Img/Icon/seta-esquerda - Copia2.png new file mode 100644 index 0000000..11db4b7 Binary files /dev/null and b/src/assets/Img/Icon/seta-esquerda - Copia2.png differ diff --git a/src/assets/Img/Icon/seta-esquerda.png b/src/assets/Img/Icon/seta-esquerda.png new file mode 100644 index 0000000..9cb81ff Binary files /dev/null and b/src/assets/Img/Icon/seta-esquerda.png differ diff --git a/src/assets/Img/Icon/settings-gears - Copia.png b/src/assets/Img/Icon/settings-gears - Copia.png new file mode 100644 index 0000000..20c74c3 Binary files /dev/null and b/src/assets/Img/Icon/settings-gears - Copia.png differ diff --git a/src/assets/Img/Icon/settings-gears.png b/src/assets/Img/Icon/settings-gears.png new file mode 100644 index 0000000..b8554b6 Binary files /dev/null and b/src/assets/Img/Icon/settings-gears.png differ diff --git a/src/assets/Img/Icon/settings_3.png b/src/assets/Img/Icon/settings_3.png new file mode 100644 index 0000000..68f7347 Binary files /dev/null and b/src/assets/Img/Icon/settings_3.png differ diff --git a/src/assets/Img/Icon/simbolo-de-logout.png b/src/assets/Img/Icon/simbolo-de-logout.png new file mode 100644 index 0000000..17b7146 Binary files /dev/null and b/src/assets/Img/Icon/simbolo-de-logout.png differ diff --git a/src/assets/Img/Icon/sort.png b/src/assets/Img/Icon/sort.png new file mode 100644 index 0000000..fd17981 Binary files /dev/null and b/src/assets/Img/Icon/sort.png differ diff --git a/src/assets/Img/Icon/suporte.png b/src/assets/Img/Icon/suporte.png new file mode 100644 index 0000000..475654a Binary files /dev/null and b/src/assets/Img/Icon/suporte.png differ diff --git a/src/assets/Img/Icon/team.png b/src/assets/Img/Icon/team.png new file mode 100644 index 0000000..09108ce Binary files /dev/null and b/src/assets/Img/Icon/team.png differ diff --git a/src/assets/Img/Icon/technical-support.png b/src/assets/Img/Icon/technical-support.png new file mode 100644 index 0000000..c107299 Binary files /dev/null and b/src/assets/Img/Icon/technical-support.png differ diff --git a/src/assets/Img/Icon/technical-support_Dupla.png b/src/assets/Img/Icon/technical-support_Dupla.png new file mode 100644 index 0000000..34b3c58 Binary files /dev/null and b/src/assets/Img/Icon/technical-support_Dupla.png differ diff --git a/src/assets/Img/Icon/telefone - Copia.png b/src/assets/Img/Icon/telefone - Copia.png new file mode 100644 index 0000000..7adfa41 Binary files /dev/null and b/src/assets/Img/Icon/telefone - Copia.png differ diff --git a/src/assets/Img/Icon/telefone.png b/src/assets/Img/Icon/telefone.png new file mode 100644 index 0000000..389b6b4 Binary files /dev/null and b/src/assets/Img/Icon/telefone.png differ diff --git a/src/assets/Img/Icon/time.png b/src/assets/Img/Icon/time.png new file mode 100644 index 0000000..d9c8492 Binary files /dev/null and b/src/assets/Img/Icon/time.png differ diff --git a/src/assets/Img/Icon/trabalhos copiar.png b/src/assets/Img/Icon/trabalhos copiar.png new file mode 100644 index 0000000..0e47687 Binary files /dev/null and b/src/assets/Img/Icon/trabalhos copiar.png differ diff --git a/src/assets/Img/Icon/trabalhos.png b/src/assets/Img/Icon/trabalhos.png new file mode 100644 index 0000000..5b6f616 Binary files /dev/null and b/src/assets/Img/Icon/trabalhos.png differ diff --git a/src/assets/Img/Icon/training.png b/src/assets/Img/Icon/training.png new file mode 100644 index 0000000..6749429 Binary files /dev/null and b/src/assets/Img/Icon/training.png differ diff --git a/src/assets/Img/Icon/unlock (1).png b/src/assets/Img/Icon/unlock (1).png new file mode 100644 index 0000000..5e37cdd Binary files /dev/null and b/src/assets/Img/Icon/unlock (1).png differ diff --git a/src/assets/Img/Icon/unlock.png b/src/assets/Img/Icon/unlock.png new file mode 100644 index 0000000..38ef075 Binary files /dev/null and b/src/assets/Img/Icon/unlock.png differ diff --git a/src/assets/Img/Icon/upload.png b/src/assets/Img/Icon/upload.png new file mode 100644 index 0000000..bafc569 Binary files /dev/null and b/src/assets/Img/Icon/upload.png differ diff --git a/src/assets/Img/Icon/user.png b/src/assets/Img/Icon/user.png new file mode 100644 index 0000000..afaceb7 Binary files /dev/null and b/src/assets/Img/Icon/user.png differ diff --git a/src/assets/Img/Icon/user_avatar.png b/src/assets/Img/Icon/user_avatar.png new file mode 100644 index 0000000..ac6faab Binary files /dev/null and b/src/assets/Img/Icon/user_avatar.png differ diff --git a/src/assets/Img/Icon/user_vazio_fundo.png b/src/assets/Img/Icon/user_vazio_fundo.png new file mode 100644 index 0000000..2f32992 Binary files /dev/null and b/src/assets/Img/Icon/user_vazio_fundo.png differ diff --git a/src/assets/Img/Icon/video_camera.png b/src/assets/Img/Icon/video_camera.png new file mode 100644 index 0000000..4ea31ea Binary files /dev/null and b/src/assets/Img/Icon/video_camera.png differ diff --git a/src/assets/Img/Icon/view.png b/src/assets/Img/Icon/view.png new file mode 100644 index 0000000..c5b58c0 Binary files /dev/null and b/src/assets/Img/Icon/view.png differ diff --git a/src/assets/Img/Icon/view_with.png b/src/assets/Img/Icon/view_with.png new file mode 100644 index 0000000..a301300 Binary files /dev/null and b/src/assets/Img/Icon/view_with.png differ diff --git a/src/assets/Img/Icon/voip.png b/src/assets/Img/Icon/voip.png new file mode 100644 index 0000000..76dc2a2 Binary files /dev/null and b/src/assets/Img/Icon/voip.png differ diff --git a/src/assets/Img/Icon/vpn.png b/src/assets/Img/Icon/vpn.png new file mode 100644 index 0000000..416e598 Binary files /dev/null and b/src/assets/Img/Icon/vpn.png differ diff --git a/src/assets/Img/Icon/water.png b/src/assets/Img/Icon/water.png new file mode 100644 index 0000000..5dd3c31 Binary files /dev/null and b/src/assets/Img/Icon/water.png differ diff --git a/src/assets/Img/Icon/whatsapp (1) - Copia.png b/src/assets/Img/Icon/whatsapp (1) - Copia.png new file mode 100644 index 0000000..f7f6de0 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp (1) - Copia.png differ diff --git a/src/assets/Img/Icon/whatsapp (1).png b/src/assets/Img/Icon/whatsapp (1).png new file mode 100644 index 0000000..55e9055 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp (1).png differ diff --git a/src/assets/Img/Icon/whatsapp (2) - Copia.png b/src/assets/Img/Icon/whatsapp (2) - Copia.png new file mode 100644 index 0000000..3e37ab6 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp (2) - Copia.png differ diff --git a/src/assets/Img/Icon/whatsapp (2).png b/src/assets/Img/Icon/whatsapp (2).png new file mode 100644 index 0000000..b19bef7 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp (2).png differ diff --git a/src/assets/Img/Icon/whatsapp - Copia.png b/src/assets/Img/Icon/whatsapp - Copia.png new file mode 100644 index 0000000..6e0dc35 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp - Copia.png differ diff --git a/src/assets/Img/Icon/whatsapp.png b/src/assets/Img/Icon/whatsapp.png new file mode 100644 index 0000000..049d731 Binary files /dev/null and b/src/assets/Img/Icon/whatsapp.png differ diff --git a/src/assets/Img/Util/Logo_itGuys - Copia.png b/src/assets/Img/Util/Logo_itGuys - Copia.png new file mode 100644 index 0000000..439318d Binary files /dev/null and b/src/assets/Img/Util/Logo_itGuys - Copia.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01-01.png b/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01-01.png new file mode 100644 index 0000000..bdbeb41 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01-01.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01.png b/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01.png new file mode 100644 index 0000000..73b7ed0 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-branco-logo-01.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 (2).png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 (2).png new file mode 100644 index 0000000..9c89aab Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 (2).png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(1).png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(1).png new file mode 100644 index 0000000..8441c39 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(1).png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(2).png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(2).png new file mode 100644 index 0000000..4270602 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(2).png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(3).png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(3).png new file mode 100644 index 0000000..d8f2c03 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia(3).png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia.png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia.png new file mode 100644 index 0000000..e217c21 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 - Copia.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 -branco.png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 -branco.png new file mode 100644 index 0000000..924b480 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400 -branco.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400(1).png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400(1).png new file mode 100644 index 0000000..9c89aab Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400(1).png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400-7-01-01.png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400-7-01-01.png new file mode 100644 index 0000000..e5a7be2 Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400-7-01-01.png differ diff --git a/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400.png b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400.png new file mode 100644 index 0000000..9c89aab Binary files /dev/null and b/src/assets/Img/Util/Pralog/pralog-preenchido-preto-1536x400.png differ diff --git a/src/assets/Img/Util/Wave.png b/src/assets/Img/Util/Wave.png new file mode 100644 index 0000000..c0f88d2 Binary files /dev/null and b/src/assets/Img/Util/Wave.png differ diff --git a/src/assets/Img/Util/iT_Guys/Logo 32x32.png b/src/assets/Img/Util/iT_Guys/Logo 32x32.png new file mode 100644 index 0000000..57cb4f8 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo 32x32.png differ diff --git a/src/assets/Img/Util/iT_Guys/Logo_branca.png b/src/assets/Img/Util/iT_Guys/Logo_branca.png new file mode 100644 index 0000000..073b7eb Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo_branca.png differ diff --git a/src/assets/Img/Util/iT_Guys/Logo_itGuys - Copia.png b/src/assets/Img/Util/iT_Guys/Logo_itGuys - Copia.png new file mode 100644 index 0000000..439318d Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo_itGuys - Copia.png differ diff --git a/src/assets/Img/Util/iT_Guys/Logo_itGuys.jpg b/src/assets/Img/Util/iT_Guys/Logo_itGuys.jpg new file mode 100644 index 0000000..8a9d795 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo_itGuys.jpg differ diff --git a/src/assets/Img/Util/iT_Guys/Logo_itGuys.png b/src/assets/Img/Util/iT_Guys/Logo_itGuys.png new file mode 100644 index 0000000..e9fe8d4 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo_itGuys.png differ diff --git a/src/assets/Img/Util/iT_Guys/Logo_itGuys_full.JPEG b/src/assets/Img/Util/iT_Guys/Logo_itGuys_full.JPEG new file mode 100644 index 0000000..f5c13af Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Logo_itGuys_full.JPEG differ diff --git a/src/assets/Img/Util/iT_Guys/Name_Empresa.png b/src/assets/Img/Util/iT_Guys/Name_Empresa.png new file mode 100644 index 0000000..1912ed5 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/Name_Empresa.png differ diff --git a/src/assets/Img/Util/iT_Guys/logo 166x49.png b/src/assets/Img/Util/iT_Guys/logo 166x49.png new file mode 100644 index 0000000..5d1735a Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo 166x49.png differ diff --git a/src/assets/Img/Util/iT_Guys/logo1.jpg b/src/assets/Img/Util/iT_Guys/logo1.jpg new file mode 100644 index 0000000..8ef18c2 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo1.jpg differ diff --git a/src/assets/Img/Util/iT_Guys/logo1.png b/src/assets/Img/Util/iT_Guys/logo1.png new file mode 100644 index 0000000..d6b5700 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo1.png differ diff --git a/src/assets/Img/Util/iT_Guys/logo_2.png b/src/assets/Img/Util/iT_Guys/logo_2.png new file mode 100644 index 0000000..e9fe8d4 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo_2.png differ diff --git a/src/assets/Img/Util/iT_Guys/logo_340x100.png b/src/assets/Img/Util/iT_Guys/logo_340x100.png new file mode 100644 index 0000000..3798fd9 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo_340x100.png differ diff --git a/src/assets/Img/Util/iT_Guys/logo_flat.png b/src/assets/Img/Util/iT_Guys/logo_flat.png new file mode 100644 index 0000000..9d10679 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/logo_flat.png differ diff --git a/src/assets/Img/Util/iT_Guys/servidores_backgroud.png b/src/assets/Img/Util/iT_Guys/servidores_backgroud.png new file mode 100644 index 0000000..a29e088 Binary files /dev/null and b/src/assets/Img/Util/iT_Guys/servidores_backgroud.png differ diff --git a/src/assets/Img/Util/logo telemetrix - with.png b/src/assets/Img/Util/logo telemetrix - with.png new file mode 100644 index 0000000..af2e06e Binary files /dev/null and b/src/assets/Img/Util/logo telemetrix - with.png differ diff --git a/src/assets/Img/Util/logo telemetrix.png b/src/assets/Img/Util/logo telemetrix.png new file mode 100644 index 0000000..f99fc89 Binary files /dev/null and b/src/assets/Img/Util/logo telemetrix.png differ diff --git a/src/assets/Img/Util/logo_flat.png b/src/assets/Img/Util/logo_flat.png new file mode 100644 index 0000000..9d10679 Binary files /dev/null and b/src/assets/Img/Util/logo_flat.png differ diff --git a/src/features/portal/components/PortalHome.jsx b/src/features/portal/components/PortalHome.jsx index 30e5407..bba5293 100644 --- a/src/features/portal/components/PortalHome.jsx +++ b/src/features/portal/components/PortalHome.jsx @@ -53,7 +53,34 @@ export const PortalHome = () => {

-
+
+ {/* Workspace Financeiro Premium Card */} + + navigate('/plataforma/workspace')} + > +
+
+ NOVO AMBIENTE +
+ +
+
+ +
+
+

Workspace Financeiro

+

+ Experiência modernizada com gestão de entradas, saídas e conciliação bancária inteligente. +

+
+ + + + {/* Fleet Management Card (Legacy/V1) */} { + const { user, logout } = useAuthContext(); + const location = useLocation(); + + const MENU_GROUPS = [ + { + label: 'Geral', + items: [ + { icon: LayoutDashboard, label: 'Estatísticas', path: '/plataforma/prafrot/estatisticas' }, + ] + }, + { + label: 'Cadastros', + items: [ + { icon: Car, label: 'Veículos', path: '/plataforma/prafrot/veiculos' }, + { icon: ClipboardList, label: 'Dispatcher', path: '/plataforma/prafrot/dispatcher' }, + { icon: Users, label: 'Motoristas', path: '/plataforma/prafrot/motoristas', disabled: true }, + { icon: Store, label: 'Oficinas', path: '/plataforma/prafrot/oficinas' }, + ] + }, + { + label: 'Gerência', + items: [ + { icon: Radio, label: 'Monitoramento', path: '/plataforma/prafrot/monitoramento' }, + { icon: Wrench, label: 'Manutenção', path: '/plataforma/prafrot/manutencao' }, + { icon: AlertTriangle, label: 'Sinistros', path: '/plataforma/prafrot/sinistros' }, + ] + } + ]; + + const handleLogout = () => { + logout(); + window.location.href = '/plataforma/prafrot/login'; + }; + + const NavItem = ({ item }) => { + const isActive = location.pathname.startsWith(item.path); + const Icon = item.icon; + + if (item.disabled) { + // Motoristas option is commented out/disabled as requested + // I'll keep it in the code but won't render or will render disabled + return ( + /* +
+ + {!isCollapsed && {item.label}} +
+ */ + null + ); + } + + return ( + + + {!isCollapsed && {item.label}} + + ); + }; + + return ( + + ); +}; diff --git a/src/features/prafrot/layout/PrafrotLayout.jsx b/src/features/prafrot/layout/PrafrotLayout.jsx index 5f911b2..5e661f9 100644 --- a/src/features/prafrot/layout/PrafrotLayout.jsx +++ b/src/features/prafrot/layout/PrafrotLayout.jsx @@ -1,136 +1,35 @@ import React, { useState } from 'react'; -import { Outlet, useLocation, useNavigate, Link } from 'react-router-dom'; +import { Outlet } from 'react-router-dom'; import { - LayoutDashboard, - Car, - Wrench, - CalendarDays, - ClipboardList, - Activity, - Radio, - AlertTriangle, - Store, Menu, - X, - LogOut, - Bell, Sun, Moon, - Users } from 'lucide-react'; import { cn } from '@/lib/utils'; -import { useAuthContext } from '@/components/shared/AuthProvider'; -import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; - import { useDocumentMetadata } from '@/hooks/useDocumentMetadata'; - -const SIDEBAR_ITEMS = [ - { icon: LayoutDashboard, label: 'Estatísticas', path: '/plataforma/prafrot/estatisticas' }, - { icon: Car, label: 'Veículos', path: '/plataforma/prafrot/veiculos' }, - { icon: Users, label: 'Motoristas', path: '/plataforma/prafrot/motoristas' }, - { icon: Wrench, label: 'Manutenção', path: '/plataforma/prafrot/manutencao' }, - // { icon: CalendarDays, label: 'Disponibilidade', path: '/plataforma/prafrot/disponibilidade' }, - // { icon: ClipboardList, label: 'Moki Checklist', path: '/plataforma/prafrot/moki' }, - // { icon: Activity, label: 'Status Frota', path: '/plataforma/prafrot/status' }, - { icon: ClipboardList, label: 'Dispatcher', path: '/plataforma/prafrot/dispatcher' }, - { icon: Radio, label: 'Monitoramento', path: '/plataforma/prafrot/monitoramento' }, - { icon: AlertTriangle, label: 'Sinistros', path: '/plataforma/prafrot/sinistros' }, - { icon: Store, label: 'Oficinas', path: '/plataforma/prafrot/oficinas' }, -]; +import { PrafrotSidebar } from '../components/PrafrotSidebar'; export const PrafrotLayout = () => { useDocumentMetadata('Prafrota', 'prafrot'); - const [isSidebarOpen, setIsSidebarOpen] = useState(true); + const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false); const [isDarkMode, setIsDarkMode] = useState(true); - const { user, logout } = useAuthContext(); - const location = useLocation(); - const navigate = useNavigate(); - - const handleLogout = () => { - logout(); - navigate('/plataforma/prafrot/login'); - }; return ( -
- {/* Sidebar - Theme Aware */} - +
+ {/* New Sidebar Component */} + setIsSidebarCollapsed(!isSidebarCollapsed)} + /> {/* Main Content Area */}
{/* Header */} @@ -138,12 +37,14 @@ export const PrafrotLayout = () => { "h-16 px-8 sticky top-0 z-40 backdrop-blur-md border-b flex items-center justify-between", isDarkMode ? "bg-[#141414]/80 border-[#2a2a2a]" : "bg-slate-50/80 border-slate-200" )}> - +
+ +
{/* Theme Toggle */} @@ -156,23 +57,11 @@ export const PrafrotLayout = () => { > {isDarkMode ? : } - - {/* Notification Bell - Commented out as requested */} - {/* */} - - {/* Sistema Online Indicator - Commented out as requested */} - {/*
- - Sistema Online -
*/}
{/* Content */} -
+
diff --git a/src/features/workspace/components/FineCard.jsx b/src/features/workspace/components/FineCard.jsx new file mode 100644 index 0000000..3f96ed0 --- /dev/null +++ b/src/features/workspace/components/FineCard.jsx @@ -0,0 +1,101 @@ +import React from 'react'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { + ResponsiveContainer, + BarChart, + Bar, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + Legend, + LineChart, + Line, + Cell +} from 'recharts'; + +/** + * Componente FineCard para gráficos premium no Workspace. + * Suporta tipos 'bar' e 'line'. + */ +export const FineCard = ({ + title, + data, + type = 'bar', + dataKey = 'value', + nameKey = 'name', + height = 300, + colors = ['#22bb6c', '#22c0a3', '#26b1c7'] +}) => { + return ( + + + + {title} + + + +
+ + {type === 'bar' ? ( + + + + `R$ ${value >= 1000 ? (value/1000).toFixed(1) + 'k' : value}`} + /> + + + {data.map((entry, index) => ( + + ))} + + + ) : ( + + + + + + + + + )} + +
+
+
+ ); +}; diff --git a/src/features/workspace/components/WorkspaceLayout.jsx b/src/features/workspace/components/WorkspaceLayout.jsx new file mode 100644 index 0000000..31ce33d --- /dev/null +++ b/src/features/workspace/components/WorkspaceLayout.jsx @@ -0,0 +1,108 @@ +import React, { useState } from 'react'; +import { IncomesView } from '../views/IncomesView'; +import { ExpensesView } from '../views/ExpensesView'; +import { ReconciliationView } from '../views/ReconciliationView'; +import { LayoutDashboard, ArrowUpRight, ArrowDownRight, ArrowRightLeft, Settings, Menu, Bell, User } from 'lucide-react'; +import { cn } from '@/lib/utils'; + +export const WorkspaceLayout = () => { + const [activeScreen, setActiveScreen] = useState('dashboard'); + const [sidebarOpen, setSidebarOpen] = useState(true); + + const menuItems = [ + { id: 'dashboard', label: 'Dashboard', icon: }, + { id: 'entradas', label: 'Entradas', icon: }, + { id: 'saidas', label: 'Saídas', icon: }, + { id: 'conciliacao', label: 'Conciliação', icon: }, + { id: 'config', label: 'Ajustes', icon: }, + ]; + + const renderScreen = () => { + switch (activeScreen) { + case 'entradas': return ; + case 'saidas': return ; + case 'conciliacao': return ; + default: return ( +
+

Painel de Controle Financeiro

+ O Dashboard consolidado será implementado nesta seção com o componente FineCard. +
+ ); + } + }; + + return ( +
+ {/* Sidebar Sidebar Component */} + + + {/* Main Content */} +
+
+
Workspace / Financeiro
+ +
+ +
+ +
+
+ +
+ {renderScreen()} +
+
+
+ ); +}; diff --git a/src/features/workspace/index.jsx b/src/features/workspace/index.jsx new file mode 100644 index 0000000..5183caa --- /dev/null +++ b/src/features/workspace/index.jsx @@ -0,0 +1,4 @@ +export * from './components/WorkspaceLayout'; +export * from './views/IncomesView'; +export * from './views/ExpensesView'; +export * from './views/ReconciliationView'; diff --git a/src/features/workspace/views/ExpensesView.jsx b/src/features/workspace/views/ExpensesView.jsx new file mode 100644 index 0000000..ae42cde --- /dev/null +++ b/src/features/workspace/views/ExpensesView.jsx @@ -0,0 +1,101 @@ +import React from 'react'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { FineCard } from '../components/FineCard'; +import { DashboardKPICard } from '@/components/shared/DashboardKPICard/DashboardKPICard'; +import { TrendingDown, Calendar, ArrowRightLeft } from 'lucide-react'; + +export const ExpensesView = () => { + // Dados Mock para os gráficos + const comparisonData = [ + { name: 'Jan', planejado: 4500, executado: 4800 }, + { name: 'Fev', planejado: 5200, executado: 5100 }, + { name: 'Mar', planejado: 4800, executado: 5500 }, + { name: 'Abr', planejado: 6100, executado: 5900 }, + { name: 'Mai', planejado: 5500, executado: 6200 }, + { name: 'Jun', planejado: 5800, executado: 5800 }, + ]; + + const expensesByCat = [ + { name: 'Infraestrutura', value: 12500 }, + { name: 'Marketing', value: 8700 }, + { name: 'RH / Salários', value: 45000 }, + { name: 'Softwares', value: 3200 }, + { name: 'Outros', value: 1500 }, + ]; + + return ( +
+
+
+

Saídas

+

Planejamento e controle de fluxo de caixa negativo

+
+
+
+ + JUNHO / 2026 +
+
+
+ + {/* Resumo de Saídas */} +
+ + + } + /> +
+ +
+ {/* Gráfico de Comparação */} + + +
+ Planejado vs Executado +

Histórico de variação mensal

+
+ +
+ + ({ name: d.name, planejado: d.planejado, executado: d.executado }))} + dataKey="executado" + colors={['#22bb6c', '#003153']} + /> + +
+ + {/* Gráfico de Categorias */} + +
+ + {/* Tabela de Lançamentos (Futuro) */} + +
+ O detalhamento completo dos lançamentos financeiros via ExcelTable será integrado nesta seção. +
+
+
+ ); +}; diff --git a/src/features/workspace/views/IncomesView.jsx b/src/features/workspace/views/IncomesView.jsx new file mode 100644 index 0000000..4742da2 --- /dev/null +++ b/src/features/workspace/views/IncomesView.jsx @@ -0,0 +1,108 @@ +import React, { useState } from 'react'; +import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; +import { Card, CardContent } from '@/components/ui/card'; +import { Users, FileText, Briefcase, Plus, Search } from 'lucide-react'; +import ExcelTable from '@/features/prafrot/components/ExcelTable'; +import { DashboardKPICard } from '@/components/shared/DashboardKPICard/DashboardKPICard'; + +export const IncomesView = () => { + const [activeTab, setActiveTab] = useState('boletos'); + + // Dados Mock para demonstração + const kpis = [ + { label: 'A Receber', value: 'R$ 13.028,88', trend: '+12%', color: 'var(--workspace-sec-3-light)' }, + { label: 'Em Atraso', value: 'R$ 5.075,20', trend: '-5%', color: '#ef4444' }, + { label: 'Recebido', value: 'R$ 21.925,33', trend: '+8%', color: 'var(--workspace-sec-1-light)' }, + { label: 'Total Faturado', value: 'R$ 40.029,41', trend: '+15%', color: 'var(--workspace-sec-5-light)' }, + ]; + + return ( +
+
+
+

Entradas

+

Gerenciamento de faturamento e recebíveis

+
+
+ +
+
+ + {/* KPIs da Feature */} +
+ {kpis.map((kpi, i) => ( + + ))} +
+ + + +
+ + + + Boletos + + + + Clientes + + + + Serviços + + + +
+ + +
+
+ + + + {/* Aqui entra o ExcelTable configurado para Boletos */} +
+ Lista de Boletos (ExcelTable em breve...) +
+
+ + +
+ Lista de Clientes (ExcelTable em breve...) +
+
+ + +
+ Lista de Serviços (ExcelTable em breve...) +
+
+
+
+
+
+ ); +}; diff --git a/src/features/workspace/views/ReconciliationView.jsx b/src/features/workspace/views/ReconciliationView.jsx new file mode 100644 index 0000000..eb5f33e --- /dev/null +++ b/src/features/workspace/views/ReconciliationView.jsx @@ -0,0 +1,110 @@ +import React, { useState } from 'react'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; +import { Badge } from '@/components/ui/badge'; +import { AlertCircle, CheckCircle2, ListFilter, Settings, Box, Terminal } from 'lucide-react'; + +export const ReconciliationView = () => { + const [activeTab, setActiveTab] = useState('pendencias'); + + return ( +
+
+
+

Conciliação

+

Concilie transações bancárias e organize seu plano de contas

+
+
+ + + 17 Pendentes + +
+
+ + + +
+ + + + Pendências + + + + Cruzamento + + + + Configurações + + +
+ + + + +

Apresentando transações não categorizadas...

+ Integração com ExcelTable pendente +
+ + +
+ {/* Coluna de Categorias */} +
+

+ Categorias + +

+
+ {['Infraestrutura', 'Marketing', 'RH', 'Softwares'].map((cat, i) => ( +
+ {cat} + R$ 1.500 +
+ ))} +
+
+ + {/* Coluna de Regras / Detalhamento */} +
+

Selecione uma categoria para ver as regras e transações

+
+
+
+ + +
+ {/* Cards de CRUD */} + {[ + { title: 'Categorias', icon: , count: 12 }, + { title: 'Regras', icon: , count: 45 }, + { title: 'Caixinhas', icon: , count: 5 }, + ].map((item, i) => ( + + +
+ {item.icon} +
+

{item.title}

+

{item.count} Itens Cadastrados

+
+
+ ))} +
+
+
+
+
+
+ ); +}; diff --git a/src/index.css b/src/index.css index 6e9000e..37b3ff8 100644 --- a/src/index.css +++ b/src/index.css @@ -34,7 +34,39 @@ --color-ring: var(--ring); } +@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap'); + :root { + /* ... outras variáveis ... */ + + /* Paleta Workspace - Padrão Claro */ + --workspace-sec-1-light: #22bb6c; + --workspace-sec-2-light: #22c0a3; + --workspace-sec-3-light: #26b1c7; + --workspace-sec-4-light: #26c03a; + --workspace-sec-5-light: #003153; + --workspace-sec-6-light: #285d2a; + + /* Paleta Workspace - Padrão Escuro */ + --workspace-sec-1-dark: #115834; + --workspace-sec-2-dark: #125f51; + --workspace-sec-3-dark: #1B7C8C; + --workspace-sec-4-dark: #105018; + --workspace-sec-5-dark: #0d253a; + --workspace-sec-6-dark: #105018; + + /* Paleta Workspace - Ausência */ + --workspace-empty-body: #c6c6c6; + --workspace-empty-panel: #ebebeb; + --workspace-empty-bg: #9a9a9a; +} + +.workspace-theme { + font-family: 'Lato', sans-serif; +} + +.dark .workspace-theme { + /* Ajustes específicos para dark mode se necessário */ --radius: 0.625rem; --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); diff --git a/vite.config.ts b/vite.config.ts index a7e6715..d61dbe8 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,6 +5,7 @@ import tailwindcss from '@tailwindcss/vite' // https://vite.dev/config/ export default defineConfig({ + base: "/plataforma/", // plugins: [ react(), tailwindcss(),