flashadvocate / filament-reactions
Emoji reaction pills for Filament resource pages
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/flashadvocate/filament-reactions
Requires
- php: ^8.2
- filament/support: ^3.2|^4.0
- livewire/livewire: ^3.5|^4.0
- spatie/laravel-package-tools: ^1.18
README
Emoji reaction pills for Filament resource pages. Add lightweight emoji reactions to any Eloquent model and display them as interactive pills on Filament edit/view pages.
Installation
composer require flashadvocate/filament-reactions
Publish and run the migration:
php artisan vendor:publish --tag=filament-reactions-migrations php artisan migrate
Setup
Register the plugin
Add FilamentReactionsPlugin to each Filament panel that needs reactions:
use Flashadvocate\FilamentReactions\FilamentReactionsPlugin; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentReactionsPlugin::make()) // ... }
Prepare your model
Add the HasReactions trait to any model you want to be reactable:
use Flashadvocate\FilamentReactions\Concerns\HasReactions; class Post extends Model { use HasReactions; }
Add to a Filament resource
Use the Reactions Livewire component in your resource form schema:
use Flashadvocate\FilamentReactions\Livewire\Reactions; use Filament\Schemas\Components\Livewire; public static function form(Schema $schema): Schema { return $schema->components([ // your fields... Livewire::make(Reactions::class), ]); }
Configuration
Publish the config file:
php artisan vendor:publish --tag=filament-reactions-config
return [ // Database table name 'table' => 'model_reactions', // Allowed emoji reactions 'allowed' => ['👍', '👎', '❤️', '➕'], ];
License
MIT