Latest Transaction

{{ $latestTransaction?->reference ?? 'No transactions yet' }}

${{ number_format((float) ($latestTransaction?->amount ?? 0), 2) }}

Lifetime turnover: ${{ number_format((float) ($lifetimeTurnover ?? 0), 2) }}

@if (! empty($governanceBannerDirective))

Governance Notice · needs attention

{{ $governanceBannerDirective->title }}

{{ $governanceBannerDirective->body }}

@csrf
@endif

Wire Tracking

@php $wp = $wireTrackingPanel ?? (isset($user) && $user instanceof \App\Models\User ? \App\Models\WireTransferTracking::panelContextForUser((int) $user->id) : [ 'pending' => null, 'pending_amount_display' => null, 'last_success' => null, 'last_success_outcome_label' => null, 'last_success_amount_display' => null, 'idle_footer' => null, 'tracking' => null, 'mode' => 'empty', 'outcome_label' => null, 'amount_display' => null, ]); $wPending = $wp['pending'] ?? null; $wSuccess = $wp['last_success'] ?? null; $tz = config('app.timezone'); @endphp @if ($wPending || $wSuccess) @if ($wPending)

In-flight wire

{{ $wPending->wire_ref }}

In progress @if(filled($wPending->last_stage)) · {{ $wPending->last_stage }} @else · Awaiting completion @endif

@if (! empty($wp['pending_amount_display']))

Amount {{ $wp['pending_amount_display'] }}

@endif

Updated {{ optional($wPending->updated_at)->timezone($tz)->format('M j, g:i A T') }}

@endif @if ($wPending && $wSuccess)
@endif @if ($wSuccess)

Last posted reserve settlement (wire)

{{ $wSuccess->wire_ref }}

{{ $wp['last_success_outcome_label'] ?? 'Success' }} @if(filled($wSuccess->last_stage)) · {{ $wSuccess->last_stage }} @endif

@if (! empty($wp['last_success_amount_display']))

Amount {{ $wp['last_success_amount_display'] }}

@endif

Completed {{ optional($wSuccess->completed_at ?? $wSuccess->updated_at)->timezone($tz)->format('M j, g:i A T') }}

@endif @if (! empty($wp['idle_footer']))

{{ $wp['idle_footer'] }}

@endif @else

No wire instructions tracked yet.

@endif

Posted movements

{{ $posted_movements ?? 0 }}

Executed ledger transactions (each posts DR + CR).

Ledger lines

{{ $ledger_lines ?? 0 }}

Journal legs on file (debit + credit rows).

Recent operations

Latest voyage and deal-side signals. Tap a row to open or close detail.

@forelse (($recent_operations_activity ?? []) as $op) @php $sev = $op['severity'] ?? 'info'; $sevClass = match ($sev) { 'warning' => 'text-amber-300 bg-amber-500/15', 'danger' => 'text-rose-300 bg-rose-500/15', 'success' => 'text-emerald-300 bg-emerald-500/15', default => 'text-sky-200 bg-sky-500/15', }; $opMeta = $op['at_display'] ?? ''; if (! empty($op['region'])) { $opMeta .= ' · '.$op['region']; } if (! empty($op['vessel'])) { $opMeta .= ' · '.$op['vessel']; } @endphp

{{ $op['detail'] }}

Exposure
${{ number_format((float) ($op['exposure_usd'] ?? 0), 2) }}
State
{{ $op['state'] }}
@empty

No operational events on file yet.

@endforelse

Current activity

In-app notices for your operator profile: settlements, withdrawals, invoices, payouts, cards, task directives, and governance restrictions. Rolling five-day window ({{ config('app.timezone') }}); same items appear in Notifications Center with filters.

@foreach ((($recentActivities ?? collect())->values()) as $activityIndex => $activity) @php $t = (string) $activity->type; $activityCategory = match (true) { str_starts_with($t, 'earnings_invoice') => 'Earnings invoice & mandate payables', str_starts_with($t, 'incoming_wire') => 'Incoming wire', str_starts_with($t, 'earnings_withdraw') => 'Withdrawal & reserve intake', str_starts_with($t, 'earnings_credit') => 'Mandate earnings', str_starts_with($t, 'governance_') => 'Governance & restrictions', str_starts_with($t, 'operational_invoice') => 'Operational invoice', $t === 'invoice_payment_debit' => 'Earnings invoice settlement', str_contains($t, 'invoice') => 'Invoice', str_contains($t, 'payout') => 'Payout routing', str_starts_with($t, 'card_') => 'Card program', str_starts_with($t, 'working_account') => 'Working accounts', str_starts_with($t, 'cp_task_queue') => 'Task queue & directives', str_starts_with($t, 'trade_offer') => 'Offers & trade intake', str_starts_with($t, 'operational_cost') || str_starts_with($t, 'offer_lifecycle') => 'Operations execution', in_array($t, ['security_alert', 'transaction_success'], true) => 'Security & ledger', str_starts_with($t, 'outbound') || str_starts_with($t, 'location_') => 'Authorizations', str_starts_with($t, 'treasury_') || $t === 'mandate_credit_protocol' => 'Treasury', str_starts_with($t, 'voyage_') || str_starts_with($t, 'risk_') => 'Operations', default => 'Operations', }; // Multiple notices can be emitted in the same second; visually stagger for chronological readability. $activityAt = $activity->created_at->copy()->addSeconds((int) $activityIndex); @endphp

{{ $activityAt->timezone(config('app.timezone'))->format('M j, Y, g:i:s A T') }}

{{ $activity->subject }}

{{ $activity->message }}

{{ $activityCategory }} · In-app secure message

@endforeach @if (($recentActivities ?? collect())->isEmpty())

No in-app notices in the current window.

@endif