common: add NetworkError composable

This commit is contained in:
Harsh Shandilya 2022-05-10 14:32:50 +05:30
parent 5b024c8d6e
commit 74a7e0428d
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 20 additions and 1 deletions

View file

@ -19,6 +19,7 @@ import androidx.compose.ui.unit.dp
import dev.msfjarvis.claw.common.NetworkState import dev.msfjarvis.claw.common.NetworkState
import dev.msfjarvis.claw.common.posts.PostActions import dev.msfjarvis.claw.common.posts.PostActions
import dev.msfjarvis.claw.common.ui.Divider import dev.msfjarvis.claw.common.ui.Divider
import dev.msfjarvis.claw.common.ui.NetworkError
import dev.msfjarvis.claw.common.ui.ProgressBar import dev.msfjarvis.claw.common.ui.ProgressBar
import dev.msfjarvis.claw.model.LobstersPostDetails import dev.msfjarvis.claw.model.LobstersPostDetails
@ -83,7 +84,9 @@ fun CommentsPage(
modifier.fillMaxSize(), modifier.fillMaxSize(),
) )
} }
is NetworkState.Error -> TODO("Handle no network scenario") is NetworkState.Error -> {
NetworkError((postDetails as NetworkState.Error).message)
}
NetworkState.Loading -> ProgressBar(modifier) NetworkState.Loading -> ProgressBar(modifier)
} }
} }

View file

@ -0,0 +1,16 @@
package dev.msfjarvis.claw.common.ui
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.Text
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@Composable
fun NetworkError(message: String, modifier: Modifier = Modifier) {
Box(modifier = modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Text(text = message, style = MaterialTheme.typography.displayMedium)
}
}