First Commit
This commit is contained in:
Executable
+66
@@ -0,0 +1,66 @@
|
||||
@extends('layouts.public', ['lightBackground' => true])
|
||||
|
||||
@section('title', __('legal.cookie_policy'))
|
||||
|
||||
@section('content')
|
||||
<div class="max-w-4xl mx-auto w-full">
|
||||
<div class="bg-white shadow-xl rounded-2xl p-8">
|
||||
<div class="text-center mb-8">
|
||||
<h1 class="text-3xl font-bold text-gray-900 mb-2">{{ __('legal.cookie_policy') }}</h1>
|
||||
<p class="text-gray-600">{{ __('legal.last_updated') }}: {{ now()->format('d/m/Y') }} | {{ __('legal.version') }}: {{ $currentVersion }}</p>
|
||||
</div>
|
||||
|
||||
<div class="prose max-w-none text-gray-700 space-y-4">
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">1. {{ __('legal.what_are_cookies') }}</h2>
|
||||
<p>{{ __('legal.cookies_definition') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">2. {{ __('legal.types_of_cookies') }}</h2>
|
||||
|
||||
<h3 class="text-xl font-medium mt-4 mb-2">{{ __('legal.essential_cookies') }}</h3>
|
||||
<p>{{ __('legal.essential_text') }}</p>
|
||||
|
||||
<h3 class="text-xl font-medium mt-4 mb-2">{{ __('legal.analytics_cookies') }}</h3>
|
||||
<p>{{ __('legal.analytics_text') }}</p>
|
||||
|
||||
<h3 class="text-xl font-medium mt-4 mb-2">{{ __('legal.functional_cookies') }}</h3>
|
||||
<p>{{ __('legal.functional_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">3. {{ __('legal.management') }}</h2>
|
||||
<p>{{ __('legal.management_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">4. {{ __('legal.third_party') }}</h2>
|
||||
<p>{{ __('legal.third_party_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">5. {{ __('legal.consent_withdrawal') }}</h2>
|
||||
<p>{{ __('legal.withdrawal_text') }}</p>
|
||||
</div>
|
||||
|
||||
@auth
|
||||
@php
|
||||
$currentTerms = config('legal.terms_version', '1.0.0');
|
||||
$currentPrivacy = config('legal.privacy_version', '1.0.0');
|
||||
$currentCookies = config('legal.cookie_version', '1.0.0');
|
||||
@endphp
|
||||
<div class="mt-8 border-t pt-6">
|
||||
<form method="POST" action="{{ route('legal.accept') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="terms_version" value="{{ $currentTerms }}">
|
||||
<input type="hidden" name="privacy_version" value="{{ $currentPrivacy }}">
|
||||
<input type="hidden" name="cookie_version" value="{{ $currentCookies }}">
|
||||
|
||||
<div class="flex items-center mb-4">
|
||||
<input id="agree" type="checkbox" name="agree" required class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
|
||||
<label for="agree" class="ml-2 block text-sm text-gray-900">
|
||||
{{ __('legal.i_agree') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-lg shadow-sm text-sm font-medium text-white bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition">
|
||||
{{ __('legal.accept_and_continue') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
@endauth
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="max-w-4xl mx-auto py-10 px-4 sm:px-6 lg:px-8">
|
||||
<div class="bg-white shadow rounded-lg p-6">
|
||||
<h1 class="text-3xl font-bold text-gray-900 mb-6">{{ __('legal.consent_history') }}</h1>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-gray-200">
|
||||
<thead class="bg-gray-50">
|
||||
<tr>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{{ __('legal.date') }}</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{{ __('legal.terms_version') }}</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{{ __('legal.privacy_version') }}</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{{ __('legal.cookie_version') }}</th>
|
||||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{{ __('legal.ip_address') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg-white divide-y divide-gray-200">
|
||||
@forelse ($consents as $consent)
|
||||
<tr>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
|
||||
{{ $consent->accepted_at->format('d/m/Y H:i:s') }}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
|
||||
{{ $consent->terms_version }}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
|
||||
{{ $consent->privacy_version }}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
|
||||
{{ $consent->cookie_version }}
|
||||
</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
|
||||
{{ $consent->ip_address ?? 'N/A' }}
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="px-6 py-4 text-center text-sm text-gray-500">
|
||||
{{ __('legal.no_consents') }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="mt-6">
|
||||
{{ $consents->links() }}
|
||||
</div>
|
||||
|
||||
<div class="mt-6">
|
||||
<a href="{{ route('legal.terms') }}" class="text-indigo-600 hover:text-indigo-900">
|
||||
{{ __('legal.back_to_terms') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
@extends('layouts.public', ['lightBackground' => true])
|
||||
|
||||
@section('title', __('legal.privacy_policy'))
|
||||
|
||||
@section('content')
|
||||
<div class="max-w-4xl mx-auto w-full">
|
||||
<div class="bg-white shadow-xl rounded-2xl p-8">
|
||||
<div class="text-center mb-8">
|
||||
<h1 class="text-3xl font-bold text-gray-900 mb-2">{{ __('legal.privacy_policy') }}</h1>
|
||||
<p class="text-gray-600">{{ __('legal.last_updated') }}: {{ now()->format('d/m/Y') }} | {{ __('legal.version') }}: {{ $currentVersion }}</p>
|
||||
</div>
|
||||
|
||||
<div class="prose max-w-none text-gray-700 space-y-4">
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">1. {{ __('legal.responsible') }}</h2>
|
||||
<p>{{ config('legal.company_name') }} - {{ config('legal.company_email') }}</p>
|
||||
<p>{{ __('legal.dpo') }}: {{ config('legal.dpo_email') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">2. {{ __('legal.data_collected') }}</h2>
|
||||
<p>{{ __('legal.data_collected_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">3. {{ __('legal.purpose') }}</h2>
|
||||
<p>{{ __('legal.purpose_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">4. {{ __('legal.storage') }}</h2>
|
||||
<p>{{ __('legal.storage_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">5. {{ __('legal.sharing') }}</h2>
|
||||
<p>{{ __('legal.sharing_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">6. {{ __('legal.retention') }}</h2>
|
||||
<p>{{ __('legal.retention_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">7. {{ __('legal.rights') }}</h2>
|
||||
<p>{{ __('legal.rights_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">8. {{ __('legal.security') }}</h2>
|
||||
<p>{{ __('legal.security_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">9. {{ __('legal.cookies_section') }}</h2>
|
||||
<p>{{ __('legal.cookies_text') }}</p>
|
||||
</div>
|
||||
|
||||
@auth
|
||||
@php
|
||||
$currentTerms = config('legal.terms_version', '1.0.0');
|
||||
$currentPrivacy = config('legal.privacy_version', '1.0.0');
|
||||
$currentCookies = config('legal.cookie_version', '1.0.0');
|
||||
@endphp
|
||||
<div class="mt-8 border-t pt-6">
|
||||
<form method="POST" action="{{ route('legal.accept') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="terms_version" value="{{ $currentTerms }}">
|
||||
<input type="hidden" name="privacy_version" value="{{ $currentPrivacy }}">
|
||||
<input type="hidden" name="cookie_version" value="{{ $currentCookies }}">
|
||||
|
||||
<div class="flex items-center mb-4">
|
||||
<input id="agree" type="checkbox" name="agree" required class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
|
||||
<label for="agree" class="ml-2 block text-sm text-gray-900">
|
||||
{{ __('legal.i_agree') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-lg shadow-sm text-sm font-medium text-white bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition">
|
||||
{{ __('legal.accept_and_continue') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
@endauth
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
@extends('layouts.public', ['lightBackground' => true])
|
||||
|
||||
@section('title', __('legal.terms_of_use'))
|
||||
|
||||
@section('content')
|
||||
<div class="max-w-4xl mx-auto w-full">
|
||||
<div class="bg-white shadow-xl rounded-2xl p-8">
|
||||
<div class="text-center mb-8">
|
||||
<h1 class="text-3xl font-bold text-gray-900 mb-2">{{ __('legal.terms_of_use') }}</h1>
|
||||
<p class="text-gray-600">{{ __('legal.last_updated') }}: {{ now()->format('d/m/Y') }} | {{ __('legal.version') }}: {{ $currentVersion }}</p>
|
||||
</div>
|
||||
|
||||
<div class="prose max-w-none text-gray-700 space-y-4">
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">1. {{ __('legal.acceptance_of_terms') }}</h2>
|
||||
<p>{{ __('legal.acceptance_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">2. {{ __('legal.description_of_services') }}</h2>
|
||||
<p>{{ __('legal.services_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">3. {{ __('legal.user_obligations') }}</h2>
|
||||
<p>{{ __('legal.obligations_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">4. {{ __('legal.intellectual_property') }}</h2>
|
||||
<p>{{ __('legal.ip_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">5. {{ __('legal.limitation_of_liability') }}</h2>
|
||||
<p>{{ __('legal.liability_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">6. {{ __('legal.modifications') }}</h2>
|
||||
<p>{{ __('legal.modifications_text') }}</p>
|
||||
|
||||
<h2 class="text-2xl font-semibold mt-6 mb-3">7. {{ __('legal.applicable_law') }}</h2>
|
||||
<p>{{ __('legal.law_text') }}</p>
|
||||
</div>
|
||||
|
||||
@auth
|
||||
@php
|
||||
$latestConsent = auth()->user()->consents()->orderByDesc('accepted_at')->first();
|
||||
$currentTerms = config('legal.terms_version', '1.0.0');
|
||||
$currentPrivacy = config('legal.privacy_version', '1.0.0');
|
||||
$currentCookies = config('legal.cookie_version', '1.0.0');
|
||||
$needsConsent = !$latestConsent ||
|
||||
$latestConsent->terms_version !== $currentTerms ||
|
||||
$latestConsent->privacy_version !== $currentPrivacy ||
|
||||
$latestConsent->cookie_version !== $currentCookies;
|
||||
@endphp
|
||||
@if($needsConsent)
|
||||
<div class="mt-8 border-t pt-6">
|
||||
<form method="POST" action="{{ route('legal.accept') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="terms_version" value="{{ $currentTerms }}">
|
||||
<input type="hidden" name="privacy_version" value="{{ $currentPrivacy }}">
|
||||
<input type="hidden" name="cookie_version" value="{{ $currentCookies }}">
|
||||
|
||||
<div class="flex items-center mb-4">
|
||||
<input id="agree" type="checkbox" name="agree" required class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
|
||||
<label for="agree" class="ml-2 block text-sm text-gray-900">
|
||||
{{ __('legal.i_agree') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-lg shadow-sm text-sm font-medium text-white bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 transition">
|
||||
{{ __('legal.accept_and_continue') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
@endif
|
||||
@endauth
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user