From f9e54db6202d493f398bab1dc21d29810db0ad29 Mon Sep 17 00:00:00 2001 From: Infi Date: Fri, 8 Nov 2024 00:41:43 +0100 Subject: [PATCH] chore: improve webhook sheet design Signed-off-by: Infi --- .../chat/revolt/sheets/WebHookUserSheet.kt | 61 +++++++++---------- app/src/main/res/drawable/ux_webhooks.xml | 24 ++++++++ app/src/main/res/values/strings.xml | 5 +- 3 files changed, 56 insertions(+), 34 deletions(-) create mode 100644 app/src/main/res/drawable/ux_webhooks.xml diff --git a/app/src/main/java/chat/revolt/sheets/WebHookUserSheet.kt b/app/src/main/java/chat/revolt/sheets/WebHookUserSheet.kt index 50d6659f..7c4be974 100644 --- a/app/src/main/java/chat/revolt/sheets/WebHookUserSheet.kt +++ b/app/src/main/java/chat/revolt/sheets/WebHookUserSheet.kt @@ -1,14 +1,13 @@ package chat.revolt.sheets import android.widget.Toast +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.material3.Button -import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -17,44 +16,35 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import chat.revolt.R -import chat.revolt.components.generic.NonIdealState @Composable fun WebHookUserSheet(modifier: Modifier = Modifier) { val context = LocalContext.current - NonIdealState( - icon = { - Icon( - painter = painterResource(R.drawable.ic_hook_24dp), - contentDescription = null, - modifier = Modifier.size(24.dp) - ) - }, - title = { - Text( - text = stringResource(R.string.user_info_sheet_webhook) - ) - }, - description = { - Text( - text = stringResource(R.string.user_info_sheet_webhook_description), - style = MaterialTheme.typography.bodyLarge, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) - } - ) - Column(Modifier.padding(horizontal = 16.dp)) { + Column( + verticalArrangement = Arrangement.spacedBy(16.dp), + modifier = modifier.padding(16.dp) + ) { + Image( + painter = painterResource(R.drawable.ux_webhooks), + contentDescription = null, + modifier = Modifier.fillMaxWidth().height(120.dp) + ) Text( - text = stringResource(R.string.user_info_sheet_webhook_description_2), + text = stringResource(R.string.user_info_sheet_webhook), + style = MaterialTheme.typography.headlineMedium, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + Text( + text = stringResource(R.string.user_info_sheet_webhook_body), style = MaterialTheme.typography.bodyMedium, textAlign = TextAlign.Center, modifier = Modifier.fillMaxWidth() ) - Spacer(Modifier.height(32.dp)) Button( onClick = { Toast(context).apply { @@ -63,10 +53,19 @@ fun WebHookUserSheet(modifier: Modifier = Modifier) { show() } }, - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() + .padding(top = 8.dp) ) { Text(text = stringResource(R.string.user_info_sheet_webhook_learn_more)) } } - Spacer(Modifier.height(48.dp)) +} + +@Preview(showBackground = true) +@Composable +private fun WebHookUserSheetPreview() { + Column { + WebHookUserSheet() + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ux_webhooks.xml b/app/src/main/res/drawable/ux_webhooks.xml new file mode 100644 index 00000000..4da90c11 --- /dev/null +++ b/app/src/main/res/drawable/ux_webhooks.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a91a4336..d28516cd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -353,9 +353,8 @@ Open user info Can\'t resolve this user This user may have been deleted or you may not have permission to view them. - Is it a bird, is it a plane? - No, it\'s a webhook! - Webhooks are automated broadcasts from other services on the internet. They can\'t chat back, but you can still see what they have to say. + You\'ve found a Webhook! + Webhooks are automated broadcasts from other services on the internet. They can\'t chat back, but you can still see what they have to say. Learn more Bio This user hasn\'t set a bio yet.