- Add comments to any model
- Multiple comment systems on the same page
- Multiple auth guards
- Image and File upload support
- Drag and drop, copy and paste upload files support
- reCaptcha v3 support
- Emoji support
- Markdown support
- NSFW image upload check support
- Allow guest to comment
- Admin panel
- Mention user with @
- Emoji Suggestion Popup
- Delete Report comment
- Ratting system
- Toolbar for comment
- Comment history
- Show Nested comments
- Unit test
- Livewire
- AlpineJs
- Heroicons Blade Components
- VgComments
- TailwindCss
- Plyr
- highlight.js
- picmo
- Laravel Mix
- Laravel Echo
Package use Macroable trait to add comments to any model. It uses Livewire and AlpineJs to create a comment system with a lot of features.
Package support multiple comment systems on the same page.
Package support multiple auth guards.
In your terminal run:
composer require vigstudio/livewire-comments
Publish the assets files with:
php artisan vendor:publish --tag=vgcomment-assets-livewire
You can publish the config with:
php artisan vendor:publish --tag=vgcomment-config
Edit prefix route in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Route Prefix
|--------------------------------------------------------------------------
|
| This is the URI path where VgComment will be accessible from. Feel free to
| change this path to anything you like.
|
*/
'prefix' => 'vgcomment',
Edit connection name in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Database Connection
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all of your database work.
|
*/
'connection' => env('DB_CONNECTION', 'mysql'),
Edit table names in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Name of Tables in Database
|--------------------------------------------------------------------------
|
| This is the name of the table that will be created by the migration and
| used by the Comment model shipped with this package.
|
| "comments" : Comments Table
| "files" : Files Attachment Table
| "reactions" : Reactions Table
| "reports" : Reports Table
| "settings" : Settings Table
|
*/
'table' => [
'comments' => 'vgcomments',
'files' => 'vgcomment_files',
'reactions' => 'vgcomment_reactions',
'reports' => 'vgcomment_reports',
'settings' => 'vgcomment_settings',
],
Config Column or Attribute User Model in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Column of User Table for get Data
|--------------------------------------------------------------------------
|
| This is the setting for column of user table for get data.
| "user_column_name" : Column name for get name user
| "user_column_email" : Column name for get email user
| "user_column_url" : Column name for get url user
|
*/
'user_column_name' => 'name',
'user_column_email' => 'email',
'user_column_url' => 'url',
'user_column_avatar_url' => 'avatar_url',
Set moderation user in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Users Manager Comments
|--------------------------------------------------------------------------
|
| This is the setting for users manager comments.
| 'guard' => [user_id]
|
| Example:
| 'web' => [1, 2, 3]
| 'api' => [1, 2, 3]
|
*/
'moderation_users' => [
'web' => [1],
],
Run the migrate command to create the necessary tables:
Before running the migrate command, you can edit the config/vgcomment.php
file to change the table names.
php artisan migrate
Additionally you may want to clear the config, cache, etc:
php artisan optimize:clear