From 1169e37034f6e732688fe56a8bbd413f8a9b895f Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Mon, 16 Sep 2024 19:56:04 +0900 Subject: [PATCH 1/6] =?UTF-8?q?[feat]=20#234=20=ED=99=88=20=EB=B7=B0=20?= =?UTF-8?q?=EC=95=B0=ED=94=8C=EB=A6=AC=ED=8A=9C=EB=93=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=B2=A4=ED=8A=B8,=20=ED=94=84=EB=A1=9C=ED=8D=BC=ED=8B=B0=20?= =?UTF-8?q?=EB=AA=85=20=EC=83=81=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/sopt/dateroad/presentation/util/Constraints.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt index 666c9bd3..4f437422 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt @@ -59,3 +59,13 @@ object Pattern { private const val NICKNAME_PATTERN = "^[ㄱ-ㅎ가-힣a-zA-Z0-9]*$" val NICKNAME_REGEX = Regex(NICKNAME_PATTERN) } + +object HomeAmplitude { + const val VIEW_MAIN = "view_main" + const val USER_NAME = "user_name" + const val USER_POINT = "user_point" + const val COURSE_LIST_ID = "course_list_id" + const val COURSE_LIST_TITLE = "course_list_title" + const val COURSE_LIST_LOCATION = "course_list_location" + const val COURSE_LIST_COST = "course_list_cost" +} \ No newline at end of file From 0a1abc51f5cd720364fe6c6cd4241b61cc20664b Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Mon, 16 Sep 2024 20:51:40 +0900 Subject: [PATCH 2/6] =?UTF-8?q?[feat]=20#234=20=ED=99=88=20=EB=B7=B0=20?= =?UTF-8?q?=EC=95=B0=ED=94=8C=EB=A6=AC=ED=8A=9C=EB=93=9C=20=ED=8A=B8?= =?UTF-8?q?=EB=9E=98=ED=82=B9=20=EC=BD=94=EB=93=9C=20=EC=8B=AC=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/ui/home/HomeScreen.kt | 24 +++++++++++++++++++ .../dateroad/presentation/util/Constraints.kt | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt index 3c13dac2..bf4366d1 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt @@ -55,6 +55,14 @@ import org.sopt.dateroad.presentation.ui.home.component.DateRoadHomeTopBar import org.sopt.dateroad.presentation.ui.home.component.HomeAdvertisement import org.sopt.dateroad.presentation.ui.home.component.HomeHotCourseCard import org.sopt.dateroad.presentation.ui.home.component.HomeTimeLineCard +import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_COST +import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_ID +import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_LOCATION +import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_TITLE +import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_NAME +import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_POINT +import org.sopt.dateroad.presentation.util.HomeAmplitude.VIEW_MAIN +import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils import org.sopt.dateroad.presentation.util.view.LoadState import org.sopt.dateroad.ui.theme.DateRoadTheme @@ -107,6 +115,22 @@ fun HomeRoute( } } + LaunchedEffect(uiState.loadState, lifecycleOwner) { + if (uiState.loadState == LoadState.Success) { + AmplitudeUtils.trackEventWithProperties( + eventName = VIEW_MAIN, + mapOf( + USER_NAME to uiState.userPoint.name, + USER_POINT to uiState.userPoint.point, + COURSE_LIST_ID to uiState.topLikedCourses.map { it.courseId }.joinToString(), + COURSE_LIST_TITLE to uiState.topLikedCourses.joinToString { it.title }, + COURSE_LIST_LOCATION to uiState.topLikedCourses.joinToString { it.city }, + COURSE_LIST_COST to uiState.topLikedCourses.joinToString { it.cost } + ) + ) + } + } + when (uiState.loadState) { LoadState.Idle -> DateRoadIdleView() diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt index 4f437422..ae133f73 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt @@ -68,4 +68,4 @@ object HomeAmplitude { const val COURSE_LIST_TITLE = "course_list_title" const val COURSE_LIST_LOCATION = "course_list_location" const val COURSE_LIST_COST = "course_list_cost" -} \ No newline at end of file +} From fd1f3dfea5293247bfc36d0a33e2bdc27f9bf08d Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Mon, 16 Sep 2024 21:46:30 +0900 Subject: [PATCH 3/6] =?UTF-8?q?[chore]=20#234=20=EC=BD=94=EC=8A=A4=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=8D=BC=ED=8B=B0=20new=20=EC=BD=94=EC=8A=A4?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/sopt/dateroad/presentation/ui/home/HomeScreen.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt index bf4366d1..cf86587a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt @@ -122,10 +122,10 @@ fun HomeRoute( mapOf( USER_NAME to uiState.userPoint.name, USER_POINT to uiState.userPoint.point, - COURSE_LIST_ID to uiState.topLikedCourses.map { it.courseId }.joinToString(), - COURSE_LIST_TITLE to uiState.topLikedCourses.joinToString { it.title }, - COURSE_LIST_LOCATION to uiState.topLikedCourses.joinToString { it.city }, - COURSE_LIST_COST to uiState.topLikedCourses.joinToString { it.cost } + COURSE_LIST_ID to uiState.topLikedCourses.map { it.courseId }.joinToString() + "," + uiState.latestCourses.map { it.courseId }.joinToString(), + COURSE_LIST_TITLE to uiState.topLikedCourses.joinToString { it.title } + "," + uiState.latestCourses.joinToString { it.title }, + COURSE_LIST_LOCATION to uiState.topLikedCourses.joinToString { it.city } + "," + uiState.latestCourses.joinToString { it.city }, + COURSE_LIST_COST to uiState.topLikedCourses.joinToString { it.cost } + "," + uiState.latestCourses.joinToString { it.cost } ) ) } From 6d7dab9778b7ac3d078018399fcbde7f21636d15 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Tue, 17 Sep 2024 21:43:28 +0900 Subject: [PATCH 4/6] =?UTF-8?q?[chore]=20#234=20=EC=BD=94=EC=8A=A4=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=94=84=EB=A1=9C=ED=8D=BC?= =?UTF-8?q?=ED=8B=B0=20Hot,=20New=20=EA=B5=AC=EB=B6=84=20=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sopt/dateroad/presentation/ui/home/HomeScreen.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt index cf86587a..4af604c5 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt @@ -122,10 +122,14 @@ fun HomeRoute( mapOf( USER_NAME to uiState.userPoint.name, USER_POINT to uiState.userPoint.point, - COURSE_LIST_ID to uiState.topLikedCourses.map { it.courseId }.joinToString() + "," + uiState.latestCourses.map { it.courseId }.joinToString(), - COURSE_LIST_TITLE to uiState.topLikedCourses.joinToString { it.title } + "," + uiState.latestCourses.joinToString { it.title }, - COURSE_LIST_LOCATION to uiState.topLikedCourses.joinToString { it.city } + "," + uiState.latestCourses.joinToString { it.city }, - COURSE_LIST_COST to uiState.topLikedCourses.joinToString { it.cost } + "," + uiState.latestCourses.joinToString { it.cost } + COURSE_LIST_ID to + "Hot: " + uiState.topLikedCourses.map { it.courseId }.joinToString() + " / New: " + uiState.latestCourses.map { it.courseId }.joinToString(), + COURSE_LIST_TITLE to + "Hot: " + uiState.topLikedCourses.joinToString { it.title } + " / New: " + uiState.latestCourses.joinToString { it.title }, + COURSE_LIST_LOCATION to + "Hot: " + uiState.topLikedCourses.joinToString { it.city } + " / New: " + uiState.latestCourses.joinToString { it.city }, + COURSE_LIST_COST to + "Hot: " + uiState.topLikedCourses.joinToString { it.cost } + " / New: " + uiState.latestCourses.joinToString { it.cost } ) ) } From 0ec8898d519a12ec42b2d9aec09a064862e1c20f Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Tue, 17 Sep 2024 21:50:29 +0900 Subject: [PATCH 5/6] =?UTF-8?q?[chore]=20#234=20=EC=95=B0=ED=94=8C?= =?UTF-8?q?=EB=A6=AC=ED=8A=9C=EB=93=9C=20=EC=8A=A4=ED=8A=B8=EB=A7=81=20?= =?UTF-8?q?=EC=83=81=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sopt/dateroad/presentation/ui/home/HomeScreen.kt | 10 ++++++---- .../org/sopt/dateroad/presentation/util/Constraints.kt | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt index 4af604c5..ad4f5f63 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt @@ -59,6 +59,8 @@ import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_COST import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_ID import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_LOCATION import org.sopt.dateroad.presentation.util.HomeAmplitude.COURSE_LIST_TITLE +import org.sopt.dateroad.presentation.util.HomeAmplitude.HOT +import org.sopt.dateroad.presentation.util.HomeAmplitude.NEW import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_NAME import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_POINT import org.sopt.dateroad.presentation.util.HomeAmplitude.VIEW_MAIN @@ -123,13 +125,13 @@ fun HomeRoute( USER_NAME to uiState.userPoint.name, USER_POINT to uiState.userPoint.point, COURSE_LIST_ID to - "Hot: " + uiState.topLikedCourses.map { it.courseId }.joinToString() + " / New: " + uiState.latestCourses.map { it.courseId }.joinToString(), + HOT + uiState.topLikedCourses.map { it.courseId }.joinToString() + NEW + uiState.latestCourses.map { it.courseId }.joinToString(), COURSE_LIST_TITLE to - "Hot: " + uiState.topLikedCourses.joinToString { it.title } + " / New: " + uiState.latestCourses.joinToString { it.title }, + HOT + uiState.topLikedCourses.joinToString { it.title } + NEW + uiState.latestCourses.joinToString { it.title }, COURSE_LIST_LOCATION to - "Hot: " + uiState.topLikedCourses.joinToString { it.city } + " / New: " + uiState.latestCourses.joinToString { it.city }, + HOT + uiState.topLikedCourses.joinToString { it.city } + NEW + uiState.latestCourses.joinToString { it.city }, COURSE_LIST_COST to - "Hot: " + uiState.topLikedCourses.joinToString { it.cost } + " / New: " + uiState.latestCourses.joinToString { it.cost } + HOT + uiState.topLikedCourses.joinToString { it.cost } + NEW + uiState.latestCourses.joinToString { it.cost } ) ) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt index ae133f73..c4af5af1 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt @@ -68,4 +68,6 @@ object HomeAmplitude { const val COURSE_LIST_TITLE = "course_list_title" const val COURSE_LIST_LOCATION = "course_list_location" const val COURSE_LIST_COST = "course_list_cost" + const val HOT = "Hot: " + const val NEW = " / New: " } From 276ffd356e92eca4e899dacff422e96171836e15 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Fri, 27 Sep 2024 18:23:22 +0900 Subject: [PATCH 6/6] [chore] #234 ktlintFormat --- .../java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt index 07e9df5d..cae9923b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt @@ -64,8 +64,8 @@ import org.sopt.dateroad.presentation.util.HomeAmplitude.NEW import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_NAME import org.sopt.dateroad.presentation.util.HomeAmplitude.USER_POINT import org.sopt.dateroad.presentation.util.HomeAmplitude.VIEW_MAIN -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils import org.sopt.dateroad.presentation.util.ViewPath.HOME +import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils import org.sopt.dateroad.presentation.util.view.LoadState import org.sopt.dateroad.ui.theme.DateRoadTheme