From 4aa34e071dee014417beda8dd44b3732a3db3357 Mon Sep 17 00:00:00 2001 From: ialokim <ialokim@mailbox.org> Date: Sun, 27 Nov 2022 22:27:47 +0100 Subject: [PATCH] add tooltip to TrustIndicator --- .../org/briarproject/briar/desktop/ui/Tooltip.kt | 2 +- .../briar/desktop/ui/TrustIndicator.kt | 14 ++++++++++++-- .../main/resources/strings/BriarDesktop.properties | 6 ++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt index 3a1729d60a..932b7aef8a 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt @@ -55,6 +55,6 @@ fun Tooltip( }, delayMillis = delayMillis, tooltipPlacement = tooltipPlacement, - modifier = modifier, + modifier = modifier, // todo: use tooltip text for semantic description content = content, ) diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt index 3cecbd9dfc..608d7a0e85 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt @@ -18,6 +18,7 @@ package org.briarproject.briar.desktop.ui +import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.size import androidx.compose.material.Icon import androidx.compose.material.MaterialTheme @@ -38,8 +39,17 @@ import org.briarproject.briar.desktop.theme.Orange500 import org.briarproject.briar.desktop.theme.Red500 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n +@OptIn(ExperimentalFoundationApi::class) @Composable -fun TrustIndicator(status: AuthorInfo.Status) { +fun TrustIndicator(status: AuthorInfo.Status) = Tooltip( + text = when (status) { + AuthorInfo.Status.NONE -> error("Unexpected status: $status") + AuthorInfo.Status.UNKNOWN -> i18n("peer.trust.stranger") + AuthorInfo.Status.UNVERIFIED -> i18n("peer.trust.unverified") + AuthorInfo.Status.VERIFIED -> i18n("peer.trust.verified") + AuthorInfo.Status.OURSELVES -> i18n("peer.trust.ourselves") + } +) { if (status == AuthorInfo.Status.OURSELVES) { Icon( imageVector = Icons.Filled.Person, @@ -50,7 +60,7 @@ fun TrustIndicator(status: AuthorInfo.Status) { } else { val gray = MaterialTheme.colors.onSurface val (first, second, third) = when (status) { - AuthorInfo.Status.NONE -> return + AuthorInfo.Status.NONE -> error("Unexpected status: $status") AuthorInfo.Status.UNKNOWN -> Triple(Red500, gray, gray) AuthorInfo.Status.UNVERIFIED -> Triple(Orange500, Orange500, gray) AuthorInfo.Status.VERIFIED -> Triple(Lime500, Lime500, Lime500) diff --git a/briar-desktop/src/main/resources/strings/BriarDesktop.properties b/briar-desktop/src/main/resources/strings/BriarDesktop.properties index bf6b68a846..c0888d808d 100644 --- a/briar-desktop/src/main/resources/strings/BriarDesktop.properties +++ b/briar-desktop/src/main/resources/strings/BriarDesktop.properties @@ -202,6 +202,12 @@ blog.invitation.response.declined.auto=The blog invitation from {0} was automati blog.invitation.response.accepted.received={0} accepted the blog invitation. blog.invitation.response.declined.received={0} declined the blog invitation. +# Peer trust level +peer.trust.unverified=Unverified contact +peer.trust.verified=Verified contact +peer.trust.ourselves=Me +peer.trust.stranger=Stranger + # Main main.title=Briar Desktop -- GitLab