oriondevelops/filament-feedback
A Filament plugin to collect feedback.
32
3
| Install | |
|---|---|
composer require oriondevelops/filament-feedback |
|
| Latest Version: | v0.1.0 |
| PHP: | ^8.1 |
| License: | MIT |
| Last Updated: | Aug 18, 2024 |
| Links: | GitHub · Packagist |
Maintainer: oriondevelops
A Filament plugin to collect feedback
This Filament plugin is a simple wizard that collects user feedback and forwards it to the chosen email address.
Installation
You can install the package via composer:
composer require oriondevelops/filament-feedback
Next ensure you setup a mail service.
Usage
You need to register the plugin with your preferred Filament panel providers. This can be done inside of your PanelProvider, e.g. AdminPanelProvider.
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use Orion\FilamentFeedback\FeedbackPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FeedbackPlugin::make()
->sendResponsesTo(email: 'oriondevelops@gmail.com')
);
}
}
You can now click on the "Feedback" menu item in your Filament app to see the feedback plugin.
Customizing visibility
Define who can view the feedback page.
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use Orion\FilamentFeedback\FeedbackPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FeedbackPlugin::make()
->visible(fn() => auth()->user()->can('view feedback page'))
);
}
}
Customizing the navigation item
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use Orion\FilamentFeedback\FeedbackPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FeedbackPlugin::make()
->slug('feedback')
->label('Feedback')
->icon('heroicon-o-face-smile')
->group('Help')
->sort(3),
);
}
}
Customizing the page
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use Orion\FilamentFeedback\FeedbackPlugin;
use App\Filament\Pages\ExtendedFeedbackPage;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FeedbackPlugin::make()
->page(ExtendedFeedbackPage::class),
);
}
}
Contributing
Please see CONTRIBUTING for details.
Security
Please review Security Policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
martinpetricko/filament-sentry-feedback
FilamentPHP package that integrates Sentry User Feedback
15,123
9