Add tooltips to sources in the sources menu

This commit is contained in:
Syer10
2021-06-01 14:50:53 -04:00
parent 62b41a2d30
commit 2a2a7c2a6a

View File

@@ -6,6 +6,7 @@
package ca.gosyer.ui.sources.components
import androidx.compose.foundation.BoxWithTooltip
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
@@ -15,6 +16,7 @@ import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
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.foundation.lazy.GridCells
import androidx.compose.foundation.lazy.LazyListState
@@ -22,12 +24,14 @@ import androidx.compose.foundation.lazy.LazyVerticalGrid
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.rememberScrollbarAdapter
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.unit.dp
import ca.gosyer.data.models.Source
import ca.gosyer.ui.base.components.KtorImage
@@ -102,15 +106,27 @@ fun SourceItem(
serverUrl: String,
onSourceClicked: (Source) -> Unit
) {
Column(
Modifier.size(120.dp)
.clickable {
onSourceClicked(source)
},
horizontalAlignment = Alignment.CenterHorizontally
BoxWithTooltip(
{
Surface(
modifier = Modifier.shadow(4.dp),
shape = RoundedCornerShape(4.dp),
elevation = 4.dp
) {
Text(source.name, modifier = Modifier.padding(10.dp))
}
}
) {
KtorImage(source.iconUrl(serverUrl), Modifier.size(96.dp))
Spacer(Modifier.height(4.dp))
Text("${source.name} (${source.lang})", color = MaterialTheme.colors.onBackground)
Column(
Modifier.size(120.dp)
.clickable {
onSourceClicked(source)
},
horizontalAlignment = Alignment.CenterHorizontally
) {
KtorImage(source.iconUrl(serverUrl), Modifier.size(96.dp))
Spacer(Modifier.height(4.dp))
Text("${source.name} (${source.lang})", color = MaterialTheme.colors.onBackground)
}
}
}