Prechádzať zdrojové kódy

доверстал все страницы , выглядит как шаблон работает нужно изменить только шрифты и фото, но а так структура всех страниц готова

AlexMin 1 týždeň pred
rodič
commit
33315c5037

+ 109 - 4
app/src/main/java/com/example/iplace/main/viewModel/dataView/MenuV.kt

@@ -1,5 +1,8 @@
 package com.example.iplace.main.viewModel.dataView
 
+import androidx.compose.animation.AnimatedVisibility
+import androidx.compose.animation.slideInHorizontally
+import androidx.compose.animation.slideOutHorizontally
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
@@ -41,6 +44,7 @@ import com.example.iplace.ui.theme.beige_white
 import com.example.iplace.ui.theme.brown_contrast
 
 import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.items
@@ -71,20 +75,112 @@ fun MenuV(navController: NavHostController) {
     val basicNunitosans = FontFamily(
         Font(resId = R.font.basic_nunitosans)
     )
+    // Шторка (Drawer)
+    AnimatedVisibility(
+        visible = showDrawer,
+        enter = slideInHorizontally { it },
+        exit = slideOutHorizontally { -it }
+    ) {
+        Box(
+            modifier = Modifier
+                .fillMaxSize()
+                .background(Color.White.copy(alpha = 0.8f)) // Полупрозрачный фон
+                .clickable { showDrawer = false } // Закрытие при клике вне шторки
+        ) {
+            Column(
+                modifier = Modifier
+                    .fillMaxSize()
+                    .background(Color.White)
+                    .padding(16.dp)
+            ) {
+//        IconButton(onClick = { showDrawer = false }) {
+//            Icon(Icons.Filled.Menu, contentDescription = "Закрыть")
+//        }
+                Button(
+                    onClick = { navController.navigate("profile") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Профиль",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+                Button(
+                    onClick = { navController.navigate("favouritesV") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Избранное",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+                Button(
+                    onClick = { navController.navigate("addPlace") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Добавить место",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+                Button(
+                    onClick = { navController.navigate("menuV") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Меню",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+                Button(
+                    onClick = {  },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Ещё",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+
+            }
+        }
+    }
+
+
     Scaffold(
         topBar = {
             TopAppBar(
                 title = {
+                    // Кнопка меню
                     Row(
                         modifier = Modifier.fillMaxWidth(),
                         horizontalArrangement = Arrangement.SpaceBetween,
                         verticalAlignment = Alignment.CenterVertically
                     ) {
-                        IconButton(onClick = { showDrawer = true }) {
+                        IconButton(onClick = { showDrawer  = true} ) {
                             Icon(Icons.Filled.Menu, contentDescription = "Меню")
                         }
-                        // Заглушка для поиска
-                        Text(text = "Поиск", modifier = Modifier.weight(1f))
+                        OutlinedTextField(
+                            value = "",
+                            onValueChange = {},
+                            label = { Text("Поиск") },
+                            modifier = Modifier
+                                .fillMaxWidth()
+                                .padding(horizontal = 16.dp)
+                                .weight(1f)
+                                .clip(RoundedCornerShape(20.dp))
+                        )// Заглушка для поиска
+//                        Text(text = "Поиск", modifier = Modifier.weight(1f))
                         IconButton(onClick = { navController.navigate("profile") }) {
                             Icon(Icons.Filled.Person, contentDescription = "Профиль")
                         }
@@ -118,6 +214,15 @@ fun MenuV(navController: NavHostController) {
                 // Выпадающий список (заглушка)
                 Spacer(modifier = Modifier.width(8.dp))
                 // ...
+                Button(
+                    onClick = { navController.navigate("addPlace") },
+                    modifier = Modifier
+                        .width(40.dp)
+                        .height(40.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(text = "добавить место")
+                }
 
             }
             Text(
@@ -137,6 +242,7 @@ fun MenuV(navController: NavHostController) {
                             .height(230.dp)
                             .padding(16.dp)
                             .background(Color.LightGray)
+                            .clickable{navController.navigate("placeV")}
                     ) {
                         Column(
                             modifier = Modifier
@@ -163,7 +269,6 @@ fun MenuV(navController: NavHostController) {
     }
 }
 
-
 @Composable
 fun DrawerContent(showDrawer: Boolean, navController: NavHostController) {
     val headlinesOswald = FontFamily( //выбор шрифта

+ 175 - 0
app/src/main/java/com/example/iplace/main/viewModel/dataView/PlaceV.kt

@@ -1,8 +1,183 @@
 package com.example.iplace.main.viewModel.dataView
 
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+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.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.filled.Settings
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.OutlinedTextField
+import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.unit.dp
 import androidx.navigation.NavHostController
+import com.example.iplace.R
+import com.example.iplace.main.viewModel.MainViewModel
+import com.example.iplace.ui.theme.brown_contrast
 
 @Composable
 fun PlaceV(navController: NavHostController) {
+    val viewModel = MainViewModel()
+
+    val headlinesOswald = FontFamily( //выбор шрифта
+        Font(resId = R.font.headlines_oswald)
+    )
+    val basicNunitosans = FontFamily(
+        Font(resId = R.font.basic_nunitosans)
+    )
+
+    Column(
+        modifier = Modifier
+            .fillMaxSize()
+            .background(Color.White)
+    ) {
+        Spacer(modifier = Modifier.height(20.dp))
+        // Верхний блок (2/5 размера экрана)
+        Box(
+            modifier = Modifier
+                .weight(2f)
+                .background(Color.LightGray)
+                .padding(16.dp)
+        ) {
+            // Кнопки назад и автора
+            Row(
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .align(Alignment.TopStart), // Выравнивание по левому верхнему углу
+                horizontalArrangement = Arrangement.Start, // Выравнивание по левому краю
+                verticalAlignment = Alignment.CenterVertically
+            ) {
+                IconButton(onClick = { navController.navigate("MenuV") }) {
+                    Icon(Icons.Filled.ArrowBack, contentDescription = "Назад")
+                }
+                Spacer(modifier = Modifier.width(220.dp))
+                Text(
+                    text = "Автор",
+                    fontWeight = FontWeight.Bold,
+                    modifier = Modifier.padding(start = 16.dp) // Отступ от кнопки "Назад"
+                )
+            }
+
+            // Блок с Название и Категория
+            Column(
+                modifier = Modifier
+                    .align(Alignment.BottomStart) // Выравнивание по левому нижнему углу
+                    .padding(16.dp) // Отступ от краев
+            ) {
+                Text(text = "Название")
+                Spacer(modifier = Modifier.height(8.dp)) // Отступ между текстами
+                Text(text = "Категория")
+            }
+            Button(
+                onClick = { /* Обработка нажатия на фильтр */ },
+                modifier = Modifier
+                    .align(Alignment.BottomEnd) // Выравниваем Button по правому верхнему углу
+                    .width(40.dp)
+                    .height(40.dp),
+                colors = ButtonDefaults.buttonColors(brown_contrast)
+            ) {
+                Text(text = "☆")
+            }
+        }
+
+        // Остальной контент (3/5 размера экрана)
+        Box(
+            modifier = Modifier
+                .weight(3f)
+                .fillMaxSize()
+                .background(Color.White)
+        ) {
+            Column(
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .padding(top = 10.dp),
+                horizontalAlignment = Alignment.CenterHorizontally
+            ) {
+
+                Spacer(modifier = Modifier.height(10.dp))
+
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Описание") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(10.dp))
+
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Адрес") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(10.dp))
+
+                Row(
+                    modifier = Modifier.fillMaxWidth(),
+                    horizontalArrangement = Arrangement.SpaceBetween,
+                    verticalAlignment = Alignment.CenterVertically
+                ) {
+                    OutlinedTextField(
+                        value = "",
+                        onValueChange = {},
+                        label = { Text("Фото") },
+                        modifier = Modifier
+                            .height(120.dp)
+                            .width(200.dp)
+                            .padding(horizontal = 16.dp)
+                            .clip(RoundedCornerShape(20.dp))
+                    )
+                    OutlinedTextField(
+                        value = "",
+                        onValueChange = {},
+                        label = { Text("Фото") },
+                        modifier = Modifier
+                            .height(120.dp)
+                            .width(200.dp)
+                            .padding(horizontal = 16.dp)
+                            .clip(RoundedCornerShape(20.dp))
+                    )
+                }
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Карта") },
+                    modifier = Modifier
+                        .height(120.dp)
+                        .width(400.dp)
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+            }
+        }
+    }
 }

+ 1 - 0
app/src/main/java/com/example/iplace/main/viewModel/dataView/Profile.kt

@@ -62,6 +62,7 @@ fun Profile(navController: NavHostController) {
             .fillMaxSize()
             .background(Color.White)
     ) {
+        Spacer(modifier = Modifier.height(20.dp))
         // Верхний блок (2/5 размера экрана)
         Box(
             modifier = Modifier

+ 242 - 0
app/src/main/java/com/example/iplace/main/viewModel/mainView/AddPlace.kt

@@ -1,8 +1,250 @@
 package com.example.iplace.main.viewModel.mainView
 
+import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+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.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.filled.KeyboardArrowDown
+import androidx.compose.material.icons.filled.KeyboardArrowUp
+import androidx.compose.material.icons.filled.Settings
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.OutlinedTextField
+import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
 import androidx.navigation.NavHostController
+import com.example.iplace.R
+import com.example.iplace.main.viewModel.MainViewModel
+import com.example.iplace.ui.theme.brown_contrast
 
 @Composable
 fun AddPlace(navController: NavHostController) {
+    val viewModel = MainViewModel()
+    val headlinesOswald = FontFamily( //выбор шрифта
+        Font(resId = R.font.headlines_oswald)
+    )
+    val basicNunitosans = FontFamily(
+        Font(resId = R.font.basic_nunitosans)
+    )
+    var expanded by remember { mutableStateOf(false) }
+    Column(
+        modifier = Modifier
+            .fillMaxSize()
+            .background(Color.White)
+    ) {
+        Spacer(modifier = Modifier.height(20.dp))
+        // Верхний блок (2/5 размера экрана)
+        Box(
+            modifier = Modifier
+                .weight(1f)
+                .background(Color.LightGray)
+                .padding(16.dp),
+            contentAlignment = Alignment.TopCenter
+        ) {
+
+            // Кнопки назад и настроек
+            Row(
+                modifier = Modifier.fillMaxWidth(),
+                horizontalArrangement = Arrangement.SpaceBetween,
+                verticalAlignment = Alignment.CenterVertically
+            ) {
+                IconButton(onClick = { navController.navigate("MenuV") }) {
+                    Icon(Icons.Filled.ArrowBack, contentDescription = "Назад")
+                }
+            }
+            Spacer(modifier = Modifier.height(60.dp))
+
+            // Заголовок "Профиль"
+            Text(
+                text = "Добавление места",
+                fontWeight = FontWeight.Bold,
+                modifier = Modifier
+                    .padding(top = 32.dp)
+                    .fillMaxWidth(),
+                textAlign = TextAlign.Center
+            )
+
+            // Блок с фотографией, именем и гендером
+            Column(
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .padding(top = 64.dp),
+                horizontalAlignment = Alignment.CenterHorizontally
+            ) {
+                Text(text = "фото")
+                Button(onClick = {  }) {
+                    Text("добавить фото")
+                }
+            }
+        }
+
+        // Остальной контент (3/5 размера экрана)
+        Box(
+            modifier = Modifier
+                .weight(3f)
+                .fillMaxSize()
+                .background(Color.White)
+        ) {
+            Column(
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .padding(top = 64.dp),
+                horizontalAlignment = Alignment.CenterHorizontally
+            ) {
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Название") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(10.dp))
+                Box(
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                        .background(Color.White) // Фон выпадающего списка
+                        .clickable { expanded = !expanded } // Клик для раскрытия/сворачивания
+                ) {
+                    // Выбранный элемент
+                    Text(
+                        text = "",
+                        modifier = Modifier.padding(16.dp),
+                        color = Color.Gray // Цвет текста выбранного элемента
+                    )
+
+                    // Иконка раскрытия/сворачивания
+                    Icon(
+                        imageVector = if (expanded) Icons.Filled.KeyboardArrowUp else Icons.Filled.KeyboardArrowDown,
+                        contentDescription = null,
+                        modifier = Modifier
+                            .align(Alignment.BottomEnd)
+                            .padding(16.dp)
+                    )
+                }
+
+                Spacer(modifier = Modifier.height(10.dp))
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Адресс") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(10.dp))
+
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Описание") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(10.dp))
+                Button(onClick = {  }) {
+                    Text("Выбрать еще фото")
+                }
+                Spacer(modifier = Modifier.height(10.dp))
+                Row(
+                    modifier = Modifier.fillMaxWidth(),
+                    horizontalArrangement = Arrangement.SpaceBetween,
+                    verticalAlignment = Alignment.CenterVertically
+                ) {
+                    OutlinedTextField(
+                        value = "",
+                        onValueChange = {},
+                        label = { Text("фото") },
+                        modifier = Modifier
+                            .height(100.dp)
+                            .width(100.dp)
+                            .padding(horizontal = 16.dp)
+                            .clip(RoundedCornerShape(20.dp))
+                    )
+                    OutlinedTextField(
+                        value = "",
+                        onValueChange = {},
+                        label = { Text("фото") },
+                        modifier = Modifier
+                            .height(100.dp)
+                            .width(100.dp)
+                            .padding(horizontal = 16.dp)
+                            .clip(RoundedCornerShape(20.dp))
+                    )
+                    OutlinedTextField(
+                        value = "",
+                        onValueChange = {},
+                        label = { Text("фото") },
+                        modifier = Modifier
+                            .height(100.dp)
+                            .width(100.dp)
+                            .padding(horizontal = 16.dp)
+                            .clip(RoundedCornerShape(20.dp))
+                    )
+                }
+
+                Spacer(modifier = Modifier.height(15.dp))
+
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Быть автором?") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .height(45.dp)
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
+                Spacer(modifier = Modifier.height(15.dp))
+                Button(
+                    onClick = { navController.navigate("placeV") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Сохранить",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
+                    )
+                }
+
+
+            }
+        }
+    }
 }

+ 2 - 2
app/src/main/java/com/example/iplace/main/viewModel/mainView/PasswordVerification.kt

@@ -113,12 +113,12 @@ fun PasswordVerification(navController: NavHostController) {
 
 
                 Button(
-                    onClick = { navController.navigate("passwordRecovery") },
+                    onClick = { navController.navigate("changingPassword") },
                     modifier = Modifier.width(290.dp).height(50.dp),
                     colors = ButtonDefaults.buttonColors(brown_contrast)
                 ) {
                     Text(
-                        text = "Сохранить",
+                        text = "Далее",
                         fontSize = 24.sp,
                         fontFamily = basicNunitosans
                     )

+ 41 - 29
app/src/main/java/com/example/iplace/main/viewModel/mainView/UserSettings.kt

@@ -17,6 +17,8 @@ import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.material.icons.filled.Settings
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
 import androidx.compose.material3.Icon
 import androidx.compose.material3.IconButton
 import androidx.compose.material3.OutlinedTextField
@@ -31,9 +33,11 @@ import androidx.compose.ui.text.font.FontFamily
 import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
 import androidx.navigation.NavHostController
 import com.example.iplace.R
 import com.example.iplace.main.viewModel.MainViewModel
+import com.example.iplace.ui.theme.brown_contrast
 
 @Composable
 fun UserSettings(navController: NavHostController) {
@@ -50,6 +54,7 @@ fun UserSettings(navController: NavHostController) {
             .fillMaxSize()
             .background(Color.White)
     ) {
+        Spacer(modifier = Modifier.height(20.dp))
         // Верхний блок (2/5 размера экрана)
         Box(
             modifier = Modifier
@@ -68,9 +73,6 @@ fun UserSettings(navController: NavHostController) {
                 IconButton(onClick = { navController.navigate("MenuV") }) {
                     Icon(Icons.Filled.ArrowBack, contentDescription = "Назад")
                 }
-                IconButton(onClick = { navController.navigate("userSettings") }) {
-                    Icon(Icons.Filled.Settings, contentDescription = "Настройки")
-                }
             }
             Spacer(modifier = Modifier.height(60.dp))
 
@@ -110,6 +112,9 @@ fun UserSettings(navController: NavHostController) {
                     // Символ гендера (заглушка)
                     Text(text = "♂")
                 }
+                Button(onClick = {  }) {
+                    Text("Выбрать фото")
+                }
             }
         }
 
@@ -126,13 +131,21 @@ fun UserSettings(navController: NavHostController) {
                     .padding(top = 64.dp),
                 horizontalAlignment = Alignment.CenterHorizontally
             ) {
-
+                OutlinedTextField(
+                    value = "",
+                    onValueChange = {},
+                    label = { Text("Изменить имя") },
+                    modifier = Modifier
+                        .fillMaxWidth()
+                        .padding(horizontal = 16.dp)
+                        .clip(RoundedCornerShape(20.dp))
+                )
                 Spacer(modifier = Modifier.height(10.dp))
 
                 OutlinedTextField(
                     value = "",
                     onValueChange = {},
-                    label = { Text("Адрес") },
+                    label = { Text("Изменить адрес") },
                     modifier = Modifier
                         .fillMaxWidth()
                         .padding(horizontal = 16.dp)
@@ -143,7 +156,7 @@ fun UserSettings(navController: NavHostController) {
                 OutlinedTextField(
                     value = "",
                     onValueChange = {},
-                    label = { Text("Телефон") },
+                    label = { Text("Изменить телефон") },
                     modifier = Modifier
                         .fillMaxWidth()
                         .padding(horizontal = 16.dp)
@@ -154,39 +167,38 @@ fun UserSettings(navController: NavHostController) {
                 OutlinedTextField(
                     value = "",
                     onValueChange = {},
-                    label = { Text("О себе") },
+                    label = { Text("Изменить информацию о себе") },
                     modifier = Modifier
                         .fillMaxWidth()
                         .height(45.dp)
                         .padding(horizontal = 16.dp)
                         .clip(RoundedCornerShape(20.dp))
                 )
-                Row(
-                    modifier = Modifier.fillMaxWidth(),
-                    horizontalArrangement = Arrangement.SpaceBetween,
-                    verticalAlignment = Alignment.CenterVertically
+                Spacer(modifier = Modifier.height(15.dp))
+                Button(
+                    onClick = { navController.navigate("profile") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
                 ) {
-                    OutlinedTextField(
-                        value = "",
-                        onValueChange = {},
-                        label = { Text("места, посещенные пользователем") },
-                        modifier = Modifier
-                            .height(120.dp)
-                            .width(200.dp)
-                            .padding(horizontal = 16.dp)
-                            .clip(RoundedCornerShape(20.dp))
+                    Text(
+                        text = "Сохранить",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
                     )
-                    OutlinedTextField(
-                        value = "",
-                        onValueChange = {},
-                        label = { Text("места, отмеченные пользователем") },
-                        modifier = Modifier
-                            .height(120.dp)
-                            .width(200.dp)
-                            .padding(horizontal = 16.dp)
-                            .clip(RoundedCornerShape(20.dp))
+                }
+                Spacer(modifier = Modifier.height(10.dp))
+                Button(
+                    onClick = { navController.navigate("passwordVerification") },
+                    modifier = Modifier.width(290.dp).height(50.dp),
+                    colors = ButtonDefaults.buttonColors(brown_contrast)
+                ) {
+                    Text(
+                        text = "Изменить пароль",
+                        fontSize = 24.sp,
+                        fontFamily = basicNunitosans
                     )
                 }
+
             }
         }
     }