} */ private function billingSnapshot(?string $publicId): array { if (! $publicId) { return [0, []]; } $balanceMinor = $this->billing->balanceMinor($publicId); $ledger = $this->billing->serviceLedger($publicId, 'qr'); return [$balanceMinor, $ledger]; } public function wallet(): View { $user = auth()->user(); [$balanceMinor, $ledger] = $this->billingSnapshot($user?->public_id); return view('qr.account.wallet', [ 'balanceMinor' => $balanceMinor, 'spentMinor' => (int) ($ledger['spent_minor'] ?? 0), 'creditedMinor' => (int) ($ledger['credited_minor'] ?? 0), 'topupUrl' => $this->topupUrl(), ]); } public function billing(): View { $user = auth()->user(); [$balanceMinor, $ledger] = $this->billingSnapshot($user?->public_id); return view('qr.account.billing', [ 'balanceMinor' => $balanceMinor, 'spentMinor' => (int) ($ledger['spent_minor'] ?? 0), 'creditedMinor' => (int) ($ledger['credited_minor'] ?? 0), 'topupUrl' => $this->topupUrl(), ]); } public function settings(): View { return view('qr.account.settings', ['account' => auth()->user()]); } }