Сделана карточка звонков

This commit is contained in:
2023-04-05 01:27:37 +03:00
parent de283fe381
commit 1e775f1628
2 changed files with 70 additions and 2 deletions
@@ -1,11 +1,11 @@
package ru.megboyzz.dnevnik package ru.megboyzz.dnevnik
import android.util.Log
import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.ExperimentalAnimationApi
import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items import androidx.compose.foundation.lazy.grid.items
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
@@ -25,8 +25,10 @@ import ru.megboyzz.dnevnik.screens.ui.calendar.NiceCalendar
import ru.megboyzz.dnevnik.screens.ui.piechart.PieChart import ru.megboyzz.dnevnik.screens.ui.piechart.PieChart
import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartCard import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartCard
import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartData import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartData
import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleCallsCard
import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleCard import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleCard
import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleShield import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleShield
import ru.megboyzz.dnevnik.screens.ui.schedule.CallData
import ru.megboyzz.dnevnik.ui.theme.mainBlue import ru.megboyzz.dnevnik.ui.theme.mainBlue
import ru.megboyzz.dnevnik.ui.theme.white import ru.megboyzz.dnevnik.ui.theme.white
import java.time.LocalDate import java.time.LocalDate
@@ -316,7 +318,7 @@ fun ScheduleShieldPrev() {
fun ScheduleCardPrev() { fun ScheduleCardPrev() {
val daysOfWeek = daysOfWeek().dropLast(1) val daysOfWeek = daysOfWeek().dropLast(1)
Log.i("Locale", Locale.getDefault().country)
LazyVerticalGrid( LazyVerticalGrid(
columns = GridCells.Fixed(2), columns = GridCells.Fixed(2),
verticalArrangement = Arrangement.spacedBy(10.dp), verticalArrangement = Arrangement.spacedBy(10.dp),
@@ -336,4 +338,19 @@ fun ScheduleCardPrev() {
) )
} }
} }
}
@Preview
@Composable
fun ScheduleCallsPrev() {
val calls = listOf(
CallData("9:00", "10:30"),
CallData("10:40", "12:10"),
CallData("12:40", "14:10"),
CallData("14:20", "15:50"),
CallData("18:00", "19:30")
)
BaseScheduleCallsCard(callsList = calls)
} }
@@ -0,0 +1,51 @@
package ru.megboyzz.dnevnik.screens.ui.schedule
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import ru.megboyzz.dnevnik.AsString
import ru.megboyzz.dnevnik.R
import ru.megboyzz.dnevnik.screens.ui.BaseCard
import ru.megboyzz.dnevnik.ui.theme.H2
import ru.megboyzz.dnevnik.ui.theme.dark
import java.util.*
//Веремнная сущность для определения пунктов карточки
data class CallData(
val startTime: String,
val endTime: String
)
@Composable
fun BaseScheduleCallsCard(
callsList: List<CallData>
) {
BaseCard{
Column(
verticalArrangement = Arrangement.spacedBy(20.dp),
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.padding(vertical = 20.dp).defaultMinSize(300.dp)
) {
for(i in callsList.indices)
Text(
text = "${(i+1).displayTextInRightLocale()} -> ${callsList[i].startTime} - ${callsList[i].endTime}",
style = H2,
color = dark
)
}
}
}
@Composable
fun Int.displayTextInRightLocale(): String
= if(Locale.getDefault().country == "RU")
"$this ${R.string.title_lesson.AsString()}"
else
"${R.string.title_lesson.AsString()} $this"