rhyslees/jetstream-user-timezone

这是我创建的 jetstream-user-timezone 包

2.0.0 2022-12-22 12:36 UTC

README

此包为您提供了在 jetstream 用户个人资料页面中添加用户时区选择字段的一种简单方法。

  • 包含验证

image

注意:目前只支持 Livewire 堆栈

安装

您可以通过 composer 安装此包

composer require rhyslees/jetstream-user-timezone

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="jetstream-user-timezone-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="jetstream-user-timezone-config"

可选,您可以使用以下命令发布视图

php artisan vendor:publish --tag="jetstream-user-timezone-views"

使用方法

转到 resources/views/profile/show.blade.php 并在信息表单和密码表单之间添加以下内容。

@livewire('jetstream-user-timezone::update-timezone-form')

<x-jet-section-border />

它应该看起来像这样

...
@if (Laravel\Fortify\Features::canUpdateProfileInformation())
    @livewire('profile.update-profile-information-form')

    <x-jet-section-border />
@endif

@livewire('jetstream-user-timezone::update-timezone-form')

<x-jet-section-border />

@if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::updatePasswords()))
    <div class="mt-10 sm:mt-0">
        @livewire('profile.update-password-form')
    </div>

    <x-jet-section-border />
@endif
...

最后,将以下内容添加到您的 User 模型中

use RhysLees\JetstreamUserTimezone\Traits\HasTimezone;

class User extends Authenticatable
{
    use HasTimezone;
    ...
}

显示哪些时区?

在底层,我们使用 PHP 的默认 timezone_identifiers_list() 函数将所有可用的时区返回给用户。如果您想指定要使用的时区,您可以在 config/jetstream-user-timezone.php 中的时区数组中添加您选择选项。

注意:您必须确保将有效的时区添加到数组中,否则用户的验证将失败。

有关有效时区的列表,请参阅: https://php.ac.cn/manual/en/timezones.php

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 获取详细信息。

安全漏洞

请查阅 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件