Skip to content

Commit

Permalink
Add long click for station
Browse files Browse the repository at this point in the history
  • Loading branch information
steviek committed Jan 19, 2025
1 parent a0c8eab commit 6d69ff5
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.sixbynine.transit.path.app.ui.home

import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
Expand Down Expand Up @@ -40,6 +41,7 @@ import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.MoveStat
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.MoveStationUpClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.RemoveStationClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationLongClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.StationData
import com.sixbynine.transit.path.app.ui.home.TrainGrouper.groupTrains
import com.sixbynine.transit.path.app.ui.icon.IconType
Expand Down Expand Up @@ -122,7 +124,12 @@ private fun HomeScreenScope.Station(
nextStation.state == station.state
}

Card(modifier.clickable { onIntent(StationClicked(station.id)) }) {
Card(
modifier.combinedClickable(
onLongClick = { onIntent(StationLongClicked(station.id)) },
onClick = { onIntent(StationClicked(station.id)) }
)
) {
Column(Modifier.padding(bottom = 8.dp)) {
StationHeader(
modifier = Modifier.fillMaxSize(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ object HomeScreenContract {
data object AddStationClicked : Intent
data class ConstraintsChanged(val maxWidth: Dp, val maxHeight: Dp) : Intent
data class StationClicked(val id: String) : Intent
data class StationLongClicked(val id: String) : Intent
}

sealed interface Effect {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.Settings
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationBottomSheetDismissed
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationBottomSheetSelection
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationLongClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StationSelectionDialogDismissed
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.StopEditingClicked
import com.sixbynine.transit.path.app.ui.home.HomeScreenContract.Intent.UpdateNowClicked
Expand Down Expand Up @@ -209,6 +210,10 @@ class HomeScreenViewModel(maxWidth: Dp, maxHeight: Dp) : PathViewModel<State, In
is StationClicked -> {
sendEffect(NavigateToStation(intent.id))
}

is StationLongClicked -> {
updateState { copy(isEditing = !isEditing) }
}
}
}

Expand Down

0 comments on commit 6d69ff5

Please sign in to comment.