android: add wallpaper-aware chat background and overlays
Some checks are pending
CI / test (push) Has started running

This commit is contained in:
Codex
2026-03-09 14:11:38 +03:00
parent dfd4a00490
commit f159108b75
4 changed files with 19 additions and 3 deletions

View File

@@ -228,3 +228,8 @@
- Added archive statistics stream in `ChatListViewModel` and special archive top-row entry in `All` tab. - Added archive statistics stream in `ChatListViewModel` and special archive top-row entry in `All` tab.
- Extended list preview formatting with media-type markers and retained unread/mention/pinned indicators. - Extended list preview formatting with media-type markers and retained unread/mention/pinned indicators.
- Updated Telegram UI checklists for chat-list advanced states (batch 2 and batch 3). - Updated Telegram UI checklists for chat-list advanced states (batch 2 and batch 3).
### Step 37 - Chat UI / wallpaper-aware readability
- Added gradient wallpaper-like chat background layer in `ChatScreen`.
- Kept pinned/composer/action surfaces on semi-transparent containers to preserve readability over wallpaper.
- Updated Telegram UI checklist items for wallpaper and overlay readability.

View File

@@ -47,6 +47,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.safeDrawing
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
@@ -120,6 +122,15 @@ fun ChatScreen(
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.background(
brush = Brush.verticalGradient(
colors = listOf(
Color(0xFF1B1A22),
Color(0xFF242034),
Color(0xFF1A202A),
),
),
)
.windowInsetsPadding(WindowInsets.safeDrawing), .windowInsetsPadding(WindowInsets.safeDrawing),
) { ) {
Row( Row(

View File

@@ -13,7 +13,7 @@
- [ ] Сообщения вход/выход: плотные пузыри, время и delivery статус внизу справа. - [ ] Сообщения вход/выход: плотные пузыри, время и delivery статус внизу справа.
- [x] Reply-preview внутри outgoing bubble (вертикальная полоска, автор, snippet). - [x] Reply-preview внутри outgoing bubble (вертикальная полоска, автор, snippet).
- [x] Forwarded header в сообщении ("Переслано от ...") + мини-аватар. - [x] Forwarded header в сообщении ("Переслано от ...") + мини-аватар.
- [ ] Поддержка chat wallpaper (обои в фоне, читабельный контраст поверх). - [x] Поддержка chat wallpaper (обои в фоне, читабельный контраст поверх).
## P0 — Voice/Audio Message UI ## P0 — Voice/Audio Message UI
- [ ] Voice bubble: крупная play/pause кнопка, waveform/прогресс, длительность, время сообщения. - [ ] Voice bubble: крупная play/pause кнопка, waveform/прогресс, длительность, время сообщения.

View File

@@ -27,8 +27,8 @@
- [ ] Счётчик выбранных элементов в top bar. - [ ] Счётчик выбранных элементов в top bar.
## P1 — Chat Background + Overlay Readability ## P1 — Chat Background + Overlay Readability
- [ ] Wallpaper-aware плашки: pinned bar, composer, menus должны быть читаемы на ярких обоях. - [x] Wallpaper-aware плашки: pinned bar, composer, menus должны быть читаемы на ярких обоях.
- [ ] Полупрозрачные подложки с блюром или тёмным тинтом. - [x] Полупрозрачные подложки с блюром или тёмным тинтом.
## P1 — Video Message (Circle) Capture UI ## P1 — Video Message (Circle) Capture UI
- [ ] Режим круглого превью камеры по центру экрана. - [ ] Режим круглого превью камеры по центру экрана.