mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 19:57:04 +05:30
feat(android): switch to M3-compatible pull to refresh
This commit is contained in:
parent
c8c3e83e7b
commit
025c24a9d9
3 changed files with 8 additions and 11 deletions
|
@ -70,7 +70,6 @@ dependencies {
|
||||||
implementation(libs.androidx.activity.compose)
|
implementation(libs.androidx.activity.compose)
|
||||||
implementation(libs.androidx.compose.glance)
|
implementation(libs.androidx.compose.glance)
|
||||||
implementation(libs.androidx.compose.glance.m3)
|
implementation(libs.androidx.compose.glance.m3)
|
||||||
implementation(libs.androidx.compose.material)
|
|
||||||
implementation(libs.androidx.compose.material.icons.extended)
|
implementation(libs.androidx.compose.material.icons.extended)
|
||||||
implementation(libs.androidx.compose.material3)
|
implementation(libs.androidx.compose.material3)
|
||||||
implementation(libs.androidx.compose.material3.window.size)
|
implementation(libs.androidx.compose.material3.window.size)
|
||||||
|
@ -86,6 +85,7 @@ dependencies {
|
||||||
implementation(libs.jsoup)
|
implementation(libs.jsoup)
|
||||||
implementation(libs.kotlinx.collections.immutable)
|
implementation(libs.kotlinx.collections.immutable)
|
||||||
implementation(libs.kotlinx.coroutines.core)
|
implementation(libs.kotlinx.coroutines.core)
|
||||||
|
implementation(libs.material3.pulltorefresh)
|
||||||
implementation(libs.napier)
|
implementation(libs.napier)
|
||||||
implementation(libs.sqldelight.extensions.coroutines)
|
implementation(libs.sqldelight.extensions.coroutines)
|
||||||
implementation(libs.swipe)
|
implementation(libs.swipe)
|
||||||
|
|
|
@ -14,13 +14,8 @@ import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.wrapContentWidth
|
import androidx.compose.foundation.layout.wrapContentWidth
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material.pullrefresh.PullRefreshIndicator
|
|
||||||
import androidx.compose.material.pullrefresh.pullRefresh
|
|
||||||
import androidx.compose.material.pullrefresh.rememberPullRefreshState
|
|
||||||
import androidx.compose.material3.HorizontalDivider
|
import androidx.compose.material3.HorizontalDivider
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.material3.contentColorFor
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
@ -35,8 +30,11 @@ import dev.msfjarvis.claw.common.ui.ProgressBar
|
||||||
import dev.msfjarvis.claw.database.local.SavedPost
|
import dev.msfjarvis.claw.database.local.SavedPost
|
||||||
import dev.msfjarvis.claw.model.LobstersPost
|
import dev.msfjarvis.claw.model.LobstersPost
|
||||||
import dev.msfjarvis.claw.model.toSavedPost
|
import dev.msfjarvis.claw.model.toSavedPost
|
||||||
|
import eu.bambooapps.material3.pullrefresh.PullRefreshIndicator
|
||||||
|
import eu.bambooapps.material3.pullrefresh.pullRefresh
|
||||||
|
import eu.bambooapps.material3.pullrefresh.rememberPullRefreshState
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterialApi::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun NetworkPosts(
|
fun NetworkPosts(
|
||||||
lazyPagingItems: LazyPagingItems<LobstersPost>,
|
lazyPagingItems: LazyPagingItems<LobstersPost>,
|
||||||
|
@ -95,8 +93,7 @@ fun NetworkPosts(
|
||||||
refreshing = isRefreshing,
|
refreshing = isRefreshing,
|
||||||
state = pullRefreshState,
|
state = pullRefreshState,
|
||||||
modifier = Modifier.align(Alignment.TopCenter),
|
modifier = Modifier.align(Alignment.TopCenter),
|
||||||
backgroundColor = MaterialTheme.colorScheme.surface,
|
shadowElevation = 6.dp, // From M2 implementation
|
||||||
contentColor = contentColorFor(MaterialTheme.colorScheme.surface),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ androidx-compose-bom = "dev.chrisbanes.compose:compose-bom:2023.10.00-alpha01"
|
||||||
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" }
|
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" }
|
||||||
androidx-compose-glance = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
|
androidx-compose-glance = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
|
||||||
androidx-compose-glance-m3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
|
androidx-compose-glance-m3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
|
||||||
androidx-compose-material = { module = "androidx.compose.material:material" }
|
|
||||||
androidx-compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
|
androidx-compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
|
||||||
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
|
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
|
||||||
androidx-compose-material3-window-size = { module = "androidx.compose.material3:material3-window-size-class" }
|
androidx-compose-material3-window-size = { module = "androidx.compose.material3:material3-window-size-class" }
|
||||||
|
@ -80,6 +79,7 @@ kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-t
|
||||||
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" }
|
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" }
|
||||||
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" }
|
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" }
|
||||||
kotlinResult-coroutines = { module = "com.michael-bull.kotlin-result:kotlin-result-coroutines", version.ref = "kotlinResult" }
|
kotlinResult-coroutines = { module = "com.michael-bull.kotlin-result:kotlin-result-coroutines", version.ref = "kotlinResult" }
|
||||||
|
material3-pulltorefresh = "eu.bambooapps:compose-material3-pullrefresh:1.0.0"
|
||||||
napier = "io.github.aakira:napier:2.6.1"
|
napier = "io.github.aakira:napier:2.6.1"
|
||||||
okhttp-bom = "com.squareup.okhttp3:okhttp-bom:4.11.0"
|
okhttp-bom = "com.squareup.okhttp3:okhttp-bom:4.11.0"
|
||||||
okhttp-core = { module = "com.squareup.okhttp3:okhttp" }
|
okhttp-core = { module = "com.squareup.okhttp3:okhttp" }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue