File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed
composeApp/src/wasmJsMain/kotlin/org/nsh07/nsh07/ui Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -4,16 +4,14 @@ import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSiz
44import androidx.compose.runtime.Composable
55import androidx.compose.runtime.collectAsState
66import androidx.compose.runtime.getValue
7- import androidx.compose.runtime.remember
87import androidx.compose.ui.Modifier
9- import org.nsh07.nsh07.network.GitHubApiClient
10- import org.nsh07.nsh07.network.createHttpClient
8+ import androidx.lifecycle.viewmodel.compose.viewModel
119import org.nsh07.nsh07.ui.homeScreen.AppHomeScreen
1210
1311@OptIn(ExperimentalMaterial3WindowSizeClassApi ::class )
1412@Composable
1513fun AppScreen (
16- viewModel : UiViewModel = remember { UiViewModel ( GitHubApiClient (createHttpClient())) } ,
14+ viewModel : UiViewModel = viewModel(factory = UiViewModel . Factory ) ,
1715 modifier : Modifier = Modifier
1816) {
1917 val projectsState by viewModel.projectsState.collectAsState()
Original file line number Diff line number Diff line change 11package org.nsh07.nsh07.ui
22
33import androidx.lifecycle.ViewModel
4+ import androidx.lifecycle.ViewModelProvider
45import androidx.lifecycle.viewModelScope
6+ import androidx.lifecycle.viewmodel.initializer
7+ import androidx.lifecycle.viewmodel.viewModelFactory
58import kotlinx.coroutines.flow.MutableStateFlow
69import kotlinx.coroutines.flow.StateFlow
710import kotlinx.coroutines.flow.asStateFlow
811import kotlinx.coroutines.flow.update
912import kotlinx.coroutines.launch
1013import org.nsh07.nsh07.network.GitHubApiClient
14+ import org.nsh07.nsh07.network.createHttpClient
1115import org.nsh07.nsh07.ui.homeScreen.ProjectsState
1216import org.nsh07.nsh07.util.onError
1317import org.nsh07.nsh07.util.onSuccess
@@ -45,4 +49,14 @@ class UiViewModel(
4549 }
4650 }
4751 }
52+
53+ companion object {
54+ val Factory : ViewModelProvider .Factory = viewModelFactory {
55+ initializer {
56+ val client = GitHubApiClient (createHttpClient())
57+ UiViewModel (client)
58+ }
59+ }
60+ }
61+
4862}
You can’t perform that action at this time.
0 commit comments