diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3543d305..fadadfb3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,6 +41,11 @@ + + + + diff --git a/app/src/main/java/com/going/going/di/DataSourceModule.kt b/app/src/main/java/com/going/going/di/DataSourceModule.kt index 292409d3..9e7eb073 100644 --- a/app/src/main/java/com/going/going/di/DataSourceModule.kt +++ b/app/src/main/java/com/going/going/di/DataSourceModule.kt @@ -1,6 +1,8 @@ package com.going.going.di +import com.going.data.datasource.LoginDataSource import com.going.data.datasource.MockDataSource +import com.going.data.datasourceImpl.LoginDataSourceImpl import com.going.data.datasourceImpl.MockDataSourceImpl import dagger.Module import dagger.Provides @@ -17,4 +19,10 @@ object DataSourceModule { fun provideMockDataSource(mockDataSourceImpl: MockDataSourceImpl): MockDataSource = mockDataSourceImpl -} \ No newline at end of file + @Provides + @Singleton + fun provideLoginDataSource(loginDataSourceImpl: LoginDataSourceImpl): LoginDataSource = + loginDataSourceImpl + + +} diff --git a/app/src/main/java/com/going/going/di/RepositoryModule.kt b/app/src/main/java/com/going/going/di/RepositoryModule.kt index 5d46141b..54247470 100644 --- a/app/src/main/java/com/going/going/di/RepositoryModule.kt +++ b/app/src/main/java/com/going/going/di/RepositoryModule.kt @@ -1,6 +1,8 @@ package com.going.going.di +import com.going.data.repositoryImpl.LoginRepositoryImpl import com.going.data.repositoryImpl.MockRepositoryImpl +import com.going.domain.repository.LoginRepository import com.going.domain.repository.MockRepository import dagger.Module import dagger.Provides @@ -17,4 +19,8 @@ object RepositoryModule { fun provideMockRepository(mockRepositoryImpl: MockRepositoryImpl): MockRepository = mockRepositoryImpl -} \ No newline at end of file + @Provides + @Singleton + fun provideLoginRepository(loginRepositoryImpl: LoginRepositoryImpl): LoginRepository = + loginRepositoryImpl +} diff --git a/app/src/main/java/com/going/going/di/ServiceModule.kt b/app/src/main/java/com/going/going/di/ServiceModule.kt index 18e3873f..1f39737b 100644 --- a/app/src/main/java/com/going/going/di/ServiceModule.kt +++ b/app/src/main/java/com/going/going/di/ServiceModule.kt @@ -1,5 +1,6 @@ package com.going.going.di +import com.going.data.service.LoginService import com.going.data.service.MockService import dagger.Module import dagger.Provides @@ -17,4 +18,9 @@ object ServiceModule { fun provideMockService(retrofit: Retrofit): MockService = retrofit.create(MockService::class.java) -} \ No newline at end of file + @Provides + @Singleton + fun provideLoginService(retrofit: Retrofit): LoginService = + retrofit.create(LoginService::class.java) + +} diff --git a/data/src/main/java/com/going/data/datasource/LoginDataSource.kt b/data/src/main/java/com/going/data/datasource/LoginDataSource.kt new file mode 100644 index 00000000..254e1b4c --- /dev/null +++ b/data/src/main/java/com/going/data/datasource/LoginDataSource.kt @@ -0,0 +1,12 @@ +package com.going.data.datasource + +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.RequestLoginDto +import com.going.data.dto.response.LoginResponseDto + +interface LoginDataSource { + suspend fun postLogin( + Authorization: String, + platform: RequestLoginDto, + ): BaseResponse +} diff --git a/data/src/main/java/com/going/data/datasourceImpl/LoginDataSourceImpl.kt b/data/src/main/java/com/going/data/datasourceImpl/LoginDataSourceImpl.kt new file mode 100644 index 00000000..b2f5c59b --- /dev/null +++ b/data/src/main/java/com/going/data/datasourceImpl/LoginDataSourceImpl.kt @@ -0,0 +1,18 @@ +package com.going.data.datasourceImpl + +import com.going.data.datasource.LoginDataSource +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.RequestLoginDto +import com.going.data.dto.response.LoginResponseDto +import com.going.data.service.LoginService +import javax.inject.Inject + +class LoginDataSourceImpl @Inject constructor( + private val loginService: LoginService, +) : LoginDataSource { + override suspend fun postLogin( + Authorization: String, + platform: RequestLoginDto, + ): BaseResponse = + loginService.postSignin(Authorization, platform) +} diff --git a/data/src/main/java/com/going/data/dto/BaseResponse.kt b/data/src/main/java/com/going/data/dto/BaseResponse.kt new file mode 100644 index 00000000..bf7834d1 --- /dev/null +++ b/data/src/main/java/com/going/data/dto/BaseResponse.kt @@ -0,0 +1,14 @@ +package com.going.data.dto + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class BaseResponse( + @SerialName("status") + val status: Int, + @SerialName("message") + val message: String, + @SerialName("data") + val data: T, +) diff --git a/data/src/main/java/com/going/data/dto/request/RequestLoginDto.kt b/data/src/main/java/com/going/data/dto/request/RequestLoginDto.kt new file mode 100644 index 00000000..a10a4310 --- /dev/null +++ b/data/src/main/java/com/going/data/dto/request/RequestLoginDto.kt @@ -0,0 +1,10 @@ +package com.going.data.dto.request + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class RequestLoginDto( + @SerialName("platform") + val platform: String +) diff --git a/data/src/main/java/com/going/data/dto/response/LoginResponseDto.kt b/data/src/main/java/com/going/data/dto/response/LoginResponseDto.kt new file mode 100644 index 00000000..c52b73e6 --- /dev/null +++ b/data/src/main/java/com/going/data/dto/response/LoginResponseDto.kt @@ -0,0 +1,37 @@ +package com.going.data.dto.response + +import com.going.domain.entity.response.AuthTokenModel +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class LoginResponseDto( + @SerialName("accessToken") + val accessToken: String, + @SerialName("refreshToken") + val refreshToken: String, +) { + fun toAuthTokenModel() = + AuthTokenModel(accessToken = accessToken, refreshToken = refreshToken) +} + +// @Serializable +// data class LoginResponseDto( +// @SerialName("status") +// val status: Int, +// @SerialName("message") +// val message: String, +// @SerialName("data") +// val data: Data, +// ) { +// @Serializable +// data class Data( +// @SerialName("accessToken") +// val accessToken: String, +// @SerialName("refreshToken") +// val refreshToken: String, +// ) +// +// fun toAuthTokenModel() = +// AuthTokenModel(accessToken = data.accessToken, refreshToken = data.refreshToken) +// } diff --git a/data/src/main/java/com/going/data/repositoryImpl/LoginRepositoryImpl.kt b/data/src/main/java/com/going/data/repositoryImpl/LoginRepositoryImpl.kt new file mode 100644 index 00000000..04d5e991 --- /dev/null +++ b/data/src/main/java/com/going/data/repositoryImpl/LoginRepositoryImpl.kt @@ -0,0 +1,22 @@ +package com.going.data.repositoryImpl + +import com.going.data.datasource.LoginDataSource +import com.going.data.dto.request.RequestLoginDto +import com.going.domain.entity.response.AuthTokenModel +import com.going.domain.repository.LoginRepository +import javax.inject.Inject + +class LoginRepositoryImpl @Inject constructor( + private val loginDataSource: LoginDataSource, +) : LoginRepository { + override suspend fun postSignin( + Authorization: String, + platform: String, + ): Result = + runCatching { + loginDataSource.postLogin( + Authorization, + RequestLoginDto(platform), + ).data.toAuthTokenModel() + } +} diff --git a/data/src/main/java/com/going/data/service/LoginService.kt b/data/src/main/java/com/going/data/service/LoginService.kt new file mode 100644 index 00000000..1859e29b --- /dev/null +++ b/data/src/main/java/com/going/data/service/LoginService.kt @@ -0,0 +1,16 @@ +package com.going.data.service + +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.RequestLoginDto +import com.going.data.dto.response.LoginResponseDto +import retrofit2.http.Body +import retrofit2.http.Header +import retrofit2.http.POST + +interface LoginService { + @POST("api/users/signin") + suspend fun postSignin( + @Header("Authorization") Authorization: String, + @Body body: RequestLoginDto, + ): BaseResponse +} diff --git a/domain/src/main/kotlin/com/going/domain/entity/TendencyResultMock.kt b/domain/src/main/kotlin/com/going/domain/entity/TendencyResultMock.kt new file mode 100644 index 00000000..76eea743 --- /dev/null +++ b/domain/src/main/kotlin/com/going/domain/entity/TendencyResultMock.kt @@ -0,0 +1,15 @@ +package com.going.domain.entity + +data class TendencyResultMock( + val tendencyTitle: String, + val tendencySubTitle: String, + val tags: List, + val tendencyBoxInfo: List, +) { + data class BoxInfo( + val title: String, + val first: String, + val second: String, + val third: String, + ) +} diff --git a/domain/src/main/kotlin/com/going/domain/entity/response/AuthTokenModel.kt b/domain/src/main/kotlin/com/going/domain/entity/response/AuthTokenModel.kt index 38fe35f9..651139d0 100644 --- a/domain/src/main/kotlin/com/going/domain/entity/response/AuthTokenModel.kt +++ b/domain/src/main/kotlin/com/going/domain/entity/response/AuthTokenModel.kt @@ -1,7 +1,6 @@ package com.going.domain.entity.response data class AuthTokenModel( - val isResigned: Boolean, val accessToken: String, val refreshToken: String, ) diff --git a/domain/src/main/kotlin/com/going/domain/repository/LoginRepository.kt b/domain/src/main/kotlin/com/going/domain/repository/LoginRepository.kt new file mode 100644 index 00000000..8b70be28 --- /dev/null +++ b/domain/src/main/kotlin/com/going/domain/repository/LoginRepository.kt @@ -0,0 +1,10 @@ +package com.going.domain.repository + +import com.going.domain.entity.response.AuthTokenModel + +interface LoginRepository { + suspend fun postSignin( + Authorization: String, + platform: String, + ): Result +} diff --git a/presentation/src/main/java/com/going/presentation/auth/LoginActivity.kt b/presentation/src/main/java/com/going/presentation/auth/LoginActivity.kt index 32c405e7..f46301f3 100644 --- a/presentation/src/main/java/com/going/presentation/auth/LoginActivity.kt +++ b/presentation/src/main/java/com/going/presentation/auth/LoginActivity.kt @@ -9,9 +9,11 @@ import com.going.presentation.databinding.ActivityLoginBinding import com.going.ui.base.BaseActivity import com.going.ui.extension.UiState import com.going.ui.extension.setOnSingleClickListener +import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach +@AndroidEntryPoint class LoginActivity : BaseActivity(R.layout.activity_login) { private val viewModel by viewModels() diff --git a/presentation/src/main/java/com/going/presentation/auth/LoginViewModel.kt b/presentation/src/main/java/com/going/presentation/auth/LoginViewModel.kt index 54fd0a35..4ab0f59e 100644 --- a/presentation/src/main/java/com/going/presentation/auth/LoginViewModel.kt +++ b/presentation/src/main/java/com/going/presentation/auth/LoginViewModel.kt @@ -4,16 +4,23 @@ import android.content.Context import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.going.domain.entity.response.AuthTokenModel +import com.going.domain.repository.LoginRepository import com.going.ui.extension.UiState import com.kakao.sdk.auth.model.OAuthToken import com.kakao.sdk.common.model.ClientError import com.kakao.sdk.common.model.ClientErrorCause import com.kakao.sdk.user.UserApiClient +import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch +import timber.log.Timber +import javax.inject.Inject -class LoginViewModel : ViewModel() { +@HiltViewModel +class LoginViewModel @Inject constructor( + private val loginRepository: LoginRepository, +) : ViewModel() { private val _postChangeTokenState = MutableStateFlow>(UiState.Empty) val postChangeTokenState: StateFlow> = _postChangeTokenState @@ -64,19 +71,22 @@ class LoginViewModel : ViewModel() { viewModelScope.launch { // 통신 로직 - - // 성공시 서버에서 준 정보를 넣는 예시 코드 - _postChangeTokenState.value = UiState.Success( - AuthTokenModel( - isResigned = true, - accessToken = "testAccessToekn", - refreshToken = "testRefreshToekn", - ), - ) + loginRepository.postSignin(accessToken, social).onSuccess { + // 성공시 서버에서 준 정보를 넣는 예시 코드 + Timber.e("성공고오고오고공") + _postChangeTokenState.value = UiState.Success( + AuthTokenModel( + accessToken = "testAccessToekn", + refreshToken = "testRefreshToekn", + ), + ) + }.onFailure { err -> + Timber.e("실패패패패패패") + } } } companion object { - const val KAKAO = "KAKAO" + const val KAKAO = "kakao" } } diff --git a/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultActivity.kt b/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultActivity.kt new file mode 100644 index 00000000..d4c9c88e --- /dev/null +++ b/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultActivity.kt @@ -0,0 +1,83 @@ +package com.going.presentation.tendencytest.result + +import android.os.Bundle +import android.text.SpannableString +import android.text.Spanned +import android.text.style.BulletSpan +import androidx.activity.viewModels +import com.going.presentation.R +import com.going.presentation.databinding.ActivityTendencyTestResultBinding +import com.going.ui.base.BaseActivity +import com.going.ui.extension.setOnSingleClickListener + +class TendencyTestResultActivity : + BaseActivity(R.layout.activity_tendency_test_result) { + private val viewModel by viewModels() + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + bindTendencyInfo() + + initSaveImgBtnClickListener() + initFinishBtnClickListener() + } + + private fun bindTendencyInfo() { + with(binding) { + tvTendencyTestResultTitle.text = getString(R.string.tendency_test_result_title, "찐두릅") + + viewModel.mockTendencyResult.apply { + tvTendencyTestResultType.text = tendencyTitle + tvTendencyTestResultSubType.text = tendencySubTitle + + tvTendencyTestResultTag1.text = tags[0] + tvTendencyTestResultTag2.text = tags[1] + tvTendencyTestResultTag3.text = tags[2] + + tvFirstDescriptionTitle.text = tendencyBoxInfo[0].title + tvFirstDescriptionFirstText.text = + setBulletPoint(tendencyBoxInfo[0].first) + tvFirstDescriptionSecondText.text = + setBulletPoint(tendencyBoxInfo[0].second) + tvFirstDescriptionThirdText.text = + setBulletPoint(tendencyBoxInfo[0].third) + + tvSecondDescriptionTitle.text = + tendencyBoxInfo[1].title + tvSecondDescriptionFirstText.text = + setBulletPoint(tendencyBoxInfo[1].first) + tvSecondDescriptionSecondText.text = + setBulletPoint(tendencyBoxInfo[1].second) + tvSecondDescriptionThirdText.text = + setBulletPoint(tendencyBoxInfo[1].third) + + tvThirdDescriptionTitle.text = tendencyBoxInfo[2].title + tvThirdDescriptionFirstText.text = + setBulletPoint(tendencyBoxInfo[2].first) + tvThirdDescriptionSecondText.text = + setBulletPoint(tendencyBoxInfo[2].second) + tvThirdDescriptionThirdText.text = + setBulletPoint(tendencyBoxInfo[2].third) + } + } + } + + private fun setBulletPoint(text: String): SpannableString { + val string = SpannableString(text) + string.setSpan(BulletSpan(10), 0, text.length - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + + return string + } + + private fun initSaveImgBtnClickListener() { + binding.btnTendencyTestResultSave.setOnSingleClickListener { + // 이미지 저장 + } + } + + private fun initFinishBtnClickListener() { + binding.btnTendencyTestResultFinish.setOnSingleClickListener { + // 페이지 이동 + } + } +} diff --git a/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultViewModel.kt b/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultViewModel.kt new file mode 100644 index 00000000..e3a0dd4a --- /dev/null +++ b/presentation/src/main/java/com/going/presentation/tendencytest/result/TendencyTestResultViewModel.kt @@ -0,0 +1,36 @@ +package com.going.presentation.tendencytest.result + +import androidx.lifecycle.ViewModel +import com.going.domain.entity.TendencyResultMock + +class TendencyTestResultViewModel : ViewModel() { + val mockTendencyResult: TendencyResultMock = TendencyResultMock( + tendencyTitle = "배려심 많은 인간 플래너", + tendencySubTitle = "꼼꼼하고 세심하게 여행을 준비하는 친구", + tags = listOf( + "#친구중심", + "#꼼꼼함", + "#세심함", + ), + tendencyBoxInfo = listOf( + TendencyResultMock.BoxInfo( + "이런점이\n좋아요", + "같이 가는 친구들을 잘 챙기고 배려해요", + "친구들의 의견을 잘 반영해 만족할 수 있는 일정을 계획해요", + "꼼꼼하고 부지런해 맡은 일에서 실수가 적어요", + ), + TendencyResultMock.BoxInfo( + "이런점은\n주의해줘요", + "완벽주의 성향이 강해 계획이 틀어졌을 때 예민해질 수 있어요", + "싸우지 않고 여행하는 것을 중요시 해 갈등의 조짐이 보이면 많은 스트레스를 받아요", + "예기치 않은 상황에서 크게 당횡해요", + ), + TendencyResultMock.BoxInfo( + "이런걸\n잘해요", + "전반적인 여행 계획 마련", + "호텔과 비행기표 예약 및 관리", + "기타 행동이 필요한 것들", + ), + ), + ) +} diff --git a/presentation/src/main/res/drawable/ic_save_btn.xml b/presentation/src/main/res/drawable/ic_save_btn.xml new file mode 100644 index 00000000..a086bd89 --- /dev/null +++ b/presentation/src/main/res/drawable/ic_save_btn.xml @@ -0,0 +1,14 @@ + + + + diff --git a/presentation/src/main/res/drawable/img_blur.xml b/presentation/src/main/res/drawable/img_blur.xml new file mode 100644 index 00000000..d3adab03 --- /dev/null +++ b/presentation/src/main/res/drawable/img_blur.xml @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/presentation/src/main/res/drawable/sel_rounded_corner_button.xml b/presentation/src/main/res/drawable/sel_rounded_corner_button.xml index 59dbca25..bc06065a 100644 --- a/presentation/src/main/res/drawable/sel_rounded_corner_button.xml +++ b/presentation/src/main/res/drawable/sel_rounded_corner_button.xml @@ -4,7 +4,7 @@ - + diff --git a/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4.xml b/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4.xml new file mode 100644 index 00000000..770457e6 --- /dev/null +++ b/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4.xml @@ -0,0 +1,8 @@ + + + + diff --git a/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4_vertical.xml b/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4_vertical.xml new file mode 100644 index 00000000..147e1c3f --- /dev/null +++ b/presentation/src/main/res/drawable/shape_line_gray100_fill_dash_4_vertical.xml @@ -0,0 +1,5 @@ + + diff --git a/presentation/src/main/res/drawable/shape_rect_10_red300_line.xml b/presentation/src/main/res/drawable/shape_rect_10_red300_line.xml new file mode 100644 index 00000000..1d7c7b4b --- /dev/null +++ b/presentation/src/main/res/drawable/shape_rect_10_red300_line.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/presentation/src/main/res/drawable/shape_rect_4_gray500_fill.xml b/presentation/src/main/res/drawable/shape_rect_4_gray500_fill.xml new file mode 100644 index 00000000..f25b3620 --- /dev/null +++ b/presentation/src/main/res/drawable/shape_rect_4_gray500_fill.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/presentation/src/main/res/drawable/shape_rect_6_gray200_line.xml b/presentation/src/main/res/drawable/shape_rect_6_gray200_line.xml new file mode 100644 index 00000000..661bad29 --- /dev/null +++ b/presentation/src/main/res/drawable/shape_rect_6_gray200_line.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/presentation/src/main/res/drawable/shape_rect_topleft_8_topright_8_white000_fill.xml b/presentation/src/main/res/drawable/shape_rect_topleft_8_topright_8_white000_fill.xml new file mode 100644 index 00000000..aed64ec5 --- /dev/null +++ b/presentation/src/main/res/drawable/shape_rect_topleft_8_topright_8_white000_fill.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/presentation/src/main/res/layout/activity_onboarding_profile_setting.xml b/presentation/src/main/res/layout/activity_onboarding_profile_setting.xml index 892407ad..6e2ef9f8 100644 --- a/presentation/src/main/res/layout/activity_onboarding_profile_setting.xml +++ b/presentation/src/main/res/layout/activity_onboarding_profile_setting.xml @@ -133,9 +133,10 @@ android:background="@drawable/sel_rounded_corner_button" android:enabled="@{viewModel.isProfileAvailable()}" android:onClick="@{() -> viewModel.setIsMoveScreenAvailable()}" + android:outlineProvider="none" android:paddingVertical="10dp" android:text="@string/onboarding_finish_btn" - android:textColor="@{viewModel.isProfileAvailable() == true ? @color/white_000 : @color/gray_50}" + android:textColor="@{viewModel.isProfileAvailable() == true ? @color/white_000 : @color/gray_200}" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/presentation/src/main/res/layout/activity_tendency_test.xml b/presentation/src/main/res/layout/activity_tendency_test.xml index f543e1ef..46973157 100644 --- a/presentation/src/main/res/layout/activity_tendency_test.xml +++ b/presentation/src/main/res/layout/activity_tendency_test.xml @@ -185,9 +185,10 @@ android:layout_marginBottom="22dp" android:background="@drawable/sel_rounded_corner_button" android:enabled="@{viewModel.isChecked()}" + android:outlineProvider="none" android:paddingVertical="10dp" android:text="@{viewModel.step == 9 ? @string/tendency_test_button_final : @string/tendency_test_button_next}" - android:textColor="@color/white_000" + android:textColor="@color/gray_200" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> diff --git a/presentation/src/main/res/layout/activity_tendency_test_result.xml b/presentation/src/main/res/layout/activity_tendency_test_result.xml new file mode 100644 index 00000000..bd125d0b --- /dev/null +++ b/presentation/src/main/res/layout/activity_tendency_test_result.xml @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presentation/src/main/res/layout/activity_tendency_test_splash.xml b/presentation/src/main/res/layout/activity_tendency_test_splash.xml index 40d7cdb7..cde5119f 100644 --- a/presentation/src/main/res/layout/activity_tendency_test_splash.xml +++ b/presentation/src/main/res/layout/activity_tendency_test_splash.xml @@ -44,6 +44,7 @@ android:background="@drawable/sel_rounded_corner_button" android:paddingVertical="10dp" android:text="@string/tendency_splash_start_btn" + android:outlineProvider="none" android:textColor="@color/white_000" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index 7e8562ec..3fb11c2d 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -30,6 +30,13 @@ 나의 여행 성향은? 다음 제출하기 + + + 유형 검사 결과 + %1$s님의 여행 유형은 + 다음 + 다시 해볼래요 + 이미지로 저장 우리 여행 진행률 diff --git a/presentation/src/main/res/values/themes.xml b/presentation/src/main/res/values/themes.xml index fd90a6d8..ff6063f4 100644 --- a/presentation/src/main/res/values/themes.xml +++ b/presentation/src/main/res/values/themes.xml @@ -35,7 +35,7 @@