fix(android): make samplePosts helper generic
This commit is contained in:
@@ -96,7 +96,7 @@ class SavedPostsWidget : GlanceAppWidget() {
|
||||
)
|
||||
}
|
||||
|
||||
@SuppressLint("VisibleForTests", "ComposeUnstableReceiver")
|
||||
@SuppressLint("ComposeUnstableReceiver")
|
||||
@OptIn(ExperimentalGlancePreviewApi::class)
|
||||
@Preview
|
||||
@GlanceComposable
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*/
|
||||
package dev.msfjarvis.claw.android.glance
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -33,7 +32,6 @@ import androidx.glance.text.Text
|
||||
import androidx.glance.text.TextStyle
|
||||
import dev.msfjarvis.claw.android.MainActivity
|
||||
import dev.msfjarvis.claw.android.R
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST
|
||||
import dev.msfjarvis.claw.model.UIPost
|
||||
|
||||
@Composable
|
||||
@@ -78,11 +76,10 @@ fun WidgetPostEntry(post: UIPost, modifier: GlanceModifier = GlanceModifier) {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("VisibleForTests")
|
||||
@OptIn(ExperimentalGlancePreviewApi::class)
|
||||
@Preview
|
||||
@GlanceComposable
|
||||
@Composable
|
||||
private fun WidgetPostEntryPreview() {
|
||||
WidgetPostEntry(TEST_POST)
|
||||
WidgetPostEntry(samplePosts(1).first())
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ import androidx.glance.text.TextStyle
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST
|
||||
import dev.msfjarvis.claw.common.theme.DarkThemeColors
|
||||
import dev.msfjarvis.claw.common.theme.LightThemeColors
|
||||
import dev.msfjarvis.claw.model.UIPost
|
||||
import kotlinx.collections.immutable.PersistentList
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
|
||||
@Composable
|
||||
@@ -62,4 +64,9 @@ fun WidgetContainer(
|
||||
}
|
||||
|
||||
@SuppressLint("VisibleForTests")
|
||||
fun samplePosts() = buildList(5) { repeat(5) { add(TEST_POST) } }.toPersistentList()
|
||||
fun samplePosts(
|
||||
count: Int = 5,
|
||||
mutator: UIPost.(idx: Int) -> UIPost = { this },
|
||||
): PersistentList<UIPost> {
|
||||
return buildList(count) { repeat(count) { add(TEST_POST.mutator(it)) } }.toPersistentList()
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.rememberVectorPainter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import dev.msfjarvis.claw.android.glance.samplePosts
|
||||
import dev.msfjarvis.claw.common.posts.LobstersCard
|
||||
import dev.msfjarvis.claw.common.posts.PostActions
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST_ACTIONS
|
||||
import dev.msfjarvis.claw.common.theme.LobstersTheme
|
||||
import dev.msfjarvis.claw.common.ui.preview.ThemePreviews
|
||||
@@ -51,5 +51,5 @@ fun LobstersListItem(item: UIPost, postActions: PostActions, modifier: Modifier
|
||||
@ThemePreviews
|
||||
@Composable
|
||||
private fun ItemPreview() {
|
||||
LobstersTheme { LobstersListItem(item = TEST_POST, postActions = TEST_POST_ACTIONS) }
|
||||
LobstersTheme { LobstersListItem(item = samplePosts(1).first(), postActions = TEST_POST_ACTIONS) }
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ import androidx.paging.PagingData
|
||||
import androidx.paging.compose.LazyPagingItems
|
||||
import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import androidx.paging.compose.itemContentType
|
||||
import dev.msfjarvis.claw.android.glance.samplePosts
|
||||
import dev.msfjarvis.claw.common.posts.PostActions
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST
|
||||
import dev.msfjarvis.claw.common.posts.TEST_POST_ACTIONS
|
||||
import dev.msfjarvis.claw.common.theme.LobstersTheme
|
||||
import dev.msfjarvis.claw.common.ui.NetworkError
|
||||
@@ -110,7 +110,7 @@ fun NetworkPosts(
|
||||
@DevicePreviews
|
||||
@Composable
|
||||
private fun ListPreview() {
|
||||
val items = List(20) { TEST_POST.copy(shortId = "${TEST_POST.shortId}${it}") }
|
||||
val items = samplePosts(20) { this.copy(shortId = "${this.shortId}${it}") }
|
||||
val flow = MutableStateFlow(PagingData.from(items))
|
||||
LobstersTheme {
|
||||
NetworkPosts(
|
||||
|
||||
Reference in New Issue
Block a user