fd5bc5271b7e3a7e22d611d69627df95bb0e21d5
- Rename IsCommenter trait to CanComment, Commenter interface to Commentator - Move models to Models/ namespace (Comment, Reaction, Attachment, Subscription) - Rename user_type/user_id polymorphic columns to commenter_type/commenter_id - Rename Config class to CommentsConfig, update config key tables->table_names - Rename getCommentName() to getCommentDisplayName() on commentator models - Add column_names config section for commenter morph customization - Add table_names config with all 5 tables individually configurable - Expand translation file with structured i18n groups - Update all Blade views, Livewire components, events, listeners, and tests
Comments
A full-featured commenting system for Filament panels with threaded replies, @mentions, emoji reactions, and real-time updates.
Features
- Threaded Replies - Nested comment threads with configurable depth limits
- @Mentions - Autocomplete user mentions with customizable resolver
- Emoji Reactions - 6 built-in reactions with configurable emoji sets
- File Attachments - Image and document uploads with validation
- Notifications & Subscriptions - Database and mail notifications with auto-subscribe
- 3 Filament Integrations - Slide-over action, table action, and infolist entry
Requirements
- PHP: 8.2+
- Laravel: 12+
- Livewire: 3.5+ / 4.x
- Filament: 4.x / 5.x
Installation
composer require relaticle/comments
Publish and run migrations:
php artisan vendor:publish --tag=comments-migrations
php artisan migrate
Usage
Set Up Your Models
Add the commenting traits to your models:
use Relaticle\Comments\Concerns\HasComments;
use Relaticle\Comments\Contracts\Commentable;
class Project extends Model implements Commentable
{
use HasComments;
}
Add the commenter trait to your User model:
use Relaticle\Comments\Concerns\IsCommenter;
use Relaticle\Comments\Contracts\Commenter;
class User extends Authenticatable implements Commenter
{
use IsCommenter;
}
Register the Filament Plugin
use Relaticle\Comments\CommentsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
CommentsPlugin::make(),
]);
}
Add Comments to Your Resources
Use the slide-over action on view/edit pages:
use Relaticle\Comments\Filament\Actions\CommentsAction;
protected function getHeaderActions(): array
{
return [
CommentsAction::make(),
];
}
Or add as a table action:
use Relaticle\Comments\Filament\Actions\CommentsTableAction;
public static function table(Table $table): Table
{
return $table
->actions([
CommentsTableAction::make(),
]);
}
Or embed in an infolist:
use Relaticle\Comments\Filament\Infolists\Components\CommentsEntry;
public static function infolist(Infolist $infolist): Infolist
{
return $infolist->schema([
CommentsEntry::make('comments'),
]);
}
View Complete Documentation ->
Our Ecosystem
FilaFormsVisual form builder for all your public-facing forms. Learn more -> |
Custom FieldsLet users add custom fields to any model without code changes. Learn more -> |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License. See LICENSE for details.
Description
A Filament comments package with threaded replies, mentions, reactions, file attachments, notifications, and real-time updates
Languages
PHP
90.7%
Blade
9.1%
CSS
0.2%

