diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt index e3d867fb..59a0325e 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt @@ -281,6 +281,8 @@ fun LazyListScope.remotes( onDeleteBranch = { remotesViewModel.deleteRemoteBranch(remoteBranch) }, onPushRemoteBranch = { remotesViewModel.pushToRemoteBranch(remoteBranch) }, onPullRemoteBranch = { remotesViewModel.pullFromRemoteBranch(remoteBranch) }, + onRebaseRemoteBranch = { remotesViewModel.rebaseBranch(remoteBranch) }, + onMergeRemoteBranch = { remotesViewModel.mergeBranch(remoteBranch) }, ) } } @@ -504,6 +506,8 @@ private fun RemoteBranches( onDeleteBranch: () -> Unit, onPushRemoteBranch: () -> Unit, onPullRemoteBranch: () -> Unit, + onRebaseRemoteBranch: () -> Unit, + onMergeRemoteBranch: () -> Unit, ) { ContextMenu( items = { @@ -513,10 +517,10 @@ private fun RemoteBranches( isCurrentBranch = false, isLocal = false, onCheckoutBranch = onCheckoutBranch, - onMergeBranch = {}, + onMergeBranch = onMergeRemoteBranch, onDeleteBranch = {}, onDeleteRemoteBranch = onDeleteBranch, - onRebaseBranch = {}, + onRebaseBranch = onRebaseRemoteBranch, onPushToRemoteBranch = onPushRemoteBranch, onPullFromRemoteBranch = onPullRemoteBranch, onChangeDefaultUpstreamBranch = {}, diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/sidepanel/RemotesViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/sidepanel/RemotesViewModel.kt index 209e517b..31fef0cc 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/sidepanel/RemotesViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/sidepanel/RemotesViewModel.kt @@ -12,7 +12,9 @@ import com.jetpackduba.gitnuro.git.branches.GetRemoteBranchesUseCase import com.jetpackduba.gitnuro.git.remotes.* import com.jetpackduba.gitnuro.models.RemoteWrapper import com.jetpackduba.gitnuro.models.positiveNotification +import com.jetpackduba.gitnuro.viewmodels.ISharedBranchesViewModel import com.jetpackduba.gitnuro.viewmodels.ISharedRemotesViewModel +import com.jetpackduba.gitnuro.viewmodels.SharedBranchesViewModel import com.jetpackduba.gitnuro.viewmodels.SharedRemotesViewModel import dagger.assisted.Assisted import dagger.assisted.AssistedInject @@ -34,11 +36,14 @@ class RemotesViewModel @AssistedInject constructor( private val addRemoteUseCase: AddRemoteUseCase, private val updateRemoteUseCase: UpdateRemoteUseCase, private val deleteLocallyRemoteBranchesUseCase: DeleteLocallyRemoteBranchesUseCase, + private val sharedBranchesViewModel: SharedBranchesViewModel, tabScope: CoroutineScope, sharedRemotesViewModel: SharedRemotesViewModel, @Assisted private val filter: StateFlow -) : SidePanelChildViewModel(false), ISharedRemotesViewModel by sharedRemotesViewModel { +) : SidePanelChildViewModel(false), ISharedRemotesViewModel by sharedRemotesViewModel, + ISharedBranchesViewModel by sharedBranchesViewModel { + private val remotes = MutableStateFlow>(listOf()) private val currentBranch = MutableStateFlow(null)