Skip to content

Commit 10603d6

Browse files
committed
Add a preview for all icons.
It will help to investigate icon rendering issue using Showkase browser.
1 parent 5be157b commit 10603d6

File tree

1 file changed

+29
-0
lines changed
  • libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components

1 file changed

+29
-0
lines changed

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,24 @@
88
package io.element.android.libraries.designsystem.theme.components
99

1010
import androidx.annotation.DrawableRes
11+
import androidx.compose.foundation.layout.Arrangement
12+
import androidx.compose.foundation.layout.PaddingValues
13+
import androidx.compose.foundation.layout.fillMaxWidth
14+
import androidx.compose.foundation.lazy.grid.GridCells
15+
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
1116
import androidx.compose.material3.LocalContentColor
1217
import androidx.compose.runtime.Composable
1318
import androidx.compose.ui.Modifier
1419
import androidx.compose.ui.graphics.Color
1520
import androidx.compose.ui.graphics.ImageBitmap
1621
import androidx.compose.ui.graphics.painter.Painter
1722
import androidx.compose.ui.graphics.vector.ImageVector
23+
import androidx.compose.ui.res.painterResource
1824
import androidx.compose.ui.res.vectorResource
1925
import androidx.compose.ui.tooling.preview.Preview
26+
import androidx.compose.ui.unit.dp
2027
import io.element.android.compound.tokens.generated.CompoundIcons
28+
import io.element.android.libraries.designsystem.preview.ElementPreview
2129
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
2230
import io.element.android.libraries.designsystem.preview.PreviewGroup
2331

@@ -134,3 +142,24 @@ fun Icon(
134142
internal fun IconImageVectorPreview() = ElementThemedPreview {
135143
Icon(imageVector = CompoundIcons.Close(), contentDescription = null)
136144
}
145+
146+
@Preview(group = PreviewGroup.Icons)
147+
@Composable
148+
internal fun AllIconsPreview() = ElementPreview {
149+
LazyVerticalGrid(
150+
modifier = Modifier.fillMaxWidth(),
151+
columns = GridCells.Adaptive(32.dp),
152+
contentPadding = PaddingValues(2.dp),
153+
verticalArrangement = Arrangement.spacedBy(2.dp),
154+
horizontalArrangement = Arrangement.spacedBy(2.dp)
155+
) {
156+
CompoundIcons.allResIds.forEach { icon ->
157+
item {
158+
Icon(
159+
painter = painterResource(icon),
160+
contentDescription = null,
161+
)
162+
}
163+
}
164+
}
165+
}

0 commit comments

Comments
 (0)