Initial commit of the complete City10 virtual city simulation platform. Backend (Laravel 13): - REST API with Sanctum tokens and session-based web authentication - Role-based access control (admin/user) with middleware protection - AI agent CRUD with OpenRouter.ai integration restricted to free models - Store management with 3D coordinates and AI shopkeeper assignment - Versioned legal documents (Terms, Privacy, Cookies) with LGPD audit trail - Math CAPTCHA on public forms and multi-language support (pt_BR, en, es) Frontend: - Responsive Blade templates with Tailwind CSS v4 - Three.js 3D city viewer with SSE chat streaming to AI agents - Admin panel for store and user administration Infrastructure: - MariaDB/MySQL database with comprehensive migrations - Database seeders for demo content and test accounts - PHPUnit test suite and Laravel Pint code styling - Vite build configuration with hot reload
42 lines
2.0 KiB
PHP
42 lines
2.0 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', 'Histórico de Consentimentos')
|
|
|
|
@section('content')
|
|
<div style="max-width: 820px; margin: 0 auto;">
|
|
<div class="card">
|
|
<h1 style="margin-top:0; color:#fff;">🗂️ Histórico de Consentimentos</h1>
|
|
<p style="color:var(--muted);">Registro auditável de todas as versões dos documentos legais que você aceitou.</p>
|
|
|
|
@if ($history->isEmpty())
|
|
<p style="color:var(--muted);">Nenhum consentimento registrado ainda.</p>
|
|
@else
|
|
<div style="overflow-x:auto;">
|
|
<table style="width:100%; border-collapse:collapse; font-size:.9rem;">
|
|
<thead>
|
|
<tr style="text-align:left; color:var(--muted); border-bottom:1px solid var(--border);">
|
|
<th style="padding:.6rem .4rem;">Documento</th>
|
|
<th style="padding:.6rem .4rem;">Versão</th>
|
|
<th style="padding:.6rem .4rem;">Aceito em</th>
|
|
<th style="padding:.6rem .4rem;">IP</th>
|
|
<th style="padding:.6rem .4rem;">Canal</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($history as $entry)
|
|
<tr style="border-bottom:1px solid var(--border);">
|
|
<td style="padding:.6rem .4rem;">{{ $entry->document?->type }}</td>
|
|
<td style="padding:.6rem .4rem;">{{ $entry->document?->version }}</td>
|
|
<td style="padding:.6rem .4rem;">{{ $entry->accepted_at?->format('d/m/Y H:i:s') }}</td>
|
|
<td style="padding:.6rem .4rem;">{{ $entry->ip_address }}</td>
|
|
<td style="padding:.6rem .4rem;">{{ $entry->source }}</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
@endsection
|