MyThemeSwitcher
fun <T> MyThemeSwitcher(modifier: Modifier = Modifier, dark: T, light: T, system: T, iconDark: @Composable () -> Unit = @Composable { Icon(Icons.Default.DarkMode, null) }, iconLight: @Composable () -> Unit = @Composable { Icon(Icons.Default.LightMode, null) }, iconSystem: @Composable () -> Unit = @Composable { Icon(Icons.Default.PhoneAndroid, null) }, selected: T, mapper: @Composable (item: T) -> String = { it.toString() }, color: Color = MaterialTheme.colorScheme.primary, onColor: Color = MaterialTheme.colorScheme.onPrimary, onSelectionChanged: (T) -> Unit)