Cookie Consent plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Cookie Consent

A simple and elegant way to implement cookie consent on your website, ensuring compliance with privacy regulations like GDPR and CCPA.

Tags: Widget
Supported versions:
4.x 3.x
Jefferson Gonçalves avatar Author: Jefferson Gonçalves

Documentation

Version:

Filament Cookie Consent

Latest Version on Packagist GitHub Code Style Action Status Total Downloads License

This Filament package provides a simple and elegant way to implement cookie consent on your website, ensuring compliance with privacy regulations like GDPR and CCPA. It includes a Settings Page to manage all cookie consent options directly from your Filament panel.

#Compatibility

Package Version Filament Version
1.x 3.x
2.x 4.x
3.x 5.x

#Features

  • Automatic Integration: No need to manually add blade templates - works out of the box with Filament
  • Settings Page: Manage all cookie consent settings directly from your Filament panel
  • Database-driven Settings: Uses spatie/laravel-settings for persistent, database-backed configuration
  • GDPR & CCPA Compliant: Ensures your application meets privacy regulation requirements
  • Highly Configurable: Customize colors, position, theme, and content via the admin panel
  • Responsive Design: Works perfectly on desktop and mobile devices
  • Multi-language Support: Easily translatable for international applications

#Requirements

  • PHP 8.2 or higher
  • Laravel 11.0 or higher
  • Filament 4.0

#Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-cookie-consent:^2.3

If you haven't already, publish the Spatie Laravel Settings migration:

php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"

Then publish and run the cookie consent settings migration:

php artisan vendor:publish --tag=cookie-consent-settings-migrations
php artisan migrate

#Plugin Registration

Register the plugin in your Filament Panel Provider:

use JeffersonGoncalves\Filament\CookieConsent\CookieConsentPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            CookieConsentPlugin::make(),
        ]);
}

#Settings Page

Once registered, the plugin adds a Cookie Consent Settings page to your Filament panel under the "Settings" navigation group. From there you can configure:

  • Assets: CSS and JavaScript URLs for the cookie consent library
  • Content: Header, message, button texts, privacy policy URL, link target, and cookie policy text
  • Popup Colors: Background, text, and link colors
  • Button Colors: Background, border, and text colors
  • Highlight Colors: Background, border, and text colors
  • Layout: Banner position and theme

#Disabling the Settings Page

If you only want the automatic cookie consent integration without the settings page:

CookieConsentPlugin::make()
    ->settingsPage(false),

#How it works

This package extends the jeffersongoncalves/laravel-cookie-consent package specifically for Filament panels. It automatically registers render hooks that inject the cookie consent templates into your Filament panel pages:

  • Cookie consent scripts are automatically added to the <head> section
  • Cookie consent banner is automatically added to the end of the <body> section

No manual template inclusion is required when using this Filament package.

#Screenshots

Screenshots using this package in the admin panel provider.

Top Left Top Right
Top Left Top Right
Bottom Left Bottom Right
Bottom Left Bottom Right

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.