mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
ui(overview): Add title icons to permission and device-limit cards
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package eu.darken.capod.main.ui.overview.cards
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.twotone.DevicesOther
|
||||
import androidx.compose.material.icons.twotone.Stars
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.Card
|
||||
@@ -39,10 +41,17 @@ fun DeviceLimitUpgradeCard(
|
||||
.fillMaxWidth()
|
||||
.padding(16.dp),
|
||||
) {
|
||||
Text(
|
||||
text = pluralStringResource(R.plurals.overview_more_devices_upgrade, hiddenCount, hiddenCount),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
)
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Icon(
|
||||
imageVector = Icons.TwoTone.DevicesOther,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.padding(end = 12.dp),
|
||||
)
|
||||
Text(
|
||||
text = pluralStringResource(R.plurals.overview_more_devices_upgrade, hiddenCount, hiddenCount),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(4.dp))
|
||||
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
package eu.darken.capod.main.ui.overview.cards
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.twotone.BluetoothSearching
|
||||
import androidx.compose.material.icons.twotone.BatterySaver
|
||||
import androidx.compose.material.icons.twotone.Bluetooth
|
||||
import androidx.compose.material.icons.twotone.BluetoothConnected
|
||||
import androidx.compose.material.icons.twotone.Layers
|
||||
import androidx.compose.material.icons.twotone.MyLocation
|
||||
import androidx.compose.material.icons.twotone.Notifications
|
||||
import androidx.compose.material.icons.twotone.ShareLocation
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.darken.capod.R
|
||||
@@ -40,10 +52,17 @@ fun PermissionCard(
|
||||
Column(
|
||||
modifier = Modifier.padding(16.dp),
|
||||
) {
|
||||
Text(
|
||||
text = stringResource(permission.labelRes),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
)
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Icon(
|
||||
imageVector = permission.iconVector(),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.padding(end = 12.dp),
|
||||
)
|
||||
Text(
|
||||
text = stringResource(permission.labelRes),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(4.dp))
|
||||
|
||||
@@ -69,3 +88,20 @@ fun PermissionCard(
|
||||
private fun PermissionCardPreview() = PreviewWrapper {
|
||||
PermissionCard(permission = Permission.BLUETOOTH_SCAN, onRequest = {})
|
||||
}
|
||||
|
||||
@Preview2
|
||||
@Composable
|
||||
private fun PermissionCardNormalPreview() = PreviewWrapper {
|
||||
PermissionCard(permission = Permission.IGNORE_BATTERY_OPTIMIZATION, onRequest = {})
|
||||
}
|
||||
|
||||
private fun Permission.iconVector(): ImageVector = when (this) {
|
||||
Permission.BLUETOOTH -> Icons.TwoTone.Bluetooth
|
||||
Permission.BLUETOOTH_CONNECT -> Icons.TwoTone.BluetoothConnected
|
||||
Permission.BLUETOOTH_SCAN -> Icons.AutoMirrored.TwoTone.BluetoothSearching
|
||||
Permission.ACCESS_FINE_LOCATION -> Icons.TwoTone.MyLocation
|
||||
Permission.ACCESS_BACKGROUND_LOCATION -> Icons.TwoTone.ShareLocation
|
||||
Permission.IGNORE_BATTERY_OPTIMIZATION -> Icons.TwoTone.BatterySaver
|
||||
Permission.SYSTEM_ALERT_WINDOW -> Icons.TwoTone.Layers
|
||||
Permission.POST_NOTIFICATIONS -> Icons.TwoTone.Notifications
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user