Files
vyatsu-schedule/app/src/main/java/agzam/vyatsu/ui/info/BuildingsScreen.kt
T
2026-09-02 23:47:00 +03:00

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))
}
}
}