Browse Source

feat: update signUp

unknown 6 giờ trước cách đây
mục cha
commit
c16f351918

+ 329 - 0
mobile_app/Wabi/.idea/other.xml

@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="direct_access_persist.xml">
+    <option name="deviceSelectionList">
+      <list>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="27" />
+          <option name="brand" value="DOCOMO" />
+          <option name="codename" value="F01L" />
+          <option name="id" value="F01L" />
+          <option name="manufacturer" value="FUJITSU" />
+          <option name="name" value="F-01L" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1280" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="28" />
+          <option name="brand" value="DOCOMO" />
+          <option name="codename" value="SH-01L" />
+          <option name="id" value="SH-01L" />
+          <option name="manufacturer" value="SHARP" />
+          <option name="name" value="AQUOS sense2 SH-01L" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="Lenovo" />
+          <option name="codename" value="TB370FU" />
+          <option name="id" value="TB370FU" />
+          <option name="manufacturer" value="Lenovo" />
+          <option name="name" value="Tab P12" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1840" />
+          <option name="screenY" value="2944" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a51" />
+          <option name="id" value="a51" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A51" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="akita" />
+          <option name="id" value="akita" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b0q" />
+          <option name="id" value="b0q" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22 Ultra" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="32" />
+          <option name="brand" value="google" />
+          <option name="codename" value="bluejay" />
+          <option name="id" value="bluejay" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 6a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="caiman" />
+          <option name="id" value="caiman" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="960" />
+          <option name="screenY" value="2142" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="comet" />
+          <option name="id" value="comet" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="29" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="crownqlteue" />
+          <option name="id" value="crownqlteue" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note9" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2220" />
+          <option name="screenY" value="1080" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm3q" />
+          <option name="id" value="dm3q" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23 Ultra" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e1q" />
+          <option name="id" value="e1q" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix" />
+          <option name="id" value="felix" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix" />
+          <option name="id" value="felix" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix_camera" />
+          <option name="id" value="felix_camera" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold (Camera-enabled)" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts8uwifi" />
+          <option name="id" value="gts8uwifi" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S8 Ultra" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1848" />
+          <option name="screenY" value="2960" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="husky" />
+          <option name="id" value="husky" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8 Pro" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="java" />
+          <option name="id" value="java" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="G20" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="komodo" />
+          <option name="id" value="komodo" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro XL" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="lynx" />
+          <option name="id" value="lynx" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 7a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="google" />
+          <option name="codename" value="oriole" />
+          <option name="id" value="oriole" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="panther" />
+          <option name="id" value="panther" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 7" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q5q" />
+          <option name="id" value="q5q" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold5" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1812" />
+          <option name="screenY" value="2176" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q6q" />
+          <option name="id" value="q6q" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1856" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="google" />
+          <option name="codename" value="r11" />
+          <option name="id" value="r11" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Watch" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="384" />
+          <option name="screenY" value="384" />
+          <option name="type" value="WEAR_OS" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="google" />
+          <option name="codename" value="redfin" />
+          <option name="id" value="redfin" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 5" />
+          <option name="screenDensity" value="440" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="shiba" />
+          <option name="id" value="shiba" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tangorpro" />
+          <option name="id" value="tangorpro" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Tablet" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tokay" />
+          <option name="id" value="tokay" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+      </list>
+    </option>
+  </component>
+</project>

+ 2 - 0
mobile_app/Wabi/app/src/main/java/com/example/wabi/domain/supabase/SupabaseService.kt

@@ -3,6 +3,7 @@ package com.example.wabi.domain.supabase
 import com.example.wabi.models.responses.Response
 import com.example.wabi.models.screens.SignUpUser
 import com.example.wabi.models.supabase.Basket
+import com.example.wabi.models.supabase.User
 import io.github.jan.supabase.gotrue.user.UserInfo
 
 interface SupabaseService {
@@ -13,6 +14,7 @@ interface SupabaseService {
     suspend fun emailIsExists(userEmail: String): Boolean
     suspend fun uploadImageToStorage(where: String, name: String, image: ByteArray): Response
     suspend fun getCurrentUser(): UserInfo?
+    suspend fun getUserData(userId: String): User
 
     suspend fun resetPasswordForEmail(userEmail: String): Response
     suspend fun getBasket(): List<Basket>

+ 18 - 0
mobile_app/Wabi/app/src/main/java/com/example/wabi/domain/supabase/SupabaseServiceImpl.kt

@@ -107,6 +107,24 @@ class SupabaseServiceImpl @Inject constructor(private val supabase: SupabaseClie
         return supabase.auth.currentUserOrNull()
     }
 
+    override suspend fun getUserData(userId: String): User {
+        return try {
+            val user = supabase.from("user").select() {
+                filter {
+                    eq("id", userId)
+                }
+                limit(count = 1)
+            }.decodeSingle<User>()
+
+            Log.d("get user", "user was got: ${user.toString()}")
+
+            user
+        } catch (ex: Exception) {
+            Log.d("get user", ex.message.toString())
+            User()
+        }
+    }
+
     override suspend fun resetPasswordForEmail(userEmail: String): Response {
         return try {
             val response = supabase.auth.resetPasswordForEmail(email = userEmail)

+ 6 - 11
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/logIn/items/signUpItems/ImageProfileSignUp.kt → mobile_app/Wabi/app/src/main/java/com/example/wabi/view/components/images/CoilImageInput.kt

@@ -1,39 +1,34 @@
-package com.example.wabi.view.screeens.logIn.items.signUpItems
+package com.example.wabi.view.components.images
 
 import android.net.Uri
 import androidx.compose.foundation.Image
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.clip
 import androidx.compose.ui.layout.ContentScale
-import androidx.compose.ui.unit.dp
 import coil.compose.AsyncImagePainter.State
 import coil.compose.rememberAsyncImagePainter
 import coil.request.ImageRequest
 import coil.size.Size.Companion.ORIGINAL
 import com.example.wabi.domain.repository.UserShareDate
-import com.example.wabi.view.components.images.StandartProfileImage
 
 @Composable
-fun ImageProfileSignUp(image: Uri, modifier: Modifier = Modifier) {
+fun CoilImageInput(
+    image: Uri, modifier: Modifier = Modifier, standartImage: Unit
+) {
     val painter = rememberAsyncImagePainter(
         model = ImageRequest.Builder(UserShareDate.context!!).data(image).size(ORIGINAL).build(),
         contentScale = ContentScale.Crop
     ).state
 
     if (painter is State.Error) {
-        StandartProfileImage()
+        standartImage
     } else {
         if (painter is State.Success) {
             Image(
                 painter = painter.painter,
                 contentDescription = "Image from URI",
                 contentScale = ContentScale.Crop,
-                modifier = Modifier
-                    .clip(shape = RoundedCornerShape(30.dp))
-                    .fillMaxSize(0.4f)
+                modifier = modifier
             )
         }
     }

+ 2 - 4
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/components/images/StandartProfileImage.kt

@@ -19,11 +19,9 @@ import com.example.wabi.ui.theme.WabiTheme
 @Composable
 fun StandartProfileImage(modifier: Modifier = Modifier) {
     Box(
-        modifier = modifier
-            .background(
+        modifier = modifier.background(
                 WabiTheme.colors.singleColor, shape = RoundedCornerShape(30.dp)
-            )
-            .fillMaxSize(0.4f), contentAlignment = Alignment.Center
+            ), contentAlignment = Alignment.Center
     ) {
         Image(
             imageVector = ImageVector.vectorResource(R.drawable.man_vector),

+ 1 - 1
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/logIn/items/SignIn.kt

@@ -78,7 +78,7 @@ fun SignIn(
             },
             enabled = data.password != "" && vm.validateEmail(data.email),
             textContent = "Войти",
-            modifier = Modifier.padding(30.dp, 0.dp)
+            modifier = Modifier.fillMaxWidth(0.82f)
         )
         Spacer(Modifier.height(5.dp))
         ButtonLink(

+ 18 - 5
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/logIn/items/signUpItems/CreatePofile.kt

@@ -6,7 +6,8 @@ import androidx.activity.result.PickVisualMediaRequest
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.size
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.MutableState
@@ -14,9 +15,11 @@ import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
 import androidx.compose.ui.unit.dp
 import com.example.wabi.ui.theme.WabiTheme
 import com.example.wabi.view.components.buttons.MainButton
+import com.example.wabi.view.components.images.CoilImageInput
 import com.example.wabi.view.components.images.StandartProfileImage
 import com.example.wabi.view.components.textFields.MainTextField
 import com.example.wabi.view.components.texts.HeaderText
@@ -55,16 +58,26 @@ fun CreatePofile(
         )
     ) {
         if (image.value == Uri.EMPTY) {
-            StandartProfileImage()
+            StandartProfileImage(
+                Modifier
+                    .clip(shape = RoundedCornerShape(30.dp))
+                    .size(200.dp)
+            )
         } else {
-            ImageProfileSignUp(image.value)
+            CoilImageInput(
+                image.value,
+                Modifier
+                    .clip(shape = RoundedCornerShape(30.dp))
+                    .size(200.dp),
+                standartImage = StandartProfileImage()
+            )
         }
     }
 
     MainButton(
         onClick = {
             launcher.launch(PickVisualMediaRequest(mediaType = ActivityResultContracts.PickVisualMedia.ImageOnly))
-        }, textContent = "Cвоё изображение", modifier = Modifier.padding(30.dp)
+        }, textContent = "Cвоё изображение", modifier = Modifier.fillMaxWidth(0.82f)
     )
 
     MainTextField(
@@ -78,7 +91,7 @@ fun CreatePofile(
     MainButton(
         onClick = {
             vm.signUp()
-        }, textContent = station.buttonName, modifier = Modifier.padding(30.dp)
+        }, textContent = station.buttonName, modifier = Modifier.fillMaxWidth(0.82f)
     )
 
 }

+ 1 - 1
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/logIn/items/signUpItems/EmailAndPassword.kt

@@ -77,6 +77,6 @@ fun EmailAndPassword(
             vm.switchSignUpStation(printError = errorState, stationChanger = stationChanger)
         }, enabled = data.passwordOne != "" && data.passwordTwo != "" && vm.validateEmail(
             data.email
-        ), textContent = station.buttonName, modifier = Modifier.padding(30.dp, 0.dp)
+        ), textContent = station.buttonName, modifier = Modifier.fillMaxWidth(0.82f)
     )
 }

+ 50 - 1
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/profile/Profile.kt

@@ -1,11 +1,60 @@
 package com.example.wabi.view.screeens.profile
 
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
 import androidx.hilt.navigation.compose.hiltViewModel
 import androidx.navigation.NavHostController
+import com.example.wabi.ui.theme.WabiTheme
 import com.example.wabi.view.components.buttons.MainButton
 
 @Composable
 fun Profile(navHostController: NavHostController, vm: ProfileViewModel = hiltViewModel()) {
-    MainButton(onClick = { vm.signOutCurrentUser(navHostController) }, textContent = "Выход")
+
+    Column(
+        modifier = Modifier.fillMaxSize(),
+        verticalArrangement = Arrangement.SpaceBetween,
+        horizontalAlignment = Alignment.CenterHorizontally
+    ) {
+
+
+
+        Column(
+            modifier = Modifier
+                .fillMaxHeight(0.4f)
+                .fillMaxWidth(),
+            verticalArrangement = Arrangement.SpaceBetween,
+            horizontalAlignment = Alignment.CenterHorizontally
+        ) {
+            Row(
+                modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center
+            ) {
+                MainButton(
+                    onClick = { vm.signOutCurrentUser(navHostController) },
+                    textContent = "Выход",
+                    color = WabiTheme.colors.error,
+                    colorContent = WabiTheme.colors.onBoardLight,
+                    modifier = Modifier.fillMaxWidth(0.8f)
+                )
+            }
+
+            Row(
+                modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center
+            ) {
+                MainButton(
+                    onClick = { vm.signOutCurrentUser(navHostController) },
+                    textContent = "Выход",
+                    color = WabiTheme.colors.error,
+                    colorContent = WabiTheme.colors.onBoardLight,
+                    modifier = Modifier.fillMaxWidth(0.8f)
+                )
+            }
+        }
+    }
 }

+ 2 - 0
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/profile/ProfileViewModel.kt

@@ -16,6 +16,8 @@ import javax.inject.Inject
 class ProfileViewModel @Inject constructor(
     private val supabase: SupabaseServiceImpl, private val nav: NavigationProvider
 ) : ViewModel() {
+
+
     fun signOutCurrentUser(navController: NavHostController) {
         viewModelScope.launch {
             supabase.signOut()

+ 9 - 0
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/profile/items/ChangeTheme.kt

@@ -0,0 +1,9 @@
+package com.example.wabi.view.screeens.profile.items
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+
+@Composable
+fun ChangeTheme(modifier: Modifier = Modifier) {
+
+}

+ 17 - 0
mobile_app/Wabi/app/src/main/java/com/example/wabi/view/screeens/profile/items/UpdateProfile.kt

@@ -0,0 +1,17 @@
+package com.example.wabi.view.screeens.profile.items
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+
+@Composable
+fun UpdateProfile(modifier: Modifier = Modifier) {
+//    val singUpState = remember { mutableIntStateOf(SignUpStateDestination.emailAndPassword) }
+//
+//    Row(
+//        modifier = Modifier.fillMaxWidth()
+//    ) {
+//        ButtonBack(onClick = {
+//            screenState.value = LogInStateDestinations.signIn
+//        }, modifier = Modifier.padding(10.dp))
+//    }
+}