@@ -50,6 +50,7 @@ import com.prof18.feedflow.core.utils.AppConfig
5050import com.prof18.feedflow.core.utils.TestingTag
5151import com.prof18.feedflow.shared.domain.model.Browser
5252import com.prof18.feedflow.shared.presentation.SettingsViewModel
53+ import com.prof18.feedflow.shared.presentation.model.SettingsState
5354import com.prof18.feedflow.shared.presentation.preview.browsersForPreview
5455import com.prof18.feedflow.shared.ui.preview.PreviewPhone
5556import com.prof18.feedflow.shared.ui.search.FeedListFontSettings
@@ -92,15 +93,9 @@ fun SettingsScreen(
9293 browsers = browserListState,
9394 onFeedListClick = onFeedListClick,
9495 onAddFeedClick = onAddFeedClick,
95- isMarkReadWhenScrollingEnabled = settingState.isMarkReadWhenScrollingEnabled,
96- isShowReadItemEnabled = settingState.isShowReadItemsEnabled,
97- isReaderModeEnabled = settingState.isReaderModeEnabled,
98- isRemoveTitleFromDescriptionEnabled = settingState.isRemoveTitleFromDescriptionEnabled,
99- isHideDescriptionEnabled = settingState.isHideDescriptionEnabled,
100- isHideImagesEnabled = settingState.isHideImagesEnabled,
96+ settingsState = settingState,
10197 showAccounts = appConfig.isDropboxSyncEnabled,
10298 fontSizes = fontSizesState,
103- autoDeletePeriod = settingState.autoDeletePeriod,
10499 onBrowserSelected = { browser ->
105100 browserManager.setFavouriteBrowser(browser)
106101 },
@@ -148,15 +143,9 @@ fun SettingsScreen(
148143@Composable
149144private fun SettingsScreenContent (
150145 browsers : ImmutableList <Browser >,
151- isMarkReadWhenScrollingEnabled : Boolean ,
152- isShowReadItemEnabled : Boolean ,
153- isReaderModeEnabled : Boolean ,
154- isRemoveTitleFromDescriptionEnabled : Boolean ,
155- isHideDescriptionEnabled : Boolean ,
156- isHideImagesEnabled : Boolean ,
146+ settingsState : SettingsState ,
157147 showAccounts : Boolean ,
158148 fontSizes : FeedFontSizes ,
159- autoDeletePeriod : AutoDeletePeriod ,
160149 onFeedListClick : () -> Unit ,
161150 onAddFeedClick : () -> Unit ,
162151 onBrowserSelected : (Browser ) -> Unit ,
@@ -246,28 +235,28 @@ private fun SettingsScreenContent(
246235
247236 item {
248237 AutoDeletePeriodSelector (
249- currentPeriod = autoDeletePeriod,
238+ currentPeriod = settingsState. autoDeletePeriod,
250239 onPeriodSelected = onAutoDeletePeriodSelected,
251240 )
252241 }
253242
254243 item {
255244 ReaderModeSwitch (
256245 setReaderMode = setReaderMode,
257- isReaderModeEnabled = isReaderModeEnabled,
246+ isReaderModeEnabled = settingsState. isReaderModeEnabled,
258247 )
259248 }
260249
261250 item {
262251 MarkReadWhenScrollingSwitch (
263252 setMarkReadWhenScrolling = setMarkReadWhenScrolling,
264- isMarkReadWhenScrollingEnabled = isMarkReadWhenScrollingEnabled,
253+ isMarkReadWhenScrollingEnabled = settingsState. isMarkReadWhenScrollingEnabled,
265254 )
266255 }
267256
268257 item {
269258 ShowReadItemOnTimelineSwitch (
270- isShowReadItemEnabled = isShowReadItemEnabled ,
259+ isShowReadItemEnabled = settingsState.isShowReadItemsEnabled ,
271260 setShowReadItem = setShowReadItem,
272261 )
273262 }
@@ -283,8 +272,8 @@ private fun SettingsScreenContent(
283272
284273 item {
285274 FeedListFontSettings (
286- isHideDescriptionEnabled = isHideDescriptionEnabled,
287- isHideImagesEnabled = isHideImagesEnabled,
275+ isHideDescriptionEnabled = settingsState. isHideDescriptionEnabled,
276+ isHideImagesEnabled = settingsState. isHideImagesEnabled,
288277 fontSizes = fontSizes,
289278 updateFontScale = updateFontScale,
290279 )
@@ -294,21 +283,21 @@ private fun SettingsScreenContent(
294283 Spacer (modifier = Modifier .padding(top = Spacing .regular))
295284
296285 HideDescriptionSwitch (
297- isHideDescriptionEnabled = isHideDescriptionEnabled,
286+ isHideDescriptionEnabled = settingsState. isHideDescriptionEnabled,
298287 setHideDescription = setHideDescription,
299288 )
300289 }
301290
302291 item {
303292 HideImagesSwitch (
304- isHideImagesEnabled = isHideImagesEnabled,
293+ isHideImagesEnabled = settingsState. isHideImagesEnabled,
305294 setHideImages = setHideImages,
306295 )
307296 }
308297
309298 item {
310299 RemoveTitleFromDescSwitch (
311- isRemoveTitleFromDescriptionEnabled = isRemoveTitleFromDescriptionEnabled,
300+ isRemoveTitleFromDescriptionEnabled = settingsState. isRemoveTitleFromDescriptionEnabled,
312301 setRemoveTitleFromDescription = setRemoveTitleFromDescription,
313302 )
314303 }
@@ -535,15 +524,8 @@ private fun SettingsScreenPreview() {
535524 FeedFlowTheme {
536525 SettingsScreenContent (
537526 browsers = browsersForPreview,
538- isMarkReadWhenScrollingEnabled = true ,
539- isShowReadItemEnabled = false ,
540- isReaderModeEnabled = false ,
541- isRemoveTitleFromDescriptionEnabled = false ,
542- isHideDescriptionEnabled = false ,
543- isHideImagesEnabled = false ,
544527 showAccounts = true ,
545528 fontSizes = FeedFontSizes (),
546- autoDeletePeriod = AutoDeletePeriod .DISABLED ,
547529 onFeedListClick = {},
548530 onAddFeedClick = {},
549531 onBrowserSelected = {},
@@ -560,6 +542,7 @@ private fun SettingsScreenPreview() {
560542 setHideImages = {},
561543 updateFontScale = {},
562544 onAutoDeletePeriodSelected = {},
545+ settingsState = SettingsState (),
563546 )
564547 }
565548}
0 commit comments