From a8184914deb8db361ffb6e5f7560846994549b91 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 7 Apr 2023 14:34:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=20UI=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../megboyzz/dnevnik/screens/ui/Components.kt | 69 ++++++++++++++++++- .../megboyzz/dnevnik/screens/ui/Previews.kt | 26 ++----- app/src/main/res/values-en-rUS/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 4 files changed, 75 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Components.kt b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Components.kt index b6b3a2d..49c422c 100644 --- a/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Components.kt +++ b/app/src/main/java/ru/megboyzz/dnevnik/screens/ui/Components.kt @@ -562,6 +562,71 @@ fun MessageAlertInWork() { @Composable -fun AlertBox() { - //DialogProperties(). +fun BaseAlertBox( + title: String?, + onDismissRequest: () -> Unit, + content: @Composable () -> Unit, + buttons: @Composable () -> Unit +) { + AlertDialog( + shape = RoundedCornerShape(20.dp), + onDismissRequest = onDismissRequest, + title = { + if(title != null) + Text( + text = title, + style = H1 + ) + }, + text = { + content.invoke() + }, + buttons = { + buttons.invoke() + } + ) +} + +@Composable +fun AlertMessageBox( + title: String, + alertText: String, + onClick: () -> Unit, + onCancel: () -> Unit = {}, +) { + + BaseAlertBox( + title = title, + onDismissRequest = onCancel, + content = { + Text( + text = alertText, + style = H2, + color = dark + ) + }, + buttons = { + Row( + horizontalArrangement = Arrangement.Center, + modifier = Modifier.fillMaxWidth() + ) { + Button( + onClick = onClick, + shape = RoundedCornerShape(8.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = mainBlue, + contentColor = white + ), + modifier = Modifier + .defaultMinSize(170.dp).padding(bottom = 30.dp) + ) { + Text( + text = R.string.title_ok.AsString(), + style = H1 + ) + } + } + } + ) + } 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 57b09ab..06a7854 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 @@ -1,4 +1,4 @@ -package ru.megboyzz.dnevnik +package ru.megboyzz.dnevnik.screens.ui import android.util.Log import androidx.compose.animation.ExperimentalAnimationApi @@ -12,24 +12,15 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.* -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Save -import androidx.compose.material.icons.filled.SouthEast import androidx.compose.runtime.* import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.DialogProperties import androidx.navigation.compose.rememberNavController import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.kizitonwose.calendar.core.daysOfWeek -import ru.megboyzz.dnevnik.screens.SettingsCategory -import ru.megboyzz.dnevnik.screens.SettingsMenuSwitch -import ru.megboyzz.dnevnik.screens.SettingsMenuItem import ru.megboyzz.dnevnik.screens.SettingsScreen import ru.megboyzz.dnevnik.screens.ui.* import ru.megboyzz.dnevnik.screens.ui.calendar.NiceCalendar @@ -42,7 +33,6 @@ import ru.megboyzz.dnevnik.screens.ui.schedule.BaseScheduleCard 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.mainBlur import ru.megboyzz.dnevnik.ui.theme.white import java.time.LocalDate import java.time.YearMonth @@ -393,15 +383,11 @@ fun SettingsTest() { @Preview @Composable fun Test1() { - - AlertDialog( - onDismissRequest = { /*TODO*/ }, - text = { - Text(text = "hehe") - }, - buttons = { - Text(text = "hehe") - } + + AlertMessageBox( + title = "Информация", + alertText = "В данный момент на сервере ведутся технические работы, вход невозможен, повторите попытку позднее", + onClick = { /*TODO*/ } ) } \ No newline at end of file diff --git a/app/src/main/res/values-en-rUS/strings.xml b/app/src/main/res/values-en-rUS/strings.xml index 8ee233f..5cad793 100644 --- a/app/src/main/res/values-en-rUS/strings.xml +++ b/app/src/main/res/values-en-rUS/strings.xml @@ -71,4 +71,5 @@ Author " Select the icons for subjects" Enable notify + ОК \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9c66c5d..24d6a11 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -70,4 +70,5 @@ Автор Выбрать иконки для предметов Включить уведомления о новых оценках + Ясно \ No newline at end of file