@php /** * AS LINHAS DE UMA TRANSFERÊNCIA na lista de Lançamentos — DUAS, não uma. * * Fica num arquivo próprio, e não num condicional gigante dentro da lista, * porque quase nada da linha de lançamento se aplica aqui: não tem * categoria e não tem baixa a dar — o dinheiro já se moveu quando alguém * registrou. * * UMA OU DUAS LINHAS, conforme o recorte — quem decide é * {@see \App\Models\FinancialTransfer::legs()}, e o porquê está lá. * * Em resumo: sem filtro de conta a transferência é uma linha neutra (o * ponto de vista da arena, de onde nada foi ganho nem perdido); com contas * marcadas, o leitor está no extrato DELAS e cada perna vira uma linha com * sinal e cor. * * As linhas dividem o MESMO modal de edição: são faces de um registro só, e * editar "a entrada" separado da "saída" não faz sentido — o valor é o * mesmo dos dois lados, por construção. */ $legs = $transfer->legs($filters->bankAccountIds ?? []); @endphp @foreach ($legs as $leg) @php // "both" é a linha neutra do modo sem filtro: ela não é entrada nem // saída, e por isso não leva sinal nem cor no valor. $isNeutral = $leg['direction'] === 'both'; $isIncome = $leg['direction'] !== 'out'; @endphp
  • {{-- Ícone da OPERAÇÃO: verde para a perna que ENTROU, vermelho para a que SAIU — a mesma leitura do lançamento, que é o que torna a lista uniforme. A linha neutra fica verde, como sempre foi: o verde ali diz "nada de ruim aconteceu", não "entrou dinheiro". As duas setas dizem que não houve ganho nem perda, só troca de lugar. --}} {{-- O corpo é o gatilho da edição quando o usuário pode editar, e texto puro quando não pode — mesmo desenho da linha de lançamento, e pelo mesmo motivo (um lápis por linha competiria com o resto). --}} @can('update', $transfer) @else @endcan {{-- AS DUAS PONTAS com o ícone do banco, montado pelo JS a partir do slug (ver resources/js/bank-icons.js). O par se repete nas duas pernas de propósito: cada linha continua respondendo "veio de onde, foi para onde" sem obrigar a cruzar com a linha vizinha. --}} {{-- SINAL E COR SÓ NO MODO POR CONTA. Na linha neutra eles seriam falsos: a arena não ganhou nem perdeu nada, e pintar de verde ou vermelho faria a linha ser lida como receita ou despesa. Com contas marcadas o "−" deixa de ser uma perda da arena e passa a ser o que aconteceu NAQUELA CONTA — é assim que a linha se soma ao saldo dela. --}} {{ $leg['sign'] }}{{ $transfer->formattedAmount() }} {{-- O polegar aqui é INDICADOR, nunca botão: não existe "dar baixa" numa transferência. Ela é registrada depois de o dinheiro já ter se movido — não há um estado "em aberto" a resolver. Ocupa o mesmo lugar do polegar da linha de lançamento para as colunas não dançarem de linha em linha. --}} {{-- A exclusão foi para o rodapé do modal de edição, pelo mesmo motivo do lançamento: o "⋮" gastava uma coluna em toda linha para guardar uma ação rara. --}}
  • @endforeach