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