71 lines
2.6 KiB
Kotlin
71 lines
2.6 KiB
Kotlin
package agzam.vyatsu.ui.info
|
|
|
|
import agzam.vyatsu.data.static.BUILDINGS
|
|
import android.content.Intent
|
|
import android.net.Uri
|
|
import androidx.compose.foundation.clickable
|
|
import androidx.compose.foundation.layout.Column
|
|
import androidx.compose.foundation.layout.Spacer
|
|
import androidx.compose.foundation.layout.WindowInsets
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.foundation.layout.height
|
|
import androidx.compose.foundation.layout.padding
|
|
import androidx.compose.foundation.layout.statusBars
|
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
|
import androidx.compose.foundation.lazy.LazyColumn
|
|
import androidx.compose.foundation.lazy.items
|
|
import androidx.compose.material3.HorizontalDivider
|
|
import androidx.compose.material3.MaterialTheme
|
|
import androidx.compose.material3.Text
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.platform.LocalContext
|
|
import androidx.compose.ui.text.style.TextAlign
|
|
import androidx.compose.ui.unit.dp
|
|
import agzam.vyatsu.BuildConfig
|
|
|
|
@Composable
|
|
fun BuildingsScreen() {
|
|
val context = LocalContext.current
|
|
LazyColumn(
|
|
Modifier
|
|
.fillMaxWidth()
|
|
.windowInsetsPadding(WindowInsets.statusBars)
|
|
) {
|
|
items(BUILDINGS) { b ->
|
|
Column(
|
|
Modifier
|
|
.fillMaxWidth()
|
|
.clickable {
|
|
val uri = Uri.parse("geo:${b.latitude},${b.longitude}?q=${b.latitude},${b.longitude}(Корпус ${b.number})")
|
|
context.startActivity(Intent(Intent.ACTION_VIEW, uri))
|
|
}
|
|
.padding(horizontal = 16.dp, vertical = 12.dp)
|
|
) {
|
|
Text(
|
|
"Корпус ${b.number}",
|
|
style = MaterialTheme.typography.bodyLarge
|
|
)
|
|
Text(
|
|
b.address,
|
|
style = MaterialTheme.typography.bodyMedium,
|
|
color = MaterialTheme.colorScheme.onSurfaceVariant
|
|
)
|
|
}
|
|
HorizontalDivider(Modifier.padding(horizontal = 16.dp))
|
|
}
|
|
|
|
item {
|
|
Spacer(Modifier.height(24.dp))
|
|
Text(
|
|
"Версия ${BuildConfig.VERSION_NAME}",
|
|
style = MaterialTheme.typography.bodySmall,
|
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
|
textAlign = TextAlign.Center,
|
|
modifier = Modifier.fillMaxWidth()
|
|
)
|
|
Spacer(Modifier.height(16.dp))
|
|
}
|
|
}
|
|
}
|