awcodes / light-switch
为 Filament Panels 的认证页面添加主题切换(浅色/深色/系统)的插件
v1.0.3
2024-09-16 13:21 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ray: ^1.26
README
为 Filament Panels 的认证页面添加主题切换(浅色/深色/系统)的插件
需求
- Filament v3
安装
您可以通过 composer 安装此包
composer require awcodes/light-switch
用法
use Awcodes\LightSwitch\LightSwitchPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ LightSwitchPlugin::make(), ]); }
位置
默认情况下,切换器将添加到认证页面的右上角。您可以通过传递 Alignment
枚举中的一个值给 position()
方法来更改此位置。
use Awcodes\LightSwitch\LightSwitchPlugin; use Awcodes\LightSwitch\Enums\Alignment; public function panel(Panel $panel): Panel { return $panel ->plugins([ LightSwitchPlugin::make() ->position(Alignment::BottomCenter), ]); } // Available positions Alignment::TopLeft Alignment::TopCenter Alignment::TopRight Alignment::BottomLeft Alignment::BottomCenter Alignment::BottomRight
在特定页面禁用
您可以通过传递一个路由字符串数组给 on()
方法来在特定页面禁用切换器。此数组中的任何内容都将被评估为应显示的内容。否则,它将在所有可用的认证页面上启用。
在确定切换器是否应显示时,使用 Str::contains()
方法来匹配路由名称,因此您可以通过传递部分路由字符串来匹配多个页面,而无需传递完整的路由名称。这对于您需要针对包含特定面板路由的路径很有用,例如 admin.auth.email
或 app.auth.email
。
use Awcodes\LightSwitch\LightSwitchPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ LightSwitchPlugin::make() ->enabledOn([ 'auth.email', 'auth.login', 'auth.password', 'auth.profile', 'auth.register', ]), ]); }
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。