2020-02-17 12:55:48 -08:00
|
|
|
package com.geeksville.mesh.ui
|
|
|
|
|
|
|
|
|
|
import androidx.compose.Composable
|
|
|
|
|
import androidx.ui.core.Modifier
|
|
|
|
|
import androidx.ui.core.Text
|
|
|
|
|
import androidx.ui.layout.Column
|
|
|
|
|
import androidx.ui.layout.LayoutGravity
|
2020-02-17 15:39:49 -08:00
|
|
|
import androidx.ui.layout.LayoutWidth
|
2020-02-17 12:55:48 -08:00
|
|
|
import androidx.ui.material.MaterialTheme
|
|
|
|
|
import androidx.ui.tooling.preview.Preview
|
2020-02-17 15:39:49 -08:00
|
|
|
import androidx.ui.unit.dp
|
2020-02-17 12:55:48 -08:00
|
|
|
import com.geeksville.mesh.NodeInfo
|
|
|
|
|
import com.geeksville.mesh.R
|
2020-02-17 15:03:34 -08:00
|
|
|
import com.geeksville.mesh.model.NodeDB
|
2020-02-17 12:55:48 -08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Show the user icon for a particular user with distance from the operator and a small pointer
|
|
|
|
|
* indicating their direction
|
2020-02-17 15:39:49 -08:00
|
|
|
*
|
|
|
|
|
* This component is fixed width to simplify layouts.
|
2020-02-17 12:55:48 -08:00
|
|
|
*/
|
|
|
|
|
@Composable
|
|
|
|
|
fun UserIcon(user: NodeInfo? = null, modifier: Modifier = Modifier.None) {
|
2020-02-17 15:39:49 -08:00
|
|
|
Column(modifier = modifier + LayoutWidth(60.dp)) {
|
2020-02-17 12:55:48 -08:00
|
|
|
VectorImage(
|
|
|
|
|
id = R.drawable.ic_twotone_person_24,
|
|
|
|
|
tint = palette.onSecondary,
|
|
|
|
|
modifier = LayoutGravity.Center
|
|
|
|
|
)
|
2020-02-17 15:03:34 -08:00
|
|
|
val ourNodeInfo = NodeDB.ourNodeInfo
|
2020-02-17 15:56:04 -08:00
|
|
|
val distance = ourNodeInfo?.distanceStr(user)
|
2020-02-17 15:03:34 -08:00
|
|
|
if (distance != null)
|
|
|
|
|
Text(distance, modifier = LayoutGravity.Center)
|
2020-02-17 12:55:48 -08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Preview
|
|
|
|
|
@Composable
|
|
|
|
|
fun previewUserIcon() {
|
|
|
|
|
// another bug? It seems modaldrawerlayout not yet supported in preview
|
|
|
|
|
MaterialTheme(colors = palette) {
|
2020-02-17 15:03:34 -08:00
|
|
|
UserIcon(NodeDB.testNodes[1])
|
2020-02-17 12:55:48 -08:00
|
|
|
}
|
|
|
|
|
}
|