From 7163e46cb390974eee4920fe49b1bba71e49f553 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Tue, 25 Jul 2023 16:46:47 +0300 Subject: [PATCH] Create new navigator --- .../feature/timeline/TimelineNavigator.kt | 35 ++------------ .../options/TimelineOptionsNavigator.kt | 46 +++++++++++++++++++ 2 files changed, 50 insertions(+), 31 deletions(-) create mode 100644 app/src/main/java/org/futo/circles/feature/timeline/options/TimelineOptionsNavigator.kt diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt index 28f9db111..7705744fc 100644 --- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt +++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineNavigator.kt @@ -16,46 +16,24 @@ class TimelineNavigator(private val fragment: TimelineDialogFragment) { ) } - fun navigateToCreatePoll(roomId: String, eventId: String? = null) { + fun navigateToTimelineOptions(roomId: String, type: CircleRoomTypeArg) { fragment.findNavController().navigateSafe( - TimelineDialogFragmentDirections.toCreatePoll(roomId, eventId) + TimelineDialogFragmentDirections.toTimelineOptions(roomId, type) ) } - fun navigateToInviteMembers(timelineId: String) { - fragment.findNavController().navigateSafe( - TimelineDialogFragmentDirections.toInviteMembersDialogFragment(timelineId) - ) - } - - fun navigateToUpdateRoom(roomId: String, type: CircleRoomTypeArg) { - val destination = if (type == CircleRoomTypeArg.Circle) - TimelineDialogFragmentDirections.toUpdateCircleDialogFragment(roomId) - else TimelineDialogFragmentDirections.toUpdateGroupDialogFragment(roomId) - fragment.findNavController().navigateSafe(destination) - } - - fun navigateToManageMembers(timelineId: String, type: CircleRoomTypeArg) { + fun navigateToCreatePoll(roomId: String, eventId: String? = null) { fragment.findNavController().navigateSafe( - TimelineDialogFragmentDirections.toManageMembersDialogFragment(timelineId, type) + TimelineDialogFragmentDirections.toCreatePoll(roomId, eventId) ) } - fun navigateToFollowing(roomId: String) { - fragment.findNavController().navigateSafe( - TimelineDialogFragmentDirections.toFollowingDialogFragment(roomId) - ) - } fun navigateToInfo(roomId: String, eventId: String) { fragment.findNavController() .navigateSafe(TimelineDialogFragmentDirections.toPostInfo(roomId, eventId)) } - fun navigateToStateEvents(roomId: String) { - fragment.findNavController() - .navigateSafe(TimelineDialogFragmentDirections.toStateEvents(roomId)) - } fun navigateToSaveToGallery(roomId: String, eventId: String) { fragment.findNavController().navigateSafe( @@ -92,9 +70,4 @@ class TimelineNavigator(private val fragment: TimelineDialogFragment) { TimelineDialogFragmentDirections.toThreadTimeline(roomId, threadEventId) ) } - - fun navigateToShareRoom(roomId: String) { - fragment.findNavController() - .navigateSafe(TimelineDialogFragmentDirections.toShareRoom(roomId, false)) - } } \ No newline at end of file diff --git a/app/src/main/java/org/futo/circles/feature/timeline/options/TimelineOptionsNavigator.kt b/app/src/main/java/org/futo/circles/feature/timeline/options/TimelineOptionsNavigator.kt new file mode 100644 index 000000000..fcdd6c65b --- /dev/null +++ b/app/src/main/java/org/futo/circles/feature/timeline/options/TimelineOptionsNavigator.kt @@ -0,0 +1,46 @@ +package org.futo.circles.feature.timeline.options + +import androidx.navigation.fragment.findNavController +import org.futo.circles.core.extensions.navigateSafe +import org.futo.circles.core.model.CircleRoomTypeArg + +class TimelineOptionsNavigator(private val fragment: TimelineOptionsDialogFragment) { + + + fun navigateToInviteMembers(timelineId: String) { + fragment.findNavController().navigateSafe( + TimelineOptionsDialogFragmentDirections.toInviteMembersDialogFragment(timelineId) + ) + } + + fun navigateToUpdateRoom(roomId: String, type: CircleRoomTypeArg) { + val destination = if (type == CircleRoomTypeArg.Circle) + TimelineOptionsDialogFragmentDirections.toUpdateCircleDialogFragment(roomId) + else TimelineOptionsDialogFragmentDirections.toUpdateGroupDialogFragment(roomId) + fragment.findNavController().navigateSafe(destination) + } + + fun navigateToManageMembers(timelineId: String, type: CircleRoomTypeArg) { + fragment.findNavController().navigateSafe( + TimelineOptionsDialogFragmentDirections.toManageMembersDialogFragment(timelineId, type) + ) + } + + fun navigateToFollowing(roomId: String) { + fragment.findNavController().navigateSafe( + TimelineOptionsDialogFragmentDirections.toFollowingDialogFragment(roomId) + ) + } + + + fun navigateToStateEvents(roomId: String) { + fragment.findNavController() + .navigateSafe(TimelineOptionsDialogFragmentDirections.toStateEvents(roomId)) + } + + + fun navigateToShareRoom(roomId: String) { + fragment.findNavController() + .navigateSafe(TimelineOptionsDialogFragmentDirections.toShareRoom(roomId, false)) + } +} \ No newline at end of file -- GitLab