Files
City10/resources/views/dashboard/index.blade.php
T
marcocosta10000 79d12fa2f4 feat: add City10 platform with Laravel 13, AI agents, 3D viewer, and LGPD compliance
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
2026-10-17 20:46:15 -03:00

56 lines
2.5 KiB
PHP

@extends('layouts.app')
@section('title', __('Dashboard'))
@section('content')
<div style="max-width: 960px; margin: 0 auto;">
<div class="card" style="margin-bottom:1.25rem;">
<h1 style="margin-top:0; color:#fff;">👋 Olá, {{ $user->name }}</h1>
<p style="color:var(--muted); margin-bottom:.5rem;">
Você está autenticado como
<span class="badge {{ $isAdmin ? 'badge-admin' : 'badge-user' }}">{{ $isAdmin ? 'Administrador' : 'Usuário' }}</span>
— idioma: {{ $user->locale }}.
</p>
<p style="color:var(--muted); font-size:.9rem;">
Último acesso: {{ $user->last_login_at?->format('d/m/Y H:i:s') ?? '—' }}
</p>
</div>
<div class="grid-3">
<div class="card">
<h3 style="margin-top:0; color:#fff;">🏙️ {{ __('nav.city') }}</h3>
<p style="color:var(--muted); font-size:.95rem;">
<a href="{{ route('city.viewer') }}">{{ __('dashboard.open_viewer') }}</a><br>
{{ __('dashboard.viewer_desc') }}
</p>
</div>
@if ($isAdmin)
<div class="card" style="border-color:rgba(99,102,241,.5);">
<h3 style="margin-top:0; color:#fff;">⚙️ {{ __('nav.admin') }}</h3>
<p style="color:var(--muted); font-size:.95rem;">
<a href="{{ route('admin.stores.index') }}">{{ __('admin.stores.manage') }}</a><br>
{{ __('admin.stores.admin_desc') }}
</p>
</div>
@endif
<div class="card">
<h3 style="margin-top:0; color:#fff;">🏪 {{ __('dashboard.stores_title') }}</h3>
<p style="font-size:2rem; margin:.2rem 0; color:var(--brand);">{{ $storeCount }}</p>
<p style="color:var(--muted); font-size:.9rem;">{{ __('dashboard.stores_desc') }}</p>
</div>
<div class="card">
<h3 style="margin-top:0; color:#fff;">📜 {{ __('dashboard.legal_title') }}</h3>
<p style="color:var(--muted); font-size:.95rem;">
<a href="{{ route('terms.history') }}">{{ __('dashboard.consent_history') }}</a><br>
<a href="{{ route('legal.show', 'terms') }}">{{ __('legal.terms_label') }}</a> ·
<a href="{{ route('legal.show', 'privacy') }}">{{ __('legal.privacy_label') }}</a> ·
<a href="{{ route('legal.show', 'cookies') }}">{{ __('legal.cookies_label') }}</a>
</p>
</div>
</div>
</div>
@endsection