From 66a347ac40dde2aa08fd3e2e59efa0e5f96b321c Mon Sep 17 00:00:00 2001 From: Bnyro Date: Mon, 9 Dec 2024 17:57:23 +0100 Subject: [PATCH] feat: improve ux when creating new wallpaper changer rule --- .../bnyro/wallpaper/ui/pages/SettingsPage.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/bnyro/wallpaper/ui/pages/SettingsPage.kt b/app/src/main/java/com/bnyro/wallpaper/ui/pages/SettingsPage.kt index 7b78518..b79e6e0 100644 --- a/app/src/main/java/com/bnyro/wallpaper/ui/pages/SettingsPage.kt +++ b/app/src/main/java/com/bnyro/wallpaper/ui/pages/SettingsPage.kt @@ -195,6 +195,10 @@ fun SettingsPage( ) } + var newWallpaperConfig by remember { + mutableStateOf(null) + } + Button( onClick = { val maxId = if (wallpaperConfigs.isNotEmpty()) { @@ -203,10 +207,7 @@ fun SettingsPage( -1 } - val newConfig = WallpaperConfig(id = maxId + 1) - wallpaperConfigs.add(newConfig) - Preferences.setWallpaperConfigs(wallpaperConfigs) - WorkerHelper.enqueue(context, newConfig, true) + newWallpaperConfig = WallpaperConfig(id = maxId + 1) } ) { Row(verticalAlignment = Alignment.CenterVertically) { @@ -215,6 +216,18 @@ fun SettingsPage( Text(stringResource(R.string.add_wallpaper_changer_rule)) } } + + newWallpaperConfig?.let { config -> + WallpaperChangerPrefDialog( + config, + onConfigChange = { newConfig -> + wallpaperConfigs.add(newConfig) + Preferences.setWallpaperConfigs(wallpaperConfigs) + WorkerHelper.enqueue(context, newConfig, true) + }, + onDismissRequest = { newWallpaperConfig = null } + ) + } } } }