From 95795de13933ff458cc287b099c62cd57c792ee4 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Thu, 10 Mar 2022 14:48:59 +0200
Subject: [PATCH] Add sign up button action

---
 .../futo/circles/feature/log_in/LogInFragment.kt | 16 ++++++++++++++--
 app/src/main/res/layout/log_in_fragment.xml      |  3 +--
 .../main/res/navigation/nav_graph_start_host.xml |  2 +-
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/com/futo/circles/feature/log_in/LogInFragment.kt b/app/src/main/java/com/futo/circles/feature/log_in/LogInFragment.kt
index b210dff7f..752cdad11 100644
--- a/app/src/main/java/com/futo/circles/feature/log_in/LogInFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/log_in/LogInFragment.kt
@@ -31,11 +31,20 @@ class LogInFragment : Fragment(R.layout.log_in_fragment) {
             success = { navigateToBottomMenuFragment() },
             error = { showError(it) }
         )
+        viewModel.signUpEventResultLiveData.observeResponse(
+            this,
+            onRequestInvoked = { setLoadingState(false) },
+            success = { navigateToSignUp() },
+            error = { showError(it) }
+        )
     }
 
     private fun setOnClickActions() {
         with(binding) {
-            btnSignUp.setOnClickListener { navigateToSignUp() }
+            btnSignUp.setOnClickWithLoading {
+                setLoadingState(true)
+                viewModel.startSignUp()
+            }
 
             btnLogin.setOnClickWithLoading {
                 setLoadingState(true)
@@ -49,7 +58,10 @@ class LogInFragment : Fragment(R.layout.log_in_fragment) {
 
     private fun setLoadingState(isLoading: Boolean) {
         setEnabledViews(!isLoading)
-        binding.btnLogin.setIsLoading(isLoading)
+        if (!isLoading) {
+            binding.btnLogin.setIsLoading(false)
+            binding.btnSignUp.setIsLoading(false)
+        }
     }
 
     private fun navigateToSignUp() {
diff --git a/app/src/main/res/layout/log_in_fragment.xml b/app/src/main/res/layout/log_in_fragment.xml
index b25c9925a..8fad7241e 100644
--- a/app/src/main/res/layout/log_in_fragment.xml
+++ b/app/src/main/res/layout/log_in_fragment.xml
@@ -145,9 +145,8 @@
         app:layout_constraintEnd_toEndOf="@id/guidelineEnd"
         app:layout_constraintStart_toStartOf="@id/guidelineStart" />
 
-    <com.google.android.material.button.MaterialButton
+    <com.futo.circles.view.LoadingButton
         android:id="@+id/btnSignUp"
-        style="@style/AccentButtonStyle"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:text="@string/sign_up"
diff --git a/app/src/main/res/navigation/nav_graph_start_host.xml b/app/src/main/res/navigation/nav_graph_start_host.xml
index 2f58d0fae..dc820bcdd 100644
--- a/app/src/main/res/navigation/nav_graph_start_host.xml
+++ b/app/src/main/res/navigation/nav_graph_start_host.xml
@@ -23,7 +23,7 @@
     <fragment
         android:id="@+id/signUpFragment"
         android:name="com.futo.circles.feature.sign_up.SignUpFragment"
-        android:label="Log In"
+        android:label="Sign up"
         tools:layout="@layout/sign_up_fragment">
         <action
             android:id="@+id/action_signUpFragment_to_bottomNavigationFragment"
-- 
GitLab