monzer / filament-chatify-integration
Seamlessly integrate real-time messaging into your application.
Requires
- php: ^8.1
- filament/support: ^3.0
- munafio/chatify: ^1.0
- spatie/laravel-package-tools: ^1.9
README
Seamlessly integrate real-time messaging into your Filament dashboard using Chatify. This plugin provides a ready-to-use chat widget for Filament, allowing you to enhance user communication effortlessly.
⚙️ Requirements
- PHP: 8.2+
- Laravel: 10+
- Filament: 3.x
💅 Installation
Run the following command to install the package via Composer:
composer require monzer/filament-chatify-integration
Install command:
php artisan filament-chatify-integration:install
Run database migration:
php artisan migrate
Publish assets:
php artisan filament:assets
Configuration
Please visit Chatify configuration section to complete the configuration.
🚀 Usage
To enable the plugin in your Filament panel, register it as follows:
use Monzer\FilamentChatifyIntegration\ChatifyPlugin; public function panel(Panel $panel): Panel { return $panel ->plugin(ChatifyPlugin::make()); }
Once installed, the plugin automatically provides a floating chat widget for real-time communication.
💎 Custom Chat Page Example
To customize the chat page:
Step 1: Create a custom page and extend the base chat page
namespace App\Filament\Pages; use Monzer\FilamentChatifyIntegration\Pages\Chatify as BaseChat; class CustomChatifyPage extends BaseChat { protected static ?string $slug = "chat"; protected static ?string $navigationLabel = "Chat"; protected static ?string $title = "Chat"; }
Step 2: Register the custom page in the plugin
use Monzer\FilamentChatifyIntegration\ChatifyPlugin; use App\Filament\Pages\CustomChatifyPage; public function panel(Panel $panel): Panel { return $panel ->plugin(ChatifyPlugin::make()->customPage(CustomChatifyPage::class)); // Also accepts a closure }
❌ Disabling the Floating Chat Widget
To disable the floating chat widget, use the following configuration:
use Monzer\FilamentChatifyIntegration\ChatifyPlugin; use App\Filament\Pages\CustomChatifyPage; public function panel(Panel $panel): Panel { return $panel ->plugin(ChatifyPlugin::make()->disableFloatingChatWidget()); // Also accepts a closure }
🛠️ Further Customization
For more advanced customization options, please visit the official Chatify repository.
🛠 Support & Issues
If you encounter any issues or need support, feel free to open an issue on GitHub.
📝 License
This package is open-source and licensed under the MIT License.
👤 Attribution
This package integrates Chatify, originally developed by Munafio. Full credit goes to the original author for building Chatify, which serves as the foundation for this integration.