diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/HashtagIcon.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/HashtagIcon.kt index e0b89643e..536b96946 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/HashtagIcon.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/HashtagIcon.kt @@ -25,9 +25,24 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.Amethyst +import com.vitorpamplona.amethyst.commons.hashtags.Btc +import com.vitorpamplona.amethyst.commons.hashtags.Cashu +import com.vitorpamplona.amethyst.commons.hashtags.Coffee +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons +import com.vitorpamplona.amethyst.commons.hashtags.Footstr +import com.vitorpamplona.amethyst.commons.hashtags.Grownostr +import com.vitorpamplona.amethyst.commons.hashtags.Lightning +import com.vitorpamplona.amethyst.commons.hashtags.Mate +import com.vitorpamplona.amethyst.commons.hashtags.Nostr +import com.vitorpamplona.amethyst.commons.hashtags.Plebs +import com.vitorpamplona.amethyst.commons.hashtags.Skull +import com.vitorpamplona.amethyst.commons.hashtags.Tunestr +import com.vitorpamplona.amethyst.commons.hashtags.Weed +import com.vitorpamplona.amethyst.commons.hashtags.Zap import com.vitorpamplona.amethyst.commons.richtext.HashTagSegment import com.vitorpamplona.amethyst.commons.richtext.RegularTextSegment import com.vitorpamplona.amethyst.ui.components.HashTag @@ -42,7 +57,7 @@ fun RenderHashTagIcons() { ThemeComparisonColumn { RenderRegular( - "Testing rendering of hashtags: #Bitcoin, #nostr, #lightning, #zap, #amethyst, #cashu, #plebs, #coffee, #skullofsatoshi, #grownostr, #footstr, #tunestr, #weed", + "Testing rendering of hashtags: #Bitcoin, #nostr, #lightning, #zap, #amethyst, #cashu, #plebs, #coffee, #skullofsatoshi, #grownostr, #footstr, #tunestr, #weed, #mate", EmptyTagList, ) { word, state -> when (word) { @@ -67,28 +82,30 @@ fun checkForHashtagWithIcon(tag: String): HashtagIcon? { "grownostr", "gardening", "garden" -> growstr "footstr" -> footstr "tunestr", "music", "nowplaying" -> tunestr + "mate", "matechain", "matestr" -> matestr "weed", "weedstr", "420", "cannabis", "marijuana" -> weed else -> null } } -val bitcoin = HashtagIcon(R.drawable.ht_btc, "Bitcoin", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val nostr = HashtagIcon(R.drawable.ht_nostr, "Nostr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val lightning = HashtagIcon(R.drawable.lightning, "Lightning", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val zap = HashtagIcon(R.drawable.zap, "Zap", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val amethyst = HashtagIcon(R.drawable.amethyst, "Amethyst", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) -val cashu = HashtagIcon(R.drawable.cashu, "Cashu", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val plebs = HashtagIcon(R.drawable.plebs, "Pleb", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) -val coffee = HashtagIcon(R.drawable.coffee, "Coffee", Modifier.padding(start = 3.dp, bottom = 1.dp, top = 1.dp)) -val skull = HashtagIcon(R.drawable.skull, "SkullofSatoshi", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val growstr = HashtagIcon(R.drawable.grownostr, "GrowNostr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val footstr = HashtagIcon(R.drawable.footstr, "Footstr", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) -val tunestr = HashtagIcon(R.drawable.tunestr, "Tunestr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) -val weed = HashtagIcon(R.drawable.weed, "Weed", Modifier.padding(start = 1.dp, bottom = 0.dp, top = 0.dp)) +val bitcoin = HashtagIcon(CustomHashTagIcons.Btc, "Bitcoin", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val nostr = HashtagIcon(CustomHashTagIcons.Nostr, "Nostr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val lightning = HashtagIcon(CustomHashTagIcons.Lightning, "Lightning", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val zap = HashtagIcon(CustomHashTagIcons.Zap, "Zap", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val amethyst = HashtagIcon(CustomHashTagIcons.Amethyst, "Amethyst", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) +val cashu = HashtagIcon(CustomHashTagIcons.Cashu, "Cashu", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val plebs = HashtagIcon(CustomHashTagIcons.Plebs, "Pleb", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) +val coffee = HashtagIcon(CustomHashTagIcons.Coffee, "Coffee", Modifier.padding(start = 3.dp, bottom = 1.dp, top = 1.dp)) +val skull = HashtagIcon(CustomHashTagIcons.Skull, "SkullofSatoshi", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val growstr = HashtagIcon(CustomHashTagIcons.Grownostr, "GrowNostr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val footstr = HashtagIcon(CustomHashTagIcons.Footstr, "Footstr", Modifier.padding(start = 2.dp, bottom = 1.dp, top = 1.dp)) +val tunestr = HashtagIcon(CustomHashTagIcons.Tunestr, "Tunestr", Modifier.padding(start = 1.dp, bottom = 1.dp, top = 1.dp)) +val weed = HashtagIcon(CustomHashTagIcons.Weed, "Weed", Modifier.padding(start = 1.dp, bottom = 0.dp, top = 0.dp)) +val matestr = HashtagIcon(CustomHashTagIcons.Mate, "Mate", Modifier.padding(start = 1.dp, bottom = 0.dp, top = 0.dp)) @Immutable class HashtagIcon( - val icon: Int, + val icon: ImageVector, val description: String, val modifier: Modifier = Modifier, ) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/CashuRedeem.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/CashuRedeem.kt index 739a470fd..8a8daec0d 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/CashuRedeem.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/CashuRedeem.kt @@ -53,7 +53,6 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalClipboardManager import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight @@ -65,6 +64,8 @@ import androidx.core.content.ContextCompat.startActivity import androidx.lifecycle.viewmodel.compose.viewModel import com.fasterxml.jackson.databind.node.TextNode import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.Cashu +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons import com.vitorpamplona.amethyst.model.ThemeType import com.vitorpamplona.amethyst.service.CachedCashuProcessor import com.vitorpamplona.amethyst.service.CashuToken @@ -182,7 +183,7 @@ fun CashuPreview( .padding(bottom = 10.dp), ) { Icon( - painter = painterResource(R.drawable.cashu), + imageVector = CustomHashTagIcons.Cashu, null, modifier = Size20Modifier, tint = Color.Unspecified, @@ -320,7 +321,7 @@ fun CashuPreviewNew( verticalAlignment = Alignment.CenterVertically, ) { Icon( - painter = painterResource(R.drawable.cashu), + imageVector = CustomHashTagIcons.Cashu, null, modifier = Modifier.size(13.dp), tint = Color.Unspecified, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoicePreview.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoicePreview.kt index 1b2a8efd1..e761e196e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoicePreview.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoicePreview.kt @@ -44,13 +44,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextDirection import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons +import com.vitorpamplona.amethyst.commons.hashtags.Lightning import com.vitorpamplona.amethyst.service.lnurl.CachedLnInvoiceParser import com.vitorpamplona.amethyst.service.lnurl.InvoiceAmount import com.vitorpamplona.amethyst.ui.note.ErrorMessageDialog @@ -135,7 +136,7 @@ fun InvoicePreview( .padding(bottom = 10.dp), ) { Icon( - painter = painterResource(R.drawable.lightning), + imageVector = CustomHashTagIcons.Lightning, null, modifier = Size20Modifier, tint = Color.Unspecified, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt index 22b913d43..89a976e46 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt @@ -44,7 +44,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.KeyboardCapitalization @@ -52,6 +51,8 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons +import com.vitorpamplona.amethyst.commons.hashtags.Lightning import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.LocalCache import com.vitorpamplona.amethyst.service.lnurl.LightningAddressResolver @@ -118,7 +119,7 @@ fun InvoiceRequest( modifier = Modifier.fillMaxWidth().padding(bottom = 10.dp), ) { Icon( - painter = painterResource(R.drawable.lightning), + imageVector = CustomHashTagIcons.Lightning, null, modifier = Size20Modifier, tint = Color.Unspecified, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt index 8801fb228..7c9499901 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt @@ -52,7 +52,6 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalFontFamilyResolver import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.platform.LocalUriHandler -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.Placeholder import androidx.compose.ui.text.PlaceholderVerticalAlign import androidx.compose.ui.text.SpanStyle @@ -761,7 +760,7 @@ private fun InlineIcon(hashtagIcon: HashtagIcon) = ), ) { Icon( - painter = painterResource(hashtagIcon.icon), + imageVector = hashtagIcon.icon, contentDescription = hashtagIcon.description, tint = Color.Unspecified, modifier = hashtagIcon.modifier, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZapRaiserRequest.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZapRaiserRequest.kt index 8d59c824c..67ae8d44c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZapRaiserRequest.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZapRaiserRequest.kt @@ -34,13 +34,14 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons +import com.vitorpamplona.amethyst.commons.hashtags.Lightning import com.vitorpamplona.amethyst.ui.actions.NewPostViewModel import com.vitorpamplona.amethyst.ui.theme.DividerThickness import com.vitorpamplona.amethyst.ui.theme.Size20Modifier @@ -59,7 +60,7 @@ fun ZapRaiserRequest( modifier = Modifier.fillMaxWidth().padding(bottom = 10.dp), ) { Icon( - painter = painterResource(R.drawable.lightning), + imageVector = CustomHashTagIcons.Lightning, null, modifier = Size20Modifier, tint = Color.Unspecified, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/Icons.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/Icons.kt index ac15c4bfa..471235002 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/Icons.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/Icons.kt @@ -63,6 +63,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.Cashu +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange import com.vitorpamplona.amethyst.ui.theme.Size18Modifier import com.vitorpamplona.amethyst.ui.theme.Size20Modifier @@ -231,7 +233,7 @@ fun ZapIcon( @Composable fun CashuIcon(modifier: Modifier) { Icon( - painter = painterResource(R.drawable.cashu), + imageVector = CustomHashTagIcons.Cashu, "Cashu", tint = Color.Unspecified, modifier = modifier, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt index 421f9156c..3f34d409b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt @@ -45,12 +45,12 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalUriHandler -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons +import com.vitorpamplona.amethyst.commons.hashtags.Tunestr import com.vitorpamplona.amethyst.model.AddressableNote import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.User @@ -231,7 +231,7 @@ fun DisplayStatus( when (type) { "music" -> Icon( - painter = painterResource(id = R.drawable.tunestr), + imageVector = CustomHashTagIcons.Tunestr, null, modifier = Size15Modifier.padding(end = Size5dp), tint = MaterialTheme.colorScheme.placeholderText, diff --git a/app/src/main/res/drawable-hdpi/ht_btc.png b/app/src/main/res/drawable-hdpi/ht_btc.png deleted file mode 100644 index 285bec6af..000000000 Binary files a/app/src/main/res/drawable-hdpi/ht_btc.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ht_nostr.png b/app/src/main/res/drawable-hdpi/ht_nostr.png deleted file mode 100644 index cab4b9010..000000000 Binary files a/app/src/main/res/drawable-hdpi/ht_nostr.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ht_btc.png b/app/src/main/res/drawable-mdpi/ht_btc.png deleted file mode 100644 index 25b09df68..000000000 Binary files a/app/src/main/res/drawable-mdpi/ht_btc.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ht_nostr.png b/app/src/main/res/drawable-mdpi/ht_nostr.png deleted file mode 100644 index 00a9b4741..000000000 Binary files a/app/src/main/res/drawable-mdpi/ht_nostr.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ht_btc.png b/app/src/main/res/drawable-xhdpi/ht_btc.png deleted file mode 100644 index 94994fc8e..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ht_btc.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ht_nostr.png b/app/src/main/res/drawable-xhdpi/ht_nostr.png deleted file mode 100644 index 778436989..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ht_nostr.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ht_btc.png b/app/src/main/res/drawable-xxhdpi/ht_btc.png deleted file mode 100644 index f4d319f70..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ht_btc.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ht_nostr.png b/app/src/main/res/drawable-xxhdpi/ht_nostr.png deleted file mode 100644 index b7f62e876..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ht_nostr.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ht_btc.png b/app/src/main/res/drawable-xxxhdpi/ht_btc.png deleted file mode 100644 index 8f7caa95b..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ht_btc.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ht_nostr.png b/app/src/main/res/drawable-xxxhdpi/ht_nostr.png deleted file mode 100644 index 731160f79..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ht_nostr.png and /dev/null differ diff --git a/app/src/main/res/drawable/black_heart.xml b/app/src/main/res/drawable/black_heart.xml deleted file mode 100644 index 47ed6fa31..000000000 --- a/app/src/main/res/drawable/black_heart.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/cashu.xml b/app/src/main/res/drawable/cashu.xml deleted file mode 100644 index 17cbf26a2..000000000 --- a/app/src/main/res/drawable/cashu.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/coffee.xml b/app/src/main/res/drawable/coffee.xml deleted file mode 100644 index 9ca63366e..000000000 --- a/app/src/main/res/drawable/coffee.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/footstr.xml b/app/src/main/res/drawable/footstr.xml deleted file mode 100644 index fdfb5f2c6..000000000 --- a/app/src/main/res/drawable/footstr.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/grownostr.xml b/app/src/main/res/drawable/grownostr.xml deleted file mode 100644 index 65d5dd944..000000000 --- a/app/src/main/res/drawable/grownostr.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/lightning.xml b/app/src/main/res/drawable/lightning.xml deleted file mode 100644 index ec5db36fe..000000000 --- a/app/src/main/res/drawable/lightning.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/plebs.xml b/app/src/main/res/drawable/plebs.xml deleted file mode 100644 index c7e77854a..000000000 --- a/app/src/main/res/drawable/plebs.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/skull.xml b/app/src/main/res/drawable/skull.xml deleted file mode 100644 index 87decd067..000000000 --- a/app/src/main/res/drawable/skull.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/tunestr.xml b/app/src/main/res/drawable/tunestr.xml deleted file mode 100644 index ccfb57be0..000000000 --- a/app/src/main/res/drawable/tunestr.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/weed.xml b/app/src/main/res/drawable/weed.xml deleted file mode 100644 index ff4df15c1..000000000 --- a/app/src/main/res/drawable/weed.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/zap.xml b/app/src/main/res/drawable/zap.xml deleted file mode 100644 index d0eea7a74..000000000 --- a/app/src/main/res/drawable/zap.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Amethyst.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Amethyst.kt new file mode 100644 index 000000000..7d892a11b --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Amethyst.kt @@ -0,0 +1,137 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Brush.Companion.linearGradient +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsAmethystPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Amethyst, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Amethyst: ImageVector + get() { + if (customHashTagIconsAmethyst != null) { + return customHashTagIconsAmethyst!! + } + customHashTagIconsAmethyst = + Builder( + name = "Amethyst", + defaultWidth = 170.16.dp, + defaultHeight = 186.2.dp, + viewportWidth = 170.16f, + viewportHeight = 186.2f, + ).apply { + path( + fill = + linearGradient( + 0.0f to Color(0xFF652D80), + 1.0f to Color(0xFF2598CF), + start = Offset(80.19f, 57.17f), + end = Offset(91.66f, 57.17f), + ), + stroke = null, + strokeLineWidth = 0.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(80.19f, 57.17f) + arcToRelative(5.74f, 5.64f, 0.0f, true, false, 11.48f, 0.0f) + arcToRelative(5.74f, 5.64f, 0.0f, true, false, -11.48f, 0.0f) + close() + } + path( + fill = + linearGradient( + 0.0f to Color(0xFF652D80), + 1.0f to Color(0xFF2598CF), + start = Offset(7.48f, 93.92f), + end = Offset(180f, 93.92f), + ), + stroke = null, + strokeLineWidth = 0.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(170.13f, 142.54f) + curveToRelative(-0.2f, -0.61f, -46.85f, -111.69f, -59.68f, -142.5f) + curveToRelative(-15.62f, 0.0f, -48.61f, 0.0f, -71.88f, 0.0f) + curveToRelative(-6.83f, 16.89f, -24.46f, 59.94f, -38.6f, 94.62f) + curveToRelative(7.75f, 18.49f, 14.71f, 35.1f, 20.08f, 47.91f) + lineToRelative(29.27f, 0.0f) + arcToRelative(2.0f, 2.0f, 0.0f, false, false, 1.87f, -2.35f) + curveToRelative(-0.25f, -5.91f, -16.34f, -27.39f, -11.54f, -50.63f) + curveToRelative(1.28f, -5.0f, 2.26f, -10.08f, 3.66f, -15.06f) + arcToRelative(175.77f, 175.77f, 0.0f, false, true, 13.44f, -34.8f) + curveToRelative(0.89f, -1.69f, 1.3f, -2.45f, 3.35f, -1.17f) + curveToRelative(4.37f, 2.72f, 9.25f, 2.56f, 14.11f, 2.21f) + curveToRelative(4.19f, -0.91f, 6.23f, -2.92f, 13.91f, -0.88f) + curveToRelative(1.52f, 0.0f, 3.0f, 0.0f, 4.55f, 0.14f) + curveToRelative(3.69f, 0.29f, 7.15f, 1.17f, 9.37f, 4.51f) + curveToRelative(2.42f, 3.65f, 2.81f, 7.78f, 2.42f, 12.0f) + curveToRelative(-0.59f, 6.31f, -0.17f, 12.19f, 5.17f, 16.64f) + arcToRelative(57.52f, 57.52f, 0.0f, false, false, 6.0f, 4.0f) + curveToRelative(2.65f, 1.7f, 5.85f, 2.44f, 8.12f, 4.8f) + curveToRelative(1.34f, 1.39f, 2.13f, 2.87f, 1.55f, 4.85f) + reflectiveCurveToRelative(-2.13f, 2.91f, -4.17f, 3.13f) + curveToRelative(-5.16f, 0.56f, -10.2f, -0.49f, -15.27f, -1.1f) + curveToRelative(-0.66f, -0.08f, -1.31f, -0.13f, -2.0f, -0.17f) + arcToRelative(11.47f, 11.47f, 0.0f, false, true, -3.81f, 0.13f) + lineToRelative(-1.19f, 0.0f) + arcToRelative(26.7f, 26.7f, 0.0f, false, false, -5.9f, 1.41f) + curveToRelative(-4.78f, 1.74f, -9.13f, 3.66f, -14.77f, 3.56f) + arcToRelative(4.32f, 4.32f, 0.0f, false, false, -2.05f, 0.89f) + curveToRelative(-4.42f, 3.93f, -7.08f, 8.89f, -4.87f, 16.14f) + curveToRelative(6.06f, 16.93f, 21.61f, 57.77f, 28.29f, 75.4f) + curveToRelative(-0.19f, -11.94f, -0.24f, -33.32f, -0.28f, -43.7f) + curveTo(125.96f, 142.56f, 166.87f, 142.54f, 170.13f, 142.54f) + close() + } + } + .build() + return customHashTagIconsAmethyst!! + } + +private var customHashTagIconsAmethyst: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Btc.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Btc.kt new file mode 100644 index 000000000..0b7282358 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Btc.kt @@ -0,0 +1,126 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsBtcPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Btc, + ), + contentDescription = "", + modifier = Modifier.size(55.dp), + ) +} + +public val CustomHashTagIcons.Btc: ImageVector + get() { + if (customHashTagIconsBtc != null) { + return customHashTagIconsBtc!! + } + customHashTagIconsBtc = + Builder( + name = "Btc", + defaultWidth = 64.0.dp, + defaultHeight = 64.0.dp, + viewportWidth = + 64.0f, + viewportHeight = 64.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFf7931a)), + stroke = null, + strokeLineWidth = 1.57894f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(54.9248f, 25.7592f) + curveTo(55.9306f, 19.0361f, 50.8116f, 15.4219f, 43.8122f, 13.0109f) + lineTo(46.0827f, 3.9036f) + lineTo(40.5391f, 2.522f) + lineTo(38.3286f, 11.3893f) + curveToRelative(-1.4574f, -0.3632f, -2.9542f, -0.7058f, -4.4415f, -1.0453f) + lineToRelative(2.2263f, -8.9257f) + lineToRelative(-5.5405f, -1.3816f) + lineToRelative(-2.2721f, 9.1041f) + curveTo(27.0944f, 8.8662f, 25.9102f, 8.5946f, 24.7608f, 8.3088f) + lineToRelative(0.0063f, -0.0284f) + lineToRelative(-7.6452f, -1.9089f) + lineToRelative(-1.4747f, 5.921f) + curveToRelative(0.0f, 0.0f, 4.1131f, 0.9426f, 4.0263f, 1.001f) + curveToRelative(2.2452f, 0.5605f, 2.651f, 2.0463f, 2.5831f, 3.2242f) + lineToRelative(-2.5863f, 10.3752f) + curveToRelative(0.1547f, 0.0395f, 0.3553f, 0.0963f, 0.5763f, 0.1847f) + curveToRelative(-0.1847f, -0.0458f, -0.3821f, -0.0963f, -0.5858f, -0.1453f) + lineTo(16.0356f, 41.4665f) + curveToRelative(-0.2747f, 0.6821f, -0.971f, 1.7053f, -2.5405f, 1.3168f) + curveToRelative(0.0553f, 0.0805f, -4.0294f, -1.0058f, -4.0294f, -1.0058f) + lineToRelative(-2.7521f, 6.3457f) + lineToRelative(7.2142f, 1.7984f) + curveToRelative(1.3421f, 0.3363f, 2.6574f, 0.6884f, 3.9521f, 1.02f) + lineToRelative(-2.2942f, 9.2115f) + lineToRelative(5.5373f, 1.3816f) + lineToRelative(2.2721f, -9.1136f) + curveToRelative(1.5126f, 0.4105f, 2.981f, 0.7895f, 4.4179f, 1.1463f) + lineToRelative(-2.2642f, 9.071f) + lineToRelative(5.5436f, 1.3816f) + lineToRelative(2.2942f, -9.1941f) + curveToRelative(9.4531f, 1.7889f, 16.5615f, 1.0674f, 19.5535f, -7.4826f) + curveToRelative(2.411f, -6.8842f, -0.12f, -10.8552f, -5.0936f, -13.4446f) + curveToRelative(3.6221f, -0.8353f, 6.3505f, -3.2179f, 7.0784f, -8.1394f) + close() + moveTo(42.2585f, 43.5207f) + curveToRelative(-1.7131f, 6.8842f, -13.3041f, 3.1626f, -17.062f, 2.2295f) + lineToRelative(3.0442f, -12.2036f) + curveToRelative(3.7579f, 0.9379f, 15.8083f, 2.7947f, 14.0178f, 9.9741f) + close() + moveTo(43.9733f, 25.6597f) + curveToRelative(-1.5631f, 6.2621f, -11.2104f, 3.0805f, -14.3399f, 2.3005f) + lineToRelative(2.76f, -11.0683f) + curveToRelative(3.1295f, 0.78f, 13.2078f, 2.2358f, 11.5799f, 8.7678f) + close() + } + } + .build() + return customHashTagIconsBtc!! + } + +private var customHashTagIconsBtc: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Cashu.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Cashu.kt new file mode 100644 index 000000000..3fb29a022 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Cashu.kt @@ -0,0 +1,282 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsCashuPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Cashu, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Cashu: ImageVector + get() { + if (customHashTagIconsCashu != null) { + return customHashTagIconsCashu!! + } + customHashTagIconsCashu = + Builder( + name = "Cashu", + defaultWidth = 400.0.dp, + defaultHeight = 400.0.dp, + viewportWidth = 400.0f, + viewportHeight = 400.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFd6c09a)), + stroke = SolidColor(Color(0xFFd6c09a)), + strokeLineWidth = 1.23101f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(248.917f, 2.153f) + verticalLineTo(25.235f) + horizontalLineToRelative(25.236f) + verticalLineToRelative(71.091f) + horizontalLineToRelative(-25.236f) + lineToRelative(0.227f, 24.772f) + lineToRelative(-22.156f, 0.011f) + lineToRelative(-0.135f, 69.22f) + lineToRelative(22.065f, -0.532f) + verticalLineToRelative(45.326f) + horizontalLineToRelative(74.476f) + verticalLineToRelative(24.313f) + horizontalLineToRelative(24.928f) + verticalLineToRelative(24.005f) + horizontalLineToRelative(23.389f) + verticalLineToRelative(69.245f) + horizontalLineToRelative(-23.082f) + verticalLineToRelative(23.082f) + horizontalLineToRelative(-24.928f) + verticalLineToRelative(23.005f) + horizontalLineTo(126.2f) + verticalLineToRelative(-23.005f) + horizontalLineTo(100.503f) + verticalLineTo(352.454f) + horizontalLineTo(74.959f) + verticalLineTo(329.68f) + horizontalLineTo(51.801f) + verticalLineTo(282.901f) + horizontalLineTo(25.949f) + verticalLineTo(49.239f) + horizontalLineToRelative(26.082f) + verticalLineTo(25.158f) + horizontalLineTo(74.574f) + verticalLineTo(2.153f) + close() + } + path( + fill = SolidColor(Color(0xFFbb9366)), + stroke = SolidColor(Color(0xFFbb9366)), + strokeLineWidth = 1.23101f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(74.39f, 2.268f) + lineTo(74.39f, 25.272f) + lineTo(51.847f, 25.272f) + lineTo(51.847f, 49.354f) + lineTo(25.765f, 49.354f) + lineToRelative(0.407f, 233.662f) + lineTo(51.709f, 283.016f) + curveTo(52.428f, 236.898f, 76.75f, 25.19f, 125.239f, 25.349f) + lineTo(125.384f, 2.268f) + close() + moveTo(51.616f, 283.0f) + verticalLineToRelative(46.795f) + horizontalLineToRelative(23.158f) + verticalLineToRelative(22.774f) + lineTo(99.936f, 352.568f) + lineTo(99.936f, 331.112f) + lineTo(75.162f, 331.112f) + verticalLineToRelative(-47.893f) + close() + moveTo(100.318f, 354.117f) + verticalLineToRelative(21.764f) + horizontalLineToRelative(25.469f) + verticalLineToRelative(-21.764f) + close() + moveTo(323.596f, 354.501f) + verticalLineToRelative(21.379f) + horizontalLineToRelative(24.849f) + verticalLineToRelative(-21.379f) + close() + moveTo(126.016f, 377.506f) + verticalLineToRelative(21.379f) + horizontalLineToRelative(197.501f) + verticalLineToRelative(-21.379f) + close() + } + path( + fill = SolidColor(Color(0xFFc4a47b)), + stroke = SolidColor(Color(0xFFc4a47b)), + strokeLineWidth = 1.23101f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(74.466f, 25.205f) + lineTo(125.28f, 25.706f) + verticalLineTo(49.249f) + horizontalLineTo(100.505f) + verticalLineTo(213.59f) + horizontalLineToRelative(24.928f) + verticalLineToRelative(47.394f) + horizontalLineToRelative(48.625f) + verticalLineToRelative(24.005f) + horizontalLineToRelative(25.697f) + verticalLineToRelative(22.928f) + horizontalLineToRelative(22.928f) + verticalLineToRelative(23.005f) + horizontalLineToRelative(125.948f) + verticalLineToRelative(23.466f) + horizontalLineToRelative(-24.851f) + verticalLineToRelative(23.005f) + horizontalLineTo(125.972f) + verticalLineToRelative(-23.389f) + horizontalLineToRelative(-25.851f) + verticalLineTo(330.998f) + horizontalLineTo(75.346f) + verticalLineTo(283.291f) + lineTo(51.581f, 283.072f) + lineTo(51.487f, 49.319f) + horizontalLineToRelative(22.77f) + close() + } + path( + fill = SolidColor(Color(0xFF000000)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.23101f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(25.598f, 120.678f) + verticalLineToRelative(18.254f) + horizontalLineToRelative(9.75f) + verticalLineToRelative(10.545f) + horizontalLineToRelative(8.151f) + verticalLineToRelative(9.925f) + horizontalLineToRelative(10.192f) + verticalLineToRelative(7.708f) + horizontalLineToRelative(67.434f) + verticalLineToRelative(-7.975f) + horizontalLineToRelative(10.012f) + verticalLineToRelative(-9.836f) + horizontalLineToRelative(10.192f) + verticalLineToRelative(-20.824f) + horizontalLineToRelative(17.722f) + verticalLineToRelative(20.648f) + horizontalLineToRelative(10.278f) + verticalLineToRelative(9.747f) + horizontalLineToRelative(7.886f) + verticalLineToRelative(7.797f) + horizontalLineToRelative(67.523f) + verticalLineToRelative(-7.619f) + horizontalLineToRelative(9.747f) + verticalLineToRelative(-9.836f) + horizontalLineToRelative(10.367f) + verticalLineToRelative(-10.37f) + horizontalLineToRelative(9.572f) + verticalLineToRelative(-17.809f) + close() + moveTo(178.698f, 128.19f) + horizontalLineToRelative(9.394f) + verticalLineToRelative(10.146f) + lineToRelative(10.557f, 0.043f) + verticalLineToRelative(10.012f) + horizontalLineToRelative(9.399f) + verticalLineToRelative(-10.151f) + horizontalLineToRelative(-9.322f) + lineTo(198.726f, 128.19f) + lineToRelative(9.615f, 0.043f) + verticalLineToRelative(10.103f) + horizontalLineToRelative(8.807f) + lineToRelative(0.053f, 10.233f) + lineToRelative(9.216f, 0.046f) + verticalLineToRelative(9.569f) + lineToRelative(-9.259f, -0.043f) + lineToRelative(0.043f, -9.572f) + horizontalLineToRelative(-8.906f) + verticalLineToRelative(9.216f) + horizontalLineToRelative(-9.569f) + verticalLineToRelative(-9.17f) + lineToRelative(-10.634f, -0.089f) + lineToRelative(0.046f, -10.146f) + lineToRelative(-9.439f, -0.043f) + close() + moveTo(43.409f, 129.541f) + horizontalLineToRelative(9.394f) + verticalLineToRelative(10.146f) + lineToRelative(10.557f, 0.043f) + verticalLineToRelative(10.012f) + horizontalLineToRelative(9.399f) + lineTo(72.759f, 139.591f) + horizontalLineToRelative(-9.322f) + verticalLineToRelative(-10.05f) + lineToRelative(9.615f, 0.043f) + verticalLineToRelative(10.103f) + horizontalLineToRelative(8.807f) + lineToRelative(0.053f, 10.233f) + lineToRelative(9.216f, 0.046f) + verticalLineToRelative(9.569f) + lineToRelative(-9.259f, -0.043f) + lineToRelative(0.043f, -9.572f) + horizontalLineToRelative(-8.906f) + verticalLineToRelative(9.216f) + horizontalLineToRelative(-9.569f) + verticalLineToRelative(-9.17f) + lineToRelative(-10.634f, -0.089f) + lineToRelative(0.046f, -10.146f) + lineToRelative(-9.439f, -0.043f) + close() + } + } + .build() + return customHashTagIconsCashu!! + } + +private var customHashTagIconsCashu: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Coffee.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Coffee.kt new file mode 100644 index 000000000..c0b4a855a --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Coffee.kt @@ -0,0 +1,352 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsCoffeePreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Coffee, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Coffee: ImageVector + get() { + if (customHashTagIconsCoffee != null) { + return customHashTagIconsCoffee!! + } + customHashTagIconsCoffee = + Builder( + name = "Coffee", + defaultWidth = 512.0.dp, + defaultHeight = 512.0.dp, + viewportWidth = 512.0f, + viewportHeight = 512.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF00ffff)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(204.583f, 84.841f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + moveTo(366.274f, 85.89f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + } + path( + fill = SolidColor(Color(0xFFe0e0e0)), + stroke = null, + strokeLineWidth = 0.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(195.829f, 118.866f) + curveTo(160.275f, 121.553f, 58.06f, 148.411f, 62.84f, 207.684f) + curveToRelative(0.811f, 23.285f, 2.035f, 46.555f, 5.059f, 69.667f) + curveTo(71.123f, 304.527f, 75.496f, 331.75f, 84.247f, 357.826f) + curveTo(99.454f, 396.095f, 133.387f, 425.805f, 173.084f, 436.368f) + curveToRelative(40.815f, 11.15f, 76.446f, 13.423f, 125.257f, -1.302f) + curveToRelative(37.884f, -10.354f, 71.389f, -38.361f, 83.885f, -76.191f) + curveToRelative(3.446f, -9.197f, 5.449f, -18.704f, 7.147f, -28.348f) + curveToRelative(20.026f, 1.025f, 40.624f, -1.266f, 59.847f, -7.378f) + curveToRelative(27.45f, -9.619f, 55.114f, -30.92f, 57.747f, -61.918f) + curveToRelative(2.014f, -19.218f, -3.317f, -39.883f, -18.899f, -52.411f) + curveTo(470.37f, 192.651f, 445.495f, 189.273f, 422.473f, 190.885f) + curveToRelative(-5.924f, -1.922f, -19.271f, 4.388f, -19.713f, -4.259f) + curveToRelative(-21.541f, -42.19f, -74.519f, -63.244f, -116.574f, -67.395f) + curveToRelative(-15.337f, -1.399f, -54.803f, -3.05f, -90.357f, -0.364f) + close() + moveTo(258.205f, 145.736f) + curveToRelative(35.707f, 4.411f, 74.758f, 9.193f, 102.819f, 33.628f) + curveToRelative(12.647f, 10.578f, 23.305f, 29.728f, 12.251f, 45.119f) + curveToRelative(-18.88f, 25.814f, -51.743f, 35.57f, -81.547f, 42.377f) + curveToRelative(-31.353f, 6.806f, -63.845f, 5.798f, -95.545f, 2.684f) + curveToRelative(-33.373f, -5.067f, -69.433f, -11.315f, -95.459f, -34.591f) + curveTo(90.48f, 225.01f, 85.348f, 208.691f, 94.105f, 196.134f) + curveTo(109.591f, 170.883f, 139.794f, 160.479f, 166.785f, 152.359f) + curveTo(177.505f, 149.627f, 188.334f, 146.966f, 199.333f, 145.737f) + moveToRelative(229.716f, 86.973f) + curveToRelative(8.709f, 0.053f, 17.284f, 0.926f, 25.221f, 4.741f) + curveToRelative(16.862f, 8.494f, 9.465f, 33.24f, -5.051f, 40.171f) + curveToRelative(-16.122f, 8.148f, -34.767f, 10.155f, -52.497f, 11.957f) + curveToRelative(1.831f, -18.914f, 4.279f, -37.818f, 6.3f, -56.697f) + curveToRelative(8.475f, 0.54f, 17.318f, -0.226f, 26.027f, -0.172f) + close() + } + path( + fill = SolidColor(Color(0xFF6d4b41)), + stroke = SolidColor(Color(0xFF6d4b41)), + strokeLineWidth = 8.81928f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(90.72f, 207.67f) + arcToRelative(141.919f, 61.231f, 0.0f, true, false, 283.838f, 0.0f) + arcToRelative(141.919f, 61.231f, 0.0f, true, false, -283.838f, 0.0f) + close() + } + path( + fill = SolidColor(Color(0xFFb59075)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(251.83f, 158.337f) + curveToRelative(-37.403f, 0.757f, -63.367f, 0.095f, -100.795f, 11.346f) + curveToRelative(-16.245f, 6.796f, -36.117f, 14.395f, -42.826f, 32.062f) + curveToRelative(4.78f, 30.851f, 60.554f, 22.125f, 56.067f, 2.789f) + curveToRelative(-4.141f, -14.164f, 14.984f, -19.744f, 25.607f, -15.895f) + curveToRelative(21.728f, 3.907f, 40.061f, 18.156f, 61.947f, 21.115f) + curveToRelative(8.814f, 1.936f, 20.571f, -2.794f, 17.762f, -13.62f) + curveToRelative(-3.874f, -6.982f, 0.155f, -14.741f, 8.487f, -14.612f) + curveToRelative(25.355f, -1.826f, 47.158f, 13.808f, 70.346f, 21.115f) + curveToRelative(7.046f, 3.956f, 15.783f, -3.153f, 8.545f, -9.653f) + curveToRelative(-28.173f, -23.147f, -72.369f, -35.312f, -105.14f, -34.648f) + close() + } + path( + fill = SolidColor(Color(0xFFb59074)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(293.915f, 199.809f) + curveToRelative(-6.744f, 4.634f, 0.262f, 16.203f, -8.579f, 20.246f) + curveToRelative(-16.21f, 10.232f, -35.697f, 0.44f, -52.405f, -3.622f) + curveToRelative(-14.159f, -3.75f, -29.518f, -10.912f, -44.098f, -6.124f) + curveToRelative(-10.455f, 5.464f, -3.973f, 21.891f, 7.35f, 19.424f) + curveToRelative(7.854f, -1.083f, 15.552f, -2.724f, 23.099f, 1.05f) + curveToRelative(22.268f, 6.96f, 45.971f, 11.514f, 69.296f, 8.721f) + curveToRelative(10.746f, -2.04f, 15.897f, -12.263f, 24.149f, -17.821f) + curveToRelative(10.272f, -2.429f, 22.449f, 12.795f, 30.507f, 1.75f) + curveToRelative(3.642f, -11.742f, -12.073f, -16.176f, -20.321f, -19.703f) + curveToRelative(-9.315f, -3.257f, -19.114f, -5.824f, -28.998f, -3.921f) + close() + } + path( + fill = SolidColor(Color(0xFF6aa5ac)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(403.022f, 222.383f) + curveToRelative(-0.027f, 0.814f, 0.014f, 9.727f, 0.052f, 10.476f) + curveToRelative(34.643f, -0.056f, 53.296f, 2.383f, 65.084f, 16.868f) + curveToRelative(4.078f, 5.361f, 7.465f, 10.616f, 10.15f, 8.407f) + curveToRelative(-1.559f, -19.676f, -20.181f, -34.582f, -36.438f, -36.161f) + curveToRelative(-12.802f, -1.147f, -26.08f, -1.131f, -38.848f, 0.408f) + close() + } + path( + fill = SolidColor(Color(0xFFbbced3)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(460.306f, 242.286f) + curveToRelative(10.121f, 17.211f, -6.218f, 36.214f, -22.955f, 40.032f) + curveToRelative(-13.308f, 3.429f, -26.932f, 6.237f, -40.629f, 7.262f) + curveToRelative(-1.512f, 4.605f, -7.203f, 17.175f, 1.161f, 15.749f) + curveToRelative(18.916f, -0.454f, 38.872f, -2.294f, 55.712f, -11.657f) + curveToRelative(13.424f, -7.047f, 22.474f, -20.882f, 24.652f, -35.775f) + curveToRelative(-5.446f, 2.157f, -11.704f, -14.707f, -17.942f, -15.61f) + close() + } + path( + fill = SolidColor(Color(0xFF97827b)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(113.238f, 244.432f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + moveTo(350.525f, 244.432f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + } + path( + fill = SolidColor(Color(0xFFa79691)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(345.275f, 247.582f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + moveTo(120.587f, 248.632f) + curveToRelative(1.808f, 1.808f, 0.933f, 0.933f, 0.0f, 0.0f) + close() + } + path( + fill = SolidColor(Color(0xFFbbced3)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(70.19f, 296.929f) + curveToRelative(0.63f, 13.988f, -1.646f, 28.325f, 2.1f, 41.998f) + curveToRelative(-28.14f, 7.44f, -58.322f, 24.801f, -66.817f, 54.597f) + curveToRelative(-8.199f, 25.343f, 9.633f, 50.004f, 29.111f, 64.51f) + curveToRelative(42.757f, 32.57f, 96.75f, 46.56f, 149.387f, 52.053f) + curveToRelative(25.565f, 3.024f, 51.567f, 2.3f, 77.309f, 1.671f) + curveToRelative(57.383f, -3.76f, 116.697f, -14.922f, 165.891f, -46.489f) + curveToRelative(24.111f, -15.167f, 48.186f, -40.127f, 45.789f, -70.696f) + curveToRelative(-3.387f, -27.595f, -31.449f, -41.659f, -55.239f, -48.998f) + curveToRelative(-6.858f, -2.016f, -13.845f, -4.048f, -20.999f, -4.549f) + curveToRelative(2.547f, -12.394f, 4.107f, -10.878f, -7.592f, -11.302f) + curveToRelative(-3.148f, 19.859f, -11.241f, 41.844f, -22.361f, 58.549f) + curveToRelative(-9.335f, 27.17f, -32.881f, 46.946f, -58.242f, 58.797f) + curveToRelative(41.174f, -5.651f, 76.469f, -60.671f, 83.995f, -91.345f) + curveToRelative(21.082f, 4.352f, 45.071f, 10.026f, 58.388f, 28.348f) + curveToRelative(9.974f, 15.413f, -3.736f, 32.736f, -13.882f, 44.068f) + curveToRelative(-102.215f, 85.133f, -293.119f, 73.315f, -394.849f, 9.366f) + curveToRelative(-11.24f, -12.658f, -26.761f, -34.252f, -13.844f, -51.488f) + curveToRelative(11.011f, -15.95f, 29.052f, -25.575f, 47.104f, -31.345f) + curveToRelative(12.867f, 37.173f, 39.595f, 70.253f, 75.071f, 87.903f) + curveToRelative(2.313f, -1.995f, -10.941f, -7.591f, -14.174f, -11.112f) + curveTo(123.074f, 420.237f, 108.45f, 408.223f, 102.359f, 391.483f) + curveTo(104.483f, 388.761f, 94.882f, 380.021f, 91.976f, 372.525f) + curveTo(78.856f, 349.743f, 75.034f, 323.229f, 70.948f, 297.746f) + close() + } + path( + fill = SolidColor(Color(0xFFe0e0e0)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(392.523f, 355.726f) + curveToRelative(-11.611f, 47.0f, -52.915f, 84.188f, -99.673f, 96.085f) + curveToRelative(-25.958f, 8.69f, -52.515f, 9.949f, -79.602f, 8.14f) + curveToRelative(-28.816f, -2.721f, -56.323f, -11.953f, -80.06f, -28.483f) + curveToRelative(-26.745f, -18.753f, -46.217f, -46.561f, -57.747f, -76.792f) + curveToRelative(-21.268f, 6.033f, -44.593f, 18.658f, -52.059f, 40.948f) + curveToRelative(-4.034f, 54.612f, 91.596f, 82.662f, 133.955f, 89.654f) + curveToRelative(55.068f, 8.766f, 123.339f, 7.499f, 172.191f, -3.471f) + curveToRelative(36.304f, -7.727f, 158.106f, -59.911f, 118.328f, -103.029f) + curveToRelative(-14.746f, -13.873f, -35.783f, -19.848f, -55.332f, -23.051f) + close() + } + path( + fill = SolidColor(Color(0xFF6aa5ac)), + stroke = null, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(366.723f, 388.627f) + curveToRelative(-25.239f, 35.357f, -71.86f, 51.221f, -113.533f, 54.886f) + curveToRelative(-24.65f, 3.208f, -48.923f, 0.367f, -73.095f, -5.062f) + curveToRelative(-29.288f, -7.565f, -59.668f, -27.713f, -79.046f, -51.061f) + curveToRelative(20.561f, 60.682f, 97.111f, 78.574f, 150.782f, 73.331f) + curveToRelative(45.365f, -4.706f, 103.34f, -25.754f, 114.893f, -72.093f) + close() + } + path( + fill = SolidColor(Color(0xFFb9cdd5)), + stroke = null, + fillAlpha = 0.632035f, + strokeLineWidth = 1.04994f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(335.914f, 14.7f) + curveToRelative(6.079f, 8.502f, 9.15f, 22.2f, -1.522f, 28.597f) + curveToRelative(-15.584f, 5.865f, -32.814f, 4.136f, -49.138f, 6.08f) + curveToRelative(-29.968f, 2.843f, -64.819f, 9.676f, -81.487f, 37.769f) + curveToRelative(-5.635f, 8.926f, -7.22f, 19.092f, -8.767f, 29.392f) + curveToRelative(-0.014f, 0.002f, -0.027f, 0.004f, -0.041f, 0.006f) + curveToRelative(-0.052f, 15.851f, 2.979f, 29.867f, 9.472f, 43.368f) + lineToRelative(-0.15f, 0.004f) + curveToRelative(8.964f, 13.262f, 19.474f, 29.828f, 35.825f, 35.985f) + curveToRelative(11.442f, 2.558f, 10.867f, -12.151f, 10.957f, -20.164f) + curveToRelative(-0.349f, -14.022f, 1.126f, -23.577f, 8.287f, -32.411f) + curveToRelative(-0.001f, -0.0f, -1.713f, 3.224f, -0.004f, 0.0f) + curveToRelative(1.709f, -3.224f, 6.5f, -8.891f, 11.209f, -13.746f) + curveToRelative(4.709f, -4.855f, 13.22f, -8.825f, 20.482f, -11.601f) + curveToRelative(7.262f, -2.776f, 72.306f, -24.482f, 85.154f, -42.383f) + curveTo(390.225f, 49.263f, 375.539f, 12.278f, 348.251f, 1.225f) + curveTo(338.856f, -2.773f, 332.82f, 9.412f, 335.914f, 14.7f) + close() + } + } + .build() + return customHashTagIconsCoffee!! + } + +private var customHashTagIconsCoffee: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/CustomHashTagIcons.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/CustomHashTagIcons.kt new file mode 100644 index 000000000..52346e19d --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/CustomHashTagIcons.kt @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.ui.graphics.vector.ImageVector +import kotlin.collections.List as ____KtList + +public object CustomHashTagIcons + +private var customHashTagIconsAllIconsCache: ____KtList? = null + +public val CustomHashTagIcons.AllIcons: ____KtList + get() { + if (customHashTagIconsAllIconsCache != null) { + return customHashTagIconsAllIconsCache!! + } + customHashTagIconsAllIconsCache = + listOf( + Lightning, + Mate, + Skull, + Coffee, + Plebs, + Weed, + Cashu, + Grownostr, + Footstr, + Btc, + Zap, + Tunestr, + Nostr, + ) + return customHashTagIconsAllIconsCache!! + } diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Footstr.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Footstr.kt new file mode 100644 index 000000000..01163d9f2 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Footstr.kt @@ -0,0 +1,162 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsFootstrPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Footstr, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Footstr: ImageVector + get() { + if (customHashTagIconsFootStr != null) { + return customHashTagIconsFootStr!! + } + customHashTagIconsFootStr = + Builder( + name = "Footstr", + defaultWidth = 236.0.dp, + defaultHeight = 236.0.dp, + viewportWidth = 236.0f, + viewportHeight = 236.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFe102c2)), + stroke = null, + strokeLineWidth = 1.16731f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(172.024f, 18.47f) + lineTo(184.052f, 17.337f) + curveTo(183.463f, 10.976f, 181.095f, 5.502f, 177.469f, 0.069f) + moveTo(192.472f, 156.68f) + curveToRelative(15.586f, 0.841f, 18.539f, 6.439f, 27.813f, -9.063f) + curveToRelative(8.364f, -13.977f, 2.988f, -28.3f, 6.501f, -43.049f) + curveToRelative(1.282f, -5.383f, 3.715f, -10.25f, 4.063f, -15.86f) + curveToRelative(0.334f, -5.423f, -1.494f, -10.524f, -2.089f, -15.86f) + curveToRelative(-0.564f, -5.045f, -0.376f, -10.678f, -5.273f, -14.038f) + curveToRelative(-5.438f, -3.733f, -9.84f, 1.109f, -10.437f, 6.11f) + curveToRelative(-0.582f, 4.874f, 0.226f, 9.842f, -0.256f, 14.726f) + curveToRelative(-0.422f, 4.273f, -1.943f, 8.124f, -2.05f, 12.462f) + curveToRelative(-0.084f, 3.439f, -1.441f, 8.999f, -6.245f, 8.999f) + curveToRelative(-8.641f, 0.0f, -6.692f, -13.224f, -7.853f, -18.062f) + curveToRelative(-2.124f, -8.857f, -5.552f, -16.829f, -6.371f, -26.056f) + curveToRelative(-0.605f, -6.811f, 1.684f, -13.506f, 0.771f, -20.392f) + curveToRelative(-0.618f, -4.663f, -2.976f, -11.245f, -8.249f, -12.861f) + curveToRelative(-7.27f, -2.228f, -10.639f, 5.207f, -10.751f, 10.596f) + curveToRelative(-0.119f, 5.818f, 2.058f, 11.23f, 2.336f, 16.993f) + curveToRelative(0.445f, 9.246f, 1.175f, 18.807f, 1.322f, 27.999f) + curveToRelative(0.051f, 3.174f, -1.301f, 6.191f, -1.097f, 9.387f) + curveToRelative(0.304f, 4.758f, 7.302f, 11.044f, 3.842f, 15.448f) + curveToRelative(-4.18f, 5.317f, -10.196f, -0.538f, -12.803f, -4.121f) + curveToRelative(-5.162f, -7.099f, -8.576f, -15.319f, -13.304f, -22.635f) + curveToRelative(-2.224f, -3.438f, -5.693f, -6.276f, -10.262f, -5.173f) + curveToRelative(-12.213f, 2.948f, -2.336f, 18.13f, 1.648f, 23.277f) + curveToRelative(10.468f, 13.526f, 19.591f, 27.625f, 30.784f, 40.783f) + curveToRelative(6.229f, 7.322f, 15.101f, 11.077f, 17.959f, 20.392f) + moveToRelative(25.259f, -125.748f) + curveToRelative(1.05f, 7.343f, 2.406f, 14.051f, 2.406f, 21.524f) + lineToRelative(9.622f, 3.399f) + curveToRelative(-0.44f, -9.512f, -3.839f, -18.966f, -12.028f, -24.923f) + moveToRelative(-80.587f, 15.86f) + curveToRelative(-4.545f, 7.606f, -6.269f, 16.447f, -3.608f, 24.923f) + curveToRelative(3.228f, -1.535f, 6.071f, -2.76f, 9.622f, -3.399f) + curveToRelative(-1.064f, -6.786f, -3.047f, -15.302f, -6.014f, -21.524f) + moveToRelative(-78.182f, 1.133f) + curveToRelative(-1.517f, 6.905f, -3.735f, 13.678f, -6.014f, 20.392f) + lineTo(66.178f, 69.449f) + curveTo(63.783f, 62.514f, 62.59f, 54.306f, 58.961f, 47.925f) + moveTo(45.731f, 207.659f) + curveToRelative(2.62f, -8.546f, 8.778f, -9.623f, 13.924f, -15.984f) + curveToRelative(8.239f, -10.187f, 17.116f, -20.089f, 25.003f, -30.464f) + curveToRelative(3.56f, -4.686f, 6.036f, -10.011f, 9.622f, -14.727f) + curveToRelative(3.915f, -5.147f, 14.26f, -20.373f, 1.903f, -23.277f) + curveToRelative(-4.614f, -1.084f, -8.062f, 1.695f, -10.322f, 5.173f) + curveToRelative(-4.74f, 7.292f, -8.192f, 15.572f, -13.305f, 22.635f) + curveToRelative(-2.521f, 3.482f, -7.669f, 8.817f, -11.941f, 4.298f) + curveToRelative(-4.307f, -4.555f, 2.592f, -10.65f, 3.011f, -15.626f) + curveToRelative(0.277f, -3.275f, -1.021f, -6.315f, -1.066f, -9.543f) + curveToRelative(-0.179f, -12.863f, 1.339f, -26.465f, 3.26f, -39.17f) + curveToRelative(0.915f, -6.054f, -0.085f, -19.425f, -10.413f, -16.26f) + curveToRelative(-5.273f, 1.617f, -7.629f, 8.197f, -8.249f, 12.861f) + curveToRelative(-0.811f, 6.116f, 1.066f, 12.084f, 0.589f, 18.126f) + curveToRelative(-0.796f, 10.107f, -4.172f, 18.642f, -6.357f, 28.322f) + curveToRelative(-1.105f, 4.896f, 1.127f, 17.891f, -7.686f, 17.891f) + curveToRelative(-5.485f, 0.0f, -6.35f, -6.214f, -6.357f, -9.961f) + curveToRelative(-0.007f, -4.018f, -1.955f, -7.399f, -2.287f, -11.329f) + curveToRelative(-0.413f, -4.87f, 0.609f, -9.83f, 0.153f, -14.726f) + curveToRelative(-0.437f, -4.689f, -4.81f, -9.935f, -10.285f, -6.762f) + curveToRelative(-5.149f, 2.986f, -4.939f, 9.806f, -5.485f, 14.691f) + curveToRelative(-0.552f, 4.945f, -2.241f, 9.713f, -2.136f, 14.727f) + curveToRelative(0.117f, 5.621f, 2.272f, 10.533f, 3.802f, 15.86f) + curveToRelative(4.381f, 15.243f, -1.813f, 29.587f, 7.01f, 44.182f) + curveToRelative(2.41f, 3.988f, 5.784f, 9.177f, 10.775f, 10.539f) + curveToRelative(4.794f, 1.31f, 11.713f, -1.435f, 16.838f, -1.476f) + moveTo(19.269f, 81.911f) + curveTo(12.507f, 89.006f, 8.661f, 97.251f, 8.444f, 106.834f) + curveToRelative(3.191f, -1.408f, 6.204f, -2.592f, 9.622f, -3.399f) + curveToRelative(0.0f, -6.502f, 3.112f, -15.605f, 1.203f, -21.524f) + moveToRelative(80.587f, 15.86f) + curveToRelative(-0.331f, 7.133f, -3.121f, 13.512f, -4.811f, 20.392f) + curveToRelative(3.415f, 1.23f, 6.452f, 2.819f, 9.622f, 4.531f) + curveToRelative(2.546f, -8.112f, 1.766f, -18.722f, -4.811f, -24.923f) + moveToRelative(92.745f, 69.945f) + curveToRelative(-12.846f, 5.17f, -0.975f, 22.186f, 10.583f, 17.445f) + curveToRelative(14.948f, -6.131f, 2.896f, -22.87f, -10.583f, -17.445f) + moveToRelative(-9.752f, 20.684f) + curveToRelative(0.0f, 7.665f, -0.565f, 15.042f, -1.203f, 22.657f) + curveToRelative(5.293f, -5.307f, 10.001f, -12.128f, 14.434f, -18.126f) + curveToRelative(-4.675f, -1.022f, -8.892f, -2.614f, -13.231f, -4.531f) + moveTo(34.912f, 218.458f) + curveToRelative(-13.565f, 3.164f, -4.322f, 20.77f, 7.211f, 17.989f) + curveToRelative(7.881f, -1.9f, 12.632f, -11.136f, 5.51f, -16.777f) + curveToRelative(-3.211f, -2.542f, -8.913f, -2.1f, -12.721f, -1.212f) + } + } + .build() + return customHashTagIconsFootStr!! + } + +private var customHashTagIconsFootStr: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Grownostr.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Grownostr.kt new file mode 100644 index 000000000..f2a838856 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Grownostr.kt @@ -0,0 +1,297 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsGrownostrPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Grownostr, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Grownostr: ImageVector + get() { + if (customHashTagIconsGrowNostr != null) { + return customHashTagIconsGrowNostr!! + } + customHashTagIconsGrowNostr = + Builder( + name = "Grownostr", + defaultWidth = 128.0.dp, + defaultHeight = 128.0.dp, + viewportWidth = 128.0f, + viewportHeight = 128.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF6200ee)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(9.224f, 0.486f) + curveTo(32.035f, 17.55f, 41.727f, 30.892f, 55.972f, 46.502f) + curveTo(58.127f, 41.355f, 55.87f, 32.947f, 54.169f, 27.762f) + curveTo(47.608f, 7.761f, 28.73f, 0.498f, 9.224f, 0.486f) + close() + } + path( + fill = SolidColor(Color(0xFF6200ee)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(71.434f, 71.774f) + curveTo(80.152f, 58.93f, 119.83f, 33.376f, 120.809f, 24.042f) + curveTo(99.67f, 24.479f, 79.224f, 31.773f, 72.715f, 53.799f) + curveToRelative(-1.57f, 5.311f, -1.279f, 12.494f, -1.28f, 17.975f) + close() + } + path( + fill = SolidColor(Color(0xFF3700b3)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(106.897f, 34.151f) + curveTo(85.728f, 55.379f, 83.294f, 51.88f, 72.931f, 73.418f) + curveTo(99.006f, 72.295f, 124.096f, 52.448f, 120.96f, 24.204f) + curveToRelative(-6.391f, 2.874f, -10.261f, 5.064f, -14.063f, 9.946f) + close() + } + path( + fill = SolidColor(Color(0xFF3700b3)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(8.753f, 0.486f) + curveTo(9.992f, 16.183f, 11.87f, 33.641f, 26.582f, 42.19f) + curveToRelative(8.311f, 4.828f, 18.0f, 6.141f, 27.276f, 7.889f) + curveTo(51.373f, 34.848f, 52.381f, 36.195f, 23.789f, 11.482f) + curveTo(19.47f, 7.834f, 15.869f, 4.353f, 8.753f, 0.486f) + close() + } + path( + fill = SolidColor(Color(0xFF818181)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(32.781f, 4.205f) + lineToRelative(1.24f, 1.24f) + close() + } + path( + fill = SolidColor(Color(0xFF35b458)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(21.622f, 10.404f) + curveToRelative(1.727f, 1.778f, 2.769f, 2.535f, 4.959f, 3.72f) + curveToRelative(-2.998f, 0.895f, -5.545f, 1.175f, -8.679f, 1.24f) + verticalLineToRelative(3.72f) + curveToRelative(12.329f, 0.0f, 18.717f, 3.247f, 26.037f, 13.638f) + horizontalLineToRelative(-8.679f) + verticalLineToRelative(3.72f) + curveToRelative(3.974f, 0.004f, 8.635f, -0.583f, 11.99f, 1.987f) + curveToRelative(5.095f, 3.903f, 6.276f, 10.83f, 7.861f, 16.61f) + curveToRelative(4.072f, 14.857f, 6.186f, 30.48f, 6.186f, 45.874f) + curveToRelative(0.0f, 7.101f, -12.143f, 35.848f, 4.959f, 24.797f) + curveToRelative(2.201f, -11.686f, -0.793f, -24.101f, -0.55f, -34.716f) + curveToRelative(3.591f, -12.146f, 10.482f, -24.099f, 19.148f, -30.583f) + curveToRelative(4.709f, -1.594f, 11.079f, 2.021f, 12.398f, -4.132f) + lineTo(84.854f, 57.518f) + curveTo(92.594f, 48.012f, 98.343f, 42.675f, 110.891f, 42.64f) + verticalLineToRelative(-2.48f) + horizontalLineToRelative(-8.679f) + lineToRelative(4.959f, -6.199f) + curveTo(99.438f, 34.305f, 94.621f, 42.1f, 88.573f, 46.36f) + curveTo(88.312f, 42.964f, 88.199f, 42.117f, 84.854f, 41.4f) + curveTo(84.466f, 54.133f, 72.011f, 71.537f, 63.777f, 79.835f) + curveTo(63.682f, 68.403f, 61.36f, 55.477f, 56.361f, 45.12f) + curveTo(53.377f, 38.937f, 48.971f, 33.724f, 45.694f, 27.762f) + curveToRelative(-1.764f, -3.211f, -2.345f, -6.791f, -4.234f, -9.919f) + curveToRelative(-0.849f, 1.547f, -0.929f, 1.919f, -1.24f, 3.72f) + curveTo(34.743f, 17.118f, 28.995f, 10.143f, 21.622f, 10.404f) + close() + } + path( + fill = SolidColor(Color(0xFF818181)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(42.699f, 10.404f) + lineToRelative(1.24f, 1.24f) + close() + } + path( + fill = SolidColor(Color(0xFF818181)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(103.452f, 25.282f) + lineToRelative(1.24f, 1.24f) + close() + } + path( + fill = SolidColor(Color(0xFF01ff01)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(12.943f, 27.762f) + lineToRelative(1.24f, 1.24f) + lineToRelative(-1.24f, -1.24f) + moveToRelative(76.87f, 2.48f) + lineToRelative(1.24f, 1.24f) + close() + } + path( + fill = SolidColor(Color(0xFF818181)), + stroke = null, + strokeLineWidth = 1.23984f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(73.695f, 48.839f) + lineToRelative(1.24f, 1.24f) + close() + } + path( + fill = SolidColor(Color(0xFFf99721)), + stroke = null, + strokeLineWidth = 1.18196f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(0.081f, 127.881f) + curveToRelative(9.289f, 0.0f, 23.307f, 0.004f, 33.058f, -0.192f) + curveToRelative(18.284f, -0.22f, 37.955f, -11.486f, 49.607f, -18.06f) + curveToRelative(-6.533f, -6.661f, -21.685f, -9.693f, -28.933f, -6.422f) + curveToRelative(-6.339f, 4.411f, -16.531f, 6.015f, -23.401f, 9.187f) + curveToRelative(-10.618f, 8.433f, -25.203f, 8.662f, -30.331f, 15.487f) + close() + } + path( + fill = SolidColor(Color(0xFF857f2d)), + stroke = null, + strokeLineWidth = 1.01399f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(61.97f, 101.518f) + lineToRelative(1.014f, 1.014f) + close() + } + path( + fill = SolidColor(Color(0xFFffff01)), + stroke = null, + strokeLineWidth = 1.01399f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(51.83f, 105.574f) + lineToRelative(1.014f, 1.014f) + lineToRelative(-1.014f, -1.014f) + moveToRelative(23.322f, 0.0f) + lineToRelative(1.014f, 1.014f) + close() + } + path( + fill = SolidColor(Color(0xFFdf7f07)), + stroke = null, + strokeLineWidth = 1.19243f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(31.334f, 127.881f) + horizontalLineToRelative(96.757f) + curveToRelative(-5.648f, -7.803f, -12.978f, -6.398f, -22.037f, -10.163f) + curveToRelative(-9.516f, -3.956f, -14.557f, -9.591f, -27.043f, -7.551f) + curveToRelative(-9.571f, 1.564f, -14.284f, 7.555f, -22.675f, 10.005f) + curveToRelative(-9.678f, 2.827f, -17.397f, 1.076f, -25.003f, 7.709f) + close() + } + } + .build() + return customHashTagIconsGrowNostr!! + } + +private var customHashTagIconsGrowNostr: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Lightning.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Lightning.kt new file mode 100644 index 000000000..f60683700 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Lightning.kt @@ -0,0 +1,201 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsLightningPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Lightning, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Lightning: ImageVector + get() { + if (customHashTagIconsLightning != null) { + return customHashTagIconsLightning!! + } + customHashTagIconsLightning = + Builder( + name = "Lightning", + defaultWidth = 512.0.dp, + defaultHeight = 512.0.dp, + viewportWidth = 512.0f, + viewportHeight = 512.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFfeb804)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(405.814f, 0.318f) + curveTo(398.493f, 10.851f, 392.367f, 18.665f, 387.207f, 28.095f) + curveTo(347.366f, 84.635f, 306.066f, 140.12f, 265.203f, 195.919f) + curveToRelative(-6.717f, 6.205f, -2.232f, 18.181f, 7.303f, 15.634f) + curveToRelative(15.682f, 3.42f, 21.453f, -10.422f, 21.453f, -10.422f) + curveToRelative(0.0f, 0.0f, 77.893f, -124.006f, 115.841f, -186.586f) + curveToRelative(2.589f, -5.525f, 4.24f, -14.798f, -3.986f, -14.226f) + close() + } + path( + fill = SolidColor(Color(0xFFffc927)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(134.106f, 269.928f) + lineToRelative(84.145f, -1.043f) + lineToRelative(23.28f, 8.339f) + lineToRelative(-22.137f, 38.786f) + lineToRelative(-109.766f, 188.455f) + lineToRelative(3.586f, 0.316f) + lineToRelative(279.741f, -251.785f) + lineToRelative(45.052f, -42.484f) + lineToRelative(-136.776f, 0.479f) + lineToRelative(-35.283f, -0.668f) + lineTo(406.128f, 0.168f) + curveToRelative(0.0f, 0.0f, -223.081f, 181.661f, -329.737f, 270.145f) + lineToRelative(-1.05f, 0.837f) + close() + } + path( + fill = SolidColor(Color(0xFFfeb804)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(109.658f, 504.464f) + curveToRelative(0.641f, 10.482f, 14.136f, 7.316f, 18.777f, 1.428f) + curveToRelative(110.113f, -98.518f, 227.418f, -195.827f, 322.374f, -283.083f) + curveToRelative(2.864f, -9.815f, -3.787f, -12.451f, -12.851f, -12.166f) + curveToRelative(-78.496f, 71.808f, -160.716f, 147.927f, -240.441f, 218.409f) + curveToRelative(-26.97f, 23.781f, -53.639f, 47.901f, -80.56f, 71.73f) + curveToRelative(-2.157f, 1.697f, -4.601f, 3.112f, -7.299f, 3.683f) + close() + moveTo(233.742f, 290.738f) + curveToRelative(6.731f, -10.679f, 15.607f, -23.143f, -0.042f, -21.833f) + curveToRelative(-52.452f, -0.003f, -100.964f, 0.787f, -149.966f, 2.256f) + curveToRelative(-7.988f, -0.012f, -8.925f, -2.348f, -12.914f, 9.06f) + curveToRelative(-4.908f, 14.035f, 13.177f, 11.664f, 21.968f, 11.597f) + curveToRelative(42.7f, -0.17f, 85.448f, 0.628f, 128.072f, -1.042f) + curveToRelative(4.996f, -0.006f, 7.714f, -0.11f, 12.882f, -0.037f) + close() + } + path( + fill = SolidColor(Color(0xFFffe567)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(295.999f, 97.743f) + curveToRelative(-8.582f, 4.871f, -15.257f, 12.447f, -22.999f, 18.528f) + curveToRelative(-35.757f, 30.897f, -71.357f, 61.981f, -107.631f, 92.275f) + curveTo(151.571f, 220.667f, 137.064f, 232.031f, 124.044f, 245.0f) + curveToRelative(-4.429f, 3.727f, -6.853f, 10.687f, -2.838f, 15.612f) + curveToRelative(5.438f, 7.373f, 15.928f, 3.727f, 21.794f, -1.137f) + curveToRelative(10.009f, -8.23f, 19.205f, -17.381f, 28.703f, -26.179f) + curveToRelative(10.022f, -9.859f, 19.614f, -20.178f, 30.297f, -29.335f) + curveToRelative(9.805f, -9.67f, 19.298f, -19.671f, 29.707f, -28.698f) + curveToRelative(9.648f, -9.595f, 19.134f, -19.361f, 29.354f, -28.349f) + curveToRelative(10.458f, -10.354f, 20.912f, -20.716f, 30.727f, -31.678f) + curveToRelative(3.954f, -4.612f, 10.405f, -8.489f, 10.761f, -15.087f) + curveToRelative(-0.53f, -3.162f, -4.126f, -3.243f, -6.55f, -2.405f) + close() + } + path( + fill = SolidColor(Color(0xFFffd84b)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(265.0f, 273.668f) + curveToRelative(-10.032f, 4.073f, -14.755f, 14.571f, -20.726f, 22.922f) + curveToRelative(-7.915f, 11.998f, -15.59f, 24.152f, -23.688f, 36.032f) + curveToRelative(-6.853f, 10.398f, -13.505f, 20.926f, -20.449f, 31.265f) + curveToRelative(-7.068f, 11.266f, -14.611f, 22.226f, -21.705f, 33.476f) + curveToRelative(-4.087f, 6.761f, -9.122f, 13.119f, -11.751f, 20.637f) + curveToRelative(-1.054f, 3.042f, 1.146f, 7.25f, 4.719f, 6.307f) + curveToRelative(5.831f, -1.77f, 8.704f, -7.808f, 12.382f, -12.187f) + curveToRelative(29.287f, -39.128f, 58.731f, -78.141f, 87.916f, -117.344f) + curveToRelative(3.727f, -5.003f, 6.11f, -12.684f, 2.56f, -18.382f) + curveToRelative(-2.25f, -2.576f, -5.963f, -3.682f, -9.258f, -2.726f) + close() + } + path( + fill = SolidColor(Color(0xFFffd84b)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(276.0f, 279.0f) + lineTo(276.0f, 285.0f) + lineTo(276.582f, 283.918f) + lineTo(276.628f, 283.502f) + lineTo(276.806f, 282.738f) + lineTo(276.806f, 281.262f) + lineTo(276.628f, 280.498f) + lineTo(276.582f, 280.082f) + lineTo(276.0f, 279.0f) + close() + } + } + .build() + return customHashTagIconsLightning!! + } + +private var customHashTagIconsLightning: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Mate.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Mate.kt new file mode 100644 index 000000000..63dda952e --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Mate.kt @@ -0,0 +1,240 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsMatePreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Mate, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Mate: ImageVector + get() { + if (customHashTagIconsMate != null) { + return customHashTagIconsMate!! + } + customHashTagIconsMate = + Builder( + name = "Mate", + defaultWidth = 800.0.dp, + defaultHeight = 800.0.dp, + viewportWidth = 128.0f, + viewportHeight = 128.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF865c52)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(31.448f, 53.887f) + curveToRelative(0.0f, 0.0f, -12.564f, 15.55f, -11.963f, 32.693f) + curveToRelative(0.601f, 17.143f, 10.37f, 40.868f, 44.856f, 41.66f) + curveTo(98.827f, 129.041f, 112.024f, 99.44f, 107.203f, 78.805f) + curveTo(102.308f, 57.843f, 91.653f, 51.092f, 91.653f, 51.092f) + close() + } + path( + fill = SolidColor(Color(0xFFb0b0b0)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(30.625f, 55.037f) + curveToRelative(0.0f, 0.0f, 0.084f, -1.783f, 0.77f, -3.945f) + curveToRelative(0.622f, -1.983f, 1.793f, -3.977f, 1.793f, -3.977f) + curveToRelative(24.589f, 17.122f, 31.545f, 15.636f, 56.059f, 5.349f) + curveToRelative(1.192f, -0.433f, 1.502f, -7.396f, 1.502f, -7.396f) + curveToRelative(0.0f, 0.0f, 3.077f, 3.619f, 3.889f, 6.605f) + curveToRelative(0.475f, 1.73f, 0.454f, 3.756f, 0.454f, 3.756f) + curveToRelative(0.0f, 0.0f, 0.696f, 6.161f, -11.362f, 13.704f) + curveTo(71.609f, 76.706f, 50.036f, 75.018f, 39.592f, 67.401f) + curveTo(31.585f, 61.546f, 30.625f, 55.037f, 30.625f, 55.037f) + close() + } + path( + fill = SolidColor(Color(0xFFe0e0e0)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(32.692f, 49.889f) + curveTo(32.503f, 58.867f, 48.77f, 66.547f, 62.094f, 66.631f) + curveTo(79.943f, 66.736f, 92.813f, 58.223f, 92.813f, 50.079f) + curveTo(87.333f, 24.888f, 34.137f, 29.554f, 32.692f, 49.889f) + close() + } + path( + fill = SolidColor(Color(0xFF858585)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(79.447f, 42.188f) + curveToRelative(-4.954f, -6.746f, -36.696f, -8.061f, -36.955f, 5.591f) + curveToRelative(0.19f, 7.3f, 9.642f, 8.302f, 9.642f, 8.302f) + lineToRelative(24.38f, -3.745f) + close() + } + path( + fill = SolidColor(Color(0xFF96a520)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(75.47f, 47.589f) + curveToRelative(0.0f, 0.0f, -3.597f, -3.123f, -13.746f, -3.123f) + curveToRelative(-10.149f, 0.0f, -15.729f, 3.407f, -16.204f, 6.825f) + curveToRelative(-0.274f, 1.973f, 0.285f, 2.469f, 0.285f, 2.469f) + curveToRelative(0.0f, 0.0f, 5.686f, 4.357f, 17.438f, 4.167f) + curveToRelative(11.752f, -0.19f, 13.461f, -2.279f, 13.461f, -2.279f) + close() + } + path( + fill = SolidColor(Color(0xFFe0e0e0)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(69.594f, 58.582f) + curveToRelative(0.0f, 0.0f, 15.824f, -30.519f, 17.248f, -32.028f) + curveTo(88.267f, 25.045f, 111.567f, 0.039f, 111.567f, 0.039f) + lineToRelative(3.597f, 3.218f) + lineToRelative(-6.537f, 7.473f) + curveToRelative(0.0f, 0.0f, -17.628f, 19.527f, -17.913f, 20.371f) + curveToRelative(-0.285f, 0.854f, -9.568f, 19.801f, -9.948f, 20.466f) + curveToRelative(-0.38f, 0.665f, -2.089f, 7.3f, -2.469f, 7.395f) + curveToRelative(-0.369f, 0.095f, -8.703f, -0.38f, -8.703f, -0.38f) + close() + } + path( + fill = SolidColor(Color(0xFFb0b0b0)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(76.135f, 56.018f) + curveToRelative(0.0f, 0.0f, 13.081f, -25.392f, 13.841f, -26.627f) + curveTo(90.735f, 28.157f, 114.51f, 2.645f, 114.51f, 2.645f) + lineToRelative(1.793f, 1.593f) + curveToRelative(0.0f, 0.0f, -22.973f, 25.798f, -23.67f, 26.758f) + curveToRelative(-0.992f, 1.361f, -11.921f, 22.776f, -11.921f, 22.776f) + curveToRelative(0.0f, 0.0f, -1.076f, 0.77f, -1.888f, 1.192f) + curveToRelative(-1.477f, 0.76f, -2.69f, 1.055f, -2.69f, 1.055f) + close() + } + path( + fill = SolidColor(Color(0xFFb0b0b0)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(95.841f, 15.277f) + curveToRelative(-0.475f, -0.105f, -3.882f, 3.407f, -3.692f, 3.977f) + curveToRelative(0.19f, 0.57f, 5.486f, 5.57f, 6.34f, 5.855f) + curveToRelative(0.854f, 0.285f, 3.692f, -3.313f, 3.787f, -3.692f) + curveToRelative(0.095f, -0.38f, -5.581f, -5.95f, -6.435f, -6.14f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(95.651f, 16.88f) + curveToRelative(-1.15f, 0.0f, -1.582f, 0.992f, -1.614f, 1.994f) + curveToRelative(-0.032f, 1.139f, 0.475f, 1.994f, 1.614f, 1.994f) + curveToRelative(1.139f, 0.0f, 1.614f, -1.139f, 1.614f, -2.089f) + curveToRelative(0.0f, -0.949f, -0.57f, -1.899f, -1.614f, -1.899f) + close() + } + path( + fill = SolidColor(Color(0xFFb78859)), + stroke = null, + strokeLineWidth = 1.05494f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(30.762f, 67.285f) + curveToRelative(-1.435f, -0.116f, -5.939f, 7.131f, -6.171f, 15.286f) + curveToRelative(-0.243f, 8.155f, 1.857f, 14.147f, 3.355f, 14.326f) + curveToRelative(1.983f, 0.243f, 3.123f, -6.351f, 5.697f, -11.509f) + curveToRelative(2.553f, -5.116f, 6.773f, -8.513f, 6.709f, -10.075f) + curveToRelative(-0.063f, -1.561f, -3.239f, -2.88f, -5.275f, -4.557f) + curveToRelative(-2.036f, -1.667f, -3.397f, -3.386f, -4.315f, -3.471f) + close() + } + } + .build() + return customHashTagIconsMate!! + } + +private var customHashTagIconsMate: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Nostr.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Nostr.kt new file mode 100644 index 000000000..ebf5bfb46 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Nostr.kt @@ -0,0 +1,151 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsNostrPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Nostr, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Nostr: ImageVector + get() { + if (customHashTagIconsNostr != null) { + return customHashTagIconsNostr!! + } + customHashTagIconsNostr = + Builder( + name = "Nostr", + defaultWidth = 256.0.dp, + defaultHeight = 256.0.dp, + viewportWidth = 256.0f, + viewportHeight = 256.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF9d5aff)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 0.488346f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(59.661f, 98.547f) + curveToRelative(-3.007f, -0.988f, -5.63f, -2.705f, -8.79f, -3.204f) + curveToRelative(-9.733f, -1.536f, -20.022f, 2.618f, -26.776f, 9.596f) + curveToRelative(-3.489f, 3.604f, -6.176f, 8.376f, -7.721f, 13.141f) + curveToRelative(-0.436f, 1.344f, -1.365f, 4.295f, 0.119f, 5.337f) + curveToRelative(2.359f, 1.655f, 8.252f, -3.372f, 11.426f, -2.895f) + curveToRelative(-1.501f, 3.387f, -3.098f, 7.468f, -2.907f, 11.232f) + curveToRelative(0.108f, 2.137f, 1.374f, 4.428f, 3.883f, 3.603f) + curveToRelative(4.417f, -1.452f, 6.135f, -7.225f, 11.232f, -7.998f) + curveToRelative(-0.81f, 2.489f, -4.209f, 10.816f, -0.821f, 12.632f) + curveToRelative(2.253f, 1.208f, 6.274f, -2.466f, 8.147f, -3.46f) + curveToRelative(5.717f, -3.037f, 13.492f, -5.564f, 20.022f, -5.725f) + curveToRelative(4.769f, -0.118f, 9.389f, 4.766f, 13.674f, 6.6f) + curveToRelative(9.014f, 3.857f, 18.45f, 5.866f, 27.836f, 8.51f) + curveToRelative(-5.549f, 8.157f, -12.991f, 15.022f, -20.999f, 20.758f) + curveToRelative(-3.104f, 2.223f, -6.98f, 2.751f, -9.663f, 5.658f) + curveToRelative(-3.017f, 3.269f, -3.081f, 8.023f, -5.478f, 11.675f) + curveToRelative(-7.682f, 11.702f, -15.816f, 23.585f, -24.366f, 34.671f) + curveToRelative(-4.329f, 5.614f, -12.746f, 3.903f, -16.651f, 10.259f) + curveToRelative(-2.622f, 4.27f, -0.247f, 6.045f, 3.904f, 4.881f) + curveToRelative(-2.736f, 4.934f, -6.406f, 10.19f, -6.222f, 16.115f) + curveToRelative(0.05f, 1.59f, 0.543f, 5.759f, 2.779f, 5.759f) + curveToRelative(2.164f, 0.0f, 4.639f, -7.04f, 5.847f, -8.689f) + curveToRelative(3.137f, -4.28f, 7.228f, -7.629f, 10.552f, -11.72f) + curveToRelative(3.062f, -3.768f, 5.291f, -8.248f, 8.111f, -12.209f) + curveToRelative(8.287f, -11.637f, 16.547f, -24.861f, 26.627f, -35.027f) + curveToRelative(2.386f, -2.407f, 6.005f, -2.902f, 8.361f, -5.527f) + curveToRelative(1.995f, -2.223f, 2.178f, -5.462f, 4.159f, -7.566f) + curveToRelative(2.812f, -2.986f, 6.83f, -5.276f, 10.107f, -7.734f) + curveToRelative(7.554f, -5.666f, 14.832f, -11.354f, 24.417f, -13.003f) + curveToRelative(-1.823f, 3.395f, -3.652f, 6.661f, -5.078f, 10.255f) + curveToRelative(-2.06f, 5.191f, -6.035f, 18.045f, 4.102f, 17.527f) + curveToRelative(3.787f, -0.193f, 6.345f, -3.143f, 9.767f, -4.321f) + curveToRelative(8.992f, -3.096f, 18.219f, -5.857f, 27.347f, -8.53f) + curveToRelative(3.83f, -1.122f, 8.137f, -3.336f, 12.206f, -3.164f) + curveToRelative(5.052f, 0.214f, 2.044f, 7.862f, 6.837f, 9.154f) + curveToRelative(2.993f, 0.806f, 2.123f, -4.518f, 2.444f, -6.272f) + horizontalLineToRelative(0.977f) + curveToRelative(1.795f, 3.46f, 5.276f, 6.668f, 8.79f, 8.382f) + curveToRelative(1.126f, 0.549f, 3.41f, 1.458f, 4.36f, 0.113f) + curveToRelative(1.265f, -1.789f, -1.49f, -5.133f, -2.407f, -6.542f) + curveToRelative(-3.31f, -5.087f, -6.927f, -14.399f, -13.185f, -16.287f) + curveToRelative(-5.581f, -1.684f, -12.344f, 1.201f, -17.58f, 2.939f) + curveToRelative(-10.983f, 3.644f, -22.076f, 7.259f, -33.208f, 10.418f) + curveToRelative(3.008f, -6.434f, 7.233f, -8.024f, 12.105f, -12.467f) + curveToRelative(1.697f, -1.548f, 2.297f, -4.404f, 4.545f, -5.307f) + curveToRelative(3.951f, -1.587f, 10.787f, -0.53f, 15.093f, -0.827f) + curveToRelative(7.661f, -0.528f, 15.199f, -2.598f, 21.976f, -6.198f) + curveToRelative(8.972f, -4.766f, 13.782f, -12.659f, 14.999f, -22.57f) + curveToRelative(0.42f, -3.42f, -1.094f, -8.668f, 0.703f, -11.694f) + curveToRelative(2.713f, -4.568f, 11.302f, -7.601f, 15.552f, -10.833f) + curveToRelative(9.871f, -7.51f, 17.983f, -19.995f, 18.538f, -32.656f) + curveToRelative(0.468f, -10.684f, -3.262f, -19.679f, -11.232f, -26.859f) + curveToRelative(-4.153f, -3.741f, -13.686f, -8.055f, -14.511f, -14.162f) + curveToRelative(-0.469f, -3.475f, 3.193f, -4.011f, 5.74f, -4.742f) + curveToRelative(6.568f, -1.886f, 13.618f, 0.286f, 20.022f, -1.607f) + verticalLineToRelative(-0.977f) + lineToRelative(-6.837f, -2.93f) + lineToRelative(6.837f, -0.488f) + verticalLineTo(12.598f) + curveTo(234.765f, 10.283f, 229.423f, 9.599f, 224.722f, 7.462f) + curveTo(216.79f, 3.856f, 206.396f, -5.601f, 200.733f, 7.226f) + curveToRelative(-8.514f, 19.283f, 8.555f, 30.24f, 20.552f, 41.592f) + curveToRelative(6.761f, 6.397f, 8.068f, 17.66f, 2.564f, 25.31f) + curveToRelative(-6.537f, 9.087f, -14.684f, 6.861f, -24.032f, 6.876f) + curveToRelative(-2.628f, 0.004f, -5.212f, 1.652f, -7.814f, 1.216f) + curveToRelative(-3.827f, -0.641f, -7.492f, -3.968f, -10.744f, -5.919f) + curveToRelative(-5.155f, -3.093f, -10.679f, -5.645f, -16.604f, -6.837f) + curveToRelative(-15.82f, -3.183f, -32.068f, -0.627f, -46.881f, 5.374f) + curveToRelative(-9.526f, 3.859f, -18.321f, 9.347f, -27.836f, 13.232f) + curveToRelative(-7.302f, 2.981f, -15.15f, 3.639f, -22.952f, 3.639f) + curveToRelative(-2.1f, 0.0f, -7.822f, -0.993f, -9.263f, 0.851f) + curveToRelative(-1.387f, 1.776f, 0.99f, 4.574f, 1.938f, 5.986f) + close() + } + } + .build() + return customHashTagIconsNostr!! + } + +private var customHashTagIconsNostr: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Plebs.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Plebs.kt new file mode 100644 index 000000000..e8c7ba2cb --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Plebs.kt @@ -0,0 +1,174 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsPlebsPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Plebs, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Plebs: ImageVector + get() { + if (customHashTagIconsPlebs != null) { + return customHashTagIconsPlebs!! + } + customHashTagIconsPlebs = + Builder( + name = "Plebs", + defaultWidth = 512.0.dp, + defaultHeight = 512.0.dp, + viewportWidth = 512.0f, + viewportHeight = 512.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF226699)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(240.077f, 212.39f) + curveToRelative(36.868f, -40.178f, 42.776f, -59.05f, 41.127f, -100.9f) + curveTo(277.003f, 50.197f, 219.658f, -13.101f, 154.473f, 3.27f) + curveTo(98.991f, 29.166f, 78.406f, 76.673f, 87.059f, 130.375f) + curveToRelative(3.326f, 19.783f, 11.266f, 38.916f, 23.309f, 55.0f) + curveToRelative(3.8f, 5.075f, 7.79f, 10.561f, 13.105f, 14.15f) + curveToRelative(29.583f, 11.547f, 63.268f, 28.18f, 92.0f, 32.55f) + curveToRelative(49.403f, 5.055f, 16.317f, 4.066f, 24.603f, -19.685f) + close() + } + path( + fill = SolidColor(Color(0xFF55acee)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(267.474f, 229.375f) + curveToRelative(-25.724f, 6.127f, -53.175f, 4.359f, -76.0f, -3.344f) + curveToRelative(-20.816f, -7.201f, -41.714f, -15.31f, -62.0f, -23.887f) + curveToRelative(-13.664f, -5.778f, -26.841f, -12.787f, -42.0f, -12.769f) + curveToRelative(-10.835f, 0.013f, -25.743f, 2.166f, -33.787f, 10.213f) + curveToRelative(-12.713f, 12.718f, -10.628f, 39.822f, 0.116f, 52.786f) + curveToRelative(7.998f, 9.651f, 20.694f, 14.759f, 31.671f, 20.248f) + curveToRelative(23.899f, 11.95f, 48.7f, 21.898f, 73.0f, 32.984f) + curveToRelative(10.316f, 4.706f, 26.02f, 8.833f, 33.387f, 17.874f) + curveToRelative(8.391f, 10.296f, 7.94f, 31.972f, 8.203f, 44.715f) + curveToRelative(9.824f, 0.0f, 21.748f, -2.388f, 31.41f, -4.334f) + curveToRelative(25.64f, -5.163f, 48.792f, -18.568f, 71.0f, -31.886f) + curveToRelative(19.64f, -11.777f, 43.51f, -31.471f, 68.0f, -22.638f) + curveToRelative(21.493f, 7.752f, 29.192f, 33.234f, 20.099f, 53.038f) + curveToRelative(-4.477f, 9.75f, -12.742f, 16.526f, -21.099f, 22.87f) + curveToRelative(-47.953f, 36.402f, -106.388f, 61.13f, -167.0f, 61.13f) + verticalLineToRelative(44.0f) + curveToRelative(0.572f, 13.763f, -3.286f, 20.249f, 13.0f, 21.83f) + curveToRelative(77.697f, 0.656f, 162.39f, 0.17f, 231.0f, 0.17f) + curveToRelative(8.367f, 0.0f, 21.25f, 2.254f, 22.811f, -9.0f) + curveToRelative(2.183f, -15.737f, 0.189f, -33.106f, 0.189f, -49.0f) + curveToRelative(-0.454f, -63.006f, -2.273f, -108.366f, -12.6f, -160.0f) + curveToRelative(-2.129f, -10.578f, -4.935f, -21.419f, -13.44f, -28.848f) + curveToRelative(-6.41f, -5.599f, -18.729f, 2.108f, -25.96f, 4.103f) + curveToRelative(-19.393f, 5.349f, -53.736f, 8.081f, -62.79f, -15.255f) + curveToRelative(-9.333f, -24.054f, 13.943f, -39.798f, 28.789f, -54.039f) + curveToRelative(33.42f, -27.883f, 43.86f, -89.356f, 34.576f, -125.961f) + curveToRelative(-19.6f, -76.144f, -102.286f, -105.041f, -163.006f, -34.0f) + curveToRelative(-2.71f, 5.553f, 4.587f, 12.392f, 7.119f, 17.0f) + curveToRelative(7.798f, 14.19f, 12.877f, 29.076f, 15.697f, 45.0f) + curveToRelative(4.022f, 22.71f, 0.21f, 46.903f, -8.812f, 68.0f) + curveToRelative(-1.202f, 8.804f, -13.792f, 19.122f, -14.666f, 26.0f) + curveToRelative(-0.543f, 5.907f, 8.62f, 9.855f, 11.49f, 14.09f) + curveToRelative(3.233f, 4.77f, 1.603f, 13.383f, 1.603f, 18.91f) + close() + } + path( + fill = SolidColor(Color(0xFF226699)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(359.659f, 263.19f) + curveToRelative(19.058f, 20.658f, 79.633f, 9.792f, 95.853f, -13.816f) + curveToRelative(8.684f, -13.517f, 9.701f, -39.101f, -3.132f, -50.67f) + curveToRelative(-38.377f, -27.49f, -128.225f, 26.091f, -92.721f, 64.486f) + close() + } + path( + fill = SolidColor(Color(0xFF226699)), + stroke = null, + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(202.93f, 505.36f) + curveToRelative(0.592f, -18.533f, -1.138f, -37.925f, -0.752f, -57.165f) + curveToRelative(14.334f, 0.0f, 28.111f, -2.78f, 42.295f, -5.144f) + curveToRelative(44.725f, -7.454f, 88.978f, -29.993f, 125.0f, -57.051f) + curveToRelative(8.087f, -6.074f, 16.01f, -12.398f, 20.623f, -21.625f) + curveToRelative(9.25f, -18.499f, 3.946f, -45.809f, -16.623f, -54.07f) + curveToRelative(-19.995f, -8.031f, -39.101f, 1.93f, -56.0f, 12.07f) + curveToRelative(-23.173f, 13.905f, -46.408f, 28.636f, -72.0f, 37.691f) + curveToRelative(-10.636f, 2.618f, -32.577f, 8.464f, -41.852f, 4.706f) + curveToRelative(-3.523f, -16.694f, -3.297f, -31.795f, -11.761f, -42.184f) + curveToRelative(-24.67f, -17.172f, -70.541f, -35.836f, -115.387f, -54.994f) + curveToRelative(-2.592f, -1.367f, -5.913f, -4.179f, -9.0f, -3.967f) + curveToRelative(-4.748f, 0.327f, -8.884f, 7.105f, -11.07f, 10.748f) + curveToRelative(-22.391f, 67.401f, -18.925f, 158.864f, -18.93f, 219.0f) + curveToRelative(0.219f, 13.623f, -0.386f, 18.984f, 15.0f, 19.0f) + horizontalLineToRelative(30.0f) + curveToRelative(23.685f, -4.025f, 130.22f, 11.249f, 120.457f, -7.015f) + close() + } + } + .build() + return customHashTagIconsPlebs!! + } + +private var customHashTagIconsPlebs: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Skull.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Skull.kt new file mode 100644 index 000000000..0d489a0cd --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Skull.kt @@ -0,0 +1,556 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.unit.dp + +public val CustomHashTagIcons.Skull: ImageVector + get() { + if (customHashTagIconsSkull != null) { + return customHashTagIconsSkull!! + } + customHashTagIconsSkull = + Builder( + name = "Skull", + defaultWidth = 521.0.dp, + defaultHeight = 521.0.dp, + viewportWidth = 521.0f, + viewportHeight = 521.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(166.043f, 80.017f) + curveToRelative(-17.589f, -6.803f, -44.532f, 4.017f, -36.944f, 26.703f) + curveToRelative(2.102f, 23.626f, 5.968f, 47.166f, 3.466f, 70.986f) + curveToRelative(-2.736f, 24.018f, -32.144f, 35.563f, -36.128f, 61.121f) + curveToRelative(-17.98f, 47.592f, -10.437f, 101.14f, 7.34f, 147.588f) + curveToRelative(-5.494f, 19.929f, -10.791f, 48.409f, 11.267f, 61.19f) + curveToRelative(17.725f, 13.076f, 40.748f, 11.293f, 60.405f, 18.039f) + curveToRelative(20.504f, 12.317f, -10.44f, 42.989f, 15.691f, 51.945f) + curveToRelative(18.095f, 2.854f, 17.827f, 3.664f, 56.455f, 3.83f) + curveToRelative(23.285f, 0.371f, 51.137f, 0.264f, 66.031f, -3.178f) + curveToRelative(17.85f, -3.738f, 39.299f, -7.904f, 29.227f, -32.481f) + curveToRelative(0.752f, -28.566f, 30.293f, -42.617f, 54.417f, -48.439f) + curveToRelative(24.039f, -0.976f, 29.123f, -26.788f, 19.494f, -44.696f) + curveToRelative(-5.32f, -21.481f, 6.117f, -42.357f, 4.253f, -64.147f) + curveToRelative(9.219f, -22.321f, 5.234f, -47.011f, 3.786f, -70.404f) + curveToRelative(-3.119f, -31.072f, -19.988f, -60.885f, -47.911f, -76.091f) + curveToRelative(-19.16f, -14.769f, -41.795f, -26.32f, -51.946f, -49.919f) + curveToRelative(-13.211f, -19.23f, -10.244f, -46.183f, -25.23f, -63.732f) + curveToRelative(-12.877f, -9.258f, -34.33f, 6.801f, -32.652f, -16.298f) + curveToRelative(-4.238f, -18.497f, -22.619f, -63.827f, -43.895f, -35.805f) + curveToRelative(-0.798f, 10.205f, 6.997f, 46.603f, -3.089f, 20.067f) + curveToRelative(-8.914f, -17.607f, -6.239f, -23.9f, -23.011f, -35.866f) + curveToRelative(-33.287f, -3.665f, -17.661f, 22.157f, -29.248f, 36.91f) + curveToRelative(-11.198f, 9.777f, -1.801f, 29.625f, -1.778f, 42.677f) + close() + } + path( + fill = SolidColor(Color(0xFF29b34a)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(197.415f, 67.468f) + curveToRelative(10.404f, -9.938f, 32.503f, -7.129f, 19.032f, -25.224f) + curveToRelative(-10.229f, -16.227f, -7.149f, -34.882f, -28.123f, -37.024f) + curveToRelative(-13.71f, 16.666f, -8.256f, 27.409f, 3.864f, 41.459f) + curveToRelative(2.333f, 6.769f, 3.635f, 13.825f, 5.226f, 20.789f) + close() + } + path( + fill = SolidColor(Color(0xFF136c37)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(253.885f, 115.571f) + curveToRelative(2.506f, -17.598f, -3.283f, -35.978f, 9.784f, -50.514f) + curveToRelative(-6.679f, -17.003f, -8.374f, -38.331f, -21.776f, -51.311f) + curveToRelative(-23.222f, -3.057f, -6.865f, 32.18f, -7.339f, 44.922f) + curveToRelative(15.503f, 13.029f, 12.399f, 35.878f, 18.82f, 53.612f) + close() + } + path( + fill = SolidColor(Color(0xFF136c37)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(169.184f, 49.392f) + curveToRelative(-0.974f, 1.101f, -1.704f, 6.811f, 6.669f, 43.023f) + curveToRelative(6.056f, 18.193f, 12.642f, 46.965f, 24.448f, 57.302f) + curveToRelative(2.53f, -36.482f, -3.511f, -73.178f, -18.599f, -106.116f) + curveToRelative(-2.683f, -5.857f, -9.241f, 2.216f, -12.518f, 5.791f) + close() + } + path( + fill = SolidColor(Color(0xFF29b34a)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(204.735f, 104.068f) + curveToRelative(0.625f, -7.842f, 3.927f, -37.846f, 6.899f, -19.429f) + curveToRelative(-3.324f, 23.587f, -5.05f, 47.144f, -4.767f, 71.229f) + curveToRelative(-0.842f, 28.442f, -19.717f, -11.418f, -22.985f, -22.25f) + curveToRelative(-10.169f, -15.42f, -5.614f, -50.82f, -31.301f, -48.375f) + curveToRelative(-28.193f, -1.433f, -14.516f, 32.27f, -14.95f, 49.151f) + curveToRelative(3.377f, 16.605f, -2.993f, 44.197f, 2.46f, 54.009f) + curveToRelative(15.805f, -3.46f, -17.136f, 24.032f, -21.739f, 34.012f) + curveToRelative(-27.954f, 42.526f, -22.507f, 97.338f, -10.089f, 144.233f) + curveToRelative(1.337f, 14.758f, 3.425f, 18.522f, 17.299f, 14.775f) + curveToRelative(-10.154f, 11.186f, -29.782f, 28.985f, -13.96f, 47.862f) + curveToRelative(14.781f, 25.267f, 46.309f, 12.627f, 66.711f, 26.555f) + curveToRelative(16.958f, 5.175f, 5.17f, 30.138f, 22.723f, 23.089f) + curveToRelative(9.803f, 7.155f, 9.208f, 22.008f, 19.428f, 5.38f) + curveToRelative(19.77f, -21.954f, 28.472f, 35.563f, 35.96f, 6.99f) + curveToRelative(4.723f, -20.5f, 27.271f, -14.175f, 31.971f, 2.826f) + curveToRelative(3.478f, -14.209f, 17.353f, -16.833f, 26.143f, -5.229f) + curveToRelative(9.612f, -16.096f, 27.492f, -17.179f, 35.903f, -35.211f) + curveToRelative(12.955f, -16.257f, 34.621f, -16.627f, 51.515f, -25.791f) + curveToRelative(17.619f, -15.141f, 3.569f, -40.186f, -5.852f, -56.119f) + curveToRelative(17.858f, 12.186f, 9.98f, -26.685f, 16.119f, -38.692f) + curveToRelative(7.231f, -36.187f, 12.769f, -76.041f, -5.908f, -109.896f) + curveToRelative(-14.865f, -32.017f, -48.573f, -51.652f, -82.978f, -54.865f) + curveToRelative(-28.394f, -9.939f, 30.195f, -0.921f, 8.313f, -16.557f) + curveToRelative(-19.659f, -20.983f, -23.944f, -50.275f, -32.649f, -76.299f) + curveToRelative(-11.311f, -10.062f, -41.455f, -4.621f, -30.088f, 9.78f) + curveToRelative(-0.115f, 11.714f, -7.056f, 27.874f, -5.351f, 6.936f) + curveToRelative(1.89f, -16.451f, -3.848f, -11.097f, -1.641f, 1.757f) + curveToRelative(-0.075f, 15.923f, 3.317f, 46.987f, -3.507f, 53.766f) + curveToRelative(-11.535f, -23.034f, -15.183f, -49.22f, -20.725f, -74.156f) + curveToRelative(-11.236f, -22.76f, -44.567f, -8.538f, -33.969f, 21.585f) + curveToRelative(0.542f, 2.957f, 0.77f, 5.943f, 1.016f, 8.934f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(141.992f, 137.532f) + curveToRelative(5.433f, -6.563f, 6.768f, -44.708f, -3.759f, -38.139f) + curveToRelative(-0.113f, 12.72f, 4.244f, 25.288f, 3.759f, 38.139f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(190.095f, 178.763f) + curveToRelative(-23.353f, 4.429f, -48.582f, 19.127f, -56.055f, 42.868f) + curveToRelative(-2.024f, 30.081f, 23.868f, 1.519f, 32.26f, -8.593f) + curveToRelative(9.022f, -13.104f, 39.168f, -19.981f, 37.211f, -34.476f) + curveToRelative(-4.434f, -1.085f, -8.984f, -0.392f, -13.416f, 0.201f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(137.809f, 233.739f) + curveToRelative(18.974f, -10.812f, 30.284f, -32.523f, 50.837f, -42.381f) + curveToRelative(10.081f, -4.822f, 18.905f, -12.577f, 1.877f, -9.752f) + curveToRelative(-23.615f, 5.699f, -57.72f, 22.986f, -52.714f, 52.132f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(176.501f, 382.232f) + curveToRelative(-10.891f, 10.084f, -47.394f, -14.781f, -33.154f, 10.003f) + curveToRelative(22.963f, 15.302f, 54.036f, 2.594f, 73.061f, -13.679f) + curveToRelative(25.349f, -20.634f, 34.476f, -66.262f, 5.31f, -87.733f) + curveToRelative(-28.868f, -23.834f, -81.683f, -12.071f, -90.905f, 26.166f) + curveToRelative(-5.558f, 28.613f, 14.865f, 63.502f, 45.688f, 65.243f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(380.418f, 379.095f) + curveToRelative(-10.317f, 0.003f, -50.27f, 12.128f, -23.121f, 1.307f) + curveToRelative(34.329f, -13.642f, 44.659f, -68.986f, 10.941f, -89.151f) + curveToRelative(-29.709f, -20.531f, -81.334f, -7.617f, -88.304f, 30.567f) + curveToRelative(-5.964f, 36.873f, 22.869f, 76.762f, 61.704f, 76.249f) + curveToRelative(13.693f, -0.457f, 36.367f, -1.58f, 38.78f, -18.972f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(178.592f, 317.397f) + curveToRelative(-1.612f, 19.729f, 20.895f, -2.92f, 0.0f, 0.0f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(333.36f, 318.443f) + curveToRelative(-9.346f, 14.816f, 15.03f, 7.845f, 3.202f, 1.021f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(182.775f, 346.677f) + curveToRelative(19.051f, 3.541f, 12.908f, -18.621f, -0.321f, -6.868f) + curveToRelative(-0.441f, 2.36f, -1.198f, 4.037f, 0.321f, 6.868f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(328.131f, 347.723f) + curveToRelative(18.676f, 9.029f, 16.713f, -14.754f, 1.534f, -5.831f) + lineToRelative(-0.715f, 1.921f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(261.205f, 452.296f) + curveToRelative(-0.01f, -31.751f, -0.131f, -63.617f, -4.183f, -95.161f) + curveToRelative(-21.21f, 6.715f, -22.059f, 34.273f, -29.883f, 51.747f) + curveToRelative(-14.996f, 21.746f, 1.779f, 51.062f, 28.507f, 43.698f) + lineToRelative(2.754f, -0.175f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(268.525f, 362.363f) + curveToRelative(-5.532f, 25.009f, 1.026f, 50.791f, 1.095f, 76.12f) + curveToRelative(2.316f, 33.709f, 45.428f, -4.749f, 27.671f, -24.311f) + curveToRelative(-9.589f, -16.836f, -13.047f, -39.454f, -28.766f, -51.809f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(185.912f, 282.888f) + curveToRelative(2.812f, 7.364f, -1.009f, 19.985f, 6.798f, 23.39f) + curveToRelative(13.403f, 7.924f, 5.009f, 23.188f, 18.017f, 31.428f) + curveToRelative(3.286f, 15.59f, -20.209f, 16.404f, -9.522f, 32.471f) + curveToRelative(10.79f, 11.433f, 33.598f, -18.826f, 33.283f, -34.778f) + curveToRelative(4.946f, -24.56f, -15.221f, -46.819f, -38.787f, -50.423f) + curveToRelative(-3.238f, -0.808f, -6.508f, -1.478f, -9.789f, -2.088f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(174.409f, 283.934f) + curveToRelative(-0.802f, 9.414f, 7.357f, 32.461f, 3.761f, 10.435f) + curveToRelative(-1.913f, -2.349f, 0.636f, -11.744f, -3.761f, -10.435f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(316.628f, 378.049f) + curveToRelative(3.075f, -11.085f, 3.285f, -20.165f, -2.786f, -29.212f) + curveToRelative(-1.487f, -24.509f, 13.443f, -41.074f, 17.426f, -62.812f) + curveToRelative(-28.09f, 0.389f, -54.698f, 27.468f, -46.08f, 56.402f) + curveToRelative(3.617f, 16.059f, 15.22f, 30.985f, 31.439f, 35.622f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(163.952f, 287.071f) + curveToRelative(-20.933f, 9.04f, -36.187f, 32.897f, -27.189f, 55.421f) + curveToRelative(6.503f, 19.036f, 24.512f, 34.534f, 44.967f, 35.557f) + curveToRelative(-4.624f, -20.378f, -19.128f, -36.549f, -18.624f, -60.584f) + curveToRelative(2.351f, -10.495f, 8.589f, -19.63f, 0.847f, -30.394f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(340.68f, 287.071f) + curveToRelative(-4.457f, 8.035f, -2.168f, 32.414f, 0.122f, 9.871f) + curveToRelative(-2.314f, -1.879f, 6.217f, -11.529f, -0.122f, -9.871f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(351.137f, 289.162f) + curveToRelative(-6.293f, 17.563f, 7.981f, 33.691f, 3.62f, 48.783f) + curveToRelative(15.158f, 21.457f, -25.383f, 21.09f, -17.214f, 43.241f) + curveToRelative(35.013f, -1.124f, 60.324f, -47.798f, 37.825f, -75.927f) + curveToRelative(-6.395f, -7.397f, -14.86f, -13.213f, -24.23f, -16.097f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(188.004f, 358.18f) + curveToRelative(-1.683f, 13.577f, 8.332f, 26.695f, 3.23f, 7.21f) + curveToRelative(-1.151f, -2.128f, 0.632f, -8.445f, -3.23f, -7.21f) + close() + } + path( + fill = SolidColor(Color(0xFFf9a318)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(329.177f, 360.272f) + curveToRelative(-4.168f, 9.067f, -2.34f, 32.64f, 0.249f, 10.422f) + curveToRelative(-0.99f, -2.221f, 4.738f, -12.028f, -0.249f, -10.422f) + close() + } + path( + fill = SolidColor(Color(0xFF203d1b)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(318.72f, 509.811f) + curveToRelative(27.619f, 9.81f, 24.306f, -50.605f, 1.551f, -25.143f) + curveToRelative(-4.515f, 7.619f, -2.502f, 16.89f, -1.551f, 25.143f) + close() + } + path( + fill = SolidColor(Color(0xFF203d1b)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(206.827f, 511.902f) + curveToRelative(8.105f, -14.523f, -14.147f, -44.0f, -18.997f, -18.823f) + curveToRelative(-4.344f, 14.514f, 5.617f, 21.311f, 18.997f, 18.823f) + close() + } + path( + fill = SolidColor(Color(0xFF203d1b)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(248.656f, 517.131f) + curveToRelative(3.679f, -23.672f, -27.249f, -48.536f, -35.512f, -15.612f) + curveToRelative(-7.898f, 22.958f, 23.234f, 17.531f, 35.512f, 15.612f) + close() + moveTo(292.577f, 516.085f) + curveToRelative(26.315f, 9.481f, 28.204f, -26.173f, 7.336f, -31.631f) + curveToRelative(-11.741f, 5.503f, -7.375f, 21.531f, -7.336f, 31.631f) + close() + } + path( + fill = SolidColor(Color(0xFF203d1b)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(289.062f, 514.957f) + curveToRelative(-0.003f, -5.436f, -0.324f, -10.515f, -2.186f, -15.686f) + curveToRelative(-2.274f, -5.577f, -5.053f, -10.71f, -9.359f, -14.348f) + curveToRelative(-12.703f, -10.594f, -18.586f, 9.534f, -21.57f, 18.531f) + curveToRelative(-1.24f, 3.742f, -4.543f, 11.236f, -0.763f, 14.494f) + curveToRelative(2.449f, 2.11f, 6.787f, 2.152f, 9.827f, 2.222f) + curveToRelative(8.863f, 0.207f, 15.69f, -3.227f, 24.052f, -5.213f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(183.928f, 13.894f) + curveToRelative(1.519f, 7.249f, 3.919f, 14.134f, 4.873f, 21.515f) + lineToRelative(2.074f, -0.267f) + curveToRelative(-0.953f, -7.414f, -1.329f, -14.808f, -4.873f, -21.515f) + close() + } + path( + fill = SolidColor(Color(0xFF100f0f)), + stroke = null, + strokeLineWidth = 1.04573f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(233.231f, 20.945f) + lineToRelative(1.046f, 16.732f) + curveToRelative(2.294f, -5.109f, 2.624f, -11.389f, 1.046f, -16.732f) + close() + } + } + .build() + return customHashTagIconsSkull!! + } + +private var customHashTagIconsSkull: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Tunestr.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Tunestr.kt new file mode 100644 index 000000000..62f2ad074 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Tunestr.kt @@ -0,0 +1,144 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsTunestrPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Tunestr, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Tunestr: ImageVector + get() { + if (customHashTagIconsTunestr != null) { + return customHashTagIconsTunestr!! + } + customHashTagIconsTunestr = + Builder( + name = "Tunestr", + defaultWidth = 600.0.dp, + defaultHeight = 600.0.dp, + viewportWidth = 600.0f, + viewportHeight = 600.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFeb3c27)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(171.93f, 82.63f) + lineTo(577.1f, 0.0f) + lineTo(577.1f, 112.99f) + lineTo(171.93f, 195.62f) + close() + } + path( + fill = SolidColor(Color(0xFFeb3c27)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(171.93f, 82.54f) + lineTo(237.16f, 82.54f) + lineTo(237.16f, 504.91f) + lineTo(171.93f, 504.91f) + close() + } + path( + fill = SolidColor(Color(0xFFeb3c27)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(235.04f, 488.2f) + curveTo(246.7f, 531.7f, 209.13f, 579.56f, 151.13f, 595.1f) + curveTo(93.13f, 610.64f, 36.67f, 587.98f, 25.01f, 544.48f) + curveTo(13.35f, 500.98f, 50.92f, 453.12f, 108.92f, 437.58f) + curveTo(166.92f, 422.04f, 223.38f, 444.7f, 235.04f, 488.2f) + close() + } + path( + fill = SolidColor(Color(0xFFeb3c27)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(511.87f, 13.54f) + lineTo(577.1f, 13.54f) + lineTo(577.1f, 435.91f) + lineTo(511.87f, 435.91f) + close() + } + path( + fill = SolidColor(Color(0xFFeb3c27)), + stroke = SolidColor(Color(0x00000000)), + strokeLineWidth = 1.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(574.98f, 419.21f) + curveTo(586.64f, 462.71f, 549.07f, 510.57f, 491.07f, 526.11f) + curveTo(433.07f, 541.65f, 376.61f, 518.99f, 364.95f, 475.49f) + curveTo(353.29f, 431.99f, 390.86f, 384.13f, 448.86f, 368.59f) + curveTo(506.86f, 353.05f, 563.32f, 375.71f, 574.98f, 419.21f) + close() + } + } + .build() + return customHashTagIconsTunestr!! + } + +private var customHashTagIconsTunestr: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Weed.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Weed.kt new file mode 100644 index 000000000..6cf55d6df --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Weed.kt @@ -0,0 +1,550 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsWeedPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Weed, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Weed: ImageVector + get() { + if (customHashTagIconsWeed != null) { + return customHashTagIconsWeed!! + } + customHashTagIconsWeed = + Builder( + name = "Weed", + defaultWidth = 512.0.dp, + defaultHeight = 512.0.dp, + viewportWidth = 512.0f, + viewportHeight = 512.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF00bf00)), + stroke = null, + strokeLineWidth = 0.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(255.539f, 30.66f) + curveToRelative(-170.359f, -0.44f, -85.18f, -0.22f, 0.0f, 0.0f) + close() + moveTo(255.561f, 30.641f) + curveToRelative(-0.16f, 1.3f, -0.7f, 4.54f, -1.51f, 8.92f) + curveToRelative(-1.56f, 8.54f, -4.271f, 21.57f, -7.781f, 33.9f) + curveToRelative(-0.86f, 3.08f, -1.949f, 6.49f, -3.189f, 10.27f) + curveToRelative(-0.002f, 0.006f, -0.004f, 0.014f, -0.006f, 0.02f) + lineToRelative(-0.035f, -0.029f) + lineToRelative(-2.158f, -1.891f) + lineToRelative(-1.512f, 12.869f) + curveToRelative(-0.943f, 3.119f, -2.055f, 6.243f, -2.889f, 8.881f) + curveToRelative(-0.001f, 0.002f, -0.001f, 0.004f, -0.002f, 0.006f) + lineToRelative(-0.029f, -0.016f) + lineToRelative(-7.35f, -3.73f) + lineToRelative(1.68f, 21.52f) + lineToRelative(0.006f, 0.066f) + curveToRelative(-1.345f, 4.473f, -2.691f, 9.104f, -4.035f, 13.895f) + lineToRelative(-0.02f, -0.01f) + lineToRelative(-8.65f, -3.84f) + lineToRelative(2.699f, 28.379f) + lineToRelative(0.008f, 0.088f) + curveToRelative(-0.644f, 2.949f, -1.232f, 5.955f, -1.768f, 9.012f) + curveToRelative(-0.0f, 0.001f, 0.0f, 0.003f, 0.0f, 0.004f) + lineToRelative(-0.029f, -0.014f) + lineToRelative(-11.25f, -5.779f) + lineToRelative(7.189f, 35.09f) + lineToRelative(0.031f, 0.148f) + curveToRelative(-0.373f, 4.064f, -0.644f, 8.231f, -0.861f, 12.451f) + curveToRelative(-0.0f, 0.006f, 0.0f, 0.013f, 0.0f, 0.02f) + lineToRelative(-0.029f, -0.02f) + lineToRelative(-12.221f, -8.109f) + lineToRelative(13.189f, 51.629f) + curveToRelative(0.298f, 2.798f, 0.545f, 5.692f, 0.791f, 8.111f) + curveToRelative(0.001f, 0.005f, 0.001f, 0.009f, 0.002f, 0.014f) + lineToRelative(-0.031f, -0.014f) + lineToRelative(-6.381f, -2.65f) + lineToRelative(-7.57f, -3.189f) + lineToRelative(15.887f, 32.271f) + lineToRelative(-0.025f, 0.049f) + lineToRelative(-1.5f, 2.836f) + curveToRelative(-1.187f, -1.945f, -2.424f, -3.881f, -3.721f, -5.826f) + curveToRelative(-0.028f, -0.043f, -0.06f, -0.088f, -0.088f, -0.131f) + lineToRelative(-18.043f, -39.051f) + lineToRelative(-2.91f, 10.348f) + curveToRelative(-2.206f, -2.645f, -4.473f, -5.291f, -6.689f, -7.826f) + curveToRelative(-0.022f, -0.025f, -0.044f, -0.047f, -0.066f, -0.072f) + lineToRelative(-13.414f, -25.969f) + lineToRelative(-3.557f, 8.402f) + curveToRelative(-1.887f, -1.837f, -3.725f, -3.555f, -5.563f, -5.232f) + curveToRelative(-4.205f, -6.524f, -8.374f, -13.106f, -12.551f, -19.66f) + lineToRelative(-3.02f, 6.09f) + curveToRelative(-3.19f, -2.65f, -6.32f, -5.14f, -9.35f, -7.52f) + curveToRelative(-0.016f, -0.013f, -0.031f, -0.022f, -0.047f, -0.035f) + lineTo(127.5f, 190.609f) + lineToRelative(-2.262f, 5.441f) + curveToRelative(-2.16f, -1.62f, -4.209f, -3.191f, -6.158f, -4.65f) + curveToRelative(-0.032f, -0.024f, -0.058f, -0.043f, -0.09f, -0.066f) + lineToRelative(-7.17f, -7.703f) + lineToRelative(-0.318f, 2.143f) + curveToRelative(-2.537f, -1.997f, -4.864f, -3.775f, -6.912f, -5.453f) + curveToRelative(-12.32f, -10.06f, -24.38f, -21.901f, -26.65f, -24.221f) + curveToRelative(1.62f, 2.81f, 9.73f, 17.511f, 16.0f, 31.951f) + curveToRelative(1.03f, 2.38f, 2.111f, 5.03f, 3.301f, 8.0f) + curveToRelative(0.001f, 0.003f, 0.003f, 0.007f, 0.004f, 0.01f) + lineToRelative(-2.104f, -0.32f) + lineToRelative(5.398f, 8.742f) + curveToRelative(0.87f, 2.32f, 1.841f, 4.808f, 2.871f, 7.348f) + curveToRelative(0.002f, 0.006f, 0.005f, 0.013f, 0.008f, 0.02f) + lineToRelative(-6.059f, 0.6f) + lineToRelative(11.68f, 13.352f) + curveToRelative(1.398f, 3.504f, 2.965f, 7.176f, 4.691f, 10.898f) + curveToRelative(0.003f, 0.007f, 0.007f, 0.014f, 0.01f, 0.022f) + lineToRelative(-6.871f, 1.029f) + lineToRelative(15.73f, 17.57f) + lineToRelative(0.023f, 0.027f) + curveToRelative(1.073f, 2.204f, 2.205f, 4.347f, 3.387f, 6.602f) + curveToRelative(0.004f, 0.007f, 0.008f, 0.013f, 0.012f, 0.02f) + lineToRelative(-0.012f, 0.002f) + lineToRelative(-9.25f, 0.809f) + lineToRelative(21.68f, 20.17f) + lineToRelative(0.057f, 0.053f) + curveToRelative(1.768f, 2.835f, 3.701f, 5.623f, 5.684f, 8.469f) + curveToRelative(0.005f, 0.007f, 0.011f, 0.013f, 0.016f, 0.02f) + horizontalLineToRelative(-0.025f) + lineToRelative(-11.029f, -0.27f) + lineToRelative(33.199f, 28.379f) + lineToRelative(0.125f, 0.105f) + curveToRelative(1.465f, 1.62f, 2.939f, 3.25f, 4.404f, 4.822f) + verticalLineToRelative(0.002f) + verticalLineToRelative(0.111f) + lineToRelative(0.006f, 0.051f) + lineToRelative(-7.676f, 1.34f) + lineToRelative(-0.059f, -0.041f) + lineToRelative(-30.221f, -20.92f) + lineToRelative(2.971f, 8.33f) + lineToRelative(0.002f, 0.006f) + curveToRelative(-0.004f, -0.002f, -0.008f, -0.004f, -0.012f, -0.006f) + curveToRelative(-3.021f, -1.296f, -6.043f, -2.532f, -9.004f, -3.719f) + lineToRelative(-0.018f, -0.012f) + lineToRelative(-22.979f, -14.811f) + lineToRelative(1.51f, 7.031f) + curveToRelative(-2.27f, -0.75f, -4.481f, -1.46f, -6.701f, -2.16f) + lineToRelative(-19.25f, -10.541f) + lineToRelative(0.76f, 5.24f) + curveToRelative(-3.73f, -0.98f, -7.3f, -1.89f, -10.76f, -2.76f) + lineToRelative(-14.65f, -7.789f) + lineToRelative(0.971f, 4.6f) + curveToRelative(-2.38f, -0.6f, -4.7f, -1.08f, -6.92f, -1.57f) + curveToRelative(-0.024f, -0.006f, -0.043f, -0.01f, -0.066f, -0.016f) + lineToRelative(-9.174f, -3.484f) + lineToRelative(0.799f, 1.549f) + curveToRelative(-2.915f, -0.649f, -5.502f, -1.3f, -7.879f, -1.889f) + curveToRelative(-14.255f, -3.676f, -29.14f, -8.685f, -32.033f, -9.723f) + curveToRelative(-0.486f, -0.278f, -0.595f, -0.337f, -0.256f, -0.117f) + curveToRelative(-0.146f, -0.045f, -0.22f, -0.064f, -0.229f, -0.063f) + curveToRelative(0.02f, 0.013f, 0.181f, 0.072f, 0.459f, 0.172f) + curveToRelative(2.65f, 1.51f, 16.008f, 9.73f, 27.898f, 18.27f) + curveToRelative(1.94f, 1.41f, 4.1f, 3.03f, 6.43f, 4.76f) + curveToRelative(0.002f, 0.002f, 0.005f, 0.004f, 0.008f, 0.006f) + lineToRelative(-0.027f, 0.006f) + lineToRelative(-1.779f, 0.379f) + lineToRelative(8.6f, 4.871f) + lineToRelative(0.139f, 0.078f) + curveToRelative(1.742f, 1.333f, 3.536f, 2.755f, 5.441f, 4.23f) + curveToRelative(0.001f, 0.001f, 0.002f, 0.003f, 0.004f, 0.004f) + lineToRelative(-0.014f, 0.006f) + lineToRelative(-4.221f, 2.111f) + lineToRelative(15.35f, 6.219f) + lineToRelative(0.08f, 0.033f) + curveToRelative(2.794f, 2.096f, 5.8f, 4.242f, 8.859f, 6.447f) + lineToRelative(-0.018f, 0.01f) + lineToRelative(-4.602f, 2.701f) + lineToRelative(20.711f, 8.16f) + lineToRelative(0.051f, 0.02f) + curveToRelative(1.88f, 1.233f, 3.76f, 2.416f, 5.699f, 3.6f) + lineToRelative(-0.02f, 0.01f) + lineToRelative(-6.602f, 3.301f) + curveToRelative(12.864f, 3.87f, 23.452f, 7.891f, 34.791f, 12.699f) + horizontalLineToRelative(-0.02f) + lineToRelative(-8.432f, 2.92f) + curveToRelative(14.812f, 4.474f, 30.991f, 8.293f, 44.988f, 13.197f) + lineToRelative(-0.008f, 0.004f) + lineToRelative(-7.189f, 4.43f) + curveToRelative(11.356f, 1.924f, 22.792f, 2.67f, 32.447f, 4.596f) + lineToRelative(-2.268f, 6.424f) + lineToRelative(7.57f, 0.33f) + horizontalLineToRelative(0.022f) + lineToRelative(0.379f, 0.32f) + lineToRelative(0.006f, 0.008f) + curveToRelative(-0.009f, 0.001f, -0.017f, 0.001f, -0.025f, 0.002f) + curveToRelative(-11.529f, 1.088f, -24.241f, 0.811f, -34.48f, 0.959f) + lineToRelative(5.24f, 3.352f) + horizontalLineToRelative(0.049f) + lineToRelative(0.01f, 0.006f) + curveToRelative(-0.006f, 0.001f, -0.013f, 0.003f, -0.02f, 0.004f) + horizontalLineToRelative(-0.049f) + curveToRelative(-9.972f, 1.372f, -18.923f, 2.05f, -27.191f, 2.43f) + curveToRelative(5.579f, 4.212f, 3.756f, 3.194f, -0.981f, 4.76f) + curveToRelative(-5.419f, 0.595f, -10.84f, 1.187f, -16.26f, 1.779f) + lineToRelative(2.699f, 2.648f) + curveToRelative(-0.002f, 0.001f, -0.005f, 0.001f, -0.008f, 0.002f) + curveToRelative(-6.406f, 2.869f, -13.553f, 3.441f, -19.891f, 4.221f) + lineToRelative(2.531f, 2.104f) + curveToRelative(-3.89f, 1.778f, -8.189f, 2.709f, -12.002f, 3.627f) + lineToRelative(1.184f, 0.535f) + curveToRelative(-2.043f, 0.807f, -3.929f, 1.505f, -5.604f, 2.104f) + curveToRelative(-2.49f, 0.87f, -5.029f, 1.73f, -7.459f, 2.49f) + curveToRelative(-7.68f, 2.43f, -14.491f, 4.33f, -16.111f, 4.76f) + curveToRelative(1.95f, -0.16f, 10.711f, -0.699f, 20.061f, -0.809f) + curveToRelative(1.52f, -0.05f, 3.09f, -0.051f, 4.6f, -0.051f) + curveToRelative(1.76f, 0.0f, 3.743f, 0.058f, 5.934f, 0.107f) + lineToRelative(-0.924f, 0.912f) + lineToRelative(7.605f, -0.742f) + curveToRelative(1.56f, 0.102f, 3.168f, 0.165f, 4.877f, 0.213f) + lineToRelative(-1.672f, 2.85f) + lineToRelative(12.018f, -2.635f) + curveToRelative(0.058f, 0.001f, 0.104f, 0.003f, 0.162f, 0.004f) + curveToRelative(2.528f, 0.05f, 5.216f, 0.051f, 7.963f, 0.051f) + lineToRelative(-1.662f, 3.33f) + curveToRelative(6.882f, -1.965f, 14.196f, -3.301f, 21.051f, -3.92f) + curveToRelative(0.001f, -0.0f, 0.003f, 0.0f, 0.004f, 0.0f) + lineToRelative(-2.615f, 4.43f) + curveToRelative(13.31f, -3.974f, 16.099f, -5.067f, 26.494f, -6.701f) + lineToRelative(-3.854f, 4.941f) + curveToRelative(10.81f, -3.418f, 22.148f, -7.947f, 32.869f, -10.455f) + lineToRelative(-2.459f, 5.295f) + lineToRelative(19.838f, -9.822f) + curveToRelative(0.02f, -0.006f, 0.042f, -0.012f, 0.063f, -0.018f) + curveToRelative(0.604f, -0.141f, 1.226f, -0.333f, 1.752f, -0.482f) + lineToRelative(1.338f, 4.473f) + curveToRelative(9.459f, -7.189f, 21.169f, -11.545f, 31.328f, -15.826f) + curveToRelative(1.686f, 28.193f, 4.388f, 58.01f, 7.361f, 83.355f) + lineToRelative(12.891f, -0.32f) + curveToRelative(0.0f, 0.0f, -0.19f, -5.31f, -0.51f, -14.6f) + curveToRelative(-0.21f, -4.65f, -0.46f, -10.28f, -0.74f, -16.75f) + curveToRelative(-0.08f, -3.23f, -0.171f, -6.669f, -0.271f, -10.299f) + curveToRelative(-0.14f, -3.63f, -0.289f, -7.44f, -0.449f, -11.42f) + curveToRelative(-0.15f, -3.97f, -0.299f, -8.12f, -0.459f, -12.41f) + curveToRelative(-0.09f, -4.29f, -0.191f, -8.731f, -0.291f, -13.291f) + curveToRelative(-0.084f, -4.023f, -0.18f, -8.452f, -0.27f, -12.654f) + curveToRelative(0.003f, -0.003f, 0.007f, -0.003f, 0.01f, -0.006f) + curveToRelative(11.32f, -91.67f, 22.474f, -231.573f, 0.08f, -339.539f) + curveToRelative(-0.27f, -1.35f, -0.54f, -2.6f, -0.76f, -3.84f) + curveToRelative(-0.27f, -1.45f, -0.54f, -2.811f, -0.76f, -4.051f) + curveToRelative(-0.16f, -0.81f, -0.322f, -1.57f, -0.432f, -2.27f) + curveToRelative(-0.05f, -0.54f, -0.16f, -1.08f, -0.27f, -1.51f) + curveToRelative(-0.11f, -0.38f, -0.169f, -0.711f, -0.219f, -1.031f) + curveToRelative(-0.22f, -1.41f, -0.38f, -2.489f, -0.49f, -3.139f) + close() + moveTo(77.66f, 155.711f) + verticalLineToRelative(0.109f) + curveToRelative(0.0f, 0.0f, 0.051f, -0.001f, 0.051f, 0.049f) + lineToRelative(0.219f, 0.221f) + curveToRelative(-0.01f, -0.014f, -0.02f, -0.026f, -0.029f, -0.039f) + curveToRelative(-0.009f, -0.013f, -0.017f, -0.027f, -0.025f, -0.039f) + curveToRelative(-0.101f, -0.145f, -0.151f, -0.23f, -0.195f, -0.279f) + curveToRelative(-0.002f, -0.002f, -0.002f, -0.004f, -0.004f, -0.006f) + curveToRelative(-0.002f, -0.002f, -0.004f, -0.004f, -0.006f, -0.006f) + curveToRelative(-0.002f, -0.002f, -0.002f, -0.004f, -0.004f, -0.006f) + curveToRelative(-0.002f, -0.002f, -0.004f, -0.002f, -0.006f, -0.004f) + close() + moveTo(83.125f, 158.975f) + curveToRelative(-0.0f, 0.011f, 0.034f, 0.09f, 0.105f, 0.236f) + curveToRelative(-0.12f, -0.112f, -0.185f, -0.167f, -0.195f, -0.17f) + curveToRelative(0.01f, 0.023f, 0.139f, 0.167f, 0.375f, 0.42f) + curveToRelative(-0.169f, -0.304f, -0.267f, -0.47f, -0.285f, -0.486f) + close() + moveTo(76.029f, 161.527f) + curveToRelative(-0.001f, 0.01f, 0.036f, 0.086f, 0.111f, 0.232f) + curveToRelative(-0.32f, -0.3f, -0.24f, -0.19f, 0.18f, 0.24f) + curveToRelative(-0.187f, -0.325f, -0.29f, -0.49f, -0.291f, -0.473f) + close() + moveTo(56.129f, 391.533f) + lineTo(56.127f, 391.535f) + curveToRelative(0.005f, 0.005f, 0.061f, 0.016f, 0.174f, 0.035f) + curveToRelative(-0.103f, 0.011f, -0.158f, 0.018f, -0.168f, 0.022f) + curveToRelative(0.017f, 0.002f, 0.146f, -0.005f, 0.377f, -0.022f) + curveToRelative(-0.231f, -0.028f, -0.362f, -0.041f, -0.381f, -0.037f) + close() + moveTo(56.359f, 419.289f) + curveToRelative(-0.236f, 0.023f, -0.368f, 0.041f, -0.385f, 0.047f) + curveToRelative(0.006f, 0.003f, 0.063f, 0.002f, 0.176f, -0.006f) + curveToRelative(-0.105f, 0.032f, -0.157f, 0.052f, -0.164f, 0.057f) + curveToRelative(0.019f, -0.001f, 0.148f, -0.036f, 0.373f, -0.098f) + close() + moveTo(54.75f, 425.199f) + curveToRelative(-0.236f, 0.017f, -0.368f, 0.029f, -0.385f, 0.033f) + curveToRelative(0.01f, 0.002f, 0.066f, 0.002f, 0.174f, -0.002f) + curveToRelative(-0.105f, 0.032f, -0.157f, 0.051f, -0.164f, 0.057f) + curveToRelative(0.019f, -0.0f, 0.15f, -0.032f, 0.375f, -0.088f) + close() + } + path( + fill = SolidColor(Color(0xFF00a900)), + stroke = null, + strokeAlpha = 0.06f, + strokeLineWidth = 0.0f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(477.166f, 296.266f) + lineToRelative(-0.05f, 0.05f) + lineToRelative(1.78f, 0.32f) + lineToRelative(-8.6f, 4.86f) + lineToRelative(-0.05f, 0.05f) + curveToRelative(-1.73f, 1.35f, -3.57f, 2.76f, -5.51f, 4.27f) + lineToRelative(4.22f, 2.11f) + lineToRelative(-15.35f, 6.22f) + lineToRelative(-0.05f, 0.05f) + curveToRelative(-2.87f, 2.11f, -5.78f, 4.22f, -8.87f, 6.43f) + lineToRelative(4.6f, 2.7f) + lineToRelative(-20.55f, 8.11f) + curveToRelative(-0.32f, 0.22f, -0.65f, 0.43f, -1.03f, 0.65f) + curveToRelative(-1.57f, 1.03f, -3.19f, 2.0f, -4.81f, 3.03f) + lineToRelative(6.54f, 3.3f) + lineToRelative(-26.06f, 8.11f) + lineToRelative(-0.05f, 0.05f) + horizontalLineToRelative(-0.05f) + curveToRelative(-0.05f, 0.0f, -0.05f, 0.05f, -0.11f, 0.05f) + curveToRelative(-2.76f, 1.57f, -5.62f, 2.97f, -8.49f, 4.49f) + lineToRelative(8.43f, 2.92f) + lineToRelative(-39.09f, 10.87f) + curveToRelative(-0.05f, 0.05f, -0.16f, 0.05f, -0.22f, 0.05f) + curveToRelative(-1.89f, 0.76f, -3.79f, 1.57f, -5.68f, 2.27f) + lineToRelative(7.24f, 4.43f) + lineToRelative(-30.01f, 3.78f) + horizontalLineToRelative(-0.05f) + curveToRelative(-0.87f, 0.27f, -1.62f, 0.54f, -2.43f, 0.81f) + lineToRelative(0.97f, 2.65f) + lineToRelative(16.76f, -0.16f) + lineToRelative(-5.19f, 3.51f) + curveToRelative(2.38f, 0.43f, 4.7f, 0.87f, 7.08f, 1.35f) + horizontalLineToRelative(0.11f) + lineToRelative(20.11f, 0.38f) + lineToRelative(-3.84f, 3.41f) + curveToRelative(1.62f, 0.43f, 3.24f, 0.87f, 4.87f, 1.3f) + curveToRelative(0.05f, 0.05f, 0.05f, 0.05f, 0.11f, 0.05f) + lineToRelative(16.22f, 1.41f) + lineToRelative(-2.6f, 2.65f) + curveToRelative(1.35f, 0.43f, 2.65f, 0.87f, 3.95f, 1.3f) + curveToRelative(1.24f, 0.43f, 2.49f, 0.81f, 3.73f, 1.24f) + horizontalLineToRelative(0.16f) + lineToRelative(12.16f, 1.19f) + lineToRelative(-2.49f, 2.22f) + curveToRelative(1.68f, 0.6f, 3.3f, 1.19f, 4.81f, 1.73f) + horizontalLineToRelative(0.05f) + lineToRelative(7.19f, 1.57f) + lineToRelative(-1.13f, 0.59f) + curveToRelative(2.0f, 0.7f, 3.95f, 1.35f, 5.62f, 1.95f) + curveToRelative(10.33f, 3.3f, 21.57f, 6.16f, 23.73f, 6.7f) + curveToRelative(-2.22f, -0.16f, -13.84f, -0.6f, -24.65f, -0.32f) + curveToRelative(-1.78f, 0.05f, -3.78f, 0.16f, -5.95f, 0.27f) + lineToRelative(0.92f, 0.87f) + lineToRelative(-7.14f, -0.49f) + horizontalLineToRelative(-0.16f) + curveToRelative(-1.68f, 0.05f, -3.41f, 0.16f, -5.19f, 0.27f) + lineToRelative(1.73f, 2.81f) + lineToRelative(-12.0f, -2.32f) + horizontalLineToRelative(-0.05f) + curveToRelative(-1.3f, 0.05f, -2.65f, 0.11f, -3.95f, 0.16f) + curveToRelative(-1.4f, 0.05f, -2.76f, 0.05f, -4.16f, 0.11f) + lineToRelative(1.73f, 3.3f) + lineToRelative(-15.84f, -3.24f) + lineToRelative(-0.16f, -0.05f) + horizontalLineToRelative(-0.22f) + curveToRelative(-1.62f, 0.0f, -3.24f, -0.05f, -4.92f, -0.11f) + lineToRelative(2.7f, 4.38f) + lineToRelative(-19.52f, -5.35f) + curveToRelative(-0.97f, -0.11f, -2.0f, -0.22f, -3.03f, -0.32f) + curveToRelative(-1.35f, -0.11f, -2.76f, -0.27f, -4.11f, -0.43f) + lineToRelative(4.0f, 4.87f) + lineToRelative(-28.6f, -8.76f) + curveToRelative(-0.32f, -0.05f, -0.65f, -0.11f, -0.92f, -0.22f) + curveToRelative(-1.24f, -0.22f, -2.43f, -0.49f, -3.62f, -0.7f) + lineToRelative(2.6f, 5.3f) + lineToRelative(-20.11f, -9.35f) + curveToRelative(-0.05f, 0.0f, -0.05f, 0.0f, -0.11f, -0.05f) + curveToRelative(-0.54f, -0.11f, -1.13f, -0.27f, -1.68f, -0.43f) + lineToRelative(-1.19f, 4.54f) + lineToRelative(-17.95f, -10.11f) + lineToRelative(-0.05f, -0.05f) + horizontalLineToRelative(-0.05f) + curveToRelative(-5.78f, -1.89f, -10.92f, -3.73f, -15.19f, -5.46f) + curveToRelative(0.05f, 2.7f, 0.11f, 5.51f, 0.16f, 8.16f) + curveToRelative(0.11f, 4.54f, 0.22f, 8.98f, 0.27f, 13.3f) + curveToRelative(0.16f, 4.27f, 0.32f, 8.43f, 0.49f, 12.38f) + curveToRelative(0.16f, 4.0f, 0.32f, 7.79f, 0.43f, 11.46f) + curveToRelative(0.11f, 3.62f, 0.22f, 7.03f, 0.27f, 10.27f) + curveToRelative(0.27f, 6.49f, 0.54f, 12.11f, 0.76f, 16.76f) + curveToRelative(0.32f, 9.3f, 0.49f, 14.6f, 0.49f, 14.6f) + lineToRelative(-5.35f, 0.11f) + verticalLineTo(33.345f) + curveToRelative(0.16f, 0.81f, 0.32f, 1.78f, 0.49f, 2.87f) + curveToRelative(0.32f, 1.78f, 0.7f, 3.95f, 1.19f, 6.33f) + curveToRelative(0.22f, 1.24f, 0.49f, 2.49f, 0.76f, 3.84f) + curveToRelative(1.62f, 7.84f, 3.78f, 17.57f, 6.43f, 26.98f) + curveToRelative(0.49f, 1.73f, 1.03f, 3.57f, 1.68f, 5.51f) + curveToRelative(0.27f, 0.97f, 0.6f, 2.0f, 0.97f, 3.03f) + curveToRelative(0.16f, 0.54f, 0.32f, 1.08f, 0.54f, 1.68f) + lineToRelative(2.11f, -1.84f) + lineToRelative(1.51f, 12.7f) + verticalLineToRelative(0.11f) + curveToRelative(0.97f, 2.81f, 1.95f, 5.84f, 2.97f, 8.92f) + lineToRelative(7.35f, -3.73f) + lineToRelative(-1.68f, 21.46f) + verticalLineToRelative(0.05f) + curveToRelative(1.35f, 4.54f, 2.7f, 9.14f, 4.05f, 13.95f) + lineToRelative(8.65f, -3.84f) + lineToRelative(-2.7f, 28.38f) + verticalLineToRelative(0.16f) + curveToRelative(0.6f, 2.92f, 1.19f, 5.89f, 1.73f, 8.92f) + horizontalLineToRelative(0.05f) + lineToRelative(11.25f, -5.78f) + lineToRelative(-7.19f, 35.09f) + curveToRelative(0.16f, 2.11f, 0.38f, 4.16f, 0.49f, 6.27f) + curveToRelative(0.11f, 1.78f, 0.22f, 3.62f, 0.32f, 5.41f) + curveToRelative(0.0f, 0.32f, 0.05f, 0.6f, 0.05f, 0.92f) + lineToRelative(12.22f, -8.11f) + lineToRelative(-13.19f, 51.42f) + lineToRelative(-0.05f, 0.16f) + verticalLineToRelative(0.22f) + curveToRelative(-0.22f, 2.7f, -0.43f, 5.3f, -0.7f, 7.95f) + lineToRelative(13.95f, -5.84f) + lineToRelative(-15.52f, 31.36f) + verticalLineToRelative(0.05f) + lineToRelative(2.0f, 3.73f) + curveToRelative(1.19f, -1.89f, 2.38f, -3.78f, 3.62f, -5.68f) + lineToRelative(0.11f, -0.16f) + lineToRelative(18.11f, -39.14f) + lineToRelative(2.92f, 10.33f) + curveToRelative(2.27f, -2.7f, 4.49f, -5.3f, 6.76f, -7.84f) + lineToRelative(0.05f, -0.05f) + lineToRelative(13.35f, -26.01f) + lineToRelative(3.57f, 8.49f) + curveToRelative(1.84f, -1.78f, 3.62f, -3.46f, 5.46f, -5.14f) + lineToRelative(0.05f, -0.05f) + lineToRelative(12.6f, -19.79f) + lineToRelative(3.03f, 6.11f) + curveToRelative(3.19f, -2.65f, 6.27f, -5.14f, 9.3f, -7.52f) + lineToRelative(9.79f, -14.76f) + lineToRelative(2.33f, 5.46f) + curveToRelative(2.11f, -1.62f, 4.16f, -3.14f, 6.11f, -4.65f) + lineToRelative(7.24f, -7.78f) + lineToRelative(0.32f, 2.11f) + curveToRelative(1.3f, -0.97f, 2.49f, -1.89f, 3.62f, -2.81f) + curveToRelative(1.19f, -0.92f, 2.27f, -1.78f, 3.3f, -2.6f) + curveToRelative(6.49f, -5.3f, 12.98f, -11.14f, 17.9f, -15.79f) + curveToRelative(4.43f, -4.11f, 7.68f, -7.35f, 8.76f, -8.43f) + curveToRelative(-0.81f, 1.35f, -3.14f, 5.57f, -6.0f, 11.19f) + curveToRelative(-3.08f, 5.89f, -6.76f, 13.35f, -10.0f, 20.76f) + curveToRelative(-1.03f, 2.38f, -2.16f, 5.03f, -3.3f, 8.0f) + verticalLineToRelative(0.05f) + lineToRelative(2.16f, -0.38f) + lineToRelative(-5.41f, 8.81f) + lineToRelative(-0.05f, 0.11f) + lineToRelative(-0.11f, 0.11f) + curveToRelative(0.0f, 0.05f, -0.05f, 0.05f, -0.05f, 0.11f) + curveToRelative(-0.81f, 2.16f, -1.68f, 4.43f, -2.6f, 6.76f) + curveToRelative(-0.05f, 0.05f, -0.05f, 0.16f, -0.11f, 0.22f) + horizontalLineToRelative(0.05f) + lineToRelative(6.0f, 0.6f) + lineToRelative(-11.57f, 13.3f) + lineToRelative(-0.11f, 0.11f) + curveToRelative(-1.35f, 3.24f, -2.76f, 6.54f, -4.22f, 9.95f) + curveToRelative(-0.16f, 0.32f, -0.32f, 0.59f, -0.43f, 0.92f) + lineToRelative(6.87f, 1.03f) + lineToRelative(-15.68f, 17.46f) + verticalLineToRelative(0.05f) + lineToRelative(-0.11f, 0.11f) + curveToRelative(-1.13f, 2.16f, -2.27f, 4.38f, -3.46f, 6.54f) + horizontalLineToRelative(0.05f) + lineToRelative(9.24f, 0.87f) + lineToRelative(-21.63f, 20.11f) + curveToRelative(0.0f, 0.0f, 0.0f, 0.05f, -0.05f, 0.05f) + curveToRelative(-1.3f, 2.11f, -2.7f, 4.16f, -4.16f, 6.27f) + curveToRelative(-0.49f, 0.76f, -1.03f, 1.51f, -1.57f, 2.27f) + horizontalLineToRelative(0.05f) + lineToRelative(11.03f, -0.27f) + lineToRelative(-33.25f, 28.33f) + lineToRelative(-0.11f, 0.11f) + lineToRelative(-0.05f, 0.05f) + curveToRelative(-0.7f, 0.81f, -1.41f, 1.62f, -2.16f, 2.38f) + curveToRelative(-0.7f, 0.81f, -1.4f, 1.57f, -2.22f, 2.38f) + verticalLineToRelative(0.22f) + lineToRelative(7.73f, 1.35f) + horizontalLineToRelative(0.05f) + lineToRelative(30.17f, -20.92f) + lineToRelative(-2.92f, 8.27f) + curveToRelative(2.97f, -1.3f, 6.0f, -2.54f, 8.98f, -3.73f) + lineToRelative(22.98f, -14.76f) + lineToRelative(-1.51f, 7.03f) + curveToRelative(2.22f, -0.76f, 4.43f, -1.46f, 6.6f, -2.11f) + lineToRelative(0.11f, -0.05f) + lineToRelative(19.25f, -10.54f) + lineToRelative(-0.76f, 5.24f) + curveToRelative(3.73f, -0.97f, 7.3f, -1.89f, 10.76f, -2.76f) + lineToRelative(14.65f, -7.79f) + lineToRelative(-0.97f, 4.6f) + curveToRelative(2.33f, -0.54f, 4.65f, -1.08f, 6.81f, -1.57f) + curveToRelative(0.05f, 0.0f, 0.05f, 0.0f, 0.11f, 0.0f) + lineToRelative(0.11f, -0.05f) + lineToRelative(9.14f, -3.46f) + lineToRelative(-0.81f, 1.57f) + curveToRelative(0.7f, -0.16f, 1.41f, -0.32f, 2.11f, -0.49f) + curveToRelative(0.7f, -0.16f, 1.4f, -0.32f, 2.05f, -0.49f) + curveToRelative(1.3f, -0.32f, 2.6f, -0.6f, 3.73f, -0.92f) + curveToRelative(14.27f, -3.68f, 29.19f, -8.7f, 32.06f, -9.73f) + curveToRelative(-2.6f, 1.51f, -15.95f, 9.73f, -27.84f, 18.27f) + curveToRelative(-1.99f, 1.4f, -4.1f, 3.02f, -6.42f, 4.75f) + close() + } + } + .build() + return customHashTagIconsWeed!! + } + +private var customHashTagIconsWeed: ImageVector? = null diff --git a/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Zap.kt b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Zap.kt new file mode 100644 index 000000000..b318ef509 --- /dev/null +++ b/commons/src/main/java/com/vitorpamplona/amethyst/commons/hashtags/Zap.kt @@ -0,0 +1,135 @@ +/** + * Copyright (c) 2024 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.hashtags + +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp + +@Preview +@Composable +fun CustomHashTagIconsZapPreview() { + Image( + painter = + rememberVectorPainter( + CustomHashTagIcons.Zap, + ), + contentDescription = "", + ) +} + +public val CustomHashTagIcons.Zap: ImageVector + get() { + if (customHashTagIconsZap != null) { + return customHashTagIconsZap!! + } + customHashTagIconsZap = + Builder( + name = "Zap", + defaultWidth = 512.0.dp, + defaultHeight = 512.0.dp, + viewportWidth = 512.0f, + viewportHeight = 512.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFfeb804)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveTo(402.129f, 1.262f) + curveTo(394.807f, 11.794f, 388.681f, 19.608f, 383.521f, 29.039f) + curveTo(343.68f, 85.579f, 302.38f, 141.064f, 261.518f, 196.862f) + curveToRelative(-6.717f, 6.205f, -2.232f, 18.181f, 7.303f, 15.634f) + curveToRelative(15.682f, 3.42f, 21.453f, -10.422f, 21.453f, -10.422f) + curveToRelative(0.0f, 0.0f, 77.893f, -124.006f, 115.841f, -186.586f) + curveToRelative(2.589f, -5.525f, 4.24f, -14.798f, -3.986f, -14.226f) + close() + } + path( + fill = SolidColor(Color(0xFF9c59ff)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(130.421f, 270.872f) + lineToRelative(84.145f, -1.043f) + lineToRelative(23.28f, 8.339f) + lineToRelative(-22.137f, 38.786f) + lineToRelative(-109.766f, 188.455f) + lineToRelative(3.586f, 0.316f) + lineToRelative(279.741f, -251.785f) + lineToRelative(45.052f, -42.484f) + lineToRelative(-136.776f, 0.479f) + lineToRelative(-35.283f, -0.668f) + lineTo(402.443f, 1.112f) + curveToRelative(0.0f, 0.0f, -223.081f, 181.661f, -329.737f, 270.145f) + lineToRelative(-1.05f, 0.837f) + close() + } + path( + fill = SolidColor(Color(0xFFfeb804)), + stroke = null, + strokeLineWidth = 1.04238f, + strokeLineCap = Butt, + strokeLineJoin = Miter, + strokeLineMiter = 4.0f, + pathFillType = NonZero, + ) { + moveToRelative(105.973f, 505.407f) + curveToRelative(0.641f, 10.482f, 14.136f, 7.316f, 18.777f, 1.428f) + curveToRelative(110.113f, -98.518f, 227.418f, -195.827f, 322.374f, -283.083f) + curveToRelative(2.864f, -9.815f, -3.787f, -12.451f, -12.851f, -12.166f) + curveToRelative(-78.496f, 71.808f, -160.716f, 147.927f, -240.441f, 218.409f) + curveToRelative(-26.97f, 23.781f, -53.639f, 47.901f, -80.56f, 71.73f) + curveToRelative(-2.157f, 1.697f, -4.601f, 3.112f, -7.299f, 3.683f) + close() + moveTo(230.057f, 291.682f) + curveToRelative(6.731f, -10.679f, 15.607f, -23.143f, -0.042f, -21.833f) + curveToRelative(-52.452f, -0.003f, -100.964f, 0.787f, -149.966f, 2.256f) + curveToRelative(-7.988f, -0.012f, -8.925f, -2.348f, -12.914f, 9.06f) + curveToRelative(-4.908f, 14.035f, 13.177f, 11.664f, 21.968f, 11.597f) + curveToRelative(42.7f, -0.17f, 85.448f, 0.628f, 128.072f, -1.042f) + curveToRelative(4.996f, -0.006f, 7.714f, -0.11f, 12.882f, -0.037f) + close() + } + } + .build() + return customHashTagIconsZap!! + } + +private var customHashTagIconsZap: ImageVector? = null diff --git a/docs/hashtags/amethyst.svg b/docs/hashtags/amethyst.svg new file mode 100644 index 000000000..87f110118 --- /dev/null +++ b/docs/hashtags/amethyst.svg @@ -0,0 +1 @@ +Amethyst_svg_monogram \ No newline at end of file diff --git a/docs/hashtags/btc.svg b/docs/hashtags/btc.svg new file mode 100644 index 000000000..0a3b301ef --- /dev/null +++ b/docs/hashtags/btc.svg @@ -0,0 +1,45 @@ + + + + + + + + + + diff --git a/docs/hashtags/cashu.svg b/docs/hashtags/cashu.svg new file mode 100644 index 000000000..31e843c33 --- /dev/null +++ b/docs/hashtags/cashu.svg @@ -0,0 +1,53 @@ + + + + + + + + + diff --git a/docs/hashtags/coffee.svg b/docs/hashtags/coffee.svg new file mode 100644 index 000000000..cd947461e --- /dev/null +++ b/docs/hashtags/coffee.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/hashtags/footstr.svg b/docs/hashtags/footstr.svg new file mode 100644 index 000000000..6ddb74722 --- /dev/null +++ b/docs/hashtags/footstr.svg @@ -0,0 +1,39 @@ + + + + + + diff --git a/docs/hashtags/grownostr.svg b/docs/hashtags/grownostr.svg new file mode 100644 index 000000000..0bd7f7650 --- /dev/null +++ b/docs/hashtags/grownostr.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/hashtags/lightning.svg b/docs/hashtags/lightning.svg new file mode 100644 index 000000000..0625e83af --- /dev/null +++ b/docs/hashtags/lightning.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + diff --git a/docs/hashtags/mate.svg b/docs/hashtags/mate.svg new file mode 100644 index 000000000..ee6bef7d2 --- /dev/null +++ b/docs/hashtags/mate.svg @@ -0,0 +1,96 @@ + + + + diff --git a/docs/hashtags/nostr.svg b/docs/hashtags/nostr.svg new file mode 100644 index 000000000..2353454d0 --- /dev/null +++ b/docs/hashtags/nostr.svg @@ -0,0 +1,31 @@ + + + + diff --git a/docs/hashtags/plebs.svg b/docs/hashtags/plebs.svg new file mode 100644 index 000000000..e48cc1ccd --- /dev/null +++ b/docs/hashtags/plebs.svg @@ -0,0 +1,57 @@ + + + + + + + + + diff --git a/docs/hashtags/skull.svg b/docs/hashtags/skull.svg new file mode 100644 index 000000000..9354101ff --- /dev/null +++ b/docs/hashtags/skull.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/hashtags/tunestr.svg b/docs/hashtags/tunestr.svg new file mode 100644 index 000000000..e938b68e2 --- /dev/null +++ b/docs/hashtags/tunestr.svg @@ -0,0 +1,30 @@ + + + + + + + diff --git a/docs/hashtags/weed.svg b/docs/hashtags/weed.svg new file mode 100644 index 000000000..db506bbfd --- /dev/null +++ b/docs/hashtags/weed.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/docs/hashtags/zap.svg b/docs/hashtags/zap.svg new file mode 100644 index 000000000..101f01194 --- /dev/null +++ b/docs/hashtags/zap.svg @@ -0,0 +1,51 @@ + + + + + + + +