feature (space) : some code clean up

This commit is contained in:
ganfra
2025-09-29 21:27:41 +02:00
parent 183fad675e
commit de4e3d8735
4 changed files with 26 additions and 23 deletions

View File

@@ -11,6 +11,6 @@ import io.element.android.libraries.matrix.api.spaces.SpaceRoom
sealed interface SpaceEvents {
data object LoadMore : SpaceEvents
data class Join(val spaceRoom: SpaceRoom): SpaceEvents
data class Join(val spaceRoom: SpaceRoom) : SpaceEvents
data object ClearFailures : SpaceEvents
}

View File

@@ -20,9 +20,8 @@ import kotlinx.collections.immutable.toImmutableSet
open class SpaceStateProvider : PreviewParameterProvider<SpaceState> {
override val values: Sequence<SpaceState>
get() = sequenceOf(
aSpaceState(),
aSpaceState(
), aSpaceState(
parentSpace = aSpaceRoom(
name = null,
numJoinedMembers = 5,
@@ -30,11 +29,14 @@ open class SpaceStateProvider : PreviewParameterProvider<SpaceState> {
worldReadable = true,
),
hasMoreToLoad = true,
), aSpaceState(
),
aSpaceState(
hasMoreToLoad = true,
children = aListOfSpaceRooms(),
), aSpaceState(
hasMoreToLoad = false, children = aListOfSpaceRooms()
),
aSpaceState(
hasMoreToLoad = false,
children = aListOfSpaceRooms()
)
// Add other states here
)
@@ -59,7 +61,8 @@ fun aSpaceState(
hideInvitesAvatar = hideInvitesAvatar,
hasMoreToLoad = hasMoreToLoad,
joinActions = joiningRooms.associateWith { AsyncAction.Uninitialized }.toImmutableMap(),
eventSink = {})
eventSink = {}
)
private fun aListOfSpaceRooms(): List<SpaceRoom> {
return listOf(

View File

@@ -12,7 +12,6 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.LocalContentColor
@@ -77,7 +76,8 @@ fun SpaceView(
modifier = modifier,
topBar = {
SpaceViewTopBar(
currentSpace = state.currentSpace, onBackClick = onBackClick,
currentSpace = state.currentSpace,
onBackClick = onBackClick,
onLeaveSpaceClick = onLeaveSpaceClick,
onShareSpace = onShareSpace,
)
@@ -90,13 +90,13 @@ fun SpaceView(
state = state,
onRoomClick = onRoomClick
)
JoinRoomFailureEffect(
hasAnyFailure = state.hasAnyFailure,
eventSink = state.eventSink
)
}
},
)
JoinRoomFailureEffect(
hasAnyFailure = state.hasAnyFailure,
eventSink = state.eventSink
)
}
@Composable
@@ -105,14 +105,15 @@ private fun JoinRoomFailureEffect(
eventSink: (SpaceEvents) -> Unit,
) {
val asyncIndicatorState = rememberAsyncIndicatorState()
AsyncIndicatorHost(modifier = Modifier.statusBarsPadding(), asyncIndicatorState)
val updatedEventSink by rememberUpdatedState(eventSink)
AsyncIndicatorHost(modifier = Modifier, asyncIndicatorState)
LaunchedEffect(hasAnyFailure) {
if (hasAnyFailure) {
asyncIndicatorState.enqueue {
AsyncIndicator.Failure(text = stringResource(CommonStrings.common_something_went_wrong))
}
delay(AsyncIndicator.DURATION_SHORT)
eventSink(SpaceEvents.ClearFailures)
updatedEventSink(SpaceEvents.ClearFailures)
} else {
asyncIndicatorState.clear()
}
@@ -256,7 +257,6 @@ private fun SpaceViewTopBar(
)
*/
}
},
)
}