Skip to content

Instantly share code, notes, and snippets.

@yadavraju
Created June 6, 2021 17:00
Show Gist options
  • Save yadavraju/d87d27a44dfc49637c348bfc4fb6cdae to your computer and use it in GitHub Desktop.
Save yadavraju/d87d27a44dfc49637c348bfc4fb6cdae to your computer and use it in GitHub Desktop.
welcome-screen
@Composable
fun WelcomeScreen() {
var visible by remember { mutableStateOf(false) }
val navController = Navigator.current
LaunchedEffect(true) {
visible = true
}
WelcomeScreenContent(visible = visible) {
navController.navigate(Destination.home) {
popUpTo(Destination.welcome) { inclusive = true }
}
}
}
@Composable
fun WelcomeScreenContent(
visible: Boolean,
onGetStarted: () -> Unit
) {
Surface {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
modifier = Modifier.fillMaxSize()
) {
AnimatedTitle(visible = visible)
AnimatedImage(visible = visible)
Spacer(modifier = Modifier.height(16.dp))
AnimatedButton(visible = visible, onClick = onGetStarted)
}
}
}
@Preview(name = "Welcome")
@Composable
fun WelcomeScreenPreview() {
PreviewContent {
WelcomeScreenContent(visible = true) { }
}
}
@Preview(name = "Welcome (Dark)")
@Composable
fun WelcomeScreenDarkPreview() {
PreviewContent(darkTheme = true) {
WelcomeScreenContent(visible = true) { }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment