Skip to content

Commit

Permalink
add: 로깅 검수
Browse files Browse the repository at this point in the history
  • Loading branch information
ThirFir committed Jan 2, 2025
1 parent ed26a15 commit 1824d7a
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 49 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ import `in`.koreatech.koin.feature.bus.R

@Composable
internal fun WrongInformationText(
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
loggingEventValue: String = ""
) {
val context = LocalContext.current
val eventValue = LocalSelectedTimetableTab.current.getEventValue()

LeadingIconText(
modifier = modifier.noRippleClickable {
EventLogger.logCampusClickEvent(
"error_feedback_button",
eventValue
loggingEventValue
)
val url = GOOGLE_FORM_URL
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
Expand All @@ -25,7 +23,6 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
Expand All @@ -41,7 +38,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.LayoutDirection
Expand Down Expand Up @@ -299,7 +295,7 @@ internal fun BusSearchResultScreenContent(
onComplete = { date, daytime, hour, minute ->
EventLogger.logCampusClickEvent(
"departure_time_setting_done",
"시간설정 " + if (selectedDateIndex == date
"시간설정: " + if (selectedDateIndex == date
&& selectedDaytimeIndex == daytime
&& selectedHourIndex == hour
&& selectedMinuteIndex == minute
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,23 @@ import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
import androidx.compose.material3.VerticalDivider
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastForEach
import `in`.koreatech.bus.component.CommonFailureView
import `in`.koreatech.bus.component.ShuttleBusOperationChip
import `in`.koreatech.bus.component.WrongInformationText
import `in`.koreatech.bus.mock.shuttleTimetableUiStateMock1
import `in`.koreatech.bus.mock.shuttleTimetableUiStateMock2
import `in`.koreatech.bus.screen.shuttle_timetable.composable.loading.ShuttleTimetableLoading
import `in`.koreatech.bus.screen.shuttle_timetable.viewmodel.ShuttleTimetableUiState
import `in`.koreatech.koin.core.analytics.EventLogger
import `in`.koreatech.koin.core.designsystem.component.tab.KoinSurface
import `in`.koreatech.koin.core.designsystem.component.tab.KoinTabRow
import `in`.koreatech.koin.core.designsystem.component.topbar.KoinTopAppBar
Expand All @@ -58,6 +62,7 @@ fun ShuttleTimetableScreenContent(
val pagerState = rememberPagerState { 2 }
val scope = rememberCoroutineScope()

val context = LocalContext.current
KoinSurface(
modifier = modifier
) {
Expand All @@ -72,11 +77,10 @@ fun ShuttleTimetableScreenContent(
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
) {

when (timetableUiState) {
is ShuttleTimetableUiState.Success -> {
val eventValue = "${stringResource(timetableUiState.timetable.routeType.simpleTitleRes)}_${timetableUiState.timetable.routeName}"
Column(
modifier = Modifier
.padding(horizontal = 24.dp, vertical = 16.dp)
Expand Down Expand Up @@ -116,6 +120,7 @@ fun ShuttleTimetableScreenContent(
) { page ->
Column(
modifier = Modifier.fillMaxSize()
.verticalScroll(rememberScrollState())
) {
Box(
modifier = Modifier
Expand Down Expand Up @@ -161,58 +166,82 @@ fun ShuttleTimetableScreenContent(
)
}
}
WrongInformationText(
modifier = Modifier.padding(top = 16.dp, start = 24.dp),
loggingEventValue = eventValue
)
Spacer(modifier = Modifier.height(120.dp))
}
}
} else {
HorizontalDivider(
color = KoinTheme.colors.neutral400
)

Box(
modifier = Modifier
.fillMaxWidth()
.height(14.dp)
.background(color = KoinTheme.colors.neutral100)
)
Row(
modifier = Modifier
.fillMaxWidth()
.height(IntrinsicSize.Min),
) {
ShuttleTimetableNodeItem(
nodeItemHeightDp = nodeItemHeightDp,
nodes = timetableUiState.timetable.nodeInfo.toPersistentList()
LaunchedEffect(pagerState.currentPage) {
EventLogger.logCampusClickEvent(
when(pagerState.currentPage) {
0 -> "go_to_school"
1 -> "go_home"
else -> "unknown"
},
eventValue
)
}

VerticalDivider(
modifier = Modifier.fillMaxHeight(),
color = KoinTheme.colors.neutral300
} else {
Column(
modifier = Modifier.fillMaxSize()
.verticalScroll(rememberScrollState())
) {
HorizontalDivider(
color = KoinTheme.colors.neutral400
)

Box(
modifier = Modifier
.fillMaxWidth()
.height(14.dp)
.background(color = KoinTheme.colors.neutral100)
)
Row(
modifier = Modifier
.fillMaxWidth()
.horizontalScroll(rememberScrollState())
.height(IntrinsicSize.Min),
) {
timetableUiState.timetable.routeInfo.fastForEach { route ->
ShuttleTimetableRouteItem(
route = route,
nodeItemHeightDp = nodeItemHeightDp,
)
}
ShuttleTimetableNodeItem(
nodeItemHeightDp = nodeItemHeightDp,
nodes = timetableUiState.timetable.nodeInfo.toPersistentList()
)

/** 시간표가 화면을 못 채울 때, 상단의 회색 배경을 채우기 위함 (프리뷰 참조)
* 더 좋은 방법을 모르겠음... */
Spacer(
modifier = Modifier.weight(1f).height(
KoinTheme.typography.regular14.getMeasuredKoreanHeightDp() + 16.dp
).background(KoinTheme.colors.neutral100)
VerticalDivider(
modifier = Modifier.fillMaxHeight(),
color = KoinTheme.colors.neutral300
)

Row(
modifier = Modifier
.fillMaxWidth()
.horizontalScroll(rememberScrollState())
) {
timetableUiState.timetable.routeInfo.fastForEach { route ->
ShuttleTimetableRouteItem(
route = route,
nodeItemHeightDp = nodeItemHeightDp,
)
}

/** 시간표가 화면을 못 채울 때, 상단의 회색 배경을 채우기 위함 (프리뷰 참조)
* 더 좋은 방법을 모르겠음... */
Spacer(
modifier = Modifier.weight(1f).height(
KoinTheme.typography.regular14.getMeasuredKoreanHeightDp() + 16.dp
).background(KoinTheme.colors.neutral100)
)
}
}
WrongInformationText(
modifier = Modifier.padding(top = 16.dp, start = 24.dp),
loggingEventValue = eventValue
)
Spacer(modifier = Modifier.height(120.dp))
}

Spacer(modifier = Modifier.height(120.dp))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import androidx.compose.ui.util.fastForEach
import `in`.koreatech.bus.component.WrongInformationText
import `in`.koreatech.bus.mock.commonTimetableMock
import `in`.koreatech.bus.state.CommonTimetableState
import `in`.koreatech.bus.util.LocalSelectedTimetableTab
import `in`.koreatech.koin.core.designsystem.component.tab.KoinSurface
import `in`.koreatech.koin.core.designsystem.component.text.LeadingIconText
import `in`.koreatech.koin.core.designsystem.theme.KoinTheme
import `in`.koreatech.koin.feature.bus.R

Expand Down Expand Up @@ -84,7 +84,8 @@ internal fun CommonTimetableView(
)

WrongInformationText(
modifier = Modifier.padding(top = 4.dp)
modifier = Modifier.padding(top = 4.dp),
loggingEventValue = LocalSelectedTimetableTab.current.getEventValue()
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import `in`.koreatech.bus.state.ShuttleCourseRegionState
import `in`.koreatech.bus.state.ShuttleCourseRouteState
import `in`.koreatech.bus.state.ShuttleCoursesState
import `in`.koreatech.bus.type.ShuttleBusOperationType
import `in`.koreatech.bus.util.LocalSelectedTimetableTab
import `in`.koreatech.bus.util.formatPeriod
import `in`.koreatech.koin.core.analytics.EventLogger
import `in`.koreatech.koin.core.designsystem.component.chip.TextChipGroup
Expand Down Expand Up @@ -109,7 +110,8 @@ internal fun ShuttleCoursesScreenContent(
color = KoinTheme.colors.neutral500,
)
WrongInformationText(
modifier = Modifier.padding(top = 4.dp, start = 24.dp)
modifier = Modifier.padding(top = 4.dp, start = 24.dp),
loggingEventValue = LocalSelectedTimetableTab.current.getEventValue()
)
Spacer(modifier = Modifier
.fillMaxWidth()
Expand Down

0 comments on commit 1824d7a

Please sign in to comment.