- Fixes Preview Tag

- Fixes Email Pattern
This commit is contained in:
Vitor Pamplona
2025-12-29 18:57:56 -05:00
parent e9d07b3939
commit c5133e98f8
47 changed files with 98 additions and 6 deletions
+1
View File
@@ -64,6 +64,7 @@ kotlin {
implementation(compose.runtime) implementation(compose.runtime)
implementation(compose.material3) implementation(compose.material3)
implementation(compose.materialIconsExtended) implementation(compose.materialIconsExtended)
implementation(compose.components.uiToolingPreview)
// LruCache (KMP-ready) // LruCache (KMP-ready)
implementation(libs.androidx.collection) implementation(libs.androidx.collection)
@@ -50,7 +50,7 @@ class BlurhashTest {
val bmp1 = BlurHashDecoderOld.decode(warmHex, 100, (100 * (1 / aspectRatio)).roundToInt()) val bmp1 = BlurHashDecoderOld.decode(warmHex, 100, (100 * (1 / aspectRatio)).roundToInt())
val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(warmHex, 100) val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(warmHex, 100)
assertTrue(bmp1!!.sameAs(bmp2!!)) assertTrue(bmp1!!.sameAs(bmp2!!.bitmap))
} }
@Test @Test
@@ -60,7 +60,7 @@ class BlurhashTest {
val bmp1 = BlurHashDecoderOld.decode(warmHex, 25, (25 * (1 / aspectRatio)).roundToInt()) val bmp1 = BlurHashDecoderOld.decode(warmHex, 25, (25 * (1 / aspectRatio)).roundToInt())
val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(warmHex, 25) val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(warmHex, 25)
assertTrue(bmp1!!.sameAs(bmp2!!)) assertTrue(bmp1!!.sameAs(bmp2!!.bitmap))
} }
@Test @Test
@@ -75,7 +75,7 @@ class BlurhashTest {
val bmp1 = BlurHashDecoderOld.decode(testHex, 100, (100 * (1 / aspectRatio)).roundToInt()) val bmp1 = BlurHashDecoderOld.decode(testHex, 100, (100 * (1 / aspectRatio)).roundToInt())
val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(testHex, 100) val bmp2 = BlurHashDecoder.decodeKeepAspectRatio(testHex, 100)
assertTrue(bmp1!!.sameAs(bmp2!!)) assertTrue(bmp1!!.sameAs(bmp2!!.bitmap))
} }
@Test @Test
@@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.commons.richtext
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import com.vitorpamplona.quartz.nip01Core.core.EmptyTagList import com.vitorpamplona.quartz.nip01Core.core.EmptyTagList
import com.vitorpamplona.quartz.nip01Core.core.ImmutableListOfLists import com.vitorpamplona.quartz.nip01Core.core.ImmutableListOfLists
import junit.framework.TestCase.assertEquals
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
@@ -688,7 +689,7 @@ class RichTextParserTest {
val state = val state =
RichTextParser() RichTextParser()
.parseText(textToParse, EmptyTagList, null) .parseText(textToParse, EmptyTagList, null)
org.junit.Assert.assertEquals( assertEquals(
"relay.shitforce.one, relayable.org, universe.nostrich.land, nos.lol, universe.nostrich.land?lang=zh, universe.nostrich.land?lang=en, relay.damus.io, relay.nostr.wirednet.jp, offchain.pub, nostr.rocks, relay.wellorder.net, nostr.oxtr.dev, universe.nostrich.land?lang=ja, relay.mostr.pub, nostr.bitcoiner.social, Nostr-Check.com, MR.Rabbit, Ancap.su, ⚡\uFE0Fsatscoinsv@getalby.com, miceliomad@miceliomad.github.io/nostr/, zapper.lol, smies.me, baller.hodl", "relay.shitforce.one, relayable.org, universe.nostrich.land, nos.lol, universe.nostrich.land?lang=zh, universe.nostrich.land?lang=en, relay.damus.io, relay.nostr.wirednet.jp, offchain.pub, nostr.rocks, relay.wellorder.net, nostr.oxtr.dev, universe.nostrich.land?lang=ja, relay.mostr.pub, nostr.bitcoiner.social, Nostr-Check.com, MR.Rabbit, Ancap.su, ⚡\uFE0Fsatscoinsv@getalby.com, miceliomad@miceliomad.github.io/nostr/, zapper.lol, smies.me, baller.hodl",
state.urlSet.joinToString(", "), state.urlSet.joinToString(", "),
) )
@@ -33,7 +33,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsAmethystPreview() { fun CustomHashTagIconsAmethystPreview() {
Image( Image(
@@ -34,7 +34,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsBtcPreview() { fun CustomHashTagIconsBtcPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsCashuPreview() { fun CustomHashTagIconsCashuPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsCoffeePreview() { fun CustomHashTagIconsCoffeePreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsFlowerstrPreview() { fun CustomHashTagIconsFlowerstrPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsFootstrPreview() { fun CustomHashTagIconsFootstrPreview() {
Image( Image(
@@ -29,7 +29,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsGamestrPreview() { fun CustomHashTagIconsGamestrPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsGrownostrPreview() { fun CustomHashTagIconsGrownostrPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsLightningPreview() { fun CustomHashTagIconsLightningPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsMatePreview() { fun CustomHashTagIconsMatePreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsNostrPreview() { fun CustomHashTagIconsNostrPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsPlebsPreview() { fun CustomHashTagIconsPlebsPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsSkullPreview() { fun CustomHashTagIconsSkullPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsTunestrPreview() { fun CustomHashTagIconsTunestrPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsWeedPreview() { fun CustomHashTagIconsWeedPreview() {
Image( Image(
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun CustomHashTagIconsZapPreview() { fun CustomHashTagIconsZapPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Following, null) Image(Following, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Like, null) Image(Like, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Liked, null) Image(Liked, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Reply, null) Image(Reply, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Repost, null) Image(Repost, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Reposted, null) Image(Reposted, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Search, null) Image(Search, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Share, null) Image(Share, null)
@@ -31,7 +31,9 @@ import androidx.compose.ui.graphics.vector.DefaultFillType
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.PathBuilder import androidx.compose.ui.graphics.vector.PathBuilder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(Zap, null) Image(Zap, null)
@@ -32,7 +32,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.PathBuilder import androidx.compose.ui.graphics.vector.PathBuilder
import androidx.compose.ui.graphics.vector.path import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
private fun VectorPreview() { private fun VectorPreview() {
Image(ZapSplit, null) Image(ZapSplit, null)
@@ -86,6 +86,7 @@ import com.vitorpamplona.amethyst.commons.robohash.parts.mouth9Closed
import com.vitorpamplona.quartz.utils.Hex import com.vitorpamplona.quartz.utils.Hex
import com.vitorpamplona.quartz.utils.Log import com.vitorpamplona.quartz.utils.Log
import com.vitorpamplona.quartz.utils.sha256.sha256 import com.vitorpamplona.quartz.utils.sha256.sha256
import org.jetbrains.compose.ui.tooling.preview.Preview
val Black = SolidColor(Color.Black) val Black = SolidColor(Color.Black)
val Gray = SolidColor(Color(0xFF6d6e70)) val Gray = SolidColor(Color(0xFF6d6e70))
@@ -106,6 +107,7 @@ val MediumGray = SolidColor(Color(0xFFd0d2d3))
val DefaultSize = 55.dp val DefaultSize = 55.dp
const val VIEWPORT_SIZE = 300f const val VIEWPORT_SIZE = 300f
@Preview
@Composable @Composable
fun RobohashPreview() { fun RobohashPreview() {
val assembler = RobohashAssembler() val assembler = RobohashAssembler()
@@ -21,18 +21,24 @@
package com.vitorpamplona.amethyst.commons.robohash.parts package com.vitorpamplona.amethyst.commons.robohash.parts
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector.Builder import androidx.compose.ui.graphics.vector.ImageVector.Builder
import androidx.compose.ui.graphics.vector.PathData import androidx.compose.ui.graphics.vector.PathData
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory0SevenPreview() { fun Accessory0SevenPreview() {
Image( Image(
modifier = Modifier.size(10000.dp),
painter = painter =
rememberVectorPainter( rememberVectorPainter(
roboBuilder { roboBuilder {
@@ -29,7 +29,9 @@ import androidx.compose.ui.graphics.vector.PathData
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory1NosePreview() { fun Accessory1NosePreview() {
Image( Image(
@@ -34,7 +34,9 @@ import com.vitorpamplona.amethyst.commons.robohash.LightGray
import com.vitorpamplona.amethyst.commons.robohash.LightRed import com.vitorpamplona.amethyst.commons.robohash.LightRed
import com.vitorpamplona.amethyst.commons.robohash.MediumGray import com.vitorpamplona.amethyst.commons.robohash.MediumGray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory2HornRedPreview() { fun Accessory2HornRedPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.LightRed import com.vitorpamplona.amethyst.commons.robohash.LightRed
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory3ButtonPreview() { fun Accessory3ButtonPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.LightRed import com.vitorpamplona.amethyst.commons.robohash.LightRed
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory4SatellitePreview() { fun Accessory4SatellitePreview() {
Image( Image(
@@ -29,7 +29,9 @@ import androidx.compose.ui.graphics.vector.PathData
import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Accessory5MustachePreview() { fun Accessory5MustachePreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body0TropperPreview() { fun Body0TropperPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body1ThinPreview() { fun Body1ThinPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body2ThinnestPreview() { fun Body2ThinnestPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body3FrontPreview() { fun Body3FrontPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body4RoundPreview() { fun Body4RoundPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body5NeckPreview() { fun Body5NeckPreview() {
Image( Image(
@@ -31,7 +31,9 @@ import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.Yellow import com.vitorpamplona.amethyst.commons.robohash.Yellow
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body6IronManPreview() { fun Body6IronManPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body7NeckThinnerPreview() { fun Body7NeckThinnerPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body8BigPreview() { fun Body8BigPreview() {
Image( Image(
@@ -30,7 +30,9 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import com.vitorpamplona.amethyst.commons.robohash.Black import com.vitorpamplona.amethyst.commons.robohash.Black
import com.vitorpamplona.amethyst.commons.robohash.Gray import com.vitorpamplona.amethyst.commons.robohash.Gray
import com.vitorpamplona.amethyst.commons.robohash.roboBuilder import com.vitorpamplona.amethyst.commons.robohash.roboBuilder
import org.jetbrains.compose.ui.tooling.preview.Preview
@Preview
@Composable @Composable
fun Body9HugePreview() { fun Body9HugePreview() {
Image( Image(
@@ -28,11 +28,11 @@ import java.util.regex.Pattern
*/ */
object Patterns { object Patterns {
/** /**
* Email address pattern from RFC 5322. * Email address pattern from RFC 5322... From android.util.Patterns.
*/ */
val EMAIL_ADDRESS: Pattern = val EMAIL_ADDRESS: Pattern =
Pattern.compile( Pattern.compile(
"[a-zA-Z0-9+._%-]+@[a-zA-Z0-9][a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", "[a-zA-Z0-9+._%-]{1,256}@[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}(\\.[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25})+",
) )
/** /**