diff --git a/app/src/main/kotlin/com/bff/wespot/MainActivity.kt b/app/src/main/kotlin/com/bff/wespot/MainActivity.kt index 3f7e4a03a..ac93c0cba 100644 --- a/app/src/main/kotlin/com/bff/wespot/MainActivity.kt +++ b/app/src/main/kotlin/com/bff/wespot/MainActivity.kt @@ -412,14 +412,6 @@ private fun navigateScreenFromNavArgs(navArgs: MainScreenNavArgs, navigator: Not private fun NavController.navigateToNavGraph(navGraph: NavGraphSpec) { this.navigate(navGraph) { launchSingleTop = true - restoreState = when (navGraph.route) { - AppNavGraphs.message.route, - AppNavGraphs.notification.route -> false - else -> true - } - - popUpTo(this@navigateToNavGraph.graph.findStartDestination().id ) { - saveState = true - } + popUpTo(this@navigateToNavGraph.graph.findStartDestination().id) } } diff --git a/core/ui/src/main/kotlin/com/bff/wespot/ui/ReservedMessageItem.kt b/core/ui/src/main/kotlin/com/bff/wespot/ui/ReservedMessageItem.kt index 46cae4e57..a51f067ad 100644 --- a/core/ui/src/main/kotlin/com/bff/wespot/ui/ReservedMessageItem.kt +++ b/core/ui/src/main/kotlin/com/bff/wespot/ui/ReservedMessageItem.kt @@ -1,14 +1,13 @@ package com.bff.wespot.ui import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material3.FilterChip -import androidx.compose.material3.FilterChipDefaults import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -81,25 +80,29 @@ fun ReservedMessageItem( ) } - FilterChip( - shape = WeSpotThemeManager.shapes.extraLarge, - onClick = { onClick() }, - selected = false, - label = { - Text( - text = if (chipEnabled) chipText else chipDisabledText, - style = StaticTypeScale.Default.body6, - ) - }, - enabled = chipEnabled, - border = null, - colors = FilterChipDefaults.filterChipColors( - containerColor = WeSpotThemeManager.colors.secondaryBtnColor, - labelColor = Color(0xFFF7F7F8), - disabledContainerColor = Gray600, - disabledLabelColor = Gray400, - ), - ) + Box( + modifier = Modifier + .clip(WeSpotThemeManager.shapes.extraLarge) + .clickable { onClick() } + .let { + if (chipEnabled) { + it.background(WeSpotThemeManager.colors.secondaryBtnColor) + } else { + it.background(Gray600) + } + }, + ) { + Text( + modifier = Modifier.padding(horizontal = 10.dp, vertical = 5.dp), + text = if (chipEnabled) chipText else chipDisabledText, + style = StaticTypeScale.Default.body9, + color = if (chipEnabled) { + Color(0xFFF7F7F8) + } else { + Gray400 + }, + ) + } } HorizontalDivider( diff --git a/designsystem/src/main/kotlin/com/bff/wespot/designsystem/component/banner/WSBanner.kt b/designsystem/src/main/kotlin/com/bff/wespot/designsystem/component/banner/WSBanner.kt index 8af609ad4..8aae67e41 100644 --- a/designsystem/src/main/kotlin/com/bff/wespot/designsystem/component/banner/WSBanner.kt +++ b/designsystem/src/main/kotlin/com/bff/wespot/designsystem/component/banner/WSBanner.kt @@ -34,6 +34,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp import com.bff.wespot.designsystem.R +import com.bff.wespot.designsystem.theme.Primary400 import com.bff.wespot.designsystem.theme.StaticTypeScale import com.bff.wespot.designsystem.theme.WeSpotTheme import com.bff.wespot.designsystem.theme.WeSpotThemeManager @@ -170,7 +171,7 @@ fun WSBanner( if (hasBorder) { it.border( width = 1.dp, - color = WeSpotThemeManager.colors.primaryColor, + color = Primary400, shape = WeSpotThemeManager.shapes.medium, ) } else { diff --git a/feature/entire/src/main/java/com/bff/wespot/entire/screen/EntireScreen.kt b/feature/entire/src/main/java/com/bff/wespot/entire/screen/EntireScreen.kt index deadef41a..92a8098f2 100644 --- a/feature/entire/src/main/java/com/bff/wespot/entire/screen/EntireScreen.kt +++ b/feature/entire/src/main/java/com/bff/wespot/entire/screen/EntireScreen.kt @@ -2,6 +2,7 @@ package com.bff.wespot.entire.screen import android.graphics.Color.parseColor import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -12,9 +13,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.FilterChip -import androidx.compose.material3.FilterChipDefaults import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -52,7 +50,6 @@ interface EntireNavigator { fun navigateToProfileEditScreen(args: ProfileEditNavArgs) } -@OptIn(ExperimentalMaterial3Api::class) @Destination @Composable internal fun EntireScreen( @@ -230,21 +227,18 @@ fun ProfileContent( ) } - FilterChip( - shape = WeSpotThemeManager.shapes.extraLarge, - onClick = { onClick() }, - selected = false, - label = { - Text( - text = stringResource(R.string.profile_edit), - style = StaticTypeScale.Default.body9, - ) - }, - border = null, - colors = FilterChipDefaults.filterChipColors( - containerColor = WeSpotThemeManager.colors.secondaryBtnColor, - labelColor = WeSpotThemeManager.colors.txtTitleColor, - ), - ) + Box( + modifier = Modifier + .clip(WeSpotThemeManager.shapes.extraLarge) + .clickable { onClick() } + .background(WeSpotThemeManager.colors.secondaryBtnColor), + ) { + Text( + modifier = Modifier.padding(horizontal = 10.dp, vertical = 5.dp), + text = stringResource(R.string.profile_edit), + style = StaticTypeScale.Default.body9, + color = Color(0xFFF7F7F8), + ) + } } } diff --git a/feature/entire/src/main/java/com/bff/wespot/entire/screen/edit/ProfileEditScreen.kt b/feature/entire/src/main/java/com/bff/wespot/entire/screen/edit/ProfileEditScreen.kt index 91bf271b8..c4cedb0a7 100644 --- a/feature/entire/src/main/java/com/bff/wespot/entire/screen/edit/ProfileEditScreen.kt +++ b/feature/entire/src/main/java/com/bff/wespot/entire/screen/edit/ProfileEditScreen.kt @@ -123,12 +123,15 @@ fun ProfileEditScreen( .verticalScroll(scrollState), horizontalAlignment = Alignment.CenterHorizontally, ) { - Box(modifier = Modifier.clickable { navigator.navigateToCharacterEditScreen() }) { + Box( + modifier = Modifier + .padding(top = 16.dp) + .clickable { navigator.navigateToCharacterEditScreen() }, + ) { Box( modifier = Modifier .size(90.dp) .clip(CircleShape) - .padding(top = 16.dp) .background(hexToColor(state.profile.profileCharacter.backgroundColor)), contentAlignment = Alignment.Center, ) { diff --git a/feature/entire/src/main/java/com/bff/wespot/entire/screen/setting/NotificationSettingScreen.kt b/feature/entire/src/main/java/com/bff/wespot/entire/screen/setting/NotificationSettingScreen.kt index 4683206a7..494d2b9f6 100644 --- a/feature/entire/src/main/java/com/bff/wespot/entire/screen/setting/NotificationSettingScreen.kt +++ b/feature/entire/src/main/java/com/bff/wespot/entire/screen/setting/NotificationSettingScreen.kt @@ -1,12 +1,10 @@ package com.bff.wespot.entire.screen.setting import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Scaffold import androidx.compose.material3.Text @@ -27,6 +25,7 @@ import com.bff.wespot.designsystem.theme.WeSpotThemeManager import com.bff.wespot.entire.R import com.bff.wespot.entire.screen.state.notification.NotificationSettingAction import com.bff.wespot.entire.viewmodel.NotificationSettingViewModel +import com.bff.wespot.ui.LoadingAnimation import com.bff.wespot.util.OnLifecycleEvent import com.ramcosta.composedestinations.annotation.Destination import org.orbitmvi.orbit.compose.collectAsState @@ -46,9 +45,7 @@ fun NotificationSettingScreen( val state by viewModel.collectAsState() if (state.isLoading) { - Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { - CircularProgressIndicator() - } + LoadingAnimation() return } diff --git a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/MessageStorageScreen.kt b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/MessageStorageScreen.kt index cef4c809e..48dd18ad2 100644 --- a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/MessageStorageScreen.kt +++ b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/MessageStorageScreen.kt @@ -17,7 +17,6 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyVerticalGrid -import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text @@ -60,6 +59,7 @@ import com.bff.wespot.message.viewmodel.MessageViewModel import com.bff.wespot.model.ToastState import com.bff.wespot.model.message.request.MessageType import com.bff.wespot.model.notification.NotificationType +import com.bff.wespot.ui.LoadingAnimation import com.bff.wespot.ui.WSBottomSheet import com.bff.wespot.ui.WSHomeChipGroup import kotlinx.collections.immutable.persistentListOf @@ -330,9 +330,7 @@ fun MessageStorageScreen( } if (state.isLoading) { - Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { - CircularProgressIndicator() - } + LoadingAnimation() } LaunchedEffect(Unit) { diff --git a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageEditScreen.kt b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageEditScreen.kt index 8a7e1fb52..6b0281514 100644 --- a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageEditScreen.kt +++ b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageEditScreen.kt @@ -196,8 +196,10 @@ fun MessageEditScreen( } } - Spacer(modifier = Modifier.weight(1f)) + Spacer(modifier = Modifier.height(68.dp)) + } + Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.BottomCenter) { WSButton( onClick = { if (state.isReservedMessage) { @@ -206,12 +208,6 @@ fun MessageEditScreen( reserveDialog = true } }, - paddingValues = PaddingValues( - start = 20.dp, - end = 20.dp, - top = 32.dp, - bottom = 12.dp, - ), text = stringResource( if (state.isReservedMessage) R.string.edit_done else R.string.message_send, ), @@ -224,6 +220,7 @@ fun MessageEditScreen( SendExitDialog( isReservedMessage = state.isReservedMessage, okButtonClick = { + exitDialog = false navigator.navigateMessageScreen(args = MessageScreenArgs(isMessageSent = false)) }, cancelButtonClick = { exitDialog = false }, diff --git a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageWriteScreen.kt b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageWriteScreen.kt index d2556a86c..d732d2d99 100644 --- a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageWriteScreen.kt +++ b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/MessageWriteScreen.kt @@ -166,6 +166,7 @@ fun MessageWriteScreen( SendExitDialog( isReservedMessage = state.isReservedMessage, okButtonClick = { + dialogState = false navigator.navigateMessageScreen(args = MessageScreenArgs(isMessageSent = false)) }, cancelButtonClick = { dialogState = false }, diff --git a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/ReceiverSelectionScreen.kt b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/ReceiverSelectionScreen.kt index 35ff52887..3f36325a9 100644 --- a/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/ReceiverSelectionScreen.kt +++ b/feature/message/src/main/kotlin/com/bff/wespot/message/screen/send/ReceiverSelectionScreen.kt @@ -249,6 +249,7 @@ fun ReceiverSelectionScreen( SendExitDialog( isReservedMessage = state.isReservedMessage, okButtonClick = { + dialogState = false navigator.navigateMessageScreen(args = MessageScreenArgs(isMessageSent = false)) }, cancelButtonClick = { dialogState = false }, diff --git a/feature/message/src/main/res/values/strings.xml b/feature/message/src/main/res/values/strings.xml index 8ac829bd2..735cd23bd 100644 --- a/feature/message/src/main/res/values/strings.xml +++ b/feature/message/src/main/res/values/strings.xml @@ -31,7 +31,7 @@ 네 그만할래요 받는 사람 쪽지 내용을 작성해주세요\n상대에게 익명으로 전달해 드릴게요 - 오늘 바나나 우유 고마웠어! 점심 시간에 경기하는 거 봤는데 잘 하더라! 다치지 말고 화이팅 해! + 나랑 등교 같이할래? 200자 이내로 입력해 주세요 작성 완료 닉네임은 직접 수정이 어려워요