Skip to content

Commit 56c07e7

Browse files
committed
add theming to chat components
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
1 parent 1406d3d commit 56c07e7

File tree

1 file changed

+26
-6
lines changed
  • app/src/main/java/com/nextcloud/talk/ui/chat

1 file changed

+26
-6
lines changed

app/src/main/java/com/nextcloud/talk/ui/chat/ChatView.kt

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,15 @@ import androidx.compose.ui.Modifier
4646
import androidx.compose.ui.draw.alpha
4747
import androidx.compose.ui.draw.shadow
4848
import androidx.compose.ui.graphics.Color
49+
import androidx.compose.ui.platform.LocalContext
4950
import androidx.compose.ui.platform.LocalResources
5051
import androidx.compose.ui.unit.dp
5152
import androidx.compose.ui.unit.sp
5253
import com.nextcloud.talk.R
5354
import com.nextcloud.talk.chat.data.model.ChatMessage
5455
import com.nextcloud.talk.chat.viewmodels.ChatViewModel
5556
import com.nextcloud.talk.data.user.model.User
57+
import com.nextcloud.talk.ui.theme.LocalViewThemeUtils
5658
import kotlinx.coroutines.delay
5759
import kotlinx.coroutines.flow.collectLatest
5860
import kotlinx.coroutines.flow.distinctUntilChanged
@@ -76,6 +78,9 @@ fun GetNewChatView(
7678
advanceLocalLastReadMessageIfNeeded: ((Int) -> Unit?)?,
7779
updateRemoteLastReadMessageIfNeeded: (() -> Unit?)?
7880
) {
81+
val viewThemeUtils = LocalViewThemeUtils.current
82+
val colorScheme = viewThemeUtils.getColorScheme(LocalContext.current)
83+
7984
val listState = rememberLazyListState()
8085
val showUnreadPopup = remember { mutableStateOf(false) }
8186
val coroutineScope = rememberCoroutineScope()
@@ -266,11 +271,13 @@ fun GetNewChatView(
266271
.padding(top = 12.dp)
267272
.alpha(stickyDateHeaderAlpha),
268273
shape = RoundedCornerShape(16.dp),
274+
color = colorScheme.secondaryContainer,
269275
tonalElevation = 2.dp
270276
) {
271277
Text(
272278
stickyDateHeaderText,
273-
modifier = Modifier.padding(horizontal = 12.dp, vertical = 6.dp)
279+
modifier = Modifier.padding(horizontal = 12.dp, vertical = 6.dp),
280+
color = colorScheme.onSecondaryContainer
274281
)
275282
}
276283

@@ -322,21 +329,29 @@ fun GetNewChatView(
322329

323330
@Composable
324331
fun UnreadMessagesPopup(unreadCount: Int, onClick: () -> Unit, modifier: Modifier = Modifier) {
332+
val viewThemeUtils = LocalViewThemeUtils.current
333+
val colorScheme = viewThemeUtils.getColorScheme(LocalContext.current)
334+
325335
Surface(
326336
onClick = onClick,
327337
shape = RoundedCornerShape(20.dp),
338+
color = colorScheme.secondaryContainer,
328339
tonalElevation = 3.dp,
329340
modifier = modifier
330341
) {
331342
Text(
332343
text = "$unreadCount new message${if (unreadCount > 1) "s" else ""}",
333-
modifier = Modifier.padding(horizontal = 16.dp, vertical = 10.dp)
344+
modifier = Modifier.padding(horizontal = 16.dp, vertical = 10.dp),
345+
color = colorScheme.onSecondaryContainer,
334346
)
335347
}
336348
}
337349

338350
@Composable
339351
fun DateHeader(date: LocalDate) {
352+
val viewThemeUtils = LocalViewThemeUtils.current
353+
val colorScheme = viewThemeUtils.getColorScheme(LocalContext.current)
354+
340355
val text = when (date) {
341356
LocalDate.now() -> "Today"
342357
LocalDate.now().minusDays(1) -> "Yesterday"
@@ -352,17 +367,21 @@ fun DateHeader(date: LocalDate) {
352367
text = text,
353368
modifier = Modifier
354369
.background(
355-
Color.Gray.copy(alpha = 0.2f),
370+
colorScheme.secondaryContainer,
356371
RoundedCornerShape(12.dp)
357372
)
358373
.padding(horizontal = 12.dp, vertical = 6.dp),
359-
fontSize = 12.sp
374+
fontSize = 12.sp,
375+
color = colorScheme.onSecondaryContainer
360376
)
361377
}
362378
}
363379

364380
@Composable
365381
fun UnreadMessagesMarker(date: LocalDate) {
382+
val viewThemeUtils = LocalViewThemeUtils.current
383+
val colorScheme = viewThemeUtils.getColorScheme(LocalContext.current)
384+
366385
Box(
367386
modifier = Modifier
368387
.fillMaxWidth(),
@@ -372,11 +391,12 @@ fun UnreadMessagesMarker(date: LocalDate) {
372391
text = "Unread messages",
373392
modifier = Modifier
374393
.background(
375-
Color.Gray.copy(alpha = 0.2f),
394+
colorScheme.secondaryContainer,
376395
RoundedCornerShape(12.dp)
377396
)
378397
.padding(horizontal = 12.dp, vertical = 6.dp),
379-
fontSize = 12.sp
398+
fontSize = 12.sp,
399+
color = colorScheme.onSecondaryContainer
380400
)
381401
}
382402
}

0 commit comments

Comments
 (0)