From d49ff7d009f158b861940f35c2231ed2b68404ac Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 00:15:00 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[ADD/#36]=20BaseResponse=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/co/orange/data/dto/BaseResponse.kt | 16 ++++++++-------- .../co/orange/data/dto/NonDataBaseResponse.kt | 14 -------------- 2 files changed, 8 insertions(+), 22 deletions(-) delete mode 100644 data/src/main/java/co/orange/data/dto/NonDataBaseResponse.kt diff --git a/data/src/main/java/co/orange/data/dto/BaseResponse.kt b/data/src/main/java/co/orange/data/dto/BaseResponse.kt index dbb732e4..7953df8e 100644 --- a/data/src/main/java/co/orange/data/dto/BaseResponse.kt +++ b/data/src/main/java/co/orange/data/dto/BaseResponse.kt @@ -5,14 +5,14 @@ import kotlinx.serialization.Serializable @Serializable data class BaseResponse( - @SerialName("success") - val success: Boolean, - @SerialName("response") - val response: T, - @SerialName("code") - val code: String, - @SerialName("message") - val message: String, @SerialName("status") val status: Int, + @SerialName("message") + val message: String, + @SerialName("timestamp") + val timestamp: String, + @SerialName("path") + val path: String, + @SerialName("data") + val data: T, ) diff --git a/data/src/main/java/co/orange/data/dto/NonDataBaseResponse.kt b/data/src/main/java/co/orange/data/dto/NonDataBaseResponse.kt deleted file mode 100644 index 60876e19..00000000 --- a/data/src/main/java/co/orange/data/dto/NonDataBaseResponse.kt +++ /dev/null @@ -1,14 +0,0 @@ -package co.orange.data.dto - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class NonDataBaseResponse( - @SerialName("success") - val success: Boolean, - @SerialName("errorCode") - val errorCode: String?, - @SerialName("errorMessage") - val errorMessage: String?, -) From 4e5c22b02b90aec368cddf0a8d41aa52771f91bb Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 00:39:17 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[ADD/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20domain=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/co/orange/domain/entity/response/HomeModel.kt | 6 ++++++ .../co/orange/domain/entity/response/ProductModel.kt | 3 ++- .../kotlin/co/orange/domain/repository/HomeRepository.kt | 7 +++++++ .../co/orange/presentation/main/home/HomeViewModel.kt | 9 +++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 domain/src/main/kotlin/co/orange/domain/entity/response/HomeModel.kt create mode 100644 domain/src/main/kotlin/co/orange/domain/repository/HomeRepository.kt diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/HomeModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/HomeModel.kt new file mode 100644 index 00000000..7dae330b --- /dev/null +++ b/domain/src/main/kotlin/co/orange/domain/entity/response/HomeModel.kt @@ -0,0 +1,6 @@ +package co.orange.domain.entity.response + +data class HomeModel( + val homeImgUrl: String, + val productList: List, +) diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt index 25c0ba3e..2949f58f 100644 --- a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt +++ b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt @@ -2,9 +2,10 @@ package co.orange.domain.entity.response data class ProductModel( val productId: Long, + val kakaoProductId: Long, val name: String, val imgUrl: String, val originPrice: Int, val salePrice: Int, val interestCount: Int, -) \ No newline at end of file +) diff --git a/domain/src/main/kotlin/co/orange/domain/repository/HomeRepository.kt b/domain/src/main/kotlin/co/orange/domain/repository/HomeRepository.kt new file mode 100644 index 00000000..a5c25899 --- /dev/null +++ b/domain/src/main/kotlin/co/orange/domain/repository/HomeRepository.kt @@ -0,0 +1,7 @@ +package co.orange.domain.repository + +import co.orange.domain.entity.response.HomeModel + +interface HomeRepository { + suspend fun getHomeData(): Result +} diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt index 615c8bb4..2a23a938 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt @@ -30,6 +30,7 @@ class HomeViewModel val mockItemList = listOf( ProductModel( + 1, 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -39,6 +40,7 @@ class HomeViewModel ), ProductModel( 2, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -47,6 +49,7 @@ class HomeViewModel ), ProductModel( 3, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -55,6 +58,7 @@ class HomeViewModel ), ProductModel( 4, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -63,6 +67,7 @@ class HomeViewModel ), ProductModel( 5, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -71,6 +76,7 @@ class HomeViewModel ), ProductModel( 6, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -79,6 +85,7 @@ class HomeViewModel ), ProductModel( 7, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -87,6 +94,7 @@ class HomeViewModel ), ProductModel( 8, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -95,6 +103,7 @@ class HomeViewModel ), ProductModel( 9, + 1, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, From ae3ac4ea187efaae5e0573d3c44a3ad81416a343 Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 01:00:11 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[ADD/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20data=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orange/data/dataSource/HomeDataSource.kt | 8 ++++++ .../data/dataSourceImpl/HomeDataSourceImpl.kt | 15 +++++++++++ .../co/orange/data/dto/response/HomeDto.kt | 15 +++++++++++ .../co/orange/data/dto/response/ProductDto.kt | 25 +++++++++++++++++++ .../data/repositoryImpl/AuthRepositoryImpl.kt | 2 +- .../data/repositoryImpl/HomeRepositoryImpl.kt | 14 +++++++++++ .../co/orange/data/service/HomeService.kt | 10 ++++++++ 7 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 data/src/main/java/co/orange/data/dataSource/HomeDataSource.kt create mode 100644 data/src/main/java/co/orange/data/dataSourceImpl/HomeDataSourceImpl.kt create mode 100644 data/src/main/java/co/orange/data/dto/response/HomeDto.kt create mode 100644 data/src/main/java/co/orange/data/dto/response/ProductDto.kt create mode 100644 data/src/main/java/co/orange/data/repositoryImpl/HomeRepositoryImpl.kt create mode 100644 data/src/main/java/co/orange/data/service/HomeService.kt diff --git a/data/src/main/java/co/orange/data/dataSource/HomeDataSource.kt b/data/src/main/java/co/orange/data/dataSource/HomeDataSource.kt new file mode 100644 index 00000000..a4576928 --- /dev/null +++ b/data/src/main/java/co/orange/data/dataSource/HomeDataSource.kt @@ -0,0 +1,8 @@ +package co.orange.data.dataSource + +import co.orange.data.dto.BaseResponse +import co.orange.data.dto.response.HomeDto + +interface HomeDataSource { + suspend fun getHomeData(): BaseResponse +} diff --git a/data/src/main/java/co/orange/data/dataSourceImpl/HomeDataSourceImpl.kt b/data/src/main/java/co/orange/data/dataSourceImpl/HomeDataSourceImpl.kt new file mode 100644 index 00000000..7bb8f24a --- /dev/null +++ b/data/src/main/java/co/orange/data/dataSourceImpl/HomeDataSourceImpl.kt @@ -0,0 +1,15 @@ +package co.orange.data.dataSourceImpl + +import co.orange.data.dataSource.HomeDataSource +import co.orange.data.dto.BaseResponse +import co.orange.data.dto.response.HomeDto +import co.orange.data.service.HomeService +import javax.inject.Inject + +data class HomeDataSourceImpl + @Inject + constructor( + private val homeService: HomeService, + ) : HomeDataSource { + override suspend fun getHomeData(): BaseResponse = homeService.getHomeData() + } diff --git a/data/src/main/java/co/orange/data/dto/response/HomeDto.kt b/data/src/main/java/co/orange/data/dto/response/HomeDto.kt new file mode 100644 index 00000000..f0a84d41 --- /dev/null +++ b/data/src/main/java/co/orange/data/dto/response/HomeDto.kt @@ -0,0 +1,15 @@ +package co.orange.data.dto.response + +import co.orange.domain.entity.response.HomeModel +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class HomeDto( + @SerialName("homeImgUrl") + val homeImgUrl: String, + @SerialName("productList") + val productList: List, +) { + fun toModel() = HomeModel(homeImgUrl, productList.map { it.toModel() }) +} diff --git a/data/src/main/java/co/orange/data/dto/response/ProductDto.kt b/data/src/main/java/co/orange/data/dto/response/ProductDto.kt new file mode 100644 index 00000000..e4da0131 --- /dev/null +++ b/data/src/main/java/co/orange/data/dto/response/ProductDto.kt @@ -0,0 +1,25 @@ +package co.orange.data.dto.response + +import co.orange.domain.entity.response.ProductModel +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ProductDto( + @SerialName("productId") + val productId: Long, + @SerialName("kakaoProductId") + val kakaoProductId: Long, + @SerialName("name") + val name: String, + @SerialName("imgUrl") + val imgUrl: String, + @SerialName("originPrice") + val originPrice: Int, + @SerialName("salePrice") + val salePrice: Int, + @SerialName("interestCount") + val interestCount: Int, +) { + fun toModel() = ProductModel(productId, kakaoProductId, name, imgUrl, originPrice, salePrice, interestCount) +} diff --git a/data/src/main/java/co/orange/data/repositoryImpl/AuthRepositoryImpl.kt b/data/src/main/java/co/orange/data/repositoryImpl/AuthRepositoryImpl.kt index 84d6876d..3a11ab2b 100644 --- a/data/src/main/java/co/orange/data/repositoryImpl/AuthRepositoryImpl.kt +++ b/data/src/main/java/co/orange/data/repositoryImpl/AuthRepositoryImpl.kt @@ -20,6 +20,6 @@ class AuthRepositoryImpl authDataSource.postReissueTokens( authorization, request.toDto(), - ).response.toModel() + ).data.toModel() } } diff --git a/data/src/main/java/co/orange/data/repositoryImpl/HomeRepositoryImpl.kt b/data/src/main/java/co/orange/data/repositoryImpl/HomeRepositoryImpl.kt new file mode 100644 index 00000000..d7c8f36d --- /dev/null +++ b/data/src/main/java/co/orange/data/repositoryImpl/HomeRepositoryImpl.kt @@ -0,0 +1,14 @@ +package co.orange.data.repositoryImpl + +import co.orange.data.dataSource.HomeDataSource +import co.orange.domain.entity.response.HomeModel +import co.orange.domain.repository.HomeRepository +import javax.inject.Inject + +class HomeRepositoryImpl + @Inject + constructor( + private val homeDataSource: HomeDataSource, + ) : HomeRepository { + override suspend fun getHomeData(): Result = runCatching { homeDataSource.getHomeData().data.toModel() } + } diff --git a/data/src/main/java/co/orange/data/service/HomeService.kt b/data/src/main/java/co/orange/data/service/HomeService.kt new file mode 100644 index 00000000..1d4fcc30 --- /dev/null +++ b/data/src/main/java/co/orange/data/service/HomeService.kt @@ -0,0 +1,10 @@ +package co.orange.data.service + +import co.orange.data.dto.BaseResponse +import co.orange.data.dto.response.HomeDto +import retrofit2.http.GET + +interface HomeService { + @GET("/api/v1/home") + suspend fun getHomeData(): BaseResponse +} From 408f574aaa20b3f940633a3d8a350a6a8d67045c Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 01:19:07 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[ADD/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20di=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/co/orange/ddanzi/di/DataSourceModule.kt | 6 ++++++ app/src/main/java/co/orange/ddanzi/di/RepositoryModule.kt | 6 ++++++ app/src/main/java/co/orange/ddanzi/di/ServiceModule.kt | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/app/src/main/java/co/orange/ddanzi/di/DataSourceModule.kt b/app/src/main/java/co/orange/ddanzi/di/DataSourceModule.kt index ff476a64..e298f2b9 100644 --- a/app/src/main/java/co/orange/ddanzi/di/DataSourceModule.kt +++ b/app/src/main/java/co/orange/ddanzi/di/DataSourceModule.kt @@ -1,7 +1,9 @@ package co.orange.ddanzi.di import co.orange.data.dataSource.AuthDataSource +import co.orange.data.dataSource.HomeDataSource import co.orange.data.dataSourceImpl.AuthDataSourceImpl +import co.orange.data.dataSourceImpl.HomeDataSourceImpl import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -14,4 +16,8 @@ object DataSourceModule { @Provides @Singleton fun provideAuthDataSource(authDataSourceImpl: AuthDataSourceImpl): AuthDataSource = authDataSourceImpl + + @Provides + @Singleton + fun provideHomeDataSource(homeDataSourceImpl: HomeDataSourceImpl): HomeDataSource = homeDataSourceImpl } diff --git a/app/src/main/java/co/orange/ddanzi/di/RepositoryModule.kt b/app/src/main/java/co/orange/ddanzi/di/RepositoryModule.kt index 9cabf0b9..90793ece 100644 --- a/app/src/main/java/co/orange/ddanzi/di/RepositoryModule.kt +++ b/app/src/main/java/co/orange/ddanzi/di/RepositoryModule.kt @@ -1,7 +1,9 @@ package co.orange.ddanzi.di import co.orange.data.repositoryImpl.AuthRepositoryImpl +import co.orange.data.repositoryImpl.HomeRepositoryImpl import co.orange.domain.repository.AuthRepository +import co.orange.domain.repository.HomeRepository import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -14,4 +16,8 @@ object RepositoryModule { @Provides @Singleton fun provideAuthRepository(authRepositoryImpl: AuthRepositoryImpl): AuthRepository = authRepositoryImpl + + @Provides + @Singleton + fun provideHomeRepository(homeRepositoryImpl: HomeRepositoryImpl): HomeRepository = homeRepositoryImpl } diff --git a/app/src/main/java/co/orange/ddanzi/di/ServiceModule.kt b/app/src/main/java/co/orange/ddanzi/di/ServiceModule.kt index 057e3353..7d6bd679 100644 --- a/app/src/main/java/co/orange/ddanzi/di/ServiceModule.kt +++ b/app/src/main/java/co/orange/ddanzi/di/ServiceModule.kt @@ -1,6 +1,7 @@ package co.orange.ddanzi.di import co.orange.data.service.AuthService +import co.orange.data.service.HomeService import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -16,4 +17,11 @@ object ServiceModule { fun provideAuthService( @RetrofitQualifier.NOTOKEN retrofit: Retrofit, ): AuthService = retrofit.create(AuthService::class.java) + + // TODO 추후 수정 + @Provides + @Singleton + fun provideHomeService( + @RetrofitQualifier.NOTOKEN retrofit: Retrofit, + ): HomeService = retrofit.create(HomeService::class.java) } From 9765eccc5c365319519d1c37c46c1514ce8d24d4 Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 02:07:05 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[ADD/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20presentation=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/entity/response/ProductModel.kt | 15 ++- .../presentation/main/home/HomeFragment.kt | 19 ++- .../presentation/main/home/HomeViewModel.kt | 114 +++++------------- .../presentation/search/SearchViewModel.kt | 9 ++ 4 files changed, 66 insertions(+), 91 deletions(-) diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt index 2949f58f..39c682c4 100644 --- a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt +++ b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt @@ -8,4 +8,17 @@ data class ProductModel( val originPrice: Int, val salePrice: Int, val interestCount: Int, -) +) { + companion object { + fun imageOnlyProductModel(imgUrl: String) = + ProductModel( + -1, + -1, + "", + imgUrl, + 0, + 0, + 0, + ) + } +} diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt index 1a3138e1..4f0039ae 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt @@ -14,6 +14,9 @@ import co.orange.core.base.BaseFragment import co.orange.core.extension.dpToPx import co.orange.core.extension.initOnBackPressedListener import co.orange.core.extension.setOnSingleClickListener +import co.orange.core.extension.stringOf +import co.orange.core.extension.toast +import co.orange.core.state.UiState import co.orange.domain.entity.response.ProductModel import co.orange.presentation.auth.login.LoginActivity import co.orange.presentation.detail.DetailActivity @@ -51,8 +54,8 @@ class HomeFragment() : BaseFragment(R.layout.fragment_home) searchSellProduct() setGridRecyclerView() setRecyclerViewDeco() - setItemList() observeCheckedAgainState() + observeGetHomeDataState() } private fun initView() { @@ -145,10 +148,6 @@ class HomeFragment() : BaseFragment(R.layout.fragment_home) ) } - private fun setItemList() { - adapter.setItemList(viewModel.mockItemList) - } - private fun observeCheckedAgainState() { viewModel.isCheckedAgain.flowWithLifecycle(lifecycle).onEach { isChecked -> if (isChecked) { @@ -158,6 +157,16 @@ class HomeFragment() : BaseFragment(R.layout.fragment_home) }.launchIn(lifecycleScope) } + private fun observeGetHomeDataState() { + viewModel.getHomeDataState.flowWithLifecycle(lifecycle).onEach { state -> + when (state) { + is UiState.Success -> adapter.setItemList(state.data) + is UiState.Failure -> toast(stringOf(R.string.error_msg)) + else -> return@onEach + } + } + } + override fun onDestroyView() { super.onDestroyView() _adapter = null diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt index 2a23a938..fe3aba4a 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt @@ -3,10 +3,15 @@ package co.orange.presentation.main.home import android.net.Uri import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import co.orange.core.state.UiState import co.orange.domain.entity.response.ProductModel +import co.orange.domain.entity.response.ProductModel.Companion.imageOnlyProductModel +import co.orange.domain.repository.HomeRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch import javax.inject.Inject @@ -14,101 +19,40 @@ import javax.inject.Inject class HomeViewModel @Inject constructor( - // private val feedRepository: FeedRepository, + private val homeRepository: HomeRepository, ) : ViewModel() { + init { + getHomeDataFromServer() + } + var selectedImageUri = Uri.EMPTY private val _isCheckedAgain = MutableSharedFlow() val isCheckedAgain: SharedFlow = _isCheckedAgain + private val _getHomeDataState = MutableStateFlow>>(UiState.Empty) + val getHomeDataState: StateFlow>> = _getHomeDataState + fun setCheckedState(state: Boolean) { viewModelScope.launch { _isCheckedAgain.emit(state) } } - val mockItemList = - listOf( - ProductModel( - 1, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 12, - ), - ProductModel( - 2, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 34, - ), - ProductModel( - 3, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 56, - ), - ProductModel( - 4, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 78, - ), - ProductModel( - 5, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 910, - ), - ProductModel( - 6, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 112, - ), - ProductModel( - 7, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 1234, - ), - ProductModel( - 8, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 1234, - ), - ProductModel( - 9, - 1, - "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", - "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", - 54000, - 48900, - 1234, - ), - ) + private fun getHomeDataFromServer() { + viewModelScope.launch { + homeRepository.getHomeData() + .onSuccess { + val itemList = it.productList.toMutableList() + itemList.add( + 0, + imageOnlyProductModel(it.homeImgUrl), + ) + _getHomeDataState.value = UiState.Success(itemList) + } + .onFailure { + _getHomeDataState.value = UiState.Failure(it.message.toString()) + } + } + } } diff --git a/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt b/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt index 6dd83aac..484685e1 100644 --- a/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt @@ -18,6 +18,7 @@ class SearchViewModel listOf( ProductModel( 1, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -26,6 +27,7 @@ class SearchViewModel ), ProductModel( 2, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -39,6 +41,7 @@ class SearchViewModel listOf( ProductModel( 1, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -47,6 +50,7 @@ class SearchViewModel ), ProductModel( 2, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -55,6 +59,7 @@ class SearchViewModel ), ProductModel( 3, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -63,6 +68,7 @@ class SearchViewModel ), ProductModel( 4, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -71,6 +77,7 @@ class SearchViewModel ), ProductModel( 5, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -79,6 +86,7 @@ class SearchViewModel ), ProductModel( 6, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, @@ -87,6 +95,7 @@ class SearchViewModel ), ProductModel( 7, + 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", 54000, From e199e348896f0589ed62130c0ec24a9e998e26c2 Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 02:38:40 +0900 Subject: [PATCH 6/9] =?UTF-8?q?[ADD/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EC=B2=AB=EB=B2=88=EC=A7=B8=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EB=B0=B0=EB=84=88=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/orange/presentation/main/home/HomeAdapter.kt | 2 +- .../presentation/main/home/HomeBannerViewHolder.kt | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt index c39797b9..36dd6f21 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt @@ -52,7 +52,7 @@ class HomeAdapter( ) { when (holder) { is HomeBannerViewHolder -> { - holder.onBind() + if (itemList.isNotEmpty()) holder.onBind(itemList[0]) } is HomeProductViewHolder -> { diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt index e66e9f61..c80f3955 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt @@ -2,6 +2,8 @@ package co.orange.presentation.main.home import androidx.recyclerview.widget.RecyclerView import co.orange.core.extension.setOnSingleClickListener +import co.orange.domain.entity.response.ProductModel +import coil.load import kr.genti.presentation.databinding.ItemHomeBannerBinding class HomeBannerViewHolder( @@ -9,9 +11,12 @@ class HomeBannerViewHolder( val bannerClick: (Unit) -> (Unit), ) : RecyclerView.ViewHolder(binding.root) { - fun onBind() { - binding.root.setOnSingleClickListener { - bannerClick + fun onBind(item: ProductModel) { + with(binding) { + ivHomeBanner.load(item.imgUrl) + root.setOnSingleClickListener { + bannerClick + } } } } From b7ac233b763bd3dd08ed2a51aa6f46aa8ed0f107 Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 03:34:53 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[FEAT/#36]=20=ED=99=88=EB=B7=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/orange/data/dto/response/ProductDto.kt | 2 +- .../domain/entity/response/ProductModel.kt | 17 ++--------------- .../presentation/detail/DetailActivity.kt | 2 +- .../presentation/main/home/HomeAdapter.kt | 15 ++++----------- .../main/home/HomeBannerViewHolder.kt | 5 ++--- .../presentation/main/home/HomeFragment.kt | 8 ++++++-- .../presentation/main/home/HomeViewModel.kt | 14 ++++---------- .../presentation/search/SearchViewModel.kt | 18 +++++++++--------- 8 files changed, 29 insertions(+), 52 deletions(-) diff --git a/data/src/main/java/co/orange/data/dto/response/ProductDto.kt b/data/src/main/java/co/orange/data/dto/response/ProductDto.kt index e4da0131..35f71abf 100644 --- a/data/src/main/java/co/orange/data/dto/response/ProductDto.kt +++ b/data/src/main/java/co/orange/data/dto/response/ProductDto.kt @@ -7,7 +7,7 @@ import kotlinx.serialization.Serializable @Serializable data class ProductDto( @SerialName("productId") - val productId: Long, + val productId: String, @SerialName("kakaoProductId") val kakaoProductId: Long, @SerialName("name") diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt index 39c682c4..36e5d45f 100644 --- a/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt +++ b/domain/src/main/kotlin/co/orange/domain/entity/response/ProductModel.kt @@ -1,24 +1,11 @@ package co.orange.domain.entity.response data class ProductModel( - val productId: Long, + val productId: String, val kakaoProductId: Long, val name: String, val imgUrl: String, val originPrice: Int, val salePrice: Int, val interestCount: Int, -) { - companion object { - fun imageOnlyProductModel(imgUrl: String) = - ProductModel( - -1, - -1, - "", - imgUrl, - 0, - 0, - 0, - ) - } -} +) diff --git a/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt b/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt index 6b8bb98e..be68f3c5 100644 --- a/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt +++ b/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt @@ -107,7 +107,7 @@ class DetailActivity : BaseActivity(R.layout.activity_det @JvmStatic fun createIntent( context: Context, - productId: Long, + productId: String, productUrl: String, originPrice: Int, salePrice: Int, diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt index 36dd6f21..77761fbc 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeAdapter.kt @@ -16,6 +16,7 @@ class HomeAdapter( private val likeClick: (Unit) -> (Unit), ) : ListAdapter(diffUtil) { private var itemList = mutableListOf() + private var bannerItem: String? = null override fun onCreateViewHolder( parent: ViewGroup, @@ -52,7 +53,7 @@ class HomeAdapter( ) { when (holder) { is HomeBannerViewHolder -> { - if (itemList.isNotEmpty()) holder.onBind(itemList[0]) + bannerItem?.let { holder.onBind(it) } } is HomeProductViewHolder -> { @@ -73,8 +74,8 @@ class HomeAdapter( else -> VIEW_TYPE_PRODUCT } - fun addItemList(newItems: List) { - this.itemList.addAll(newItems) + fun addBannerItem(bannerUrl: String) { + this.bannerItem = bannerUrl notifyDataSetChanged() } @@ -83,14 +84,6 @@ class HomeAdapter( notifyDataSetChanged() } - fun removeItem(position: Int) { - if (this.itemList.isNotEmpty()) { - this.itemList.removeAt(position) - notifyItemRemoved(position + HEADER_COUNT) - notifyItemRangeChanged(position + HEADER_COUNT, itemCount) - } - } - companion object { private val diffUtil = ItemDiffCallback( diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt index c80f3955..57c9ebfd 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeBannerViewHolder.kt @@ -2,7 +2,6 @@ package co.orange.presentation.main.home import androidx.recyclerview.widget.RecyclerView import co.orange.core.extension.setOnSingleClickListener -import co.orange.domain.entity.response.ProductModel import coil.load import kr.genti.presentation.databinding.ItemHomeBannerBinding @@ -11,9 +10,9 @@ class HomeBannerViewHolder( val bannerClick: (Unit) -> (Unit), ) : RecyclerView.ViewHolder(binding.root) { - fun onBind(item: ProductModel) { + fun onBind(item: String) { with(binding) { - ivHomeBanner.load(item.imgUrl) + ivHomeBanner.load(item) root.setOnSingleClickListener { bannerClick } diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt index 4f0039ae..9396ab1a 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt @@ -160,11 +160,15 @@ class HomeFragment() : BaseFragment(R.layout.fragment_home) private fun observeGetHomeDataState() { viewModel.getHomeDataState.flowWithLifecycle(lifecycle).onEach { state -> when (state) { - is UiState.Success -> adapter.setItemList(state.data) + is UiState.Success -> { + adapter.addBannerItem(state.data.homeImgUrl) + adapter.setItemList(state.data.productList) + } + is UiState.Failure -> toast(stringOf(R.string.error_msg)) else -> return@onEach } - } + }.launchIn(lifecycleScope) } override fun onDestroyView() { diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt index fe3aba4a..76ed12c6 100644 --- a/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeViewModel.kt @@ -4,8 +4,7 @@ import android.net.Uri import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import co.orange.core.state.UiState -import co.orange.domain.entity.response.ProductModel -import co.orange.domain.entity.response.ProductModel.Companion.imageOnlyProductModel +import co.orange.domain.entity.response.HomeModel import co.orange.domain.repository.HomeRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow @@ -30,8 +29,8 @@ class HomeViewModel private val _isCheckedAgain = MutableSharedFlow() val isCheckedAgain: SharedFlow = _isCheckedAgain - private val _getHomeDataState = MutableStateFlow>>(UiState.Empty) - val getHomeDataState: StateFlow>> = _getHomeDataState + private val _getHomeDataState = MutableStateFlow>(UiState.Empty) + val getHomeDataState: StateFlow> = _getHomeDataState fun setCheckedState(state: Boolean) { viewModelScope.launch { @@ -43,12 +42,7 @@ class HomeViewModel viewModelScope.launch { homeRepository.getHomeData() .onSuccess { - val itemList = it.productList.toMutableList() - itemList.add( - 0, - imageOnlyProductModel(it.homeImgUrl), - ) - _getHomeDataState.value = UiState.Success(itemList) + _getHomeDataState.value = UiState.Success(it) } .onFailure { _getHomeDataState.value = UiState.Failure(it.message.toString()) diff --git a/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt b/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt index 484685e1..5ff5f31f 100644 --- a/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/search/SearchViewModel.kt @@ -17,7 +17,7 @@ class SearchViewModel listOf("향수", "이승준", "곰인형", "성년의 날 선물", "멀티비타민"), listOf( ProductModel( - 1, + "1", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -26,7 +26,7 @@ class SearchViewModel 12, ), ProductModel( - 2, + "2", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -40,7 +40,7 @@ class SearchViewModel val mockItemList = listOf( ProductModel( - 1, + "1", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -49,7 +49,7 @@ class SearchViewModel 12, ), ProductModel( - 2, + "2", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -58,7 +58,7 @@ class SearchViewModel 34, ), ProductModel( - 3, + "3", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -67,7 +67,7 @@ class SearchViewModel 56, ), ProductModel( - 4, + "4", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -76,7 +76,7 @@ class SearchViewModel 78, ), ProductModel( - 5, + "5", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -85,7 +85,7 @@ class SearchViewModel 910, ), ProductModel( - 6, + "6", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", @@ -94,7 +94,7 @@ class SearchViewModel 112, ), ProductModel( - 7, + "7", 0, "퓨어 오일 퍼퓸 10 ml 긴제목테스트트트트트", "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f", From 4ba0c4394220f13060587b55603c3d89341c079f Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 03:37:58 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[UI/#36]=20=ED=99=88=EB=B7=B0=20UI=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=EC=82=AC=ED=95=AD=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- presentation/src/main/res/drawable/ic_add.xml | 4 ++-- ...blue_fill_100_rect.xml => shape_yellow_fill_100_rect.xml} | 2 +- presentation/src/main/res/layout/fragment_home.xml | 5 ++--- presentation/src/main/res/layout/item_home_product.xml | 2 +- presentation/src/main/res/values/colors.xml | 1 + 5 files changed, 7 insertions(+), 7 deletions(-) rename presentation/src/main/res/drawable/{shape_blue_fill_100_rect.xml => shape_yellow_fill_100_rect.xml} (76%) diff --git a/presentation/src/main/res/drawable/ic_add.xml b/presentation/src/main/res/drawable/ic_add.xml index 48186de8..da346c72 100644 --- a/presentation/src/main/res/drawable/ic_add.xml +++ b/presentation/src/main/res/drawable/ic_add.xml @@ -7,10 +7,10 @@ android:pathData="M0,5.7L12,5.7" android:strokeWidth="0.6" android:fillColor="#00000000" - android:strokeColor="#ffffff"/> + android:strokeColor="#000000"/> + android:strokeColor="#000000"/> diff --git a/presentation/src/main/res/drawable/shape_blue_fill_100_rect.xml b/presentation/src/main/res/drawable/shape_yellow_fill_100_rect.xml similarity index 76% rename from presentation/src/main/res/drawable/shape_blue_fill_100_rect.xml rename to presentation/src/main/res/drawable/shape_yellow_fill_100_rect.xml index b7856afb..5a3ca3ce 100644 --- a/presentation/src/main/res/drawable/shape_blue_fill_100_rect.xml +++ b/presentation/src/main/res/drawable/shape_yellow_fill_100_rect.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/presentation/src/main/res/layout/fragment_home.xml b/presentation/src/main/res/layout/fragment_home.xml index 2a76cfca..9f0a057f 100644 --- a/presentation/src/main/res/layout/fragment_home.xml +++ b/presentation/src/main/res/layout/fragment_home.xml @@ -73,7 +73,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="20dp" android:layout_marginBottom="37dp" - android:background="@drawable/shape_blue_fill_100_rect" + android:background="@drawable/shape_yellow_fill_100_rect" android:orientation="horizontal" android:padding="15dp" app:layout_constraintBottom_toBottomOf="parent" @@ -91,8 +91,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingEnd="3dp" - android:text="@string/home_btn_sell" - android:textColor="@color/white" /> + android:text="@string/home_btn_sell"/> diff --git a/presentation/src/main/res/layout/item_home_product.xml b/presentation/src/main/res/layout/item_home_product.xml index 62ff8ceb..5dcdfc0c 100644 --- a/presentation/src/main/res/layout/item_home_product.xml +++ b/presentation/src/main/res/layout/item_home_product.xml @@ -95,7 +95,7 @@ android:fontFamily="@font/font_pretendard_medium" android:textColor="@color/black" android:textSize="10sp" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toBottomOf="@id/tv_home_item_now_price" app:layout_constraintEnd_toEndOf="parent" tools:text="@string/ex_item_like" /> diff --git a/presentation/src/main/res/values/colors.xml b/presentation/src/main/res/values/colors.xml index dc771dab..05698528 100644 --- a/presentation/src/main/res/values/colors.xml +++ b/presentation/src/main/res/values/colors.xml @@ -11,6 +11,7 @@ #57CBE4 + #FFE500 #034EE1 #3527D7 #FF6C6C From c2b48d7e6ef84d745f94e61b05d334b1867ded8b Mon Sep 17 00:00:00 2001 From: Sangho Kim Date: Fri, 12 Jul 2024 03:42:03 +0900 Subject: [PATCH 9/9] =?UTF-8?q?[UI/#36]=20=EB=A1=9C=EA=B3=A0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=82=AC=ED=95=AD=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/ic_launcher-playstore.png | Bin 12480 -> 12400 bytes .../src/main/res/drawable/img_logo_text.xml | 16 ++++++++++++++++ .../src/main/res/drawable/mock_ic_logo.png | Bin 1615 -> 0 bytes .../src/main/res/layout/fragment_home.xml | 4 ++-- .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1070 -> 1020 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 824 -> 634 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2264 -> 2158 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 926 -> 872 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 550 -> 452 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1514 -> 1428 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1530 -> 1388 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 1014 -> 816 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3118 -> 2940 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2082 -> 1888 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 1466 -> 1202 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 4860 -> 4768 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 2772 -> 2504 bytes .../ic_launcher_foreground.webp | Bin 1890 -> 1586 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 6674 -> 6308 bytes 19 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 presentation/src/main/res/drawable/img_logo_text.xml delete mode 100644 presentation/src/main/res/drawable/mock_ic_logo.png diff --git a/presentation/src/main/ic_launcher-playstore.png b/presentation/src/main/ic_launcher-playstore.png index 8c76e945578fbb9b544007bd9c0e5517106b6f26..12b63fd94ed27eac6f9eba2aa430d3259983b5fb 100644 GIT binary patch literal 12400 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 diff --git a/presentation/src/main/res/drawable/img_logo_text.xml b/presentation/src/main/res/drawable/img_logo_text.xml new file mode 100644 index 00000000..5aee64d2 --- /dev/null +++ b/presentation/src/main/res/drawable/img_logo_text.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/presentation/src/main/res/drawable/mock_ic_logo.png b/presentation/src/main/res/drawable/mock_ic_logo.png deleted file mode 100644 index cfd088cb04614f798565d0d3f7f041ae8b986f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmV-V2C(^wP){LYK~#7F@0|mS-F9zOra)Ou>M4TXS0-O^hoFL`|m=mlyLEr>dP7rf~)xLpw@xJlTe(kg< z+dDlYjWlwq@>RKHt2NU--L0OUo^gwQ5o`gQo10tsYVvz`cXy)+Kn-EpGT8V7+4c2x zMkUbN+1csi`q4(bxw&~q5wW|wo4mfh9teM9dj|ALtJO;Jxy0ZGR5O+>!wmlq_;ein zNBErMXX-O@3!M(o=*UKdQCk!NGLWzMnov1pXg3&-$0t+~%a)-6e>U=9Wo6|=Gj5|s zG9ZzfG{|WrlMZyX-1UQd@GJjBYgE9;p z@khJe?v!aH22H8DLW5*r{xImUM*hR??d`9Nghq_YgJA(knX^K>MF<*}QK}g9J=KS) z4D7H)9+oJTP>sOb+5`W&NV`T2V10d^lQH9ZCQk-%&Gb| z(uIN3u)#iQJfKik<`v{cW4^N)Mds0jD)NV|dXh0) zk?SDpoXT%0)nHHtmJnTBQjIQaJ(~=PLx!m$iYPRfLBgXATsY`h_#1M}qeTtMfUbJD zoN4sj;8Bh03cDO`N>@sd!aK-EoRBTvgwncHqYMax#~RJ%Sm56yo&TVyL31D)@Y|}* z-3dEUv^iB2oG9chq%y+>Kq$K;dj%|iQ__X|A4$i6%FB>KaaQMo0sp6L814hie^++Fc?^ATymp8plu)hS`8&{N}B(c1ZPX>>N2Eoz$ogFk{}s{oQCqJ zpU$Ywtx2@-i@~VtN3Nk#Ah^KpAR8(!!v)2MA)Wts3WPXArjXyqoKuZPczSxuC=ile zW(s+39V+WQ4H-p-$Eixqr50Q%_svp_`uO;mQ8i>#jHjXUebfe*Q#q2IqJ69FV-_F& z&y9ks4j)dk&R$D!dkZQoGL>NO7+6Ue{F5eP_@2Q`C~3=)a(uh?@$Fe z+Gn2MZ&+Pjtt3Mcd_;lp)N<#dgQrk&RAFv6 z%KbThoMAgcaHj(Q#6i1?W>i_WqzZXUc27z{k{eeoH>DCX$R22Ez))H}_n*ZZasse! z{;ut}i`YvVwH(OdtE{K;j)!BJpw)6+GJGzZ1cH0U3-aw(EFinj9fg@M%b6qx0UVdJeZDe>sJC zio|Q+=;v)a(|Mf5BaFB69G>GGZ|&%3sLW)IYh>CX|QY=#)W2eT(p%{wDJm?8%K6=aZUAPWCkgEAT`=+~)K4tMw*E)J$i83e~= zWSHR}RCp=MztLS99u)tRPUh;2!f?U!*LXY*QcO)Uq?l{>ibe?w|3f)Mmr)p;{2Q55 zZOD&K3h%`8ID7axitra@Pv6xggDi{Kq0Y5TJ5YvhQU0t0UibR={|Ao9)CCNe8n^%e N002ovPDHLkV1gDf{Ez?u diff --git a/presentation/src/main/res/layout/fragment_home.xml b/presentation/src/main/res/layout/fragment_home.xml index 9f0a057f..6e03e9e1 100644 --- a/presentation/src/main/res/layout/fragment_home.xml +++ b/presentation/src/main/res/layout/fragment_home.xml @@ -32,11 +32,11 @@ diff --git a/presentation/src/main/res/mipmap-hdpi/ic_launcher.webp b/presentation/src/main/res/mipmap-hdpi/ic_launcher.webp index 74988242151b2a9b95f8aafc618d5d39cf1e3f78..3a803f83d28b5a53cfee1e0803e73a341cbc25c8 100644 GIT binary patch literal 1020 zcmV^JRutZCBOY zEHibA8iL?xl>E}}6Fl}JONy7hpFLS6s=qEsr7 z;`Dh_^)yrx0+itP{}{iNyQq>7=xC4SuRwu{LiK7fx`!lGszf8r2o#lxF%6VRLu#0rzN{+;$8m**!OJ)dsP{qa@qZ-=~}DH3VdwkdAX;2!rDFU6s_I}~?!hvHh?-J$Lc z?(Pl^ZVmo}*qzy(3HB{A(eq9>qW=>R^Y2~rgUW~mKN+O~tgnoHeEaUr>-QfNLGUPo z9*-jE@hE~GPy{`o_##0+V_z@=?AA>Ol{XbO0ZGHy4aadR;d&XSLGiLr-~lQ#Y$Vy*~mrB z4Ru1CCydx$D3c2#Z(UNXR@B&L_NKuNL^y9calbrHw5(C}xTwC_l*0}vTGKmLgzH+b zAZKMwE?R%|K8Ilb(vEr|&O4B^&?3Z!?gYf#xvfMJNi+1@S^(&&Q=8DyEgP_l=G&;~ z2@iyPWiG^`p0o$f|dpF@-`2s&Bfc1b2Q0>5!^An zE*IA&%pnH~k|Su7YH`HaA-fy|0i?}rj?$Hj8~bc11hSy$z#@b$Vx5*`0;U8mJai#l z;*2AJEkOwZjmPZ)2_^8!7C&f9A-Dm1uhsbuX-OM9F9)P1P0l|cm)nTC4WHX6rsoRI z3wjisXY^dec}mU6yWVdonzEHofrm;sUA0t$!oF9y&x1f=@XWpNdWQa>iu%rlv**td q9c86Kb)b9NmUfGf2jcelJS!O literal 1070 zcmV+}1kw9aNk&E{1ONb6MM6+kP&iB(1ONapN5Byf7YCuXZPm&;|9{-wTM&Sv6ePiu zd-lRYz=~wswKDr2a?bo?0Ru?GF9O27d#`a6$+oM^eV-r!5tzgip4hVd;f8S=+qSB# z`wgcIa;ShNv`xAoVh9bQ+USCcLiDt?)4C^7GK@x-&QO^#@0Za< z)zdOfpj!5ekw}H;X+2H4%=jPEmOU;1r>N<7*BL6+=%VT_)88o>ou)#JE~AT7o#C5E zA<8rbsHX`Kpk+_%kwA*kC20zfV01ww1C$7)Qh*Yvk^!v>31Cr)5Wo+t6zEo_1VTJ0 z8OXq=D(+QOKmY+mv7IQ!MI<0oHM7?=&Imm&bL@ftYu9Fb^BQhzOULW+`?|V5Jso=9 zdcyv>_D->Ps@kxBj_tz1g=)jzDUL4n_R*?ve2v@padxkRGu4KhH|zUfV08cv__=*0`8U=LMRq>spPK_ z>J1O)|J)0m*u18mwt8JPdM}OvdEc!WyPnjH=&Ia#t_AMBNmH)%X4T|#l)MxQ%>MsU1t@!Z#du>RM)N7Hx> zX9vqGFiD3!vS@tWizGw+U#ArN?<;A^_BxuPLA15aM=aAMJ;#ccI<$Suwyj)KXp;_; o(bI*&^^{NX5+%9E>F_@7Dw)YUdEz+t7-XJHfno-T{D+DJ0CtWR8~^|S diff --git a/presentation/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/presentation/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp index 81386102f124d3f25dea6a1aa3838457f1fff26c..3412ee54bf54349fa28433bf2cd04a5a87fc6271 100644 GIT binary patch literal 634 zcmV-=0)_ojNk&F;0ssJ4MM6+kP&iCx0ssInp+G1Q^~kwx+t{98@Wr-m+qP}nwr$(C zZQHhO+sSjD`#$H6RCYSHsos%Jl~tYCNp)f;f8nj>pFq+Uf7|;%0f!Fye?P3z<9dK) zmS*fF$M`4EbZob|mQp5PW`b-ac=rhiD`|1F_TatufaghxtyS)3<9*#~b!h*k!|Z48 zN@JyKtpF{!RD6rwS;mm_k)$SG9{g_z7$M z^k?L9WA#^CE}DD9zD3 z__TLxE0s$S%oEP`qftBzd8Rt;KJB~XZ$Lc+|3{-QAlkw0NVym94v2Av#y}`L8*l_0 zs$)*sL}2why1o&#A%RXv!KZZnLu%g0&XtDVdMjGXPiouva@=Id6(foGAGv}RqEZfo z?OO{<&)vr?Ieyj)yzdg?aqYlLrNj9*f}Z8Z{;FjY7!Z$+5W&Vu@+gB23K~(X-nqP7 zWel8DXi$o-Fm=p+#x4c}udys7JjljZ=m)s#Nqd5U&(x&dCrpT3tqs8PkfFQc9jU8D zL;*GYfNlbfLnx8j+C+x9nhjwVS~6WEoQTYQPG+eP>#T6kk${>-^i2SL{Wu&6sbP?c zddI7ipmDqV*fe&6P|w{iK7a U#9Z!Lf6_@*boLTyXSwGf1EqrrL#FW zZX`*Ost1qZdH#EO(_QJXZQDT7@4xY19nQbnv<(=%JLL>1An=cUAQBKbfQ`gD9{>PE z5H?u@z!5;puNJ&^;%`JhBT z0*E=s|4*>;5kc4o5IN3ALIg-p=B)EUv5#v2gKM%*dNK#ddQh^)b+SgnCh{={V;{hf z`2dj*#Gb4%xDLWKks|?-u(6MXeNY5866-t?5DCb8-OmNmfk;0Q?dc_|36?^*MBU_foDr+id_%Qfq~@PcP}id<0Hv`#F(Ry6wIwdwl$__!%?=nIY}EX zE5%}47jiOg6A%Z7lG6kBfsipVnw*aucM^cY`Sr-%nzQnit6bZXqzTj73y7MoEYoaf zB1xOADCLr+jRZuUwyKpgGMt2U=M}JT?#x;OqCuHTO(9|Qq%;nkG9gMpW0mS{7e4$D z+b0hbbX2N`RnOfl-;rn)r(TB*>}ch>b~r37VW*4dpwNchYyv`pE3N-p)(W5F)zK+h z(vYwzUDbjtA*oD?C2OsExw5${3FDQT;KHtcBp#tudLO6u4<>oHV@h#FQd=joM@Nvj z#hOaiin(ZU1K9!+*I!h~UJPB#S(9TV(uh{=_`5 z0_V0d<}NmuJ{x1cT!rSb@qJnW%njrJ7BJ5Oyex<1x(R#}mWLLPV0mltu>zE;Zx-eP zDCJ*m&Va%%EZ#9HcP#G1a{5hx_vc{YEARY#xW>5f*?TWPy?St-kqPF1nEUVlP!0eh C$cEPd diff --git a/presentation/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/presentation/src/main/res/mipmap-hdpi/ic_launcher_round.webp index 5a07a20b45a990c91cc69d5b5b6407b817f1e211..46ffd21ab0d07db3239b822d543394b620cd0cf7 100644 GIT binary patch literal 2158 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 literal 2264 zcmV;}2q*VaNk&G{2mk>UgdF#+DSHBqV1 z3J;aTGqmLYZ`(%yBrAy|fb^VT`|jgjz^{7%onYU3O?%t-`qtZfE|GI=xr;`mL;}b-vAOp5AJReM1&B#L+bCIEjhMr z)mFyaYn`uA|7boE09_{np5xGUYeNtKuxxb2*|u%lwr$(CefI_1wyiJN_KfSrfh0+7 zGkXV!q-cVlAl2HoW1F_XX0vTI+g7w~B-?iSlWk*c+qU`YemCNaqi2ltVbH!mO?B8t zk|Oz;8F%x~v!G_%wrsg=jo;mWtkZ~$z#OoEyG1$&L-+#j*)j+15B*o*wvCeQnEBoS zQ+0Zvs?)oJdsI~zpsLQmW8`}O89GFahNEFM5Xw=BNdHVdVg76KUf|!62a^8`K9DcR z>qY;?q)i*-tFxylfUBzq{!7bS+ly=aqKoUh{!2T@!;9O8%ZqEfkBh52;>EQc^?8 z1t5h?=Wq&Hm5fKJk~LLEiPZ;i&JcnTIN2s!rDQI9Q*ckoDy2LHCWd|nZdF}iRw*;EE3Wy+2U>_zX*-YJ>W#NK!@|Pm!;yGCv)ruu@ zUOI+|TpqzPy6`uEqmrp2jv7*}SmT#0Q)2TmAeKLYH-OlK>F|TnQ>p|AaYh~2M(SE} zk7C6&&*D8mI2gyFAnIiM+>f__(22{TiT?2wstSc}6|R5q#>sz1oE+q)+lcUT8=6Ts z^A;vksQB|T5*O$cSTKdfG6k|@)l(b|^-z@#jZbzR5ss~HGR^o2n&RXEI-G?0-{3xH#mS2t_5hmJ8*GU#4FweX)KZrPPsNG0p9C5fQK= z7FndGr4{kR+-v2OFvwN3g%F&E3+;&S=U>WwxxT|`9W>KJAcw!`FQqei}mfR7IKoGF2YkFLAd0k14weGuVZlLK(ctqgr6d>o*B2N7p;rW7NJX%JvUfV*OmoJxNH&>(UA_tUI!{1WQpsG{ zGc4qk;Og`?P}TiC609E{y&E)GPEc?Mn#mx8{{?|e>|I-ggyRFj^xo0CigaN2MJ-`6 znLtzm0-Gj+DHxk00NZ-j;=%0NLW8 zvNU`ayAIrb2@93r^g9VToSm4J*L-9tt-heO$OQKiw%hRw(`Sc4O^r%GrU{SaUROVU z#2lmb6EHpZD$R!kD`F|O3Aw;p)y_&j@1Gt;jANswz5WEo`MOESZx=}mZi1K4mU5|U z`s>$y|2{_Vb4hCP4>KaUBJ{_}JCbEW_=LL46sLJAUXH(Y7j6Ew*;2|fqt8NpA;w!}*$S8UVS&syGV zito~_19WXfNE3!Zbxo##w@OpWEzbR{4Z`Tj$U$EP!A*!08nW9o%H)T`gkg$ri>8Ip zd~OTC#FhzBLaBvwkSyfkSD@XE&6x9`ve?4q|BY|-41ju;kRsGQi4`@wGQpxNwTaD3 zn_1>!!!z-O`kmRn|7d7NPHz%go<#UECeoLjnX@djeF`sune#h^Cz18dsabC9s6%iO zqBjY3uVd?JWl*y!(g&G>JU*5R@?lW3vi7jJxj}HvAvMhroKr%QP@aDYOV1?urrnpx zK#zr$P=e|UJm7Ny-Y36BXaLYa`7ZqFfA5%Asd^q?YC2#p514GbT*aBAVY zbmwscgZcYh9Zbh}9nzP3`)bSd`sX*!x9@-Pz5M!D=)%{3k&OdFijaPC=V0T)`+t%D m-0a&|TPFRSG+wrwIfK4)iSgatGxN;ZN0#y2L diff --git a/presentation/src/main/res/mipmap-mdpi/ic_launcher.webp b/presentation/src/main/res/mipmap-mdpi/ic_launcher.webp index f1bb0472c2dc9156e5f06dc977810b6b93736618..5178faa1631f5401305b48511d4dfc626faedcbf 100644 GIT binary patch literal 872 zcmV-u1DE_#Nk&Fs0{{S5MM6+kP&iCe0{{RoFTe{BH{~X_ZCBak96MT^A_+0Lp#2Hn zJ=+H4NRkvuG5lQy8CJ+`}m`6;C;aEbiu7{TU9l2iQFTn zBKm@wsDaeoQ}}Xk0DuIL1TsJZNCGLKTD?}PB$815%Ae|A8c`w@NL9TkG=8N?LX|`k zNerJs5=o?&B!ns+WIhe)X@_PJ|F8q5A%R7{x$U zqSfZ#x>mdK`&9`ONr?WXQB^M@luFgT2PRZWBxMo<)>+Es13U!*3$7 zC|PYTJ_57Y5PrXpMCoPMBpzBrEI-~U;+}vHinz=3eL#XxTfYPk1c`HVsC7r>wsRrp zM4qm_Wggcp-QB4OeW=>&VXQjXuY#6ZpNAJUO_D=C2{^Sj=&|*dY%FF9!PO^8LqhxW znOQ~KTSI5J7BWYiyDvnj^e*$*=4?1Vf4%gv_1PZVMcoAS5}Tz>y%E-)hQ&5DWa=U! zk4W-uKuo=mqYM&5J`#|w{4Y?@+`Cilw7$9(nGVxro~xB2`de0IdFEZ-OL;F^76v#@ zughaf{soO;(tFgor=o#jGy5Wy@9H4GcdhLVn>?=TE!c8~@ZO2!39dOI|DBPewmIbZ zouP5yaKAB12^m8|{dZL!=^<}bf9HRys@!Lpz?au*{!VE9X7csR ym*R;y$wd78mAPcWk2y8t#x2gC0;?bZ literal 926 zcmV;P17ZA9Nk&GN0{{S5MM6+kP&iDA0{{RoFTe{B&jmTMZPm)U{{P3_W*#R&k_F?h z_w0=%0XYEMM3S5gEHh&PRO1zV-{nYx97&QQDV7;USoK$*mEzvmof&Rp+g6qJ4U60( zD1dG#ha$*nh9XGaJ@%IXfCvx+GC%}~0STZM%)*u}sccDQ%a$Z5Yy?9JTT)2^3Wlxy zcd#YZ;WyZlYV-UNj8NFH%a*NRte@Y4vHuR=|6jzAwEqoa$TdqunWQpc3o96t)B5pk z`~G7n7>DlwG)vf;oT5Z9f-%crBREN#Ws++B{AMdy+xIV9QrM8nE=jijfoy<@KuI9f zYNUkTC}*ttsFiNFs) zWPk`z0E-k5r&vg_07`OdrYR5+e6Q1HT)k-nqGj3@sqoO;<^#J@jz!3BJex&W{Z{|c zZlBAvo}5+3Tf%~qvEhgS5(Y3NEdK;4go20wSRfY2D8<*&V>!57T&tr#ozJp;u*K(J z)gm4Zo56jrO`gjWP(I4r&~i(>k+hDUx34{yPv8%qz!%;r7bs-gwryI@DI~d$?Nn^r zwr$%<8T;JWwu*65=I5o|qrF<{eXlhm`tQJP8%LsNd*8du+#9U+lE!N7z+01Hf;1bi zTd=scp;Q2eKtQZ*%rDBFJw<)X}8w&vgCiM>i(J^ZS?o#Pxb+2#;{bp{pw@mK~ zgnO>i-epN5)NSI1qyl*Tgs!3ZBF}}uvi2)y_73}JA%#)Ooe}?w9~D}H?NT08GK+X& z+ngR0mUed8Gk0JJNG#U2dqy9Jm4hN7p!c+0o`S7La{auNDIuWy`1MJpeHZ{cWpb#? zxHbF8es=(-j$XFQ|97Wn<8}pFM?mb@rQ=$4rqbVm3)vSBQq~!qxRQPKBvC5C91z`N33=d1|Mh2 AI{*Lx diff --git a/presentation/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/presentation/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp index fe800147f133ae3eb2e31d86827209de44ba800d..88b68ac4fec4481237436dcf6a2df36eb6933645 100644 GIT binary patch literal 452 zcmV;#0XzOuNk&Gz0RRA3MM6+kP&iDl0RR9mYrq;1mB_hm+t{98VB5BB+uzsOwp}4z zs<(QpuyXZQvF&uWZR3?L7yBUt-C*2`{rv@g7+41I)a|aME8L z&)I8;ddXU7FoZI@-&ph`mPc#?x84|jE*Ak})>&9FahS%Rfx)*hLerV==Usq!LF>*# zql34>;K#Pu?M6i8IE_CAg!vu@ABkwa0z+S7rFoA&>c3U?3J~VB;!yPr-Ec7_aH6&y zsP%EED&U9}mIRmcq+xa5n%-a}qTxFJGH?nQiTocYuZb1bPYuO&qp3$oSNkilT6lMf zy#ND|sGw-h)7%pE}B>7Y+b_oaI*l literal 550 zcmV+>0@?jiNk&E<0ssJ4MM6+kP&iBx0ssInYrq;1wMe#Y+q9i8ux;D6-;3?k%#v!h zoz!gGwr$(CdGYgu*9J!cEtbp|RsQ0WXn zht4AI4w)rr^89Vk{|R{W5_O{t=8JU9bG1~fu*hhXO*`-|@Ls5#j57*JyfCulGR#Qu z`K6)pHn8vxjK-h@n;o~0SAb<-gRX^RhRZb9rQ^VgPhtJyH&DfC3$pkuo$`zPJJc=7pG?z^PK)g1aDm*Ef14A|jtOAifju*LnpsQz8o|i%2G6 zOqwPHJRhN%Dx_9oZX($Q(i)Wd22%|(kU~Sf0^w9U)`_&JZ!)EBKyTriNvojTfw3_pla?V_g6T|JhhqnpFGvT$ zAhS%E=;k9?k>c7ce;@U{8d-2SWjPER}r+`5PV33cS7gGPbPO;uI3)OL-8ahmmN zKeYJWGAVFKU+=19!Oazi=I4P_$4eiFKG&YqfLj-bMyHWfv-1!K-|@NoSA1ySFB?2R oaG+w_!_IG6RX>&6&W$n>OV diff --git a/presentation/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/presentation/src/main/res/mipmap-mdpi/ic_launcher_round.webp index 0599bc50ba11d432231c3aaf69070073c9c25461..fb97548adeb757891eaa7ddf1ca3624739f5cff9 100644 GIT binary patch delta 1364 zcmV-a1*`h%3zQ3gQb|Tej0FGyS4BclR!}%hfCT^mFE79g5H*KDAUS{T9U@`^S}M3` z=|=y*SXX}c0`JT@`~NNOJy=Kqq*ewUxMYwMQGmOI+5oAAv;YlUTRW$MZwEId{`El2 z%%KN&hiD`6H^+Bw5iSiNZ8+4x%;vX>FV@52MDCiO4BH9~aM>=9?2k)$tq5|;SdouY zfA;@>&fNyKjRkBQ8>BT#tG4Z=x2-art&8kF0dlq|aRWV}W%Q&Ns5TJmoSTSB=0X}pLphqs) zCC7>tb$DE&oTP;_Su`KBS_Lome*>@w;mg%4#CW4K`Dg(QvD!DJYdDpWi`ProzXetd zsB6}FU062?tlEJV*s#Fj2u`II?Q%cRFa!#OBMCG{u92{73mgTQf*gY%m8!fzPJjYa zjt1;5uy#TOjXIKs0^?R70oN?Cia03&1Jn^jxZ-{Z`Mr+zQwl(3J`fcHf3sR*{@Dm& z{5mZ{e$4>@X2$Ydzk(x3p&78yXN>`Xc6=kW{_%AOOPoEx&-6^v3%l}-VDk1qap>u0 zaxpj?PJ3yIs&PZGf9io{3^>%BjYjKEit5n$qT#sT0=u4`Q#5t`q{XoD;};Xy?_fu) z<+7h#UTt&pp#b)}*i&o0fA1&FhwZL!&43*)kBs|k+uJ8gVEd~Z+3Ee{c)j`aw;I^! z{foJ%Cq~}|8W(T)@y7!Mc&EGBadegLbH>mJ^iV)T(FSHPPOc4($I;N?5CGW{g|X_G zF#)z1G;SoH-bZj;IRhNEhWi)*edhICg!c?)%9_F1=&rHS`b3K$e;l3W=Do^MzoXbR zKu)6|dgT(NQS-U8;D};A1Qb`-sr4s{5Vk`@$VPAhx%cMW8^W?;pj!eu=A&pkrhwkZ zBt&dm2VBTzy!V>W(XzGxh7d^q=hRG?+aM~7M-on@qfVf}5I`#+bf@L?K7(aT^Zz`8 z>-`PgnVMf)04O04f9l97t5m<4&=jFr(M`_<5(vgC0(FNIn!w6u<13C{CNMg&Me_E!ubE1$=?&66)8Ls$eWr!Sv8k7qoHVczf(i_Xe|v zmppcd!0hi=KI;-a92T{J_V?45uJHeFv(DGrW8KfS=iK|Qzx3(9XVt|JJ)U3edismo W`t1i-zbYULs1F_YYJK~ln2*%Cewf4n delta 1451 zcmV;c1yuT!3+fAhQb|Te;spQzS4BclR!}%h)dc_mFE79g5H$xuw$19V{X0a&1aw)- zh%Vh|`&Zk_?_S`{?7jZKjXMq8p#ln^0Lq{Pmke?ucXug(21wnZk*n*!);Se?9o&%k z*8?##n;zU9q7{*!9A8!7(15k!Py;h7zg2u#4+|%9*L-IX*s1`R)diCMaS5+9K~5Qe zk&IJ+WZSmvjRR)pY|P9!(w3E(VPj?zkcpYL9KV7vGsDJAQ~v*bBParXN1-VSBIaJc zDQ(46;%lg6poTsh^%6%V3l7^zQY0TfGk^Yh7TnslRaM*Cz+#sg7?hxO5K#<q>7; z>J?}v|M!0aka_$H`6#HsejUcbPV(O(=F7_rxzGZzU%&qa=_-caF4B( z^0n{2#N_2*I0PsG27uZ$QKo3^(z>Ztr+KCI;ltzpnmVm{6hN$U6JUY)LFtVoIJ2bn zMJsr}{^lbKf($hI2#^9aT4%B~H6*qEYyI;KB(M3UMQn2@fSz&C*+bH_{usTjHuA!M z!+;`F0rW+CkQVxrUmY1{7Wu;LJG9n7bLBnP^dXv_Nm# zNi+J&76*1pzes3Ct=%o!w20nF5zXi+Q5;i!Jcbi!LTBa)XhxluBBnIxt;hai8q;~R zT$Hxp60QN4xQ(S`UL=bs8a01)8D}(qQ>cIoSu(!90Qhu!kMgN&5f*;~2&ZC8PwSGx>-B23X`9(lxx8Q(iP-9f5rWaEJo% z&&ow52POd?0e}PCumu*YFeP40E!ug0pkV-%=#3=Mm^!Y)z5oEj7{Q8#F~)v>M5WOH z;2^-_6;f!_ku;PTzXA!kW{Gv$IE8&J05qVQ@JuMLUYZD4LxP%#S**=n~>mcSZUH?rfrcs#QaH~em=gxv7%IOeL zTwQ0KgW+^DosPFqGtn&p9n(?9jwxUWnKXuH(|ywR7-$W5st`1xqh+xK1`tU9r`F$0 z;fKZYud@8F#2)5U7t>LHCs1GjAPNZGX*om4pyu8G?63a|oZ!{d7@rg&+|Zq=`85JS z1%XgUPFZL0SXUF@I>$|YtG?@!qNbak3nUPrCqq19NP}H|@nS!_`7r$La@^>*a?OwL)8eB$#j~$*oXFFvYWF4Ra3yXI6|QAa6%JUhkQcK(Q^ex zM@0C?Bc4vQ&E+RU9kPWw@Zdz+pFScYYbC&)HpG~&p5DMvTkr{12i|bZki?yKOM&d| zEdr*%+%2h3R69z4(mY9yzUP)S2rTZsrA4mI5dwk0s*CbOwwylRK+hXAAEzFE%sWRk z$h&O>L;+u5I-B}+r79WAR5Cqu)Fo|PINl!e(!I&-;n|PfAu#*<)uzHQ4$4MA`}^s0 z=KKG*S>kK$vE=94^XmJqKj-PcuV~5vhIx9q<>@bOmA4-fT=S}cETBGg=&Q}`{c<`o F0{|Ob#iRfL diff --git a/presentation/src/main/res/mipmap-xhdpi/ic_launcher.webp b/presentation/src/main/res/mipmap-xhdpi/ic_launcher.webp index d7905875252d4612e04df5972e2db535a97ac608..dd7f68b58502f8d8c5b5d0fe3498994884a4eb5d 100644 GIT binary patch literal 1388 zcmV-y1(W(xNk&Fw1pok7MM6+kP&iCi1pojqU%(d-)rNw$ZKRk#?A^;CA|{}}W>i+w zQKLgxST8Di3%jl4Y@5`u88c|d%*>1@W}jSu`*96Ep&noTxC8g#0wAPLf_gO3PVh8g zQkXf}Fq)a**0!yxT9if;6yOmdAsK_v-8F(H=zz%G9lrmFaW)*;wpB&D-aU_b|FKX+ zuZRfU-CZW&?sNxkEdU^t?y_xOwq0YdA27bA*Vx|NR9|CjvTZwX8%dFz{^ zBSr2WGs6?)GHb^j5qR7c;0#(h8$lpGrsdKfcSZ=2nLrnL$d?ezyOYvce}GQqMADGs zk3+v)Il%xqp%nDXofA$&jz2)ZTs?d8%iYcGU#?zl{5sW}2e(D;69K>_0Vr{%w8EEA zTA_4A>2P0b@9$rIcm1vaz=_L>m=>ijN`EFTD7;<<`vnB$-jX<=p{!?6_C)E8(uYCc z4h+im6)+{Bh%;pjN-vatJmxFw22EKByw6pJQfsurSIjfRq-Vy$H>z(tf_R>3Ak*O# zgwn>K^yT8ZQPQ@5u+d832>_Uk7W62cIYF~a-*DqtpaTFWVnqWh3Y|OVN9PAR0Qhja zV&XMvTb$hY8z6RfVB)2Fb8}PJnY`(|u%a-hb+{4DeVqx+e6_b7*8mqVm5HxDLFq2v zm+>m#dQPD~{a$$jQd`_l<3+;FImFIq^B)AGIQJjK^8j*ovfQ;_D2Cs)X8`o9W!5Q8 z7}~3}Lj<Y_4UavR!u~&;(dB33%P=m0AlVRjO-nww#D5| zVb@zG5`}*~z>bsBwwy1$zn>ikWlc7->)a+EMfMmj#uwD^9khaVaIcLydfIP`q{hyAm&TyDUOq<2cqNXXWma*`!^*=IoE#N z$PE|x4PR0pr!i$a)O5Iey70T zZmI3WeM+DEYnkQBLtgNS*AKFDpc+og(w9Ns){SLu5&>=i;$Uxz@&*75 z^k)PBek2yNk3M5c~$f+!KNY0CdX#i}ww{i0^-2>Fp7!KHcJ#*K6!lHP=UM$6e+15v#dg zV>|9-Aj!%QR<`=AZ6yBcf^sf&Dpa9SSXtnqF*^ArTABcb4 uE&w0_@Y%;3z2N@j literal 1530 zcmVCtW7u~aKaVf z3|b0B5D1HcfNa7UAw-S@y2um0gy6V4DLv{B&~#2D4LSZe^vjhK43HB_LBHHN;WXs< z1N6()vnRjY-Q4`;>ebq>>E1lJEpnd-04_;DNid}qzJ$^Wr6Wp*`@Z)6{?&Ka?+O5% zxU7h2QR<@fXVRR)>t(oKKv1rhBmfO%J%h3*N^g`t4EnZbP_D0lDFH=-DPvH2q4eW1 zUs^S2%1WT$s*I%8XoatsXIxgE84KU2z3m91-Dn_(!zl=*jX~+l#dV{k?ciXel|Tys zI2bMHQ95&iW|x8C#xbV{03L`H4Xh}1?wTK+AM^m=qv?u?*Q8@{a^JrIvAY8kFTIYe+?qv32|hmEn4^aPp@X520v43rpdFAF(YkwJM;nRZ7iGTfdPgZVEQ3X+%CM@k5% z0;w_p-S`6tavYhbgM_l24%6djV`++e0->@$+_z*t*~O}fO1pH&!+|hSi(&z*38IWR zl}`APFwPAzkEl8pcQ=JyZ<(kPn9#cx%E_>>*6HcsMA*VhqKa_TJ3qNST*=OqX?tjf zwoKYbD)MLwN|@G0ZQ?W zb-!xNcJBp0NZ$*1Ax$~^%}xK}=6_-8XUJr_W8wYYxakSA@n+6vP!NQAmnAv>B6#?@ z!V5B3>%1;pvi#fXx*Wpo{yYEEcbU-mI{OZ+tlhT2Fy%9BJl=!V@G{S|=GWjdAA?ov zyvDTR*Wx&zffcsh-|#OpjCf3HjZa{y4R4)p)0eIKH6`tLU%l zQLt%1$JdNni^1gqx5Caw^d`An?!*dfH>TnqVxcOq5g~jz>mgamfYkykI8e( z+%y`O+NyjWiF2Y400F=NkjFwGPF9G=50&g-$zLt`%c`&4T2->+%{W;x27=!Jm^(r+ z2Y^odfAPKn81en@E5AKLwWnLW`g)B`S9g8Hw%k=;AF;aYHMZsM%ac%c<}5o~dpgJO z;QQad^X>cHIiUmq0$_@7Pj=?l2Lez4XaKan_xRb1+nXPVf85RiAOY~X#~Z!q{^S(i gpWOWCo9A<@&z{`+J16Ak?gJqH`rgj{Ik~Kq0Bo5U&j0`b diff --git a/presentation/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/presentation/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp index d474f168f3ca436e31b56b228a5efeb57bf43894..34eb9f5ff5bdc07cecbf06046a44300d920b5eaa 100644 GIT binary patch literal 816 zcmV-01JC?YNk&E}0{{S5MM6+kP&iB*0{{Ro*T6LpwMe^d>)4iGkZs$xZQHhO+qP}n zwr$(4hq?P)_w$_B+1}ywd}_=;fut?ozW09uUcT`Ei$QyOe!lRZdovj~nOiusdE^9% zwYjw7(UnXxCr0oeSR>@|7L2vmGH zm11itYVJs8F)Pw0)dEp=9%GMD0l!=CLR2<#kcAkNynjtyq^N!!&Cd68D6jTY^mqcL z&dYNr@mA0Zy>4c@u_oNcm>EKO2TN)Mg~$wx=4|=c!EQq+KaFYlM~uxNi5Sqwf{rEL zR^`r7NEcax;nCDvM+%XvXkb2{A33(0Lb{zL4gYj26PYRLM4D+0DETd3fMdS1Jcvk=4{%(OncF_AXBK3su9(vkmXc_v4)dT`5C`Qye z?JStUNQ2g~H^&G%lo9n#v*k@PP^RA|YS!7FPvb#w{r zx{l`O=b>i6|9A(iGN50BJ=6`iQ8a^3yBKv)JN}N7O??ikPwor~~`oIv8OqAJ<6g+jfR=>%Q?1$K}s zq~1yj^(mB*mj^rGV|DHl$*P@D-#`od14Zo&5O_W89*DXbkqJXAfzZdqf&ghqJim@})HY|u4d4zb`IaEe?;UGwqK uJ5TPRr@evxIr3wwMS0jlhOB4m!8WoZ`o|h=I6cG4dJOBg$B!C!+-V+bdI}#8) z2uSY%B<^|od=L;I9zg&A1Sq`+4~hT<=sf_?dqfaG?-BVtJ{TaL_KEo+{WA+tvL_yt zc!2D{#1n|;9uMM=);_%l0|4;^zWzV$5deWdSbH#GL?lq~^qxSUM?l@DGeW5DO zoEug~r8?)vx#juA>^L)mbBi;xnUkuF%(~!+BePQ-MI4!pBaT>61QG^-Hua=4+slpF zwr$(Cy=Bj~ZJlh}Ew^mf`we~j-u-k={v!H60TuNA*AE)$srTRCW&(TH>EgqX_`xOs zVAv~?899^fL9ykSR7R96tq#gM&ne)-mPR1g)0+h$oeV%=TYvH;4l@I>#{FYRmpjD) z#M_L^q}xgtP;Hg@g*4mQ3{+ot1Hr<&8-iN43m{g?NOMqElR1OCL$n&G~poMpmQ*a4Cr7WU^}gv??BNT8mNwO7cu}E*FSzJk}$CKRY6@ep#3u}N( zCX}r50NFfPUmpZ=U|S0iN}EhGb?|R*074BSNrOXG7uv%J1b0Q+%0!e_LS-L3C>$RCis4=Q*) zZXr?%F>Q>uTG)=yM2*yGV&$0(ibV}2jzPyD)L7ay*^C-Y8JFcH$Pve>d8pY`u^5$% znobj=J`t$-Bx&P^+K?c%*P(VK$Mgk-$P+F4$K7tO9C?16C&gvb(>*M?CP~swj-2=; zNz#{7{3v=X{rF-ZJ1$F#Z*b$#+j2f0V@9b|{sUed{iMX#ldQNUDSM9-``#(_`7k5S zNXlPf#9bMW81Y2LD@MGO@qrP~WV~j?eHmqpI49#OBlf;h>it1R;OTG5TtrUb_3!1C kA}{dl8wKw!AvbXU`P&cgTsVOI(5`y_{XInQe?3_N0A(1;&Hw-a diff --git a/presentation/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/presentation/src/main/res/mipmap-xhdpi/ic_launcher_round.webp index 4504e110e18f5a7a975a4dd134ff4f76bd0fdd20..02850ef86c4378c03e6f0e31eb5ec7cd9b32efd6 100644 GIT binary patch literal 2940 zcmV-?3xo7hNk&F=3jhFDMM6+kP&iCz3jhEwU%(d-6^DYhZJ2~V?Cvs%hza0W1xygI zCTDxqu%?`W%BN-d{}jnq{)_3`Q&pKg7k6iORyfP^66X!r@(#`exb0Z-688mo16%SM zN4lrGx~hZqA9wh3m+tO1$#r*|i7d|U8m^67;Xd(;z@cz=r_gH|xXxt2s!z-bTxW%5 zU=ue&YHi!9_RLq{Z$I@1T-wNIK7oe5f9lUbc!7Dc#GU@#1M}ua5qwQ7n_`SHty^cSAeo&0| zy6cIDn7z2;z4lHL?|$?Y_n!M_#qN3JjNILhpHn*Gyc2ex;*NW5wbv+r1cZPRAZ8|D zl>-V&o=U~q+}F(?UCp|Nbv1(UB}m^pS>P}%p> zb-gv#>srxg&bCZ)}z3ItmdC7^8+Htr3jRMUIa9LMih8M(DhV-$|I+~f?lm`fytpS zfq$l}92Ih0;kaEm^ue%E<~u6nx$^}^z#`^#*InRo2gP;GKzh@@ zDUeyV$rz~Xg$kT%0Ok!g1hHp(FoCMs4IGf?x*Ow;fuLu*pQHoun1NSDBYmAts%g_XY{UZeOjF?BA>7rzEf~>0*wwIs5)}8CY&}qnDM-#oF)|e*&%&Sm}ZU(VX z*+GsoxtuHzAWe6`_Y$zvje+_zQG)Jf>1FHYk=7Nf4Zxo|&>Y~Q3M344VUm>#kSkU5 z7!`WWRaVzuV|5YKExo8Z`jnkukJWgd1tqPC#`~WF zwfDLCT5TbM3nEZ8HV$!KvD=VNTRBBKjx^Gq~*KCsDUo+a1nclF~T=8AJlrn!5IbPs$z2JD<9yaNeLg;#yC> zXqFxBbo#oguBAbxw0!-0AM`qy+n>FmHn^_&_^ZC@aO(>vV&Im%@7NhaE%~Ney1@-B)RIJo9|H?AaHls)if|(L5tbvL*Qep8%i9 zymA352~<_T@^hhB%}4@)S>EU*F!Sg}hgVPnIWhP0@+OnU;4+g$<~f0K$cUNOKTgdm zh4Ikdt+V0lp{M z5l(IK1I61{&Ro-HsQzp_>fVomJc?*Y{^jz=Z}FYZBoH=$qH2a9y@}ZP_!PcA>af_7p8j=)v<3{@IpVfH`6c7Foh1?k!${H(lS>e_xrobL&| zU3tQhq{zzt9-a2_f zwn*4XPI3V=!Gyz;)w(Nf3;AJ!_x3AWAL05K1x52mAceb;AVQo5oj7EColZi~qJwC=>f zJv#!Cz;FCRCs7}&3~YxLk{lTOkHI;=biFYFeiK1-d^KFF+b^$GV~x3pMtc3u769cB(_!Y<~$ zSmOmyS)ZP_6;Nyz^L`T!2h8m7-r8}NomnJsPAACyy9wKf7h<+f6@Z9{@5PIV07_u$ z>k%(DVgK*B(_g)49B15xEtfW#JD>sG$V!X&F3G{E0szFei`aGnfTGyq*&8>Ycfi~x zOIrrVIV|ffmp(G{?FQ7wWN|{o$FWtbTGJ|bRe{6M^)reK-u=ay6Hfj%L5U#qk)e+gzJKRLzYuNyLF%2eFZ*``>J4apTK)fTddVMuY%crx zugeua|8)EEBVMHc{WJOW*IxE-g7WM;U+~+n{Bl?0IOnbmyKXu01;&-%{or5r({GVW zfBr2#@#l{uL271hcJ`QKj+vdCS@+}J&YgbWmb-@1@j!HC7=Cigi+qB1`R8Ammwow- meU-OAc+=C<(_6oL(}TDC+u2dZ;rX-o(q7*m$cab^M7OyaBn literal 3118 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 IRo-)90pL~yZU6uP diff --git a/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/presentation/src/main/res/mipmap-xxhdpi/ic_launcher.webp index d3d5d6857756cea1a1d1cb2a3bced6631b198c7f..bac2ecdeab3a87e22743978b2c1c93c0629d1fb5 100644 GIT binary patch literal 1888 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 MwLDZyAbqAJ0ZbzHH2?qr diff --git a/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/presentation/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp index 408454a1ad0337a6e2403f1360f8b3995ab89112..a290d4f6252021c1ef7284f57f24173f7169bc24 100644 GIT binary patch literal 1202 zcmV;j1Wo%=Nk&Gh1ONb6MM6+kP&iDU1ONapL%~oG^-#O5?Ren)g0YR-wr$(CZQHhO z+qP}nww>J1o!oc%)V6KgZiiQG_o{6>(+~4cAZd%Y@BN>EW2670|D*q-|Br$+%iA^j zFZwT~OM=>2lN*EG51!b7_b+FsW8 zm>M^;?F$~pMcKgIrTC9-dxD3()KsnNT_yMTecOYH-3`OF(7VZ}?QeZB@mrxs<#-=y zWJ{9CU4yO4L8{$!EybiS(7NXwMgICdK#BWc603ZU@pZ4-29&xBhPVRn6rZ-KwL!_7 zqnpeA9#Q`mDW$K>7Um9B{uC_50Ow-ubA=~|u@e~P-Wbm+emA(chue}2_tJqZ-}^u- zw|W@%#_Vj_-hOp$J~I5}*_4b|*(S1mKow_YO>emTKbY+TYPlE2Y>78o_U}rYftv1s ze(ws4HMf;WZ8ty%%KFx-ZF7{g&6M{Cyd6QwcVD+O1(A=9 zY-gD$(}^}BB`?Qj27KDy)`cK)Tl8+Z-abw4GfIA_BV~IW^y^-4YX~COVcYxEHZ}gt zq~!DayyI}lg?wn+6@tiLZ!=8sziUrW@ChSa(c#cn{u9~hf>`S2?~Ri4`@Zc#!8cCc zs)oZ}yU$5MFSjrxJkyaL62ukwqB)ux zhKKN5*{U?&E@(@iLc@!Cyc%0hc08rpV~ObT!&0H#EntqROpDtd zq~xV(j=OcJ)qgKV(F2<~UR;d|RP&SZbjmJMZ011Cza>Jepe!$xvl)fI?)u%8DGM(Qh2;#V2v;`@BJM^jJ5NbLEynf*W z^6K4&p!By!Yq3YT=@C%L#<$a@eMI4AEBq!PM?sK4w@QmUe-D2YOJ#lvNAtl;ordB|Tw9K823n|kqt*^gpc%Q<3Qf%~J^k4K} Qj8pV~^ndh!^#2jz0XhhKaR2}S literal 1466 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 diff --git a/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/presentation/src/main/res/mipmap-xxxhdpi/ic_launcher.webp index cae597769a35dd11b1a3b8b54175485f866aafe0..1f885e678f2296c1ab1919f1ddef5adddea27c67 100644 GIT binary patch literal 2504 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 SoC_Jyxl&a>JpZ5(O;vD2>pBVq!$-G+nh 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