feat: cookie policy & consent banner per Moldova law 195/2024

- Settings page: new "Politica Cookie" section — toggle banner on/off,
  editable RO/RU policy text (defaults to full 14-section template)
- Public route GET /cookie-policy → CookiePolicyController returns
  locale-aware full policy page with tenant branding
- Cookie banner partial (Alpine.js, localStorage) shown on tracking and
  landing pages; Accept/Reject stores consent, banner dismisses
- Translation keys added to lang/ro/portal.php and lang/ru/portal.php
- Alpine.js (CDN) added to tracking and landing pages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-16 17:52:23 +00:00
parent 753e81d292
commit 68f58cbcdc
9 changed files with 591 additions and 0 deletions
+4
View File
@@ -185,6 +185,10 @@ Route::controller(\App\Http\Controllers\ShopAuthController::class)->prefix('shop
Route::post('/password/reset', 'resetPassword')->name('shop.password.update')->middleware('throttle:5,1,shop-pw-reset');
});
// ─── Cookie policy (public, tenant-scoped via subdomain) ────────────
Route::get('/cookie-policy', [\App\Http\Controllers\CookiePolicyController::class, 'show'])
->name('cookie.policy');
// ─── Public WO tracking (no auth, tenant-scoped via subdomain) ──────
Route::get('/t/{token}', [\App\Http\Controllers\TrackingController::class, 'show'])
->where('token', '[A-Za-z0-9]{16,32}')