From 0471a19a558be6563db9e357052ecb82a652b5a4 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Wed, 12 Jun 2024 14:46:38 +0300
Subject: [PATCH] Setup navigation

---
 .../InviteToFollowMeDialogFragment.kt         |  4 +--
 .../core/feature/user/UserDialogFragment.kt   |  7 ++++
 .../main/res/navigation/user_nav_graph.xml    | 35 +++++++++++++++++++
 3 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt
index d68d3f469..0fa90df4f 100644
--- a/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt
@@ -12,8 +12,6 @@ import org.futo.circles.core.base.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.base.fragment.HasLoadingState
 import org.futo.circles.core.databinding.DialogFragmentInviteToFollowMeBinding
 import org.futo.circles.core.extensions.navigateSafe
-import org.futo.circles.core.extensions.observeResponse
-import org.futo.circles.core.extensions.onBackPressed
 import org.futo.circles.core.extensions.setIsVisible
 import org.futo.circles.core.feature.room.select.SelectRoomsFragment
 import org.futo.circles.core.feature.room.select.interfaces.RoomsListener
@@ -61,7 +59,7 @@ class InviteToFollowMeDialogFragment :
     }
 
     private fun navigateToCreateCircle() {
-
+        findNavController().navigateSafe(InviteToFollowMeDialogFragmentDirections.toCreateRoomNavGraph())
     }
 
     override fun onRoomsSelected(rooms: List<SelectableRoomListItem>) {
diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
index b2b996829..2ff312392 100644
--- a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
@@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.view.menu.MenuBuilder
 import androidx.fragment.app.viewModels
 import androidx.navigation.fragment.findNavController
+import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.core.R
@@ -33,6 +34,7 @@ import org.matrix.android.sdk.api.session.user.model.User
 class UserDialogFragment :
     BaseFullscreenDialogFragment<DialogFragmentUserBinding>(DialogFragmentUserBinding::inflate) {
 
+    private val args: UserDialogFragmentArgs by navArgs()
     private val viewModel by viewModels<UserViewModel>()
 
     private val usersCirclesAdapter by lazy {
@@ -63,6 +65,11 @@ class UserDialogFragment :
             addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
             adapter = usersCirclesAdapter
         }
+        binding.btnInviteToFollowMe.setOnClickListener {
+            findNavController().navigateSafe(
+                UserDialogFragmentDirections.toInviteToFollowMeDialogFragment(args.userId)
+            )
+        }
     }
 
     @SuppressLint("RestrictedApi")
diff --git a/core/src/main/res/navigation/user_nav_graph.xml b/core/src/main/res/navigation/user_nav_graph.xml
index e30f9c127..37ff49924 100644
--- a/core/src/main/res/navigation/user_nav_graph.xml
+++ b/core/src/main/res/navigation/user_nav_graph.xml
@@ -25,7 +25,42 @@
                 app:nullable="false" />
 
         </action>
+        <action
+            android:id="@+id/to_inviteToFollowMeDialogFragment"
+            app:destination="@id/inviteToFollowMeDialogFragment">
+
+            <argument
+                android:name="userId"
+                app:argType="string"
+                app:nullable="false" />
+
+        </action>
+
+    </dialog>
+    <dialog
+        android:id="@+id/inviteToFollowMeDialogFragment"
+        android:name="org.futo.circles.core.feature.invite_to_follow.InviteToFollowMeDialogFragment"
+        tools:layout="@layout/dialog_fragment_invite_to_follow_me">
+
+        <argument
+            android:name="userId"
+            app:argType="string"
+            app:nullable="false" />
+
+        <action
+            android:id="@+id/to_create_room_nav_graph"
+            app:destination="@id/create_room_nav_graph">
+
+            <argument
+                android:name="type"
+                android:defaultValue="Circle"
+                app:argType="org.futo.circles.core.model.CircleRoomTypeArg"
+                app:nullable="false" />
+
+        </action>
 
     </dialog>
 
+    <include app:graph="@navigation/create_room_nav_graph" />
+
 </navigation>
\ No newline at end of file
-- 
GitLab