fix: update status bar color management for improved visibility in ChatDetailScreen and OtherProfileScreen
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.rosetta.messenger.ui.settings
|
||||
|
||||
import android.app.Activity
|
||||
import android.util.Log
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.compose.animation.core.LinearOutSlowInEasing
|
||||
import androidx.compose.animation.core.animateFloatAsState
|
||||
import androidx.compose.animation.core.tween
|
||||
@@ -36,6 +38,7 @@ import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.platform.LocalFocusManager
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
@@ -82,6 +85,26 @@ fun OtherProfileScreen(
|
||||
val secondaryTextColor = if (isDarkTheme) Color(0xFF8E8E93) else Color(0xFF666666)
|
||||
val avatarColors = getAvatarColor(user.publicKey, isDarkTheme)
|
||||
val context = LocalContext.current
|
||||
val view = LocalView.current
|
||||
val window = remember { (view.context as? Activity)?.window }
|
||||
|
||||
// 🎨 Статус бар - прозрачный с белыми иконками (поверх аватара)
|
||||
DisposableEffect(Unit) {
|
||||
val insetsController = window?.let { WindowCompat.getInsetsController(it, view) }
|
||||
// Сохраняем оригинальные значения
|
||||
val originalStatusBarColor = window?.statusBarColor ?: 0
|
||||
val originalLightStatusBars = insetsController?.isAppearanceLightStatusBars ?: false
|
||||
|
||||
// Прозрачный статус бар с белыми иконками
|
||||
window?.statusBarColor = android.graphics.Color.TRANSPARENT
|
||||
insetsController?.isAppearanceLightStatusBars = false
|
||||
|
||||
onDispose {
|
||||
// Восстанавливаем при выходе
|
||||
window?.statusBarColor = originalStatusBarColor
|
||||
insetsController?.isAppearanceLightStatusBars = originalLightStatusBars
|
||||
}
|
||||
}
|
||||
|
||||
// 🔥 Получаем тот же ChatViewModel что и в ChatDetailScreen для очистки истории
|
||||
val viewModel: ChatViewModel = viewModel(key = "chat_${user.publicKey}")
|
||||
|
||||
Reference in New Issue
Block a user