From 56c14cbac576dec5b89c8cc35c38d3f640e1eb5e Mon Sep 17 00:00:00 2001 From: CryptoDruid802 Date: Thu, 11 Dec 2025 21:53:38 +0300 Subject: [PATCH] new fun: exit --- .../java/ru/myitschool/work/data/repo/AuthRepository.kt | 4 ++++ .../java/ru/myitschool/work/ui/screen/main/MainScreen.kt | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt b/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt index 3ef28f1..9ed569a 100644 --- a/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt +++ b/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt @@ -5,6 +5,10 @@ import ru.myitschool.work.data.source.NetworkDataSource object AuthRepository { private var codeCache: String? = null + fun clearCode() { + codeCache = null + } + suspend fun checkAndSave(text: String): Result { return NetworkDataSource.checkAuth(text).onSuccess { success -> diff --git a/app/src/main/java/ru/myitschool/work/ui/screen/main/MainScreen.kt b/app/src/main/java/ru/myitschool/work/ui/screen/main/MainScreen.kt index 0e9895d..e2dd3ca 100644 --- a/app/src/main/java/ru/myitschool/work/ui/screen/main/MainScreen.kt +++ b/app/src/main/java/ru/myitschool/work/ui/screen/main/MainScreen.kt @@ -37,6 +37,8 @@ import androidx.navigation.NavController import coil3.compose.AsyncImage import ru.myitschool.work.R import ru.myitschool.work.core.TestIds +import ru.myitschool.work.data.repo.AuthRepository +import ru.myitschool.work.ui.nav.AuthScreenDestination import ru.myitschool.work.ui.nav.MainScreenDestination @Composable @@ -53,7 +55,7 @@ fun MainScreen( В случае любой ошибки необходимо скрыть все элементы, кроме текстового поля с ошибкой и кнопки обновления данных. Для получения данных необходимо использовать сетевой запрос /api//info. - При нажатии на кнопку для выхода, все сохранённые данные пользователя должны быть очищены, а приложение должно открыть экран авторизации. + При нажатии на кнопку для выхода, все сохранённые данные пользователя должны быть очищены, а приложение должно открыть экран авторизации. ГОТОВО При нажатии кнопки бронирования необходимо открыть экран бронирования. При нажатии на кнопку обновления данных — необходимо повторно вызывать сетевой запрос для получения актуальных данных. Список бронирований должен быть отсортирован в порядке увеличения даты (например, 5 января -> 6 января -> 9 января). @@ -122,6 +124,8 @@ fun MainScreen( contentColor = MaterialTheme.colorScheme.onError ), onClick = { + AuthRepository.clearCode() + navController.navigate(AuthScreenDestination) }, ) { Text(stringResource(R.string.logout))