diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 50aee71b..18e0bc99 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -93,7 +93,5 @@ dependencies { //실시간 위치 implementation(libs.play.services.location) - // 회원가입 - implementation ("androidx.compose.foundation:foundation:1.4.0") } \ No newline at end of file diff --git a/app/src/main/java/com/paw/key/presentation/ui/home/HomeScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/home/HomeScreen.kt index acff1dff..a2e744e2 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/home/HomeScreen.kt @@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect @@ -30,7 +31,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.view.ViewCompat import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.paw.key.R +import com.paw.key.core.designsystem.component.CourseCard import com.paw.key.core.designsystem.theme.PawKeyTheme import com.paw.key.core.util.noRippleClickable import com.paw.key.presentation.ui.home.component.DaytimeCard @@ -85,7 +88,7 @@ fun HomeScreen( modifier: Modifier = Modifier, viewModel: HomeViewModel = hiltViewModel(), ) { - val state by viewModel.state.collectAsState() + val state by viewModel.state.collectAsStateWithLifecycle() val view = LocalView.current val window = (view.context as? Activity)?.window @@ -106,48 +109,63 @@ fun HomeScreen( ) { TopBar(location = "강남구 역삼동", onLocationClick = { viewModel.toggleLocationMenu() }) - Column( + LazyColumn ( verticalArrangement = Arrangement.spacedBy(12.dp), modifier = Modifier .padding(horizontal = 16.dp) .background(color = PawKeyTheme.colors.white2), ) { - Spacer(modifier = Modifier.height(13.dp)) - - WeatherCard( - weathertitle = "35°", - weathersub1 = "35°", - weathersub2 = "21°", - rating = "0", - weatherIcon = R.drawable.ic_home_weather, - ) - - Row( - modifier = Modifier - .fillMaxWidth() - ) { - DaytimeCard( - daytime = "05:06", - daystate = "일출", + item{ + Spacer(modifier = Modifier.height(12.dp)) + + WeatherCard( + weathertitle = "35°", + weathersub1 = "35°", + weathersub2 = "21°", + rating = "0", + weatherIcon = R.drawable.ic_home_weather, ) + } + item{ + Spacer(modifier = Modifier.height(12.dp)) - Spacer(modifier = Modifier.weight(1F)) + Row( + modifier = Modifier + .fillMaxWidth() + ) { + DaytimeCard( + daytime = "05:06", + daystate = "일출", + ) + + Spacer(modifier = Modifier.weight(1F)) - TrackingCard(onClick = { navigateNext() }) + TrackingCard(onClick = { navigateNext() }) + } } + item{ + RowCalendar(date = "7월") + } + item{ + Spacer(modifier = Modifier.height(12.dp)) - Spacer(modifier = Modifier.height(12.dp)) + Text( + text = stringResource(R.string.ic_home_current_word), + color = PawKeyTheme.colors.black, + style = PawKeyTheme.typography.head18Sb, + ) + } + item{ + CourseCard( + title = "제목을 입력해주세요", + petName = "반려견 이름", + date = "년도/월/일", + ) + } + item{} + item{} - RowCalendar(date = "7월") - // Todo : 이거 공통 컴포넌트로 변경 -// HistoryCard() - Spacer(modifier = Modifier.height(17.dp)) - Text( - text = stringResource(R.string.ic_home_current_word), - color = PawKeyTheme.colors.black, - style = PawKeyTheme.typography.head18Sb, - ) } } diff --git a/app/src/main/java/com/paw/key/presentation/ui/home/component/SettingButton.kt b/app/src/main/java/com/paw/key/presentation/ui/home/component/SettingButton.kt index fac01352..2c850d17 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/home/component/SettingButton.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/home/component/SettingButton.kt @@ -32,6 +32,7 @@ private fun PreviewSettingButton() { fun SettingButton( modifier: Modifier = Modifier, ) { + Box( modifier = modifier .height(64.dp) diff --git a/app/src/main/java/com/paw/key/presentation/ui/main/PawKeyNavHost.kt b/app/src/main/java/com/paw/key/presentation/ui/main/PawKeyNavHost.kt index 8821b125..f24dc58b 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/main/PawKeyNavHost.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/main/PawKeyNavHost.kt @@ -25,16 +25,13 @@ import com.paw.key.presentation.ui.mypage.navigation.archivedDetailNavGraph import com.paw.key.presentation.ui.mypage.navigation.myPageNavGraph import com.paw.key.presentation.ui.mypage.navigation.petProfileNavGraph import com.paw.key.presentation.ui.mypage.navigation.savedCourseNavGraph +import com.paw.key.presentation.ui.mypage.navigation.savedDetailNavGraph import com.paw.key.presentation.ui.mypage.navigation.userProfileNavGraph import com.paw.key.presentation.ui.onboard.navigation.onboardingNavGraph import com.paw.key.presentation.ui.region.navigation.regionalNavGraph - -import com.paw.key.presentation.ui.mypage.navigation.myPageNavGraph -import com.paw.key.presentation.ui.mypage.navigation.savedDetailNavGraph - -import com.paw.key.presentation.ui.signup.navigation.signupLevelNavGraph +import com.paw.key.presentation.ui.signup.navigation.signUpActivityNavGraph +import com.paw.key.presentation.ui.signup.navigation.signUpLevelNavGraph import com.paw.key.presentation.ui.signup.navigation.signupNavGraph -import com.paw.key.presentation.ui.signup.navigation.signupactivityNavGraph import com.paw.key.presentation.ui.signup.navigation.signupdogNavGraph import com.paw.key.presentation.ui.splash.navigation.splashNavGraph @@ -200,7 +197,7 @@ fun PawKeyNavHost( navigateSignUpActivity = navigator::navigateSignUpActivity, ) - signupactivityNavGraph( + signUpActivityNavGraph( navigateSignUpDog = navigator::navigateSignUpDog, ) @@ -208,7 +205,7 @@ fun PawKeyNavHost( navigateNext = navigator::navigateSignUpLevel, ) - signupLevelNavGraph( + signUpLevelNavGraph( navigateNext = navigator::navigateHome, ) diff --git a/app/src/main/java/com/paw/key/presentation/ui/mypage/ArchivedCourseListScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/mypage/ArchivedCourseListScreen.kt index e4059a66..ae264095 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/mypage/ArchivedCourseListScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/mypage/ArchivedCourseListScreen.kt @@ -88,7 +88,8 @@ fun ArchivedCourseListScreen( CourseCard( title = course.title, petName = course.petName, - date = course.date + date = course.date, + ) } } diff --git a/app/src/main/java/com/paw/key/presentation/ui/mypage/SavedCourseListScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/mypage/SavedCourseListScreen.kt index c7cb0cae..9563947a 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/mypage/SavedCourseListScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/mypage/SavedCourseListScreen.kt @@ -110,7 +110,8 @@ fun SavedCourseListScreen( CourseCard( title = course.title, petName = course.petName, - date = course.date + date = course.date, + ) } } diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpActivityScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpActivityScreen.kt index af6902a2..9f2531fe 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpActivityScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpActivityScreen.kt @@ -6,13 +6,13 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.paw.key.R import com.paw.key.core.designsystem.component.PawkeyButton import com.paw.key.core.designsystem.theme.PawKeyTheme @@ -27,7 +27,7 @@ import com.paw.key.presentation.ui.signup.viewmodel.SignUpViewModel private fun PreviewSignUpActivityScreen() { PawKeyTheme { SignUpActivityScreen( - step = 0.25F, + step = 0.5F, navigateSignUpDog = {}, ) } @@ -52,64 +52,68 @@ fun SignUpActivityScreen( modifier: Modifier = Modifier, viewModel: SignUpViewModel = hiltViewModel(), ) { - val state by viewModel.state.collectAsState() + val state by viewModel.state.collectAsStateWithLifecycle() Column( modifier = modifier .fillMaxSize() - .padding(horizontal = 16.dp) ) { SignUpHeader( title = stringResource(R.string.ic_onboarding_signup), subtitle = stringResource(id = R.string.ic_onboarding_signup_subtitle_step2), progress = step, ) + Column( + modifier = Modifier + .fillMaxSize() + .padding(horizontal = 16.dp) + ) { + Spacer(modifier = Modifier.height(27.dp)) - Spacer(modifier = Modifier.height(27.dp)) - - FormField( - label = stringResource(id = R.string.ic_onboarding_signup_main_location), - content = { - LocationButton( - isEnable = true, - location = "강남구", - onClick = { viewModel.toggleLocationMenu() } - ) - } - ) + FormField( + label = stringResource(id = R.string.ic_onboarding_signup_main_location), + content = { + LocationButton( + isEnable = state.isLocationMenuVisible, + location = "강남구", + onClick = { viewModel.toggleLocationMenu() } + ) + } + ) - Spacer(modifier = Modifier.height(46.dp)) + Spacer(modifier = Modifier.height(46.dp)) - FormField( - label = stringResource(id = R.string.ic_onboarding_signup_sub_location), - content = { - if (state.isLocationMenuVisible) { - LocationList( - selected = state.selectedLocation, - locations = listOf("개포동", "논현동", "뭔동", "동동동", "스꾸삐", "4글자유"), - onLocationSelected = { location -> - viewModel.selectLocation(location) - } - ) + FormField( + label = stringResource(id = R.string.ic_onboarding_signup_sub_location), + content = { + if (state.isLocationMenuVisible) { + LocationList( + selected = state.selectedLocation, + locations = listOf("개포동", "논현동", "뭔동", "동동동", "스꾸삐", "4글자유"), + onLocationSelected = { location -> + viewModel.selectLocation(location) + } + ) + } } - } - ) + ) - Spacer(modifier = Modifier.weight(1f)) + Spacer(modifier = Modifier.weight(1f)) - val isFormValid = state.selectedLocation.isNotEmpty() + val isFormValid = state.selectedLocation.isNotEmpty() - PawkeyButton( - text = stringResource(id = R.string.ic_onboarding_signup_button), - enabled = isFormValid, - onClick = { - if (isFormValid) { - navigateSignUpDog() + PawkeyButton( + text = stringResource(id = R.string.ic_onboarding_signup_button), + enabled = isFormValid, + onClick = { + if (isFormValid) { + navigateSignUpDog() + } } - } - ) - - Spacer(modifier = Modifier.height(46.dp)) + ) + Spacer(modifier = Modifier.height(46.dp)) + } } -} \ No newline at end of file + +} diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpDogScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpDogScreen.kt index dc539280..82e00005 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpDogScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpDogScreen.kt @@ -66,6 +66,14 @@ fun SignUpDogRoute( ) } +private fun isAgeValid(ageKnown: SignUpContract.AgeKnown, dogAge: String): Boolean { + return when (ageKnown) { + SignUpContract.AgeKnown.KNOWN -> dogAge.isNotEmpty() + SignUpContract.AgeKnown.UNKNOWN -> true + SignUpContract.AgeKnown.NONE -> false + } +} + @Composable fun SignUpDogScreen( step: Float, @@ -89,32 +97,36 @@ fun SignUpDogScreen( modifier = Modifier.fillMaxSize() ) { item { DogProfileImage() } + + item { + DogNameField( + value = state.dogName, + onValueChange = viewModel::onDogNameChanged + ) + } + item { Column( - verticalArrangement = Arrangement.spacedBy(10.dp), + verticalArrangement = Arrangement.spacedBy(10.dp) ) { - DogNameField( - value = state.dogName, - onValueChange = viewModel::onDogNameChanged - ) DogGenderSection( selectedGender = state.dogGender, onGenderSelected = viewModel::selectDogGender ) + NeuteringCheckbox( + isNeutered = state.isNeutered, + onToggle = viewModel::toggleNeutering + ) } } - item { - NeuteringCheckbox( - isNeutered = state.isNeutered, - onToggle = viewModel::toggleNeutering - ) - } + item { DogBreedField( value = state.dogBreed, onValueChange = viewModel::onDogBreedChanged ) } + item { DogAgeSection( ageKnown = state.ageKnown, @@ -123,6 +135,7 @@ fun SignUpDogScreen( onDogAgeChanged = viewModel::onDogAgeChanged ) } + item { Spacer(modifier = Modifier.height(80.dp)) } } } @@ -130,8 +143,7 @@ fun SignUpDogScreen( val isFormValid = state.dogName.isNotEmpty() && state.dogGender != SignUpContract.DogGender.UNKNOWN && state.dogBreed.isNotEmpty() && - state.ageKnown != SignUpContract.AgeKnown.UNKNOWN && - state.dogAge.isNotEmpty() + isAgeValid(state.ageKnown, state.dogAge) PawkeyButton( text = "다음으로", @@ -185,7 +197,6 @@ private fun DogNameField( SignUpTextField( value = value, onValueChange = onValueChange, - placeholder = "강아지 이름을 입력해주세요" ) } @@ -289,14 +300,20 @@ private fun DogAgeSection( SignUpUserSelectButton( user = "나이를 알아요", isSelect = ageKnown == SignUpContract.AgeKnown.KNOWN, - onClick = { onAgeKnownSelected(SignUpContract.AgeKnown.KNOWN) }, + onClick = { + onAgeKnownSelected(SignUpContract.AgeKnown.KNOWN) + onDogAgeChanged("") + }, modifier = Modifier.weight(1f) ) SignUpUserSelectButton( user = "나이를 몰라요", isSelect = ageKnown == SignUpContract.AgeKnown.UNKNOWN, - onClick = { onAgeKnownSelected(SignUpContract.AgeKnown.UNKNOWN) }, + onClick = { + onAgeKnownSelected(SignUpContract.AgeKnown.UNKNOWN) + onDogAgeChanged("") + }, modifier = Modifier.weight(1f) ) } diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpScreen.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpScreen.kt index 024867bf..6cf56fe4 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpScreen.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/SignUpScreen.kt @@ -61,70 +61,75 @@ fun SignUpScreen( Column( modifier = modifier .fillMaxSize() - .padding(horizontal = 16.dp) ) { SignUpHeader( title = stringResource(R.string.ic_onboarding_signup), subtitle = stringResource(id = R.string.ic_onboarding_signup_subtitle_step1), progress = step, ) + Column( + modifier = Modifier + .fillMaxSize() + .padding(horizontal = 16.dp) + ) { + Spacer(modifier = Modifier.height(42.dp)) + + FormField( + label = stringResource(id = R.string.ic_onboarding_signup_name), + content = { + SignUpTextField( + value = state.name, + onValueChange = viewModel::onNameChanged, + placeholder = "이름을 입력해주세요" + ) + } + ) - Spacer(modifier = Modifier.height(42.dp)) - - FormField( - label = stringResource(id = R.string.ic_onboarding_signup_name), - content = { - SignUpTextField( - value = state.name, - onValueChange = viewModel::onNameChanged, - placeholder = "이름을 입력해주세요" - ) - } - ) - - Spacer(modifier = Modifier.height(33.dp)) - - FormField( - label = stringResource(id = R.string.ic_onboarding_signup_gender), - content = { - GenderSelector( - selectedGender = state.selectedGender, - onGenderSelected = viewModel::selectGender - ) - } - ) + Spacer(modifier = Modifier.height(33.dp)) - Spacer(modifier = Modifier.height(33.dp)) - - FormField( - label = stringResource(id = R.string.ic_onboarding_signup_age), - content = { - SignUpTextField( - value = state.age, - onValueChange = viewModel::onAgeChanged, - placeholder = "나이를 입력해주세요" - ) - } - ) + FormField( + label = stringResource(id = R.string.ic_onboarding_signup_gender), + content = { + GenderSelector( + selectedGender = state.selectedGender, + onGenderSelected = viewModel::selectGender + ) + } + ) + + Spacer(modifier = Modifier.height(33.dp)) + + FormField( + label = stringResource(id = R.string.ic_onboarding_signup_age), + content = { + SignUpTextField( + value = state.age, + onValueChange = viewModel::onAgeChanged, + placeholder = "나이를 입력해주세요" + ) + } + ) - Spacer(modifier = Modifier.weight(1f)) + Spacer(modifier = Modifier.weight(1f)) - val isFormValid = state.name.isNotBlank() && - state.age.isNotBlank() && - state.selectedGender != SignUpContract.Gender.UNKNOWN + val isFormValid = state.name.isNotBlank() && + state.age.isNotBlank() && + state.selectedGender != SignUpContract.Gender.UNKNOWN - PawkeyButton( - text = stringResource(id = R.string.ic_onboarding_signup_name), - enabled = isFormValid, - onClick = { - if (isFormValid) { - navigateSignUpActivity() + PawkeyButton( + text = stringResource(id = R.string.ic_onboarding_signup_name), + enabled = isFormValid, + onClick = { + if (isFormValid) { + navigateSignUpActivity() + } } - } - ) + ) - Spacer(modifier = Modifier.height(46.dp)) + Spacer(modifier = Modifier.height(46.dp)) + } } + } @Composable diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpHeader.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpHeader.kt index 695870c3..f2a4c317 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpHeader.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpHeader.kt @@ -1,5 +1,8 @@ package com.paw.key.presentation.ui.signup.component +import androidx.compose.animation.core.FastOutSlowInEasing +import androidx.compose.animation.core.animateFloatAsState +import androidx.compose.animation.core.tween import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -11,8 +14,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.paw.key.core.designsystem.theme.PawKeyTheme @@ -36,6 +41,16 @@ fun SignUpHeader( modifier: Modifier = Modifier, progress: Float = 1F, ) { + + val animatedProgress by animateFloatAsState( + targetValue = progress, + animationSpec = tween( + durationMillis = 1000, + easing = FastOutSlowInEasing + ), + label = "progress_animation" + ) + Column( modifier = modifier .fillMaxWidth() @@ -65,12 +80,15 @@ fun SignUpHeader( Spacer(modifier = Modifier.weight(1F)) LinearProgressIndicator( - progress = { progress }, + progress = { animatedProgress }, modifier = Modifier .fillMaxWidth() .height(2.dp), color = PawKeyTheme.colors.green500, trackColor = PawKeyTheme.colors.gray100, + strokeCap = StrokeCap.Square, + gapSize = 0.dp, + drawStopIndicator = {} ) } } diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpLoationGrid.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpLoationGrid.kt deleted file mode 100644 index 5c23727c..00000000 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpLoationGrid.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.paw.key.presentation.ui.signup.component - -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview -import com.paw.key.core.designsystem.theme.PawKeyTheme - -@Preview(showBackground = true) -@Composable -private fun PreviewSignUpLoationGrid() { - PawKeyTheme { - SignUpLoationGrid() - } -} - -@Composable -fun SignUpLoationGrid( - modifier: Modifier = Modifier, -) { - LocationButton( - location = "개포동", - isEnable = true, - onClick = {} - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpTextField.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpTextField.kt index 504a42cb..8e217255 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpTextField.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/component/SignUpTextField.kt @@ -23,7 +23,7 @@ fun SignUpTextField( value: String, onValueChange: (String) -> Unit, modifier: Modifier = Modifier, - placeholder: String = "", + placeholder: String, enabled: Boolean = true, ) { val isClicked = remember { mutableStateOf(false) } diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpActivityNavigation.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpActivityNavigation.kt index 5f937a1e..7df1803b 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpActivityNavigation.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpActivityNavigation.kt @@ -15,7 +15,7 @@ fun NavController.navigateSignUpActivity( navigate(SignUpActivity, navOptions) } -fun NavGraphBuilder.signupactivityNavGraph( +fun NavGraphBuilder.signUpActivityNavGraph( navigateSignUpDog: () -> Unit, modifier: Modifier = Modifier, ) { diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpLevelNavigation.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpLevelNavigation.kt index 2f06bb76..17d30e34 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpLevelNavigation.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/navigation/SignUpLevelNavigation.kt @@ -15,7 +15,7 @@ fun NavController.navigateSignLevel( navigate(SignUpLevel, navOptions) } -fun NavGraphBuilder.signupLevelNavGraph( +fun NavGraphBuilder.signUpLevelNavGraph( navigateNext: () -> Unit, modifier: Modifier = Modifier, ) { diff --git a/app/src/main/java/com/paw/key/presentation/ui/signup/state/SignUpContract.kt b/app/src/main/java/com/paw/key/presentation/ui/signup/state/SignUpContract.kt index fa21213b..b456e0b8 100644 --- a/app/src/main/java/com/paw/key/presentation/ui/signup/state/SignUpContract.kt +++ b/app/src/main/java/com/paw/key/presentation/ui/signup/state/SignUpContract.kt @@ -15,7 +15,7 @@ class SignUpContract { val dogGender: DogGender = DogGender.UNKNOWN, val isNeutered: Boolean = false, val dogBreed: String = "", - val ageKnown: AgeKnown = AgeKnown.UNKNOWN, + val ageKnown: AgeKnown = AgeKnown.NONE, val dogAge: String = "", val selectedEnergyLevel: String = "", @@ -38,6 +38,7 @@ class SignUpContract { } enum class AgeKnown { + NONE, KNOWN, UNKNOWN }