First Commit

This commit is contained in:
marco
2026-09-01 09:22:30 -03:00
commit a43ae23eb4
407 changed files with 36138 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Handle X-XSRF-Token Header
RewriteCond %{HTTP:x-xsrf-token} .
RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

+20
View File
@@ -0,0 +1,20 @@
<?php
use Illuminate\Foundation\Application;
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
// Determine if the application is in maintenance mode...
if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
require $maintenance;
}
// Register the Composer autoloader...
require __DIR__.'/../vendor/autoload.php';
// Bootstrap Laravel and handle the request...
/** @var Application $app */
$app = require_once __DIR__.'/../bootstrap/app.php';
$app->handleRequest(Request::capture());
+130
View File
@@ -0,0 +1,130 @@
window.cookieConsent = {
storageKey: 'gprompt_cookie_consent',
bannerId: 'cookieConsentBanner',
preferencesModalId: 'cookieConsentPreferences',
init() {
if (!this.hasConsented()) {
this.showBanner();
}
},
hasConsented() {
try {
return localStorage.getItem(this.storageKey) !== null;
} catch (e) {
return false;
}
},
getConsents() {
try {
const stored = localStorage.getItem(this.storageKey);
return stored ? JSON.parse(stored) : null;
} catch (e) {
return null;
}
},
showBanner() {
const banner = document.getElementById(this.bannerId);
if (banner) {
banner.style.display = 'block';
document.body.style.paddingBottom = banner.offsetHeight + 'px';
}
},
hideBanner() {
const banner = document.getElementById(this.bannerId);
if (banner) {
banner.style.display = 'none';
document.body.style.paddingBottom = '';
}
},
showPreferences() {
const modalEl = document.getElementById(this.preferencesModalId);
if (modalEl) {
const modal = new bootstrap.Modal(modalEl);
modal.show();
const consents = this.getConsents();
if (consents) {
document.getElementById('cookieStatistics').checked = !!consents.statistics;
document.getElementById('cookieMarketing').checked = !!consents.marketing;
document.getElementById('cookiePreferences').checked = !!consents.preferences;
}
}
},
acceptAll() {
const consents = {
necessary: true,
statistics: true,
marketing: true,
preferences: true,
};
this.save(consents);
this.hideBanner();
},
reject() {
const consents = {
necessary: true,
statistics: false,
marketing: false,
preferences: false,
};
this.save(consents);
this.hideBanner();
},
savePreferences() {
const consents = {
necessary: true,
statistics: document.getElementById('cookieStatistics').checked,
marketing: document.getElementById('cookieMarketing').checked,
preferences: document.getElementById('cookiePreferences').checked,
};
this.save(consents);
this.hideBanner();
const modalEl = document.getElementById(this.preferencesModalId);
if (modalEl) {
const modal = bootstrap.Modal.getInstance(modalEl);
if (modal) {
modal.hide();
}
}
},
save(consents) {
try {
localStorage.setItem(this.storageKey, JSON.stringify(consents));
} catch (e) {
console.warn('localStorage is not available');
}
fetch('/cookie-consent', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
},
body: JSON.stringify({ consents }),
}).catch(() => {
// Silently fail - consent saved locally
});
},
};
if (document.readyState === 'interactive' || document.readyState === 'complete') {
window.cookieConsent.init();
} else {
document.addEventListener('DOMContentLoaded', function() {
window.cookieConsent.init();
});
}
+2
View File
@@ -0,0 +1,2 @@
User-agent: *
Disallow: