desktop: add experimental flat layout toggle

This commit is contained in:
sh committed 2026-10-14 07:43:16 +00:00
1 parent 2f4a443dda
commit d264560493
4 files changed
+14

No files matched your search

@@ -427,9 +427,19 @@ fun EndPartOfScreen() {
ModalManager.end.showInView()
}
val LocalFlatLayout = staticCompositionLocalOf { false }
// Spec: spec/client/navigation.md#DesktopScreen
@Composable
fun DesktopScreen(userPickerState: MutableStateFlow<AnimatedViewState>) {
val flatLayout = remember { appPrefs.developerTools.state }.value && remember { appPrefs.desktopFlatLayout.state }.value
CompositionLocalProvider(LocalFlatLayout provides flatLayout) {
DesktopScreenLayout(userPickerState)
}
}
@Composable
private fun DesktopScreenLayout(userPickerState: MutableStateFlow<AnimatedViewState>) {
Box(Modifier.width(DEFAULT_START_MODAL_WIDTH * fontSizeSqrtMultiplier)) {
StartPartOfScreen(userPickerState)
tryOrShowError("UserPicker", error = {}) {
@@ -151,6 +151,7 @@ class AppPreferences {
val logLevel = mkEnumPreference(SHARED_PREFS_LOG_LEVEL, LogLevel.WARNING) { LogLevel.entries.firstOrNull { it.name == this } }
val showInternalErrors = mkBoolPreference(SHARED_PREFS_SHOW_INTERNAL_ERRORS, false)
val showSlowApiCalls = mkBoolPreference(SHARED_PREFS_SHOW_SLOW_API_CALLS, false)
val desktopFlatLayout = mkBoolPreference(SHARED_PREFS_DESKTOP_FLAT_LAYOUT, false)
val terminalAlwaysVisible = mkBoolPreference(SHARED_PREFS_TERMINAL_ALWAYS_VISIBLE, false)
val networkUseSocksProxy = mkBoolPreference(SHARED_PREFS_NETWORK_USE_SOCKS_PROXY, false)
val networkShowSubscriptionPercentage = mkBoolPreference(SHARED_PREFS_NETWORK_SHOW_SUBSCRIPTION_PERCENTAGE, false)
@@ -446,6 +447,7 @@ class AppPreferences {
private const val SHARED_PREFS_LOG_LEVEL = "LogLevel"
private const val SHARED_PREFS_SHOW_INTERNAL_ERRORS = "ShowInternalErrors"
private const val SHARED_PREFS_SHOW_SLOW_API_CALLS = "ShowSlowApiCalls"
private const val SHARED_PREFS_DESKTOP_FLAT_LAYOUT = "DesktopFlatLayout"
private const val SHARED_PREFS_TERMINAL_ALWAYS_VISIBLE = "TerminalAlwaysVisible"
private const val SHARED_PREFS_NETWORK_USE_SOCKS_PROXY = "NetworkUseSocksProxy"
private const val SHARED_PREFS_NETWORK_SHOW_SUBSCRIPTION_PERCENTAGE = "ShowSubscriptionPercentage"
@@ -57,6 +57,7 @@ fun DeveloperView(withAuth: (title: String, desc: String, block: () -> Unit) ->
m.controller.appPrefs.terminalAlwaysVisible.set(false)
}
}
SettingsPreferenceItem(painterResource(MR.images.ic_forum), stringResource(MR.strings.desktop_flat_layout), appPreferences.desktopFlatLayout)
}
SettingsPreferenceItem(painterResource(MR.images.ic_report), stringResource(MR.strings.show_internal_errors), appPreferences.showInternalErrors)
SettingsPreferenceItem(painterResource(MR.images.ic_avg_pace), stringResource(MR.strings.show_slow_api_calls), appPreferences.showSlowApiCalls)
@@ -1163,6 +1163,7 @@
<string name="deprecated_options_section">Deprecated options</string>
<string name="show_internal_errors">Show internal errors</string>
<string name="show_slow_api_calls">Show slow API calls</string>
<string name="desktop_flat_layout">Flat layout (experimental)</string>
<string name="storage">Storage</string>
<string name="storage_total">Total</string>
<string name="shutdown_alert_question">Shutdown?</string>