Fix add feed when there are no feeds

This commit is contained in:
Jobobby04 2022-10-08 20:46:41 -04:00
parent 06d2e631be
commit 7d8f89826f

View File

@ -86,28 +86,57 @@ fun FeedScreen(
FeedList(
state = presenter,
getMangaState = { item, source -> presenter.getManga(item, source) },
onClickAdd = onClickAdd,
onClickCreate = onClickCreate,
onClickSavedSearch = onClickSavedSearch,
onClickSource = onClickSource,
onClickDelete = onClickDelete,
onClickDeleteConfirm = onClickDeleteConfirm,
onClickManga = onClickManga,
)
}
}
when (val dialog = presenter.dialog) {
is FeedPresenter.Dialog.AddFeed -> {
FeedAddDialog(
sources = dialog.options,
onDismiss = { presenter.dialog = null },
onClickAdd = {
presenter.dialog = null
onClickAdd(it ?: return@FeedAddDialog)
},
)
}
is FeedPresenter.Dialog.AddFeedSearch -> {
FeedAddSearchDialog(
source = dialog.source,
savedSearches = dialog.options,
onDismiss = { presenter.dialog = null },
onClickAdd = { source, savedSearch ->
presenter.dialog = null
onClickCreate(source, savedSearch)
},
)
}
is FeedPresenter.Dialog.DeleteFeed -> {
FeedDeleteConfirmDialog(
feed = dialog.feed,
onDismiss = { presenter.dialog = null },
onClickDeleteConfirm = {
presenter.dialog = null
onClickDeleteConfirm(it)
},
)
}
null -> Unit
}
}
@Composable
fun FeedList(
state: FeedState,
getMangaState: @Composable ((Manga, CatalogueSource?) -> State<Manga>),
onClickAdd: (CatalogueSource) -> Unit,
onClickCreate: (CatalogueSource, SavedSearch?) -> Unit,
onClickSavedSearch: (SavedSearch, CatalogueSource) -> Unit,
onClickSource: (CatalogueSource) -> Unit,
onClickDelete: (FeedSavedSearch) -> Unit,
onClickDeleteConfirm: (FeedSavedSearch) -> Unit,
onClickManga: (Manga) -> Unit,
) {
ScrollbarLazyColumn(
@ -128,41 +157,6 @@ fun FeedList(
)
}
}
when (val dialog = state.dialog) {
is FeedPresenter.Dialog.AddFeed -> {
FeedAddDialog(
sources = dialog.options,
onDismiss = { state.dialog = null },
onClickAdd = {
state.dialog = null
onClickAdd(it ?: return@FeedAddDialog)
},
)
}
is FeedPresenter.Dialog.AddFeedSearch -> {
FeedAddSearchDialog(
source = dialog.source,
savedSearches = dialog.options,
onDismiss = { state.dialog = null },
onClickAdd = { source, savedSearch ->
state.dialog = null
onClickCreate(source, savedSearch)
},
)
}
is FeedPresenter.Dialog.DeleteFeed -> {
FeedDeleteConfirmDialog(
feed = dialog.feed,
onDismiss = { state.dialog = null },
onClickDeleteConfirm = {
state.dialog = null
onClickDeleteConfirm(it)
},
)
}
null -> Unit
}
}
@Composable