From 3e502105f906faca4c87f352f05205aa063c20e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=98=8E?= <793113891@qq.com>
Date: Thu, 9 May 2024 23:46:53 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=90=8E=E6=89=93?=
=?UTF-8?q?=E5=BC=80=E6=AD=8C=E6=9B=B2=E8=AF=A6=E7=BB=86=E7=95=8C=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/config/defaultSetting.ts | 1 +
src/lang/en_us.json | 1 +
src/lang/zh_cn.json | 1 +
.../Basic/IsStartupPushPlayDetailScreen.tsx | 31 +++++++++++++++++++
.../Views/Setting/settings/Basic/index.tsx | 2 ++
src/screens/Home/index.tsx | 5 +++
src/types/app_setting.d.ts | 5 +++
7 files changed, 46 insertions(+)
create mode 100644 src/screens/Home/Views/Setting/settings/Basic/IsStartupPushPlayDetailScreen.tsx
diff --git a/src/config/defaultSetting.ts b/src/config/defaultSetting.ts
index fe19bd401..4fbdce95a 100644
--- a/src/config/defaultSetting.ts
+++ b/src/config/defaultSetting.ts
@@ -15,6 +15,7 @@ const defaultSetting: LX.AppSetting = {
'common.alwaysKeepStatusbarHeight': false,
'player.startupAutoPlay': false,
+ 'player.startupPushPlayDetailScreen': false,
'player.togglePlayMethod': 'listLoop',
'player.playQuality': '128k',
'player.isSavePlayTime': false,
diff --git a/src/lang/en_us.json b/src/lang/en_us.json
index 713c08499..dc34e0dff 100644
--- a/src/lang/en_us.json
+++ b/src/lang/en_us.json
@@ -277,6 +277,7 @@
"setting_basic_sourcename_real": "Original",
"setting_basic_sourcename_title": "Select the name of music source",
"setting_basic_startup_auto_play": "Play music automatically after startup",
+ "setting_basic_startup_push_play_detail_screen": "Open the detailed interface of the song after startup",
"setting_basic_theme": "Theme",
"setting_basic_theme_auto_theme": "Follow the system light and dark mode to switch themes",
"setting_basic_theme_dynamic_bg": "Use dynamic backgrounds",
diff --git a/src/lang/zh_cn.json b/src/lang/zh_cn.json
index ca5f7c74b..a683ec5fe 100644
--- a/src/lang/zh_cn.json
+++ b/src/lang/zh_cn.json
@@ -277,6 +277,7 @@
"setting_basic_sourcename_real": "原名",
"setting_basic_sourcename_title": "选择音源名字类型",
"setting_basic_startup_auto_play": "启动后自动播放音乐",
+ "setting_basic_startup_push_play_detail_screen": "启动后打开歌曲详细界面",
"setting_basic_theme": "主题颜色",
"setting_basic_theme_auto_theme": "跟随系统亮、暗模式切换主题",
"setting_basic_theme_dynamic_bg": "使用动态背景",
diff --git a/src/screens/Home/Views/Setting/settings/Basic/IsStartupPushPlayDetailScreen.tsx b/src/screens/Home/Views/Setting/settings/Basic/IsStartupPushPlayDetailScreen.tsx
new file mode 100644
index 000000000..65a89ee7f
--- /dev/null
+++ b/src/screens/Home/Views/Setting/settings/Basic/IsStartupPushPlayDetailScreen.tsx
@@ -0,0 +1,31 @@
+import { updateSetting } from '@/core/common'
+import { useI18n } from '@/lang'
+import { createStyle } from '@/utils/tools'
+import { memo } from 'react'
+import { View } from 'react-native'
+import { useSettingValue } from '@/store/setting/hook'
+
+
+import CheckBoxItem from '../../components/CheckBoxItem'
+
+export default memo(() => {
+ const t = useI18n()
+ const startupPushPlayDetailScreen = useSettingValue('player.startupPushPlayDetailScreen')
+ const setStartupPushPlayDetailScreen = (startupPushPlayDetailScreen: boolean) => {
+ updateSetting({ 'player.startupPushPlayDetailScreen': startupPushPlayDetailScreen })
+ }
+
+ return (
+
+
+
+ )
+})
+
+
+const styles = createStyle({
+ content: {
+ marginTop: 5,
+ // marginBottom: 15,
+ },
+})
diff --git a/src/screens/Home/Views/Setting/settings/Basic/index.tsx b/src/screens/Home/Views/Setting/settings/Basic/index.tsx
index 10a05fa56..d8bd9cb0d 100644
--- a/src/screens/Home/Views/Setting/settings/Basic/index.tsx
+++ b/src/screens/Home/Views/Setting/settings/Basic/index.tsx
@@ -8,6 +8,7 @@ import Language from './Language'
import FontSize from './FontSize'
import ShareType from './ShareType'
import IsStartupAutoPlay from './IsStartupAutoPlay'
+import IsStartupPushPlayDetailScreen from './IsStartupPushPlayDetailScreen'
import IsAutoHidePlayBar from './IsAutoHidePlayBar'
import IsHomePageScroll from './IsHomePageScroll'
import IsUseSystemFileSelector from './IsUseSystemFileSelector'
@@ -24,6 +25,7 @@ export default memo(() => {
return (
+
diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx
index ea2c95820..21e024630 100644
--- a/src/screens/Home/index.tsx
+++ b/src/screens/Home/index.tsx
@@ -5,6 +5,9 @@ import { setComponentId } from '@/core/common'
import { COMPONENT_IDS } from '@/config/constant'
import Vertical from './Vertical'
import Horizontal from './Horizontal'
+import { navigations } from '@/navigation'
+import settingState from '@/store/setting/state'
+
interface Props {
componentId: string
@@ -16,6 +19,8 @@ export default ({ componentId }: Props) => {
useEffect(() => {
setComponentId(COMPONENT_IDS.home, componentId)
// eslint-disable-next-line react-hooks/exhaustive-deps
+
+ if (settingState.setting['player.startupPushPlayDetailScreen']) {navigations.pushPlayDetailScreen(componentId!)}
}, [])
return (
diff --git a/src/types/app_setting.d.ts b/src/types/app_setting.d.ts
index f497e342c..5a7980fe5 100644
--- a/src/types/app_setting.d.ts
+++ b/src/types/app_setting.d.ts
@@ -106,6 +106,11 @@ declare global {
*/
'player.startupAutoPlay': boolean
+ /**
+ * 启动后打开歌曲详细界面
+ */
+ 'player.startupPushPlayDetailScreen': boolean
+
/**
* 切歌模式
*/
From a26f7e952b07a1cb3133ec11b96ec8d46f025161 Mon Sep 17 00:00:00 2001
From: lyswhut
Date: Sun, 12 May 2024 10:06:16 +0800
Subject: [PATCH 2/2] update
---
publish/changeLog.md | 4 ++++
src/lang/en_us.json | 2 +-
src/lang/zh_cn.json | 2 +-
src/navigation/navigation.ts | 4 ++--
src/screens/Home/index.tsx | 4 +++-
5 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/publish/changeLog.md b/publish/changeLog.md
index 43fb95ee4..42c791771 100644
--- a/publish/changeLog.md
+++ b/publish/changeLog.md
@@ -1,3 +1,7 @@
+### 新增
+
+- 新增 设置-基本设置-启动后打开播放详情界面 设置,默认关闭(#502 @mingcc7)
+
### 变更
- 设置-播放设置-优先播放320k音质选项改为“优先播放的音质”,允许选择更高优先播放的音质,如果歌曲及音源支持的话(#487)
diff --git a/src/lang/en_us.json b/src/lang/en_us.json
index dc34e0dff..b3b1f1402 100644
--- a/src/lang/en_us.json
+++ b/src/lang/en_us.json
@@ -277,7 +277,7 @@
"setting_basic_sourcename_real": "Original",
"setting_basic_sourcename_title": "Select the name of music source",
"setting_basic_startup_auto_play": "Play music automatically after startup",
- "setting_basic_startup_push_play_detail_screen": "Open the detailed interface of the song after startup",
+ "setting_basic_startup_push_play_detail_screen": "Open the playback details interface after startup",
"setting_basic_theme": "Theme",
"setting_basic_theme_auto_theme": "Follow the system light and dark mode to switch themes",
"setting_basic_theme_dynamic_bg": "Use dynamic backgrounds",
diff --git a/src/lang/zh_cn.json b/src/lang/zh_cn.json
index a683ec5fe..d74340b9a 100644
--- a/src/lang/zh_cn.json
+++ b/src/lang/zh_cn.json
@@ -277,7 +277,7 @@
"setting_basic_sourcename_real": "原名",
"setting_basic_sourcename_title": "选择音源名字类型",
"setting_basic_startup_auto_play": "启动后自动播放音乐",
- "setting_basic_startup_push_play_detail_screen": "启动后打开歌曲详细界面",
+ "setting_basic_startup_push_play_detail_screen": "启动后打开播放详情界面",
"setting_basic_theme": "主题颜色",
"setting_basic_theme_auto_theme": "跟随系统亮、暗模式切换主题",
"setting_basic_theme_dynamic_bg": "使用动态背景",
diff --git a/src/navigation/navigation.ts b/src/navigation/navigation.ts
index ea1d9c6f9..5c4026f6d 100644
--- a/src/navigation/navigation.ts
+++ b/src/navigation/navigation.ts
@@ -85,7 +85,7 @@ export async function pushHomeScreen() {
},
})
}
-export function pushPlayDetailScreen(componentId: string) {
+export function pushPlayDetailScreen(componentId: string, skipAnimation = false) {
/*
Navigation.setDefaultOptions({
topBar: {
@@ -144,7 +144,7 @@ export function pushPlayDetailScreen(componentId: string) {
componentBackgroundColor: theme['c-content-background'],
},
animations: {
- push: {
+ push: skipAnimation ? {} : {
sharedElementTransitions: [
{
fromId: NAV_SHEAR_NATIVE_IDS.playDetail_pic,
diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx
index 21e024630..0180bbd21 100644
--- a/src/screens/Home/index.tsx
+++ b/src/screens/Home/index.tsx
@@ -20,7 +20,9 @@ export default ({ componentId }: Props) => {
setComponentId(COMPONENT_IDS.home, componentId)
// eslint-disable-next-line react-hooks/exhaustive-deps
- if (settingState.setting['player.startupPushPlayDetailScreen']) {navigations.pushPlayDetailScreen(componentId!)}
+ if (settingState.setting['player.startupPushPlayDetailScreen']) {
+ navigations.pushPlayDetailScreen(componentId, true)
+ }
}, [])
return (