feat: add NodeDetailsScreen with metrics and remote admin navigation

This commit is contained in:
andrekir 2024-10-18 19:27:15 -03:00 committed by Andre K
parent b73c53bc11
commit 6be44675e2
11 changed files with 322 additions and 308 deletions

View file

@ -1,9 +1,16 @@
package com.geeksville.mesh.ui.components
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.MaterialTheme
import androidx.compose.material.ProvideTextStyle
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.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@ -11,13 +18,32 @@ import androidx.compose.ui.unit.dp
@Composable
fun PreferenceCategory(
text: String,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
content: (@Composable ColumnScope.() -> Unit)? = null
) {
Text(
text,
modifier = modifier.padding(start = 16.dp, top = 24.dp, bottom = 8.dp, end = 16.dp),
style = MaterialTheme.typography.h6,
)
if (content != null) {
Surface(
modifier = modifier.padding(bottom = 8.dp),
shape = RoundedCornerShape(12.dp),
elevation = 1.dp,
) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
ProvideTextStyle(MaterialTheme.typography.body1) {
content()
}
}
}
}
}
@Preview(showBackground = true)