diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 45d30385..7aad0f07 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -85,6 +85,8 @@ class AdminController extends Controller $form->text('favicon_url')->hint()->description(); + $form->checkbox('transparent_navbar')->label(); + $form->select('copyright_prefer') ->option('0', 'Powered with ❤ by Blessing Skin Server.') ->option('1', 'Powered by Blessing Skin Server.') diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2db4ef43..cdb98132 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -7,6 +7,7 @@ class HomeController extends Controller public function index() { return view('index')->with('user', auth()->user()) + ->with('transparent_navbar', option('transparent_navbar', false)) ->with('home_pic_url', option('home_pic_url') ?: config('options.home_pic_url')); } } diff --git a/config/options.php b/config/options.php index a5d88fca..11bf1876 100644 --- a/config/options.php +++ b/config/options.php @@ -56,4 +56,5 @@ return [ 'reporter_score_modification' => '0', 'reporter_reward_score' => '0', 'content_policy' => '', + 'transparent_navbar' => 'false', ]; diff --git a/resources/assets/src/scripts/home-page.ts b/resources/assets/src/scripts/home-page.ts index e999bf82..a3b514fb 100644 --- a/resources/assets/src/scripts/home-page.ts +++ b/resources/assets/src/scripts/home-page.ts @@ -12,6 +12,9 @@ function handler() { } } -window.addEventListener('load', handler) +/* istanbul ignore next */ +if (blessing.extra.transparent_navbar) { + window.addEventListener('load', handler) +} export default handler diff --git a/resources/assets/tests/scripts/home-page.test.ts b/resources/assets/tests/scripts/home-page.test.ts index 5cb2eb99..ecf4a48d 100644 --- a/resources/assets/tests/scripts/home-page.test.ts +++ b/resources/assets/tests/scripts/home-page.test.ts @@ -1,5 +1,9 @@ import handler from '@/scripts/home-page' +window.blessing.extra = { + transparent_navbar: false, +} + test('should be transparent at top', () => { Object.assign(window, { innerHeight: 900 }) document.body.innerHTML = '
' diff --git a/resources/assets/tests/setup.js b/resources/assets/tests/setup.js index 84b5cf1b..5c767b10 100644 --- a/resources/assets/tests/setup.js +++ b/resources/assets/tests/setup.js @@ -11,6 +11,7 @@ window.blessing = { base_url: '', site_name: 'Blessing Skin', version: '4.0.0', + extra: {}, } window.Headers = class extends Map { diff --git a/resources/lang/en/options.yml b/resources/lang/en/options.yml index 4ccc0470..b9c84871 100644 --- a/resources/lang/en/options.yml +++ b/resources/lang/en/options.yml @@ -10,6 +10,9 @@ homepage: title: Website Icon hint: Path relative to resources/assets/ or full URL. description: The given image must have same width and height (leave blank to use default icon). + transparent_navbar: + title: Transparent Navigation Bar + label: This will enable transparent navigation bar of home page, but it will turn to be normal if page is scrolled to bottom. copyright_prefer: title: Program Copyright description: "You can specify a different style of program copyright for each language. To edit a specific language's corresponding program copyright style, please switch to that language and submit your edit.
Warning: Any evil modification applied on the footer program copyright (including deleting, modifying author, changing link target) with out permission is FORBIDDEN. The author reserves the right to pursue relevant responsibilities." diff --git a/resources/lang/zh_CN/options.yml b/resources/lang/zh_CN/options.yml index 9810d683..ce3155ee 100644 --- a/resources/lang/zh_CN/options.yml +++ b/resources/lang/zh_CN/options.yml @@ -10,6 +10,9 @@ homepage: title: 网站图标 hint: 相对 resources/assets/ 的路径或者完整的 URL description: 所使用的图像必须具有相同的宽度和高度(留空以使用默认图标) + transparent_navbar: + title: 首页导航栏透明 + label: 开启后首页顶部的导航栏将透明化,但页面滚动到底部时会变为不透明。 copyright_prefer: title: 程序版权信息 description: 每种支持的语言都可以对应不同的程序版权信息,如果想要编辑某种特定语言下的版权信息,请在右上角切换至该语言后再提交修改。对于任何恶意修改页面右下角的版权信息(包括不限于删除、修改作者信息、修改链接指向)的用户,作者保留对其追究责任的权利。 diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index b4942513..3f1079ff 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -17,7 +17,7 @@
-
+