diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f31c0fd8..83c39a57 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -31,7 +31,6 @@ dependencies { implementation(libs.kotlin.coroutines.android) implementation(libs.thirdparty.accompanist.coil) implementation(libs.thirdparty.accompanist.flow) - implementation(libs.thirdparty.accompanist.swiperefresh) implementation(libs.thirdparty.moshi.lib) implementation(libs.thirdparty.moshix.metadatareflect) implementation(libs.thirdparty.retrofit.moshiConverter) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt index a8d62e03..bf9efa67 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/main/LobstersApp.kt @@ -96,7 +96,6 @@ fun LobstersApp() { modifier = Modifier.padding(bottom = innerPadding.calculateBottomPadding()), isPostSaved = viewModel::isPostSaved, saveAction = viewModel::toggleSave, - refreshAction = viewModel::reloadHottestPosts, viewComments = { navController.navigate("comments/$it") }, ) } @@ -107,7 +106,6 @@ fun LobstersApp() { modifier = Modifier.padding(bottom = innerPadding.calculateBottomPadding()), isPostSaved = viewModel::isPostSaved, saveAction = viewModel::toggleSave, - refreshAction = viewModel::reloadNewestPosts, viewComments = { navController.navigate("comments/$it") }, ) } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/NetworkPosts.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/NetworkPosts.kt index 6dcb965f..031f3c75 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/NetworkPosts.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/NetworkPosts.kt @@ -11,8 +11,6 @@ import androidx.compose.ui.Modifier import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.items -import com.google.accompanist.swiperefresh.SwipeRefresh -import com.google.accompanist.swiperefresh.rememberSwipeRefreshState import dev.msfjarvis.lobsters.data.local.SavedPost import dev.msfjarvis.lobsters.model.LobstersPost import dev.msfjarvis.lobsters.ui.urllauncher.LocalUrlLauncher @@ -26,43 +24,33 @@ fun NetworkPosts( modifier: Modifier = Modifier, isPostSaved: (String) -> Boolean, saveAction: (SavedPost) -> Unit, - refreshAction: () -> Unit, viewComments: (String) -> Unit, ) { val urlLauncher = LocalUrlLauncher.current val isRefreshing = posts.loadState.refresh == LoadState.Loading - SwipeRefresh( - state = rememberSwipeRefreshState(isRefreshing), - onRefresh = { - if (!isRefreshing) { - refreshAction() - } - }, - ) { - if (isRefreshing) { - LazyColumn { items(15) { LoadingLobstersItem() } } - } else { - LazyColumn( - state = listState, - modifier = Modifier.then(modifier), - ) { - items(posts) { item -> - if (item != null) { - @Suppress("NAME_SHADOWING") val item = item.toDbModel() - var isSaved by remember(item.shortId) { mutableStateOf(isPostSaved(item.shortId)) } + if (isRefreshing) { + LazyColumn { items(15) { LoadingLobstersItem() } } + } else { + LazyColumn( + state = listState, + modifier = Modifier.then(modifier), + ) { + items(posts) { item -> + if (item != null) { + @Suppress("NAME_SHADOWING") val item = item.toDbModel() + var isSaved by remember(item.shortId) { mutableStateOf(isPostSaved(item.shortId)) } - LobstersItem( - post = item, - isSaved = isSaved, - viewPost = { urlLauncher.launch(item.url.ifEmpty { item.commentsUrl }) }, - viewComments = viewComments, - toggleSave = { - isSaved = isSaved.not() - saveAction.invoke(item) - }, - ) - } + LobstersItem( + post = item, + isSaved = isSaved, + viewPost = { urlLauncher.launch(item.url.ifEmpty { item.commentsUrl }) }, + viewComments = viewComments, + toggleSave = { + isSaved = isSaved.not() + saveAction.invoke(item) + }, + ) } } } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/viewmodel/LobstersViewModel.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/viewmodel/LobstersViewModel.kt index 7144aed9..514ff382 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/viewmodel/LobstersViewModel.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/viewmodel/LobstersViewModel.kt @@ -68,14 +68,6 @@ constructor( return lobstersRepository.fetchPostDetails(postId) } - fun reloadHottestPosts() { - hottestPostsPagingSource?.invalidate() - } - - fun reloadNewestPosts() { - newestPostsPagingSource?.invalidate() - } - fun toggleSave(post: SavedPost) { viewModelScope.launch { val isSaved = lobstersRepository.isPostSaved(post.shortId)