From 75006897e36fb9df2f1a4fb87b7bf4346b6380b4 Mon Sep 17 00:00:00 2001 From: another-simple-pixel Date: Sat, 16 May 2026 08:23:22 -0700 Subject: [PATCH] ChatWallpaperEditor: wrap loose params in SectionView cards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In ChatInfo > Chat theme screen the wallpaper preset selector, the wallpaper setup controls, the reset/set-default buttons and the "Apply to" mode dropdown were rendered as loose composables on a gray canvas — no card chrome, inconsistent with the rest of Appearance. Wrap them in SectionView so they read as raised iOS-style cards: - wallpaper preset selector + setup view → one card - reset-to-global + set-default buttons → one card - (advanced mode) Apply-to dropdown → one card - (collapsed mode) Advanced-settings button → one card CustomizeThemeColorsSection and ImportExportThemeSection were already SectionView-wrapped and remain unchanged. UserWallpaperEditor (sister function with similar layout, lines 28-220) is intentionally left alone — user reported only the chat-theme entry point. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../simplex/common/views/helpers/ThemeModeEditor.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ThemeModeEditor.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ThemeModeEditor.kt index d7cdf0e2e3..38b1737243 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ThemeModeEditor.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ThemeModeEditor.kt @@ -329,6 +329,7 @@ fun ModalData.ChatWallpaperEditor( ThemeManager.currentColors(type, if (type?.sameType(themeModeOverride.value.type) == true) themeModeOverride.value else null, chatModel.currentUser.value?.uiThemes, appPrefs.themeOverrides.get()) } + SectionView { WallpaperPresetSelector( selectedWallpaper = currentTheme.wallpaper.type, activeBackgroundColor = currentTheme.wallpaper.background, @@ -367,9 +368,11 @@ fun ModalData.ChatWallpaperEditor( editColor = editColor, onTypeChange = onTypeChange, ) + } SectionSpacer() + SectionView { if (!globalThemeUsed.value) { ResetToGlobalThemeButton(remember { chatModel.currentUser }.value?.uiThemes?.preferredMode(isInDarkTheme()) == null) { themeModeOverride.value = ThemeManager.defaultActiveTheme(chatModel.currentUser.value?.uiThemes, appPrefs.themeOverrides.get()) @@ -393,6 +396,7 @@ fun ModalData.ChatWallpaperEditor( save(themeModeOverride.value.mode, themeModeOverride.value) } } + } KeyChangeEffect(theme.mode) { themeModeOverride.value = theme @@ -420,6 +424,7 @@ fun ModalData.ChatWallpaperEditor( ) ) } + SectionView { ExposedDropDownSettingRow( generalGetString(MR.strings.chat_theme_apply_to_mode), values, @@ -435,6 +440,7 @@ fun ModalData.ChatWallpaperEditor( } } ) + } SectionDividerSpaced() @@ -448,7 +454,9 @@ fun ModalData.ChatWallpaperEditor( } } } else { - AdvancedSettingsButton { showMore = true } + SectionView { + AdvancedSettingsButton { showMore = true } + } } SectionBottomSpacer()