Add a preview for all icons.

It will help to investigate icon rendering issue using Showkase browser.
This commit is contained in:
Benoit Marty
2025-10-06 14:24:18 +02:00
committed by Benoit Marty
parent 25c3fed1b1
commit 99cca81978

View File

@@ -8,6 +8,11 @@
package io.element.android.libraries.designsystem.theme.components
import androidx.annotation.DrawableRes
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.material3.LocalContentColor
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -15,9 +20,12 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
@@ -134,3 +142,24 @@ fun Icon(
internal fun IconImageVectorPreview() = ElementThemedPreview {
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
}
@Preview(group = PreviewGroup.Icons)
@Composable
internal fun AllIconsPreview() = ElementPreview {
LazyVerticalGrid(
modifier = Modifier.fillMaxWidth(),
columns = GridCells.Adaptive(32.dp),
contentPadding = PaddingValues(2.dp),
verticalArrangement = Arrangement.spacedBy(2.dp),
horizontalArrangement = Arrangement.spacedBy(2.dp)
) {
CompoundIcons.allResIds.forEach { icon ->
item {
Icon(
painter = painterResource(icon),
contentDescription = null,
)
}
}
}
}