common: make UrlLauncher use expect/actual

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2021-03-15 00:00:37 +05:30
parent 3021f96465
commit f5c3a950bf
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
5 changed files with 15 additions and 11 deletions

View file

@ -11,6 +11,7 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.rememberScrollbarAdapter
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Text
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
@ -21,6 +22,8 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import dev.msfjarvis.lobsters.data.ApiRepository
import dev.msfjarvis.lobsters.model.LobstersPost
import dev.msfjarvis.lobsters.ui.urllauncher.LocalUrlLauncher
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -29,6 +32,7 @@ val repository = ApiRepository()
@OptIn(ExperimentalStdlibApi::class)
fun main() = Window(title = "Claw for lobste.rs") {
val urlLauncher = UrlLauncher()
val coroutineScope = rememberCoroutineScope()
var items by remember { mutableStateOf(emptyList<SavedPost>()) }
coroutineScope.launch {
@ -49,9 +53,11 @@ fun main() = Window(title = "Claw for lobste.rs") {
if (items.isEmpty()) {
Text("Loading...")
} else {
Column {
items.forEach {
LobstersItem(it)
CompositionLocalProvider(LocalUrlLauncher provides urlLauncher) {
Column {
items.forEach {
LobstersItem(it)
}
}
}
}