diff --git a/.gradle/8.0/executionHistory/executionHistory.bin b/.gradle/8.0/executionHistory/executionHistory.bin
index 9333db7..50fcb99 100644
Binary files a/.gradle/8.0/executionHistory/executionHistory.bin and b/.gradle/8.0/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.0/executionHistory/executionHistory.lock b/.gradle/8.0/executionHistory/executionHistory.lock
index 5035fea..876eab6 100644
Binary files a/.gradle/8.0/executionHistory/executionHistory.lock and b/.gradle/8.0/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.bin b/.gradle/8.0/fileHashes/fileHashes.bin
index e19e881..e59113a 100644
Binary files a/.gradle/8.0/fileHashes/fileHashes.bin and b/.gradle/8.0/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.lock b/.gradle/8.0/fileHashes/fileHashes.lock
index ab76f20..723c175 100644
Binary files a/.gradle/8.0/fileHashes/fileHashes.lock and b/.gradle/8.0/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.0/fileHashes/resourceHashesCache.bin b/.gradle/8.0/fileHashes/resourceHashesCache.bin
index 16f0fa3..f1f9823 100644
Binary files a/.gradle/8.0/fileHashes/resourceHashesCache.bin and b/.gradle/8.0/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 44904fc..f0e4f8a 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
index 60fb1e2..2456e0c 100644
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index 1c6b3a2..c853116 100644
Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index d092f84..3ba9b9e 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -9,36 +9,34 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
-
+
@@ -136,6 +134,9 @@
+
+
+
@@ -255,7 +256,21 @@
1697054812374
-
+
+ 1697086817058
+
+
+
+ 1697086817058
+
+
+ 1697086828529
+
+
+
+ 1697086828529
+
+
@@ -288,6 +303,7 @@
-
+
+
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 8a9f301..ab6bc55 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -52,7 +52,6 @@ android {
dependencies {
implementation ("io.coil-kt:coil-compose:1.4.0")
-
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.7.2")
diff --git a/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt b/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt
index 9ffc864..49d07db 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/CreatePet.kt
@@ -26,7 +26,6 @@ fun CreatePet(navController: NavController, onSaveClick: (Pet) -> Unit) {
.fillMaxSize()
.padding(16.dp)
) {
- // Отображение изображений для выбора
val imageIds = intArrayOf(
R.drawable.pet1,
R.drawable.pet2,
@@ -59,7 +58,6 @@ fun CreatePet(navController: NavController, onSaveClick: (Pet) -> Unit) {
Spacer(modifier = Modifier.height(16.dp))
- // Поле для ввода имени питомца
TextField(
value = petName,
onValueChange = { petName = it },
@@ -69,7 +67,6 @@ fun CreatePet(navController: NavController, onSaveClick: (Pet) -> Unit) {
Spacer(modifier = Modifier.height(16.dp))
- // Кнопка "Сохранить"
Button(
onClick = {
if (petName.isNotEmpty()) {
@@ -78,7 +75,6 @@ fun CreatePet(navController: NavController, onSaveClick: (Pet) -> Unit) {
petName = ""
selectedImage = R.drawable.pet1
- // Навигация назад на предыдущую страницу
navController.popBackStack()
}
},
diff --git a/app/src/main/java/com/example/pmuapp/composeui/EditPet.kt b/app/src/main/java/com/example/pmuapp/composeui/EditPet.kt
index 5eacbb2..41ae443 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/EditPet.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/EditPet.kt
@@ -49,7 +49,6 @@ fun EditPet(navController: NavController ,authViewModel: AuthViewModel, petViewM
.padding(10.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
- // Отображение изображения (здесь предполагается, что у вас есть доступ к `availablePetImages` по индексу)
val imageResId = pet?.imageResId ?: 0
Image(
painter = painterResource(id = imageResId),
@@ -59,7 +58,6 @@ fun EditPet(navController: NavController ,authViewModel: AuthViewModel, petViewM
.height(200.dp)
)
- // Поле ввода имени
OutlinedTextField(
value = petName,
onValueChange = { petName = it },
@@ -69,14 +67,12 @@ fun EditPet(navController: NavController ,authViewModel: AuthViewModel, petViewM
.padding(top = 8.dp)
)
- // Текст "Заметка о питомце"
Text(
text = "Заметка о питомце",
style = TextStyle(fontSize = 16.sp),
modifier = Modifier.padding(top = 8.dp)
)
- // Поле ввода заметок
TextField(
value = petNotes,
onValueChange = { petNotes = it },
@@ -84,27 +80,23 @@ fun EditPet(navController: NavController ,authViewModel: AuthViewModel, petViewM
modifier = Modifier
.fillMaxWidth()
.padding(top = 8.dp)
- .heightIn(max = 200.dp) // Заметка будет растянута до конца экрана
+ .heightIn(max = 200.dp)
.padding(16.dp),
- readOnly = false // Сделаем его доступным для редактирования
+ readOnly = false
)
- Spacer(modifier = Modifier.weight(1f)) // Заполнитель для размещения кнопки внизу
+ Spacer(modifier = Modifier.weight(1f))
+
- // Кнопка "Изменить"
- // Кнопка "Сохранить"
val editedPetId = Screen.PlayPet.route.replace("{id}", pet?.id.toString())
Button(
onClick = {
- // Создаем обновленную версию питомца с введенными данными
val updatedPet = pet?.copy(name = petName, notes = petNotes) ?: return@Button
- // Вызываем функцию для обновления питомца в вашей ViewModel (в данном случае, в petViewModel)
petViewModel.updatePet(updatedPet)
userViewModel.updatePetOnUser(authViewModel.currentUser?.id ?: -1, updatedPet)
authViewModel.currentUser=userViewModel.getUser(authViewModel.currentUser?.id ?: -1)
- // Дополнительные действия после обновления, например, переход на другой экран
val petId = Screen.EditPet.route.replace("{id}", pet.id.toString())
navController?.navigate(editedPetId)
},
diff --git a/app/src/main/java/com/example/pmuapp/composeui/Home.kt b/app/src/main/java/com/example/pmuapp/composeui/Home.kt
index 07a356c..5873b06 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/Home.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/Home.kt
@@ -25,10 +25,8 @@ fun Home(navController: NavController, authViewModel: AuthViewModel, petViewMode
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
- // Add a button to navigate to the "Create Pet" screen
Button(
onClick = {
- // При нажатии кнопки, перейдите на экран создания питомца (CreatePet)
navController.navigate(Screen.CreatePet.route)
}
) {
@@ -36,7 +34,6 @@ fun Home(navController: NavController, authViewModel: AuthViewModel, petViewMode
}
Spacer(modifier = Modifier.height(16.dp))
- // Вывод списка питомцев
PetList(navController,authViewModel, petViewModel, userViewModel, authViewModel.currentUser?.id ?: -1)
}
diff --git a/app/src/main/java/com/example/pmuapp/composeui/Login.kt b/app/src/main/java/com/example/pmuapp/composeui/Login.kt
index 97bb3c3..1a7a4fc 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/Login.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/Login.kt
@@ -4,6 +4,7 @@ import android.content.Intent
import android.content.res.Configuration
import android.net.Uri
import android.widget.TextView
+import androidx.activity.compose.BackHandler
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -22,6 +23,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -44,11 +46,12 @@ import com.example.pmuapp.ui.theme.PMUappTheme
fun Login(
navController: NavHostController,
authViewModel: AuthViewModel,
- users: List // Используйте ViewModel как параметр
+ users: List
) {
var username by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
+
Column(
modifier = Modifier
.fillMaxSize()
@@ -75,7 +78,7 @@ fun Login(
.padding(bottom = 16.dp)
)
- Spacer(modifier = Modifier.height(16.dp)) // Промежуток
+ Spacer(modifier = Modifier.height(16.dp))
Button(
onClick = {
@@ -91,19 +94,11 @@ fun Login(
) {
Text("Login")
}
+
}
}
-//@Preview(name = "Light Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_NO)
-//@Preview(name = "Dark Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
-//@Composable
-//fun LoginPreview() {
-// PMUappTheme {
-// Surface(
-// color = MaterialTheme.colorScheme.background
-// ) {
-// Login()
-// }
-// }
-//}
\ No newline at end of file
+
+
+
diff --git a/app/src/main/java/com/example/pmuapp/composeui/PlayPet.kt b/app/src/main/java/com/example/pmuapp/composeui/PlayPet.kt
index c67decf..2b268bf 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/PlayPet.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/PlayPet.kt
@@ -41,7 +41,6 @@ fun PlayPet(navController: NavController,authViewModel: AuthViewModel, petViewMo
.padding(10.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
- // Отображение изображения (здесь предполагается, что у вас есть доступ к `availablePetImages` по индексу)
val imageResId = pet?.imageResId ?: 0
Image(
painter = painterResource(id = imageResId),
@@ -51,42 +50,38 @@ fun PlayPet(navController: NavController,authViewModel: AuthViewModel, petViewMo
.height(200.dp)
)
- // Отображение имени
Text(
text = pet?.name ?: "",
style = TextStyle(fontWeight = FontWeight.Bold, fontSize = 24.sp),
modifier = Modifier.padding(top = 8.dp)
)
- // Текст "Заметка о питомце"
Text(
text = "Заметка о питомце",
style = TextStyle(fontSize = 16.sp),
modifier = Modifier.padding(top = 8.dp)
)
- // Отображение заметок
TextField(
value = pet?.notes ?: "",
- onValueChange = { /* Обработка изменения текста, если необходимо */ },
+ onValueChange = { },
modifier = Modifier
.fillMaxWidth()
.padding(top = 8.dp)
- .heightIn(max = 200.dp) // Заметка будет растянута до конца экрана
+ .heightIn(max = 200.dp)
.padding(16.dp),
readOnly = true
)
- Spacer(modifier = Modifier.weight(1f)) // Заполнитель для размещения кнопки внизу
+ Spacer(modifier = Modifier.weight(1f))
val petId = Screen.EditPet.route.replace("{id}", pet?.id.toString())
- // Кнопка "Изменить"
+
Button(
onClick = {
- // Перейти на страницу "играть" с передачей petId как аргумент
+
navController?.navigate(petId)
- // Обработка нажатия кнопки "Изменить"
},
modifier = Modifier.padding(16.dp)
) {
diff --git a/app/src/main/java/com/example/pmuapp/composeui/Profile.kt b/app/src/main/java/com/example/pmuapp/composeui/Profile.kt
index 5a68db7..45df3d5 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/Profile.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/Profile.kt
@@ -2,34 +2,46 @@ package com.example.pmuapp.composeui
import android.annotation.SuppressLint
import android.net.Uri
+import androidx.activity.OnBackPressedCallback
+import androidx.activity.OnBackPressedDispatcher
+import androidx.activity.compose.BackHandler
+import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Button
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
+import androidx.navigation.NavController
import coil.compose.rememberImagePainter
+import com.example.pmuapp.composeui.navigation.Screen
import com.example.pmuapp.models.user.model.User
+import kotlinx.coroutines.flow.callbackFlow
@OptIn(ExperimentalMaterial3Api::class)
@SuppressLint("RememberReturnType")
@Composable
-fun Profile(currentUser: User?, onSaveClick: (User) -> Unit) {
+fun Profile(navController: NavController,currentUser: User?, onSaveClick: (User) -> Unit) {
val nameState = remember { mutableStateOf(currentUser?.name.orEmpty()) }
val loginState = remember { mutableStateOf(currentUser?.login.orEmpty()) }
val passwordState = remember { mutableStateOf(currentUser?.password.orEmpty()) }
+
Column(
modifier = Modifier
.fillMaxSize()
@@ -45,21 +57,16 @@ fun Profile(currentUser: User?, onSaveClick: (User) -> Unit) {
)
}
- // State to hold the selected image URI
val selectedImageUri = remember { mutableStateOf(null) }
- // Create an ActivityResultLauncher to handle image selection
val imagePickerLauncher = rememberLauncherForActivityResult(ActivityResultContracts.GetContent()) { result: Uri? ->
result?.let { uri ->
selectedImageUri.value = uri
}
}
- // Button to open the image picker
Button(
onClick = {
- // Request permission to access the device's storage
- // Open the image picker
imagePickerLauncher.launch("image/*")
},
modifier = Modifier.fillMaxWidth()
@@ -102,13 +109,23 @@ fun Profile(currentUser: User?, onSaveClick: (User) -> Unit) {
loginState.value,
passwordState.value,
currentUser?.petId ?: emptyList(),
- selectedImageUri.value?.toString() ?: "", // Use the selected image URI
+ selectedImageUri.value?.toString() ?: "",
)
- onSaveClick(updatedUser) // Вызывает функцию updateUser в UserViewModel
+ onSaveClick(updatedUser)
},
modifier = Modifier.fillMaxWidth()
) {
Text("Сохранить")
}
+ Button(
+ onClick = {
+ navController.navigate(Screen.Login.route)
+
+ },
+ modifier = Modifier.fillMaxWidth()
+
+ ) {
+ Text("Выйти")
+ }
}
}
diff --git a/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt b/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt
index 5fe8d5a..6721c08 100644
--- a/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt
+++ b/app/src/main/java/com/example/pmuapp/composeui/navigation/MyPage.kt
@@ -69,7 +69,6 @@ fun Topbar(
if (currentScreen == Screen.PlayPet) {
IconButton(
onClick = {
- // Перейти на главный экран
navController.navigate(Screen.Home.route)
}
) {
@@ -79,7 +78,7 @@ fun Topbar(
tint = MaterialTheme.colorScheme.onPrimary
)
}
- } else if (
+ } else if (
navController.previousBackStackEntry != null
&& (currentScreen == null || !currentScreen.showInBottomBar)
) {
@@ -126,9 +125,9 @@ fun Navbar(
fun NavHost(
navController: NavHostController,
innerPadding: PaddingValues,
-authViewModel: AuthViewModel, // Передайте AuthViewModel как параметр
+authViewModel: AuthViewModel,
userViewModel: UserViewModel,
-petViewModel: PetViewModel// Передайте UserViewModel как параметр
+petViewModel: PetViewModel
) {
NavHost(
navController = navController,
@@ -141,16 +140,15 @@ petViewModel: PetViewModel// Передайте UserViewModel как парам
composable(Screen.Profile.route) {
val currentUser = authViewModel.currentUser ?: userViewModel.getUsers().firstOrNull()
if (currentUser != null) {
- Profile(
+ Profile(navController,
currentUser = currentUser,
- onSaveClick = { updatedUser ->
+ onSaveClick = {updatedUser ->
userViewModel.updateUser(updatedUser)
authViewModel.currentUser = updatedUser
navController.navigate(Screen.Profile.route)
}
)
} else {
- // Обработка случая, если currentUser отсутствует как в AuthViewModel, так и в UserViewModel
}
}
@@ -174,7 +172,7 @@ petViewModel: PetViewModel// Передайте UserViewModel как парам
val userId = backStackEntry.arguments?.getInt("id") ?: -1
Box(
- contentAlignment = Alignment.TopCenter, // Центрировать содержимое по горизонтали и сверху
+ contentAlignment = Alignment.TopCenter,
modifier = Modifier.fillMaxSize()
) {
PetList(navController,authViewModel, petViewModel, userViewModel, userId)
@@ -200,12 +198,13 @@ petViewModel: PetViewModel// Передайте UserViewModel как парам
}
}
+@RequiresApi(Build.VERSION_CODES.O)
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MainNavbar() {
val navController = rememberNavController()
val authViewModel = remember { AuthViewModel() }
- val userViewModel =remember {UserViewModel() }// Создайте экземпляр AuthViewModel
+ val userViewModel =remember {UserViewModel() }
val petViewModel = remember {PetViewModel()}
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentDestination = navBackStackEntry?.destination
@@ -225,15 +224,15 @@ fun MainNavbar() {
}
}
-@Preview(name = "Light Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_NO)
-@Preview(name = "Dark Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
-@Composable
-fun MainNavbarPreview() {
- PMUappTheme {
- Surface(
- color = MaterialTheme.colorScheme.background
- ) {
- MainNavbar()
- }
- }
-}
\ No newline at end of file
+//@Preview(name = "Light Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_NO)
+//@Preview(name = "Dark Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+//@Composable
+//fun MainNavbarPreview() {
+// PMUappTheme {
+// Surface(
+// color = MaterialTheme.colorScheme.background
+// ) {
+// MainNavbar()
+// }
+// }
+//}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt b/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt
index 6938734..46bc764 100644
--- a/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt
+++ b/app/src/main/java/com/example/pmuapp/models/user/composeui/PetList.kt
@@ -41,12 +41,11 @@ fun PetList(navController: NavController, authViewModel: AuthViewModel, petViewM
var pets = currentUser.petId
LazyColumn(
- verticalArrangement = Arrangement.Center, // Центрировать элементы по вертикали
- horizontalAlignment = Alignment.CenterHorizontally // Центрировать элементы по горизонтали
+ verticalArrangement = Arrangement.Center,
+ horizontalAlignment = Alignment.CenterHorizontally
) {
if (userId != authViewModel.currentUser?.id ?: -1) {
item {
- // Добавляем большой текст с именем пользователя
Text(
text = currentUser?.name + " (" + currentUser.login + ")",
style = TextStyle(
@@ -83,18 +82,14 @@ fun PetList(navController: NavController, authViewModel: AuthViewModel, petViewM
val petId = Screen.PlayPet.route.replace("{id}", pet.id.toString())
Button(
onClick = {
- // Перейти на страницу "играть" с передачей petId как аргумент
navController?.navigate(petId)
},
- // modifier = Modifier.fillMaxWidth()
) {
Text("Играть")
}
- // Кнопка удаления питомца
IconButton(
onClick = {
- // Вызывает функцию удаления питомца из PetViewModel
petViewModel.deletePet(pet)
userViewModel.deletePet(
currentUser?.id
diff --git a/app/src/main/java/com/example/pmuapp/models/user/composeui/StudentView.kt b/app/src/main/java/com/example/pmuapp/models/user/composeui/StudentView.kt
index 0b70106..d1712e7 100644
--- a/app/src/main/java/com/example/pmuapp/models/user/composeui/StudentView.kt
+++ b/app/src/main/java/com/example/pmuapp/models/user/composeui/StudentView.kt
@@ -47,16 +47,3 @@ fun StudentView(user: User) {
)
}
}
-
-//@Preview(name = "Light Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_NO)
-//@Preview(name = "Dark Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
-//@Composable
-//fun StudentViewPreview() {
-// PMUappTheme {
-// Surface(
-// color = MaterialTheme.colorScheme.background
-// ) {
-// StudentView(id = 0)
-// }
-// }
-//}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt b/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt
index 5e156bf..ccf85ac 100644
--- a/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt
+++ b/app/src/main/java/com/example/pmuapp/models/user/composeui/UserList.kt
@@ -39,15 +39,3 @@ fun UserList(navController: NavController?,
}
}
-//@Preview(name = "Light Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_NO)
-//@Preview(name = "Dark Mode", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
-//@Composable
-//fun StudentListPreview() {
-// PMUappTheme {
-// Surface(
-// color = MaterialTheme.colorScheme.background
-// ) {
-// UserList(navController = null)
-// }
-// }
-//}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/JNuFnEwXb10.jpg b/app/src/main/res/drawable/JNuFnEwXb10.jpg
new file mode 100644
index 0000000..d82b600
Binary files /dev/null and b/app/src/main/res/drawable/JNuFnEwXb10.jpg differ
diff --git a/app/src/main/res/drawable/skNIwe8OnDc.jpg b/app/src/main/res/drawable/skNIwe8OnDc.jpg
new file mode 100644
index 0000000..85de550
Binary files /dev/null and b/app/src/main/res/drawable/skNIwe8OnDc.jpg differ
diff --git a/app/src/main/res/drawable/Лекция 6.pdf b/app/src/main/res/drawable/Лекция 6.pdf
new file mode 100644
index 0000000..e67c07a
Binary files /dev/null and b/app/src/main/res/drawable/Лекция 6.pdf differ