oriondevelops / filament-feedback
用于收集反馈的 Filament 插件。
v0.1.0
2023-11-25 21:06 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
这个 Filament 插件是一个简单的向导,用于收集用户反馈并将其转发到指定的电子邮件地址。
安装
您可以通过 composer 安装此包。
composer require oriondevelops/filament-feedback
接下来,请确保您已设置邮件服务。
使用方法
您需要将插件注册到您偏好的 Filament 面板提供商。这可以在您的 PanelProvider
内完成,例如 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') ); } }
现在,您可以在 Filament 应用中点击“反馈”菜单项来查看反馈插件。
自定义可见性
定义谁可以查看反馈页面。
<?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')) ); } }
自定义导航项
<?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), ); } }
自定义页面
<?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以获取详细信息。
安全
请查看安全策略以了解如何报告安全漏洞。
致谢
许可证
MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。