<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AcoesController;
use App\Http\Controllers\AdmDashboardController;
use App\Http\Controllers\AssedioController;
use App\Http\Controllers\DeficienciaController;
use App\Http\Controllers\EstresseController;
use App\Http\Controllers\SociofamiliaresController;
use App\Http\Controllers\UsuarioController;
use App\Http\Controllers\RelatorioController;
use App\Http\Controllers\ComprovanteController; 
use App\Livewire\Login;


// Rota pública
Route::get('/', Login::class)->name('login');

Route::get('/login', Login::class)->name('login');

// Grupo autenticado SEM verificação de escolaridade
Route::middleware([
    'auth:sanctum',
    config('jetstream.auth_session'),
    'verified',
])->group(function () {

    // Acesso permitido mesmo sem escolaridade preenchida
    Route::get('/dashboard', function () {
        return view('dashboard');
    })->name('dashboard');

    // Atualização de perfil (para preencher escolaridade, por exemplo)
    Route::put('/usuario/atualizar-perfil', [UsuarioController::class, 'atualizarPerfil'])->name('usuario.atualizarPerfil');

    // Grupo autenticado COM verificação de escolaridade
    Route::middleware('verifica.escolaridade')->group(function () {

        Route::get('/modulos', function () {
            return view('modulos');
        })->name('modulos');

        // Páginas de perguntas
        Route::get('/1', fn() => view('perguntas.1'))->name('perguntas.1');
        Route::get('/2', fn() => view('perguntas.2'))->name('perguntas.2');
        Route::get('/3', fn() => view('perguntas.3'))->name('perguntas.3');
        Route::get('/4', fn() => view('perguntas.4'))->name('perguntas.4');
        Route::get('/5', fn() => view('perguntas.5'))->name('perguntas.5');

        // Relatórios e administração
        Route::middleware(['admin'])->group(function () {
            Route::get('/ADM', [AdmDashboardController::class, 'index'])->name('ADM');
            Route::get('/relatorios', [RelatorioController::class, 'index'])->name('relatorios');
            Route::get('/relatorios/acessos', [RelatorioController::class, 'acessos'])->name('relatorios.acessos');
            Route::get('/relatorios/respostas', [RelatorioController::class, 'respostas'])->name('relatorios.respostas');
            Route::get('/relatorios/pdf', [App\Http\Controllers\RelatorioController::class, 'gerarPDF'])->name('relatorios.pdf');
        });
        
        // Módulos de questionário
        Route::get('/acoes', [AcoesController::class, 'index'])->name('perguntas.acoes');
        Route::get('/assedio', [AssedioController::class, 'index'])->name('perguntas.assedio');
        Route::get('/deficiencia', [DeficienciaController::class, 'index'])->name('perguntas.deficiencia');
        Route::get('/estresse', [EstresseController::class, 'index'])->name('perguntas.estresse');
        Route::get('/sociofamiliares', [SociofamiliaresController::class, 'index'])->name('perguntas.sociofamiliares');

        // Envio de respostas
        Route::post('/responder-acoes', [AcoesController::class, 'store'])->name('responder.acoes');
        Route::post('/responder-assedio', [AssedioController::class, 'store'])->name('responder.assedio');
        Route::post('/responder-deficiencia', [DeficienciaController::class, 'store'])->name('responder.deficiencia');
        Route::post('/responder-estresse', [EstresseController::class, 'store'])->name('responder.estresse');
        Route::post('/responder-sociofamiliares', [SociofamiliaresController::class, 'store'])->name('responder.sociofamiliares');

        // Comprovante de conclusão
        Route::get('/comprovante/pdf', [ComprovanteController::class, 'gerarPDF'])->name('comprovante.pdf');
    });
});


// Bloqueia acesso direto às rotas de login/registro
//Route::get('/login', fn() => abort(403));
//Route::get('/register', fn() => abort(403));

