diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/MenuButton.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/MenuButton.kt index 9fbfae3a..0a53887f 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/MenuButton.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/MenuButton.kt @@ -19,7 +19,7 @@ package com.sadellie.unitto.core.ui.common import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.outlined.MenuOpen +import androidx.compose.material.icons.outlined.Menu import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable @@ -35,7 +35,7 @@ import com.sadellie.unitto.core.base.R fun MenuButton(onClick: () -> Unit) { IconButton(onClick = onClick) { Icon( - Icons.AutoMirrored.Outlined.MenuOpen, + Icons.Outlined.Menu, contentDescription = stringResource(R.string.open_menu_description) ) } diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt index 0270eba3..41ac9dd3 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt @@ -18,38 +18,66 @@ package com.sadellie.unitto.core.ui.common +import androidx.compose.animation.AnimatedContent +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalDrawerSheet import androidx.compose.material3.NavigationDrawerItemDefaults import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp import com.sadellie.unitto.core.base.R import com.sadellie.unitto.core.base.TopLevelDestinations import com.sadellie.unitto.core.ui.model.DrawerItems +import kotlinx.coroutines.delay @Composable fun UnittoDrawerSheet( modifier: Modifier, tabs: List, currentDestination: String?, - onItemClick: (TopLevelDestinations) -> Unit + onItemClick: (TopLevelDestinations) -> Unit, ) { + var showHello by remember { mutableStateOf(false) } + val interactionSource = remember { + MutableInteractionSource() + } + + LaunchedEffect(showHello) { + if (showHello) { + delay(2000) + showHello = false + } + } + ModalDrawerSheet( modifier = modifier ) { - Text( - text = stringResource(R.string.app_name).uppercase(), - modifier = Modifier.padding(horizontal = 28.dp, vertical = 24.dp), - style = MaterialTheme.typography.titleLarge.copy(fontWeight = FontWeight.Medium, letterSpacing = 2.sp), - color = MaterialTheme.colorScheme.primary - ) + AnimatedContent( + targetState = showHello, + modifier = Modifier.clickable( + interactionSource = interactionSource, + indication = null, + onClick = { showHello = true } + ) + ) { hello -> + Text( + text = if (hello) stringResource(R.string.hello_label) else stringResource(R.string.app_name).uppercase(), + modifier = Modifier.padding(horizontal = 28.dp, vertical = 24.dp), + style = MaterialTheme.typography.titleLarge, + color = MaterialTheme.colorScheme.primary + ) + } tabs.forEach { drawerItem -> val selected = drawerItem.destination.start == currentDestination