Skip to content

Instantly share code, notes, and snippets.

@takahirom
Created December 4, 2021 09:55
Show Gist options
  • Save takahirom/ac41b30d160a03292b498de5578e7fcf to your computer and use it in GitHub Desktop.
Save takahirom/ac41b30d160a03292b498de5578e7fcf to your computer and use it in GitHub Desktop.
@Composable
fun SettingScreen(
settingViewModel: SettingViewModel = viewModel(),
scaffoldState: ScaffoldState = rememberScaffoldState(),
coroutinesScope: CoroutineScope = rememberCoroutineScope(),
) {
val isDarkMode by settingViewModel.isDarkMode.collectAsState()
SettingScreen(
scaffoldState = scaffoldState,
isDarkModeSetting = isDarkMode,
onDarkModeSettingChanged = {
settingViewModel.onDarkModeChange(it)
coroutinesScope.launch {
scaffoldState.snackbarHostState.showSnackbar("Dark mode changed!")
}
}
)
}
@Composable
fun SettingScreen(
isDarkModeSetting: Boolean,
onDarkModeSettingChanged: (Boolean) -> Unit,
scaffoldState: ScaffoldState
) {
Scaffold(scaffoldState = scaffoldState) {
MySwitch(checked = isDarkModeSetting, onCheckChanged = {
onDarkModeSettingChanged(it)
})
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment