Skip to content

Commit 0aa1b89

Browse files
committed
feat: theme dark mode auto
1 parent 307f84e commit 0aa1b89

File tree

50 files changed

+8774
-170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+8774
-170
lines changed

module/Banner/Admin/Controller/BannerController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use ModStart\Grid\GridFilter;
1212
use ModStart\Support\Concern\HasFields;
1313
use Module\Banner\Type\BannerPosition;
14+
use Module\Banner\Type\BannerPositionRemark;
1415
use Module\Banner\Type\BannerType;
1516
use Module\Banner\Util\BannerUtil;
1617

@@ -25,7 +26,7 @@ protected function crud(AdminCRUDBuilder $builder)
2526
->field(function ($builder) {
2627

2728
$builder->id('id', 'ID');
28-
$builder->select('position', '位置')->optionType(BannerPosition::class);
29+
$builder->select('position', '位置')->optionType(BannerPositionRemark::class);
2930
$builder->image('image', '图片');
3031
$builder->radio('type', '样式类型')
3132
->optionType(BannerType::class)

module/Banner/Biz/AbstractBannerPositionBiz.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,9 @@ abstract class AbstractBannerPositionBiz
99
abstract public function name();
1010

1111
abstract public function title();
12+
13+
public function remark()
14+
{
15+
return null;
16+
}
1217
}

module/Banner/Biz/BannerPositionBiz.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66

77
use Module\Vendor\Provider\BizTrait;
88

9+
910
class BannerPositionBiz
1011
{
1112
use BizTrait;
1213

13-
public static function registerQuick($name, $title)
14+
public static function registerQuick($name, $title, $remark = null)
1415
{
15-
self::register(QuickBannerPositionBiz::make($name, $title));
16+
self::register(QuickBannerPositionBiz::make($name, $title, $remark));
1617
}
1718

1819

module/Banner/Biz/QuickBannerPositionBiz.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ class QuickBannerPositionBiz extends AbstractBannerPositionBiz
88
{
99
protected $name;
1010
protected $title;
11+
protected $remark;
1112

12-
public static function make($name, $title)
13+
public static function make($name, $title, $remark = null)
1314
{
1415
$o = new static();
1516
$o->name = $name;
1617
$o->title = $title;
18+
$o->remark = $remark;
1719
return $o;
1820
}
1921

@@ -27,5 +29,9 @@ public function title()
2729
return $this->title;
2830
}
2931

32+
public function remark()
33+
{
34+
return $this->remark;
35+
}
3036

3137
}

module/Banner/Docs/release.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
- 新增:模块快速调用方式
44
- 新增:快速调用方式增加container参数
5+
- 新增:轮播使用者remark参数,显示轮播提示
56

67
---
78

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
4+
namespace Module\Banner\Type;
5+
6+
7+
use Module\Banner\Biz\BannerPositionBiz;
8+
9+
class BannerPositionRemark extends BannerPosition
10+
{
11+
public static function getList()
12+
{
13+
$map = parent::getList();
14+
foreach ($map as $k => $v) {
15+
$biz = BannerPositionBiz::get($k);
16+
if ($biz && $biz->remark()) {
17+
$map[$k] = $v . '(' . $biz->remark() . ')';
18+
}
19+
}
20+
return $map;
21+
}
22+
}

module/Blog/Admin/Controller/ConfigController.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Illuminate\Routing\Controller;
77
use ModStart\Admin\Layout\AdminConfigBuilder;
88
use ModStart\Support\Concern\HasFields;
9+
use Module\Blog\Type\BlogDarkModeType;
910
use Module\Vendor\Provider\Captcha\CaptchaProvider;
1011
use Module\Vendor\Provider\SuperSearch\SuperSearchProvider;
1112

@@ -27,8 +28,14 @@ public function index(AdminConfigBuilder $builder)
2728
$builder->switch('Blog_DarkModeEnable', '启用暗黑模式')
2829
->when('=', true, function ($builder) {
2930

30-
$builder->time('Blog_DarkModeStart', '开始');
31-
$builder->time('Blog_DarkModeEnd', '结束');
31+
$builder->radio('Blog_DarkModeType', '暗黑模式')
32+
->optionType(BlogDarkModeType::class)
33+
->when('=', BlogDarkModeType::TIME, function ($builder) {
34+
35+
$builder->time('Blog_DarkModeStart', '开始');
36+
$builder->time('Blog_DarkModeEnd', '结束');
37+
})
38+
->defaultValue(BlogDarkModeType::AUTO);
3239
});
3340
$builder->formClass('wide');
3441
return $builder->perform();

module/Blog/Asset/style/prefers-color-scheme.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

module/Blog/Docs/release.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## 2.7.0
2+
3+
- 新增:博客分享条增加模块ShareJS是否安装判断
4+
- 新增:暗黑模式跟随系统
5+
6+
---
7+
18
## 2.6.0 超级搜索,暗黑模式,主动推送,UI优化
29

310
- 新增:博客新增暗黑模式
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
4+
namespace Module\Blog\Type;
5+
6+
7+
use ModStart\Core\Type\BaseType;
8+
9+
class BlogDarkModeType implements BaseType
10+
{
11+
const AUTO = 'auto';
12+
const TIME = 'time';
13+
14+
public static function getList()
15+
{
16+
return [
17+
self::AUTO => '跟随系统',
18+
self::TIME => '按时间段'
19+
];
20+
}
21+
22+
}

0 commit comments

Comments
 (0)