diff --git a/app/src/main/kotlin/org/db3/airmq/features/dashboard/DashboardScreen.kt b/app/src/main/kotlin/org/db3/airmq/features/dashboard/DashboardScreen.kt
index 5d49bef..6d7cb6c 100644
--- a/app/src/main/kotlin/org/db3/airmq/features/dashboard/DashboardScreen.kt
+++ b/app/src/main/kotlin/org/db3/airmq/features/dashboard/DashboardScreen.kt
@@ -1,23 +1,19 @@
package org.db3.airmq.features.dashboard
import androidx.compose.foundation.background
+import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-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.layout.width
-import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
-import androidx.compose.ui.layout.ContentScale
-import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.draw.clip
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -39,6 +35,8 @@ import org.db3.airmq.features.common.chart.AirMQChart
import org.db3.airmq.features.common.metric.MetricGaugePager
import org.db3.airmq.features.common.metric.SensorType
import org.db3.airmq.ui.theme.AirMQTheme
+import org.db3.airmq.ui.theme.DashboardCityChipGradientEnd
+import org.db3.airmq.ui.theme.DashboardCityChipGradientStart
import org.db3.airmq.ui.theme.LegacyNavGradientEnd
import org.db3.airmq.ui.theme.LegacyNavGradientStart
@@ -128,55 +126,32 @@ private fun CitySelector(
modifier: Modifier = Modifier,
onClick: () -> Unit = {}
) {
+ val chipHeight = 44.dp
+ val chipShape = RoundedCornerShape(chipHeight / 2)
+ val chipBrush = Brush.horizontalGradient(
+ colors = listOf(DashboardCityChipGradientStart, DashboardCityChipGradientEnd)
+ )
+ val borderWidth = 2.dp
Box(
- modifier = modifier
- .fillMaxWidth()
- .height(44.dp)
- .padding(horizontal = 16.dp)
- .clickable(onClick = onClick),
+ modifier = modifier.fillMaxWidth(),
contentAlignment = Alignment.Center
) {
- Row(
+ Box(
modifier = Modifier
- .height(44.dp)
- .fillMaxWidth(),
- verticalAlignment = Alignment.CenterVertically
+ .height(chipHeight)
+ .border(width = borderWidth, brush = chipBrush, shape = chipShape)
+ .clip(chipShape)
+ .clickable(onClick = onClick),
+ contentAlignment = Alignment.Center
) {
- Image(
- painter = painterResource(R.drawable.city_left),
- contentDescription = null,
- modifier = Modifier
- .width(22.dp)
- .fillMaxHeight()
- )
- Box(
- modifier = Modifier
- .weight(1f)
- .height(44.dp)
- .padding(horizontal = 4.dp),
- contentAlignment = Alignment.Center
- ) {
- Image(
- painter = painterResource(R.drawable.city_middle),
- contentDescription = null,
- modifier = Modifier.fillMaxSize(),
- contentScale = ContentScale.FillBounds
- )
- Text(
- text = city,
- color = Color.White,
- fontSize = 22.sp,
- fontWeight = FontWeight.Medium,
- maxLines = 1,
- overflow = TextOverflow.Ellipsis
- )
- }
- Image(
- painter = painterResource(R.drawable.city_right),
- contentDescription = null,
- modifier = Modifier
- .width(22.dp)
- .fillMaxHeight()
+ Text(
+ text = city,
+ color = Color.White,
+ fontSize = 22.sp,
+ fontWeight = FontWeight.Medium,
+ maxLines = 1,
+ overflow = TextOverflow.Ellipsis,
+ modifier = Modifier.padding(horizontal = 14.dp)
)
}
}
diff --git a/app/src/main/kotlin/org/db3/airmq/ui/theme/Color.kt b/app/src/main/kotlin/org/db3/airmq/ui/theme/Color.kt
index aa64181..3320945 100644
--- a/app/src/main/kotlin/org/db3/airmq/ui/theme/Color.kt
+++ b/app/src/main/kotlin/org/db3/airmq/ui/theme/Color.kt
@@ -21,6 +21,10 @@ val LegacyNavContainer = Color(0xFF295989)
val LegacyNavGradientStart = Color(0xFF005BAB)
val LegacyNavGradientEnd = Color(0xFF4997D1)
+/** Dashboard city selector pill (legacy vectors city_left / city_right / city_middle) */
+val DashboardCityChipGradientStart = Color(0xFF3EDEA5)
+val DashboardCityChipGradientEnd = Color(0xFF33B6EE)
+
val LegacyButtonContained = Color(0xFF135CA5)
val LegacyButtonContainedDisabledOverlay = Color(0x1F000000)
val LegacyButtonPressedOverlayDark = Color(0x33000000)
diff --git a/app/src/main/res/drawable/city_left.xml b/app/src/main/res/drawable/city_left.xml
deleted file mode 100644
index 70975e7..0000000
--- a/app/src/main/res/drawable/city_left.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/city_middle.xml b/app/src/main/res/drawable/city_middle.xml
deleted file mode 100644
index 042a82d..0000000
--- a/app/src/main/res/drawable/city_middle.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/city_right.xml b/app/src/main/res/drawable/city_right.xml
deleted file mode 100644
index 993aeeb..0000000
--- a/app/src/main/res/drawable/city_right.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-