From a7e977b871e45f9965ce4ec1da7b50781bbbec9c Mon Sep 17 00:00:00 2001 From: Cutiful <113351087+Syaroful@users.noreply.github.com> Date: Sat, 12 Jul 2025 10:29:52 +0700 Subject: [PATCH] refactor: move Loader component to core module --- agrilinkvocpro/app/build.gradle.kts | 3 +++ .../com/syaroful/agrilinkvocpro/core/components}/Loader.kt | 4 ++-- .../src/main/res/raw/loading.json | 0 .../presentation/recomendation/ClusterScreen.kt | 7 ++----- .../plant_disease_detection_feature/build.gradle.kts | 3 --- .../presentation/detail/DetailScreen.kt | 2 +- 6 files changed, 8 insertions(+), 11 deletions(-) rename agrilinkvocpro/{plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/core/component => app/src/main/java/com/syaroful/agrilinkvocpro/core/components}/Loader.kt (72%) rename agrilinkvocpro/{plant_disease_detection_feature => app}/src/main/res/raw/loading.json (100%) diff --git a/agrilinkvocpro/app/build.gradle.kts b/agrilinkvocpro/app/build.gradle.kts index 8b906b5..9ac7e6e 100644 --- a/agrilinkvocpro/app/build.gradle.kts +++ b/agrilinkvocpro/app/build.gradle.kts @@ -105,4 +105,7 @@ dependencies { // placeholder or shimmer loading implementation(libs.accompanist.placeholder.material) + // Lottie Animation + implementation(libs.lottie.compose) + } \ No newline at end of file diff --git a/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/core/component/Loader.kt b/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/Loader.kt similarity index 72% rename from agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/core/component/Loader.kt rename to agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/Loader.kt index 769537d..aa90a29 100644 --- a/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/core/component/Loader.kt +++ b/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/Loader.kt @@ -1,11 +1,11 @@ -package com.syaroful.agrilinkvocpro.plant_disease_detection_feature.core.component +package com.syaroful.agrilinkvocpro.core.components import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.rememberLottieComposition -import com.syaroful.agrilinkvocpro.plant_disease_detection_feature.R +import com.syaroful.agrilinkvocpro.R @Composable fun Loader() { diff --git a/agrilinkvocpro/plant_disease_detection_feature/src/main/res/raw/loading.json b/agrilinkvocpro/app/src/main/res/raw/loading.json similarity index 100% rename from agrilinkvocpro/plant_disease_detection_feature/src/main/res/raw/loading.json rename to agrilinkvocpro/app/src/main/res/raw/loading.json diff --git a/agrilinkvocpro/growth_recipe_feature/src/main/java/com/syaroful/agrilinkvocpro/growth_recipe_feature/presentation/recomendation/ClusterScreen.kt b/agrilinkvocpro/growth_recipe_feature/src/main/java/com/syaroful/agrilinkvocpro/growth_recipe_feature/presentation/recomendation/ClusterScreen.kt index f076e66..a065480 100644 --- a/agrilinkvocpro/growth_recipe_feature/src/main/java/com/syaroful/agrilinkvocpro/growth_recipe_feature/presentation/recomendation/ClusterScreen.kt +++ b/agrilinkvocpro/growth_recipe_feature/src/main/java/com/syaroful/agrilinkvocpro/growth_recipe_feature/presentation/recomendation/ClusterScreen.kt @@ -11,7 +11,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold @@ -34,10 +33,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.navigation.NavController import com.syaroful.agrilinkvocpro.core.components.DefaultErrorComponent +import com.syaroful.agrilinkvocpro.core.components.Loader import com.syaroful.agrilinkvocpro.core.utils.ResultState import com.syaroful.agrilinkvocpro.growth_recipe_feature.R import com.syaroful.agrilinkvocpro.growth_recipe_feature.core.component.ListItemClustering -import com.syaroful.agrilinkvocpro.presentation.theme.MainGreen import org.koin.androidx.compose.koinViewModel import java.time.ZoneId import java.time.ZonedDateTime @@ -98,9 +97,7 @@ fun ClusterScreen( ) { when (state) { is ResultState.Loading -> { - CircularProgressIndicator( - color = MainGreen - ) + Loader() } is ResultState.Error -> { diff --git a/agrilinkvocpro/plant_disease_detection_feature/build.gradle.kts b/agrilinkvocpro/plant_disease_detection_feature/build.gradle.kts index 797cdde..e48fd3f 100644 --- a/agrilinkvocpro/plant_disease_detection_feature/build.gradle.kts +++ b/agrilinkvocpro/plant_disease_detection_feature/build.gradle.kts @@ -99,7 +99,4 @@ dependencies { implementation(libs.androidx.room.runtime) ksp(libs.androidx.room.compiler) implementation(libs.androidx.room.ktx) - - // Lottie Animation - implementation(libs.lottie.compose) } \ No newline at end of file diff --git a/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/presentation/detail/DetailScreen.kt b/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/presentation/detail/DetailScreen.kt index b6200c8..bbaac41 100644 --- a/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/presentation/detail/DetailScreen.kt +++ b/agrilinkvocpro/plant_disease_detection_feature/src/main/java/com/syaroful/agrilinkvocpro/plant_disease_detection_feature/presentation/detail/DetailScreen.kt @@ -40,8 +40,8 @@ import androidx.compose.ui.unit.dp import com.syaroful.agrilinkvocpro.R import com.syaroful.agrilinkvocpro.core.components.AppButton import com.syaroful.agrilinkvocpro.core.components.DefaultErrorComponent +import com.syaroful.agrilinkvocpro.core.components.Loader import com.syaroful.agrilinkvocpro.plant_disease_detection_feature.core.AppConstant -import com.syaroful.agrilinkvocpro.plant_disease_detection_feature.core.component.Loader import com.syaroful.agrilinkvocpro.plant_disease_detection_feature.presentation.camera.CameraViewModel import org.koin.androidx.compose.koinViewModel