Skip to content

Commit 796b259

Browse files
authored
Merge pull request #168 from mash-up-kr/feature/#167
[#167] lint
2 parents 4d5dcfe + 33768df commit 796b259

File tree

11 files changed

+42
-5
lines changed

11 files changed

+42
-5
lines changed

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/mvi/CalendarIntent.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ sealed interface CalendarIntent : Intent {
3838
data class ClickRecommendTodoTag(val index: Int) : CalendarIntent
3939

4040
data object ClickMonthChooser : CalendarIntent
41+
data object ClickDirectInput : CalendarIntent
4142

4243

4344
}

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/mvi/CalendarSideEffect.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ sealed interface CalendarSideEffect : SideEffect {
1616

1717
data class NavigateToAddTodo(val todo: Todo) : CalendarSideEffect
1818

19+
data object NavigateToAddTodoWithDirectInput : CalendarSideEffect
20+
1921

2022
}

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/mvi/CalendarSideEffectHandler.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ fun rememberSideEffectHandler(
2424
updateNextMonthPage: (page: Int) -> Unit,
2525
navigateToDetailDate: (date: String) -> Unit,
2626
navigateToAddTodo: (todo: Todo) -> Unit,
27+
navigateToAddTodoWithDirectInput: () -> Unit,
2728
calendarPagerState: CalendarPagerState = rememberCalendarPagerState(),
2829
coroutineScope: CoroutineScope = rememberCoroutineScope(),
2930
) = remember(calendarPagerState, coroutineScope) {
@@ -39,10 +40,11 @@ fun rememberSideEffectHandler(
3940
updatePreviousWeekPage = updatePreviousWeekPage,
4041
navigateToDetailDate = navigateToDetailDate,
4142
navigateToAddTodo = navigateToAddTodo,
43+
navigateToAddTodoWithDirectInput = navigateToAddTodoWithDirectInput,
4244
calendarPagerState = calendarPagerState,
4345
coroutineScope = coroutineScope,
4446

45-
)
47+
)
4648
}
4749

4850
@Stable
@@ -57,6 +59,7 @@ class CalendarSideEffectHandler(
5759
private val updateNextMonthPage: (page: Int) -> Unit,
5860
private val navigateToDetailDate: (date: String) -> Unit,
5961
private val navigateToAddTodo: (todo: Todo) -> Unit,
62+
private val navigateToAddTodoWithDirectInput: () -> Unit,
6063
private val calendarPagerState: CalendarPagerState,
6164
private val coroutineScope: CoroutineScope,
6265
) : SideEffectHandler<CalendarSideEffect> {
@@ -115,6 +118,10 @@ class CalendarSideEffectHandler(
115118
is CalendarSideEffect.NavigateToAddTodo -> {
116119
navigateToAddTodo(sideEffect.todo)
117120
}
121+
122+
is CalendarSideEffect.NavigateToAddTodoWithDirectInput -> {
123+
navigateToAddTodoWithDirectInput()
124+
}
118125
}
119126
}
120127
}

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/mvi/CalendarViewModel.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class CalendarViewModel @Inject constructor(
8686
is CalendarIntent.GetRecommendTodoTagList -> getRecommendTodoTag()
8787
is CalendarIntent.ClickRecommendTodoTag -> clickRecommendTagTodo(index = intent.index)
8888
is CalendarIntent.ClickMonthChooser -> clickMonthChooser()
89+
is CalendarIntent.ClickDirectInput -> clickDirectInput()
8990
}
9091
}
9192

@@ -512,6 +513,10 @@ class CalendarViewModel @Inject constructor(
512513
postSideEffect(CalendarSideEffect.NavigateToAddTodo(todo = todo))
513514
}
514515

516+
private fun clickDirectInput() = execute {
517+
postSideEffect(CalendarSideEffect.NavigateToAddTodoWithDirectInput)
518+
}
519+
515520
private fun <T> Flow<T>.toStateFlow(
516521
initialValue: T,
517522
): StateFlow<T> = this.stateIn(viewModelScope, SharingStarted.WhileSubscribed(5_000L), initialValue = initialValue)

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/mvi/builder/IntentBuilder.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,7 @@ class IntentBuilder(
115115
build(CalendarIntent.ClickMonthChooser)
116116
}
117117

118+
fun clickDirectInput(){
119+
build(CalendarIntent.ClickDirectInput)
120+
}
118121
}

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/navigation/CalendarNavigation.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ import team.noweekend.feature.calendar.screen.CalendarRoute
99
fun NavGraphBuilder.calendarNavGraph(
1010
navigateToDetailDate: (String) -> Unit,
1111
navigateToAddTodo: (Todo) -> Unit,
12+
navigateToAddTodoWithDirectInput: () -> Unit,
1213
) {
1314
composable<Calendar> {
1415
CalendarRoute(
1516
navigateToDetailDate = navigateToDetailDate,
1617
navigateToAddTodo = navigateToAddTodo,
18+
navigateToAddTodoWithDirectInput = navigateToAddTodoWithDirectInput,
1719
)
1820
}
1921
}

feature/calendar/src/main/kotlin/team/noweekend/feature/calendar/screen/CalendarRoute.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import team.noweekend.feature.calendar.mvi.rememberSideEffectHandler
3232
internal fun CalendarRoute(
3333
navigateToDetailDate: (String) -> Unit,
3434
navigateToAddTodo: (Todo) -> Unit,
35+
navigateToAddTodoWithDirectInput: () -> Unit,
3536
modifier: Modifier = Modifier,
3637
calendarViewModel: CalendarViewModel = hiltViewModel(),
3738
) {
@@ -55,6 +56,7 @@ internal fun CalendarRoute(
5556
updatePreviousWeekPage = intentBuilder::updatePreviousWeekPage,
5657
navigateToDetailDate = navigateToDetailDate,
5758
navigateToAddTodo = navigateToAddTodo,
59+
navigateToAddTodoWithDirectInput = navigateToAddTodoWithDirectInput,
5860
)
5961

6062

@@ -95,7 +97,7 @@ internal fun CalendarRoute(
9597
modifier = Modifier
9698
.align(Alignment.BottomEnd)
9799
.padding(bottom = 20.dp, end = 20.dp),
98-
onClickDirectInput = {},
100+
onClickDirectInput = intentBuilder::clickDirectInput,
99101
onClickDim = { isExpanded = isExpanded.not() },
100102
)
101103

@@ -131,6 +133,7 @@ private fun CalendarRoutePreview() {
131133
modifier = Modifier.fillMaxSize(),
132134
navigateToDetailDate = {},
133135
navigateToAddTodo = {},
136+
navigateToAddTodoWithDirectInput = {}
134137
)
135138
}
136139
}

feature/main/src/main/kotlin/team/noweekend/feature/main/MainActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ class MainActivity : ComponentActivity() {
4646
/* Todo use CalendarNavigationDelgate
4747
ex) calendarNavigationDelegate.navigateToAddTask()
4848
*/
49+
},
50+
navigateToAddTodoWithDirectInput = {
51+
4952
}
5053
)
5154
}

feature/main/src/main/kotlin/team/noweekend/feature/main/MainNavHost.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ internal fun MainNavHost(
2020
navigateToCreateVacation: ((Intent.() -> Intent)?, ActivityResultLauncher<Intent>?) -> Unit,
2121
navigateToDetailDate: ((Intent.() -> Intent)?) -> Unit,
2222
navigateToAddTodo: ((Intent.() -> Intent)?) -> Unit,
23+
navigateToAddTodoWithDirectInput: ((Intent.() -> Intent)?) -> Unit,
2324
navigator: MainNavigator,
2425
modifier: Modifier = Modifier,
2526
) {
@@ -51,6 +52,11 @@ internal fun MainNavHost(
5152
},
5253
)
5354
},
55+
navigateToAddTodoWithDirectInput = {
56+
navigateToAddTodoWithDirectInput(
57+
{ this },
58+
)
59+
},
5460
)
5561
profileNavGraph(
5662
navigateToExternalWebBrowser = navigateToExternalWebBrowser,

feature/main/src/main/kotlin/team/noweekend/feature/main/screen/MainRoute.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ internal fun MainRoute(
1313
navigateToDetailDate: ((Intent.() -> Intent)?) -> Unit,
1414
navigateToExternalWebBrowser: (String) -> Unit,
1515
navigateToAddTodo : ((Intent.() -> Intent)?) -> Unit,
16+
navigateToAddTodoWithDirectInput: ((Intent.() -> Intent)?) -> Unit,
1617
modifier: Modifier = Modifier,
1718
navigator: MainNavigator = rememberMainNavigator(),
1819
) {
@@ -21,6 +22,7 @@ internal fun MainRoute(
2122
navigateToDetailDate = navigateToDetailDate,
2223
navigateToExternalWebBrowser = navigateToExternalWebBrowser,
2324
navigateToAddTodo = navigateToAddTodo,
25+
navigateToAddTodoWithDirectInput = navigateToAddTodoWithDirectInput,
2426
onTabSelected = { navigator.navigate(it) },
2527
modifier = modifier,
2628
navigator = navigator,

0 commit comments

Comments
 (0)