mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 19:57:04 +05:30
chore(common): add imports for NetworkState
subclasses
This commit is contained in:
parent
f69c569406
commit
3335c79591
1 changed files with 11 additions and 8 deletions
|
@ -18,6 +18,9 @@ import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import dev.msfjarvis.claw.common.NetworkState
|
import dev.msfjarvis.claw.common.NetworkState
|
||||||
|
import dev.msfjarvis.claw.common.NetworkState.Error
|
||||||
|
import dev.msfjarvis.claw.common.NetworkState.Loading
|
||||||
|
import dev.msfjarvis.claw.common.NetworkState.Success
|
||||||
import dev.msfjarvis.claw.common.posts.PostActions
|
import dev.msfjarvis.claw.common.posts.PostActions
|
||||||
import dev.msfjarvis.claw.common.ui.NetworkError
|
import dev.msfjarvis.claw.common.ui.NetworkError
|
||||||
import dev.msfjarvis.claw.common.ui.ProgressBar
|
import dev.msfjarvis.claw.common.ui.ProgressBar
|
||||||
|
@ -72,25 +75,25 @@ fun CommentsPage(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val postDetails by
|
val postDetails by
|
||||||
produceState<NetworkState>(NetworkState.Loading) {
|
produceState<NetworkState>(Loading) {
|
||||||
runCatching { getDetails(postId) }
|
runCatching { getDetails(postId) }
|
||||||
.fold(
|
.fold(
|
||||||
onSuccess = { details -> value = NetworkState.Success(details) },
|
onSuccess = { details -> value = Success(details) },
|
||||||
onFailure = { value = NetworkState.Error("Failed to load comments") }
|
onFailure = { value = Error("Failed to load comments") }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
when (postDetails) {
|
when (postDetails) {
|
||||||
is NetworkState.Success<*> -> {
|
is Success<*> -> {
|
||||||
CommentsPageInternal(
|
CommentsPageInternal(
|
||||||
(postDetails as NetworkState.Success<ExtendedPostDetails>).data,
|
(postDetails as Success<ExtendedPostDetails>).data,
|
||||||
postActions,
|
postActions,
|
||||||
modifier.fillMaxSize(),
|
modifier.fillMaxSize(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is NetworkState.Error -> {
|
is Error -> {
|
||||||
NetworkError((postDetails as NetworkState.Error).message)
|
NetworkError((postDetails as Error).message)
|
||||||
}
|
}
|
||||||
NetworkState.Loading -> ProgressBar(modifier)
|
Loading -> ProgressBar(modifier)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue