new fun: exit

This commit is contained in:
CryptoDruid802
2025-12-11 21:53:38 +03:00
parent 72e8b946c0
commit 56c14cbac5
2 changed files with 9 additions and 1 deletions

View File

@@ -5,6 +5,10 @@ import ru.myitschool.work.data.source.NetworkDataSource
object AuthRepository { object AuthRepository {
private var codeCache: String? = null private var codeCache: String? = null
fun clearCode() {
codeCache = null
}
suspend fun checkAndSave(text: String): Result<Boolean> { suspend fun checkAndSave(text: String): Result<Boolean> {
return NetworkDataSource.checkAuth(text).onSuccess { success -> return NetworkDataSource.checkAuth(text).onSuccess { success ->

View File

@@ -37,6 +37,8 @@ import androidx.navigation.NavController
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import ru.myitschool.work.R import ru.myitschool.work.R
import ru.myitschool.work.core.TestIds 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 import ru.myitschool.work.ui.nav.MainScreenDestination
@Composable @Composable
@@ -53,7 +55,7 @@ fun MainScreen(
В случае любой ошибки необходимо скрыть все элементы, кроме текстового поля с ошибкой и кнопки обновления данных. В случае любой ошибки необходимо скрыть все элементы, кроме текстового поля с ошибкой и кнопки обновления данных.
Для получения данных необходимо использовать сетевой запрос /api/<CODE>/info. Для получения данных необходимо использовать сетевой запрос /api/<CODE>/info.
При нажатии на кнопку для выхода, все сохранённые данные пользователя должны быть очищены, а приложение должно открыть экран авторизации. При нажатии на кнопку для выхода, все сохранённые данные пользователя должны быть очищены, а приложение должно открыть экран авторизации. ГОТОВО
При нажатии кнопки бронирования необходимо открыть экран бронирования. При нажатии кнопки бронирования необходимо открыть экран бронирования.
При нажатии на кнопку обновления данных — необходимо повторно вызывать сетевой запрос для получения актуальных данных. При нажатии на кнопку обновления данных — необходимо повторно вызывать сетевой запрос для получения актуальных данных.
Список бронирований должен быть отсортирован в порядке увеличения даты (например, 5 января -> 6 января -> 9 января). Список бронирований должен быть отсортирован в порядке увеличения даты (например, 5 января -> 6 января -> 9 января).
@@ -122,6 +124,8 @@ fun MainScreen(
contentColor = MaterialTheme.colorScheme.onError contentColor = MaterialTheme.colorScheme.onError
), ),
onClick = { onClick = {
AuthRepository.clearCode()
navController.navigate(AuthScreenDestination)
}, },
) { ) {
Text(stringResource(R.string.logout)) Text(stringResource(R.string.logout))