@extends('layout') @section('content') @php $cashflowReceive = (float) ($finance['to_receive'] ?? 0); $cashflowPay = (float) ($finance['to_pay'] ?? 0); $cashflowTotal = $cashflowReceive + $cashflowPay; $cashflowReceivePercent = $cashflowTotal > 0 ? ($cashflowReceive / $cashflowTotal) * 100 : 0; $cashflowPayPercent = $cashflowTotal > 0 ? ($cashflowPay / $cashflowTotal) * 100 : 0; $projectStatusLabels = [ 'backlog' => 'Backlog', 'ativo' => 'Em andamento', 'pausado' => 'Pausados', 'concluido' => 'Concluídos', 'cancelado' => 'Cancelados', ]; $projectStatusTotal = array_sum($projectStatus); $leadStageLabels = \App\Models\Lead::STAGE_LABELS; $leadStageTotal = array_sum($leadStageCounts); $leadStageColors = [ 'novo' => 'var(--text-3)', 'contato' => 'var(--info)', 'qualificado' => 'var(--accent)', 'proposta' => 'var(--warn)', 'negociacao' => 'var(--chart-3)', 'ganho' => 'var(--ok)', 'perdido' => 'var(--bad)', ]; @endphp

{{ ucfirst(now_weekday()) }}, {{ datetime_br(now(), 'd \d\e F \d\e Y') }}

groups Clientes ativos
{{ $metrics['clients_active'] }}
cadastros ativos
person_search Leads em aberto
{{ $metrics['leads_active'] }}
{{ money($metrics['leads_value']) }} em pipeline
folder_open Projetos em aberto
{{ $metrics['projects_open'] }}
{{ $metrics['tasks_pending'] }} tarefa(s) pendente(s)
calendar_month Reuniões agendadas
{{ $metrics['meetings_upcoming'] }}
próximos dias
account_balance_wallet Saldo em caixa
{{ money($finance['balance']) }}
@if (($finance['balance_source'] ?? 'local') !== 'local')
{{ $finance['balance_source_label'] ?? 'Contas conectadas' }} · {{ ($finance['balance_stale'] ?? false) ? 'inclui valor anterior' : 'atualizado '.human_diff((string) $finance['balance_checked_at']) }}
@endif

Agenda operacional

Prazos próximos e contatos que precisam de um próximo passo.

Abrir agenda

Atividade operacional

Leads, projetos, tarefas, clientes, afiliados, soluções, reuniões, chamados e financeiro · últimas 20 semanas · {{ number_format($activityHeatmap['total'], 0, ',', '.') }} {{ $activityHeatmap['total'] === 1 ? 'movimentação' : 'movimentações' }} · saldo de trabalho {{ $activityHeatmap['score'] > 0 ? '+' : '' }}{{ $activityHeatmap['score'] }}

@foreach ($activityHeatmap['weeks'] as $week)
@foreach ($week as $day) @endforeach
@endforeach
Atraso/perda −1 Movimento 0 Conclusão/ganho +1 Misto

Atividades do dia

Projetos por situação

Selecione uma situação para abrir os projetos correspondentes.

Ver projetos
@if ($projectStatusTotal > 0)
{{ $projectStatusTotal }}projetos
@foreach ($projectStatus as $status => $count) {{ $projectStatusLabels[$status] ?? ucfirst($status) }}{{ $count }} @endforeach
@else
folder_openNenhum projeto cadastradoQuando houver projetos, a distribuição por situação aparecerá aqui.Criar primeiro projeto
@endif

Agendador e filas

Execuções por hora · últimas 24 horas.

{{ number_format($executionTimeline['schedule_total'], 0, ',', '.') }}agendador
{{ number_format($executionTimeline['jobs_total'], 0, ',', '.') }}jobs da fila
Agendador · ok Agendador · falhas Fila · ok Fila · falhas

Falhas: {{ number_format($executionTimeline['schedule_failed'], 0, ',', '.') }} no agendador · {{ number_format($executionTimeline['jobs_failed'], 0, ',', '.') }} na fila

Leads por etapa

Distribuição do pipeline comercial.

Abrir leads
@if ($leadStageTotal > 0)
@foreach ($leadStageCounts as $stage => $count) @if ($count > 0) {{ $leadStageLabels[$stage] ?? ucfirst($stage) }}{{ $count }} @endif @endforeach
@else
person_search

Nenhum lead cadastrado.

Cadastrar primeiro lead
@endif

Próximas reuniões

Agendar
@forelse($upcomingMeetings as $meeting) event

{{ $meeting->title }}

{{ datetime_br($meeting->scheduled_at, 'd/m · H:i') }}
@empty
event_available

Nenhuma reunião próxima.

Agendar uma reunião
@endforelse

Financeiro

Abrir
Saldo · {{ $finance['balance_source_label'] ?? 'Livro-caixa local' }}{{ ($finance['balance_stale'] ?? false) ? ' · anterior' : '' }}
{{ money($finance['balance']) }}
A receber ({{ $finance['open_counts']['entrada'] ?? 0 }})
{{ money($finance['to_receive']) }}
A pagar ({{ $finance['open_counts']['saida'] ?? 0 }})
{{ money($finance['to_pay']) }}

Prévia: {{ min($financeUpcoming->count(), $finance['planned_count'] ?? 0) }} de {{ $finance['planned_count'] ?? 0 }} lançamentos previstos.

@endsection