<?php
namespace Modules\GestorContratos\Controllers;

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

class ContratosViewsController {
    /**
     * View principal - Lista de contratos
     */
    public function viewIndex(Request $req): Response {
        return View::render('contratos/index', [
            'title' => 'Gestor Contratos'
        ]);
    }

    /**
     * View de criação/edição de contrato
     */
    public function viewCreate(Request $req): Response {
        return View::render('contratos/form', [
            'title' => 'Novo Contrato'
        ]);
    }

    /**
     * View de detalhes do contrato
     */
    public function viewDetail(Request $req): Response {
        $contratoId = (int)($req->get('params')[0] ?? 0);
        return View::render('contratos/detail', [
            'title' => 'Detalhes do Contrato',
            'contrato_id' => $contratoId
        ]);
    }

    /**
     * View de modelos
     */
    public function viewModelos(Request $req): Response {
        return View::render('contratos/modelos', [
            'title' => 'Modelos de Contratos'
        ]);
    }

    /**
     * View de configurações
     */
    public function viewConfig(Request $req): Response {
        return View::render('contratos/config', [
            'title' => 'Configurações - Contratos'
        ]);
    }

    /**
     * View pública de assinatura
     */
    public function viewAssinar(Request $req): Response {
        // View pública sem autenticação
        $signatarioId = (int)($req->get('params')[0] ?? 0);
        $token = $req->query['token'] ?? '';
        
        return View::render('contratos/assinar', [
            'title' => 'Assinar Contrato',
            'signatario_id' => $signatarioId,
            'token' => $token
        ], false); // false = sem layout (view pública)
    }
}

