From 653c14ea5d1eeaf986a0ce2a4ab2e0c7dcf1d53b Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Mon, 23 Mar 2026 03:49:10 +0700 Subject: [PATCH] fix: Improve notification cards - Smaller text size - Removed text buttons from announcement notifications --- .../manager/ui/component/NotificationCard.kt | 25 ++++++++++------ .../manager/ui/screen/DashboardScreen.kt | 29 +++---------------- app/src/main/res/values/strings.xml | 2 +- 3 files changed, 21 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/ui/component/NotificationCard.kt b/app/src/main/java/app/revanced/manager/ui/component/NotificationCard.kt index 6204ee142..5e9f36f1f 100644 --- a/app/src/main/java/app/revanced/manager/ui/component/NotificationCard.kt +++ b/app/src/main/java/app/revanced/manager/ui/component/NotificationCard.kt @@ -25,6 +25,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import app.revanced.manager.R @@ -57,7 +58,7 @@ fun NotificationCard( modifier = Modifier .fillMaxWidth() .padding(16.dp), - verticalAlignment = Alignment.Top, + verticalAlignment = if (actions != null) Alignment.Top else Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(16.dp), ) { Box( @@ -74,18 +75,21 @@ fun NotificationCard( modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp) ) { - title?.let { + Column { + title?.let { + Text( + text = it, + style = MaterialTheme.typography.bodyMediumEmphasized.merge(fontWeight = FontWeight.SemiBold), + color = LocalContentColor.current, + ) + } Text( - text = it, - style = MaterialTheme.typography.bodyLarge, + text = text, + style = MaterialTheme.typography.bodyMedium, color = LocalContentColor.current, ) } - Text( - text = text, - style = MaterialTheme.typography.bodyLarge, - color = LocalContentColor.current, - ) + actions?.let { Row( modifier = Modifier.fillMaxWidth(), @@ -95,11 +99,14 @@ fun NotificationCard( } } if (onDismiss != null) { + // @TODO: Use xsmall icon buttons when that is available in Compose TooltipIconButton( + modifier = Modifier.size(32.dp), onClick = onDismiss, tooltip = stringResource(R.string.close), ) { Icon( + modifier = Modifier.size(20.dp), imageVector = Icons.Outlined.Close, contentDescription = stringResource(R.string.close), ) diff --git a/app/src/main/java/app/revanced/manager/ui/screen/DashboardScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/DashboardScreen.kt index 69d6fd16a..ef5f80ae4 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/DashboardScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/DashboardScreen.kt @@ -450,36 +450,15 @@ fun DashboardScreen( vm.unreadAnnouncement?.let { announcement -> { NotificationCard( - text = stringResource(R.string.new_announcement, announcement.title), + title = stringResource(R.string.new_announcement), + text = announcement.title, icon = Icons.Filled.Notifications, - actions = { - val colors = ButtonDefaults.textButtonColors( - contentColor = LocalContentColor.current - ) - - TextButton( - onClick = vm::markUnreadAnnouncementRead, - shapes = ButtonDefaults.shapes(), - colors = colors - ) { - Text(stringResource(R.string.dismiss)) - } - TextButton( - onClick = { - vm.markUnreadAnnouncementRead() - onAnnouncementClick(announcement) - }, - shapes = ButtonDefaults.shapes(), - colors = colors - ) { - Text(stringResource(R.string.view_announcement)) - } - }, type = if (announcement.level > 0) NotificationCardType.ERROR else NotificationCardType.NORMAL, onClick = { vm.markUnreadAnnouncementRead() onAnnouncementClick(announcement) - } + }, + onDismiss = vm::markUnreadAnnouncementRead ) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bebd6d199..4143c8362 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -569,7 +569,7 @@ Tap them for more details. Couldn’t import keystore Export Confirm - New announcement:\n%s + New announcement Required Optional