Skip to content

Commit 58d705b

Browse files
committed
move the eventSink to be defined on the UiState object directly
1 parent 158964d commit 58d705b

1 file changed

Lines changed: 33 additions & 38 deletions

File tree

app/src/main/kotlin/org/cru/godtools/ui/tooldetails/ToolDetailsPresenter.kt

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -114,42 +114,6 @@ class ToolDetailsPresenter @AssistedInject constructor(
114114
val manifest by manifestManager.produceManifestState(translation)
115115
val secondManifest by manifestManager.produceManifestState(secondTranslation)
116116

117-
val eventSink: (UiEvent) -> Unit = remember {
118-
{
119-
when (it) {
120-
UiEvent.NavigateUp -> navigator.pop()
121-
122-
UiEvent.OpenTool -> openTool(tool, translation, secondTranslation)
123-
124-
UiEvent.OpenToolTraining -> tool?.let {
125-
// TODO: handle opening training tips and optionally showing the tutorial locally once the
126-
// tutorial uses Circuit.
127-
navigator.goTo(
128-
OpenToolTrainingScreen(
129-
it.code,
130-
it.type,
131-
translation?.languageCode,
132-
secondTranslation?.languageCode
133-
)
134-
)
135-
}
136-
137-
UiEvent.PinTool -> coroutineScope.launch {
138-
settings.setFeatureDiscovered(Settings.FEATURE_TOOL_FAVORITE)
139-
toolsRepository.pinTool(toolCode)
140-
syncService.syncDirtyFavoriteTools()
141-
}
142-
143-
UiEvent.UnpinTool -> coroutineScope.launch {
144-
toolsRepository.unpinTool(toolCode)
145-
syncService.syncDirtyFavoriteTools()
146-
}
147-
148-
UiEvent.PinShortcut -> pendingShortcut?.let { shortcutManager.pinShortcut(it) }
149-
}
150-
}
151-
}
152-
153117
val secondLanguage = languagesRepository.rememberLanguage(screen.secondLanguage)
154118
val variants = rememberVariants(tool?.metatoolCode, secondLanguage = secondLanguage) { toolCode = it }
155119

@@ -175,8 +139,39 @@ class ToolDetailsPresenter @AssistedInject constructor(
175139
availableLanguages = rememberAvailableLanguages(toolCode),
176140
variants = variants,
177141
drawerState = drawerMenuPresenter.present(),
178-
eventSink = eventSink
179-
)
142+
) {
143+
when (it) {
144+
UiEvent.NavigateUp -> navigator.pop()
145+
146+
UiEvent.OpenTool -> openTool(tool, translation, secondTranslation)
147+
148+
UiEvent.OpenToolTraining -> tool?.let {
149+
// TODO: handle opening training tips and optionally showing the tutorial locally once the
150+
// tutorial uses Circuit.
151+
navigator.goTo(
152+
OpenToolTrainingScreen(
153+
it.code,
154+
it.type,
155+
translation?.languageCode,
156+
secondTranslation?.languageCode
157+
)
158+
)
159+
}
160+
161+
UiEvent.PinTool -> coroutineScope.launch {
162+
settings.setFeatureDiscovered(Settings.FEATURE_TOOL_FAVORITE)
163+
toolsRepository.pinTool(toolCode)
164+
syncService.syncDirtyFavoriteTools()
165+
}
166+
167+
UiEvent.UnpinTool -> coroutineScope.launch {
168+
toolsRepository.unpinTool(toolCode)
169+
syncService.syncDirtyFavoriteTools()
170+
}
171+
172+
UiEvent.PinShortcut -> pendingShortcut?.let { shortcutManager.pinShortcut(it) }
173+
}
174+
}
180175
}
181176

182177
@Composable

0 commit comments

Comments
 (0)