From de283fe381697c69ced4cc045a9409521a033664 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 5 Apr 2023 01:04:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dnevnik/screens/ui/HomeWorkCard.kt | 4 +- .../megboyzz/dnevnik/screens/ui/Previews.kt | 35 +++++++++++++ .../screens/ui/schedule/ScheduleCard.kt | 52 +++++++++++++++++++ .../ui/{ => schedule}/ScheduleShield.kt | 4 +- .../java/ru/megboyzz/dnevnik/ui/theme/Type.kt | 5 ++ 5 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleCard.kt rename app/src/main/java/ru/megboyzz/dnevnik/screens/ui/{ => schedule}/ScheduleShield.kt (96%) diff --git a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/HomeWorkCard.kt b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/HomeWorkCard.kt index 6cb529c..467f4dd 100644 --- a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/HomeWorkCard.kt +++ b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/HomeWorkCard.kt @@ -49,9 +49,7 @@ fun BaseHomeWorkCard( .defaultMinSize(300.dp) .padding(5.dp) ){ - Column( - verticalArrangement = Arrangement.spacedBy(0.dp) - ) { + Column { Row( horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, diff --git a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Previews.kt b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Previews.kt index 959d1fa..6ba4964 100644 --- a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Previews.kt +++ b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Previews.kt @@ -4,6 +4,10 @@ import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.layout.* +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.items import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll @@ -15,15 +19,19 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.google.accompanist.navigation.animation.rememberAnimatedNavController +import com.kizitonwose.calendar.core.daysOfWeek import ru.megboyzz.dnevnik.screens.ui.* import ru.megboyzz.dnevnik.screens.ui.calendar.NiceCalendar import ru.megboyzz.dnevnik.screens.ui.piechart.PieChart import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartCard import ru.megboyzz.dnevnik.screens.ui.piechart.PieChartData +import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleCard +import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleShield import ru.megboyzz.dnevnik.ui.theme.mainBlue import ru.megboyzz.dnevnik.ui.theme.white import java.time.LocalDate import java.time.YearMonth +import java.time.format.TextStyle import java.util.* //Файл со всеми превьюшками @@ -301,4 +309,31 @@ fun ScheduleShieldPrev() { classNumber = "3.13", nextLessonName = "Обществознание" ) +} + +@Preview +@Composable +fun ScheduleCardPrev() { + + val daysOfWeek = daysOfWeek().dropLast(1) + + LazyVerticalGrid( + columns = GridCells.Fixed(2), + verticalArrangement = Arrangement.spacedBy(10.dp), + horizontalArrangement = Arrangement.spacedBy(10.dp) + ){ + items(daysOfWeek){ + BaseScheduleCard( + dayTitle = it.getDisplayName(TextStyle.FULL, Locale.getDefault()), + subjectNames = listOf( + "Литература", + "Алгебра", + "Геометрия", + "Алгебра и начала математического анализа", + "Физика", + "Астрономия", + ) + ) + } + } } \ No newline at end of file diff --git a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleCard.kt b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleCard.kt new file mode 100644 index 0000000..3344a70 --- /dev/null +++ b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleCard.kt @@ -0,0 +1,52 @@ +package ru.megboyzz.dnevnik.screens.ui.schedule + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Divider +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.screens.ui.BaseCard +import ru.megboyzz.dnevnik.ui.theme.H2 +import ru.megboyzz.dnevnik.ui.theme.mainBlue +import ru.megboyzz.dnevnik.ui.theme.textSchedule + +@Composable +fun BaseScheduleCard( + dayTitle: String, + subjectNames: List +) { + BaseCard { + Column( + modifier = Modifier.padding(10.dp).padding(bottom = 15.dp), + verticalArrangement = Arrangement.spacedBy(10.dp) + ) { + Column( + verticalArrangement = Arrangement.spacedBy(5.dp), + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.fillMaxWidth() + ) { + Text( + text = dayTitle, + style = H2, + color = mainBlue, + ) + Divider( + color = mainBlue, + thickness = 1.dp, + ) + } + for(i in subjectNames.indices){ + Text( + text = "${i+1}. ${subjectNames[i]}", + style = textSchedule + ) + } + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/ScheduleShield.kt b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleShield.kt similarity index 96% rename from app/src/main/java/ru/megboyzz/dnevnik/screens/ui/ScheduleShield.kt rename to app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleShield.kt index 138947e..f123afc 100644 --- a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/ScheduleShield.kt +++ b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/schedule/ScheduleShield.kt @@ -1,6 +1,5 @@ -package ru.megboyzz.dnevnik.screens.ui +package ru.megboyzz.dnevnik.screens.ui.schedule -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* import androidx.compose.material.Icon import androidx.compose.material.Text @@ -12,6 +11,7 @@ import androidx.compose.ui.unit.dp import ru.megboyzz.dnevnik.AsPainter 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.MainText import ru.megboyzz.dnevnik.ui.theme.dark diff --git a/app/src/main/java/ru/megboyzz/dnevnik/ui/theme/Type.kt b/app/src/main/java/ru/megboyzz/dnevnik/ui/theme/Type.kt index 02f6adc..f213535 100644 --- a/app/src/main/java/ru/megboyzz/dnevnik/ui/theme/Type.kt +++ b/app/src/main/java/ru/megboyzz/dnevnik/ui/theme/Type.kt @@ -61,4 +61,9 @@ val Big = TextStyle( val Mini = TextStyle( fontSize = 10.sp, fontWeight = FontWeight.Bold, +) + +val textSchedule = TextStyle( + fontSize = 13.sp, + fontWeight = FontWeight.SemiBold, ) \ No newline at end of file