Skip to content

Commit 2b7dbfd

Browse files
committed
feat(store): persistence for navigation display mode and hide NAS login button
1 parent 48242c7 commit 2b7dbfd

File tree

3 files changed

+30
-13
lines changed

3 files changed

+30
-13
lines changed

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/data/store/AppSettingsStore.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,8 @@ object AppSettingsStore {
8282
var autoPlay: Boolean
8383
get() = settings.getBoolean("auto_play", true)
8484
set(value) = settings.set("auto_play", value)
85+
86+
var navigationDisplayMode: String
87+
get() = settings.getString("navigation_display_mode", "Left")
88+
set(value) = settings.set("navigation_display_mode", value)
8589
}

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/data/store/Store.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,16 @@ class Store(
2424

2525
var compactMode by mutableStateOf(compactMode)
2626

27-
var navigationDisplayMode by mutableStateOf(NavigationDisplayMode.Left)
27+
private var navigationDisplayModeState by mutableStateOf(
28+
resolveNavigationDisplayMode(AppSettingsStore.navigationDisplayMode)
29+
)
30+
31+
var navigationDisplayMode: NavigationDisplayMode
32+
get() = navigationDisplayModeState
33+
set(value) {
34+
navigationDisplayModeState = value
35+
AppSettingsStore.navigationDisplayMode = value.name
36+
}
2837

2938
// 缩放因子,用于调整组件大小
3039
var scaleFactor by mutableFloatStateOf((windowWidth / 1280.dp))
@@ -57,4 +66,8 @@ class Store(
5766
fun updateProxyInitialized(state: Boolean) {
5867
proxyInitialized = state
5968
}
60-
}
69+
70+
private fun resolveNavigationDisplayMode(rawValue: String): NavigationDisplayMode {
71+
return NavigationDisplayMode.entries.firstOrNull { it.name == rawValue } ?: NavigationDisplayMode.Left
72+
}
73+
}

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen/LoginScreen.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -401,17 +401,17 @@ fun LoginScreen(navigator: ComponentNavigator) {
401401
}
402402

403403
// 6. NAS 登录按钮
404-
Button(
405-
onClick = { /* TODO: NAS 登录逻辑 */ },
406-
modifier = Modifier
407-
.fillMaxWidth()
408-
.height(48.dp)
409-
.pointerHoverIcon(PointerIcon.Hand),
410-
shape = RoundedCornerShape(8.dp),
411-
colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF3C3C4D))
412-
) {
413-
Text("使用 NAS 登录", fontSize = 16.sp)
414-
}
404+
// Button(
405+
// onClick = { /* TODO: NAS 登录逻辑 */ },
406+
// modifier = Modifier
407+
// .fillMaxWidth()
408+
// .height(48.dp)
409+
// .pointerHoverIcon(PointerIcon.Hand),
410+
// shape = RoundedCornerShape(8.dp),
411+
// colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF3C3C4D))
412+
// ) {
413+
// Text("使用 NAS 登录", fontSize = 16.sp)
414+
// }
415415
}
416416
}
417417
ToastHost(

0 commit comments

Comments
 (0)