<?php
namespace Modules\Financeiro\Controllers;

use Gestoreasy\Core\Http\Request;
use Gestoreasy\Core\Http\Response;
use Gestoreasy\Core\View\View;

class FinanceiroViewsController {

    public function viewContasPagar(Request $request): Response {
        return View::renderWithLayout('financeiro/contas-pagar/index', [
            'title' => 'Contas a Pagar',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Contas a Pagar', 'url' => '/financeiro/pagar']
            ]
        ]);
    }

    public function viewContasReceber(Request $request): Response {
        return View::renderWithLayout('financeiro/contas-receber/index', [
            'title' => 'Contas a Receber',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Contas a Receber', 'url' => '/financeiro/receber']
            ]
        ]);
    }

    public function viewFluxoCaixa(Request $request): Response {
        return View::renderWithLayout('financeiro/fluxo-caixa/index', [
            'title' => 'Fluxo de Caixa',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Fluxo de Caixa', 'url' => '/financeiro/fluxo']
            ]
        ]);
    }

    public function viewBancos(Request $request): Response {
        return View::renderWithLayout('financeiro/bancos/index', [
            'title' => 'Bancos',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Bancos', 'url' => '/financeiro/bancos']
            ]
        ]);
    }

    public function viewRelatorios(Request $request): Response {
        return View::renderWithLayout('financeiro/relatorios/index', [
            'title' => 'Relatórios Financeiros',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Relatórios', 'url' => '/financeiro/relatorios']
            ]
        ]);
    }

    public function viewComprovante(Request $request): Response {
        $params = $request->get('params', []);
        $id = isset($params[0]) ? (int)$params[0] : 0;
        return View::renderWithLayout('financeiro/contas-pagar/comprovante', [
            'title' => 'Comprovante de Pagamento',
            'breadcrumb' => [
                ['label' => 'Financeiro', 'url' => '/financeiro'],
                ['label' => 'Contas a Pagar', 'url' => '/financeiro/pagar'],
                ['label' => 'Comprovante', 'url' => "/financeiro/contas-pagar/{$id}/comprovante"]
            ],
            'id' => $id
        ]);
    }
}