awcodes/light-switch

为 Filament Panels 的认证页面添加主题切换(浅色/深色/系统)的插件

v1.0.3 2024-09-16 13:21 UTC

This package is auto-updated.

Last update: 2024-09-16 13:21:30 UTC


README

为 Filament Panels 的认证页面添加主题切换(浅色/深色/系统)的插件

Latest Version on Packagist Total Downloads

light switch screenshots

需求

  • 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.emailapp.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)。请参阅 许可文件 了解更多信息。