monzer/filament-chatify-integration

Seamlessly integrate real-time messaging into your application.

1.0.1 2025-03-10 02:23 UTC

This package is auto-updated.

Last update: 2025-03-29 01:13:02 UTC


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.