Updated on 2026-08-14
This commit is contained in:
commit
fe9c304306
312 changed files with 7537 additions and 6618 deletions
|
|
@ -102,7 +102,7 @@ fun ClickableWarningCard(
|
|||
* >Figma component</a>
|
||||
*/
|
||||
@Composable
|
||||
fun RefreshableWaringCard(
|
||||
fun RefreshableWarningCard(
|
||||
title: String,
|
||||
description: String,
|
||||
icon: @Composable (() -> Unit)? = null,
|
||||
|
|
@ -193,7 +193,7 @@ private fun WarningsPreview() {
|
|||
onClick = {},
|
||||
)
|
||||
SpacerH32()
|
||||
RefreshableWaringCard(
|
||||
RefreshableWarningCard(
|
||||
title = "Exchange rate has expired",
|
||||
description = "To access all the networks, you need to scan the card.",
|
||||
onClick = {},
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ fun AppBarWithBackButtonAndIcon(
|
|||
onBackClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
text: String? = null,
|
||||
subtitle: String? = null,
|
||||
@DrawableRes backIconRes: Int? = null,
|
||||
@DrawableRes iconRes: Int? = null,
|
||||
onIconClick: (() -> Unit)? = null,
|
||||
|
|
@ -27,6 +28,7 @@ fun AppBarWithBackButtonAndIcon(
|
|||
onBackClick = onBackClick,
|
||||
modifier = modifier,
|
||||
text = text,
|
||||
subtitle = subtitle,
|
||||
backIconRes = backIconRes,
|
||||
backgroundColor = backgroundColor,
|
||||
iconContent = {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.core.ui.components.appbar
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.animation.AnimatedContent
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.animateContentSize
|
||||
import androidx.compose.animation.fadeIn
|
||||
import androidx.compose.animation.fadeOut
|
||||
import androidx.compose.animation.togetherWith
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
|
|
@ -37,6 +37,7 @@ fun AppBarWithBackButtonAndIconContent(
|
|||
onBackClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
text: String? = null,
|
||||
subtitle: String? = null,
|
||||
@DrawableRes backIconRes: Int? = null,
|
||||
backIconTint: Color = TangemTheme.colors.icon.primary1,
|
||||
backgroundColor: Color = TangemTheme.colors.background.secondary,
|
||||
|
|
@ -46,7 +47,7 @@ fun AppBarWithBackButtonAndIconContent(
|
|||
modifier = modifier
|
||||
.background(color = backgroundColor)
|
||||
.fillMaxWidth()
|
||||
.padding(all = TangemTheme.dimens.spacing16),
|
||||
.padding(horizontal = TangemTheme.dimens.spacing16),
|
||||
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing16),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
|
|
@ -54,6 +55,7 @@ fun AppBarWithBackButtonAndIconContent(
|
|||
painter = painterResource(backIconRes ?: R.drawable.ic_back_24),
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.padding(vertical = TangemTheme.dimens.spacing16)
|
||||
.size(size = TangemTheme.dimens.size24)
|
||||
.clickable(
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
|
|
@ -61,20 +63,37 @@ fun AppBarWithBackButtonAndIconContent(
|
|||
) { onBackClick() },
|
||||
tint = backIconTint,
|
||||
)
|
||||
AnimatedContent(
|
||||
targetState = text,
|
||||
modifier = Modifier.weight(1f),
|
||||
transitionSpec = { fadeIn().togetherWith(fadeOut()) },
|
||||
label = "Toolbar title change",
|
||||
Column(
|
||||
verticalArrangement = Arrangement.Center,
|
||||
modifier = Modifier.weight(1f)
|
||||
.animateContentSize(),
|
||||
) {
|
||||
if (!it.isNullOrBlank()) {
|
||||
AnimatedVisibility(
|
||||
visible = !text.isNullOrBlank(),
|
||||
enter = fadeIn(),
|
||||
exit = fadeOut(),
|
||||
label = "Toolbar title change",
|
||||
) {
|
||||
Text(
|
||||
text = it,
|
||||
text = text.orEmpty(),
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
maxLines = 1,
|
||||
style = TangemTheme.typography.subtitle1,
|
||||
)
|
||||
}
|
||||
AnimatedVisibility(
|
||||
visible = !subtitle.isNullOrBlank(),
|
||||
enter = fadeIn(),
|
||||
exit = fadeOut(),
|
||||
label = "Toolbar subtitle change",
|
||||
) {
|
||||
Text(
|
||||
text = subtitle.orEmpty(),
|
||||
color = TangemTheme.colors.text.secondary,
|
||||
maxLines = 1,
|
||||
style = TangemTheme.typography.caption2,
|
||||
)
|
||||
}
|
||||
}
|
||||
iconContent()
|
||||
}
|
||||
|
|
@ -111,6 +130,7 @@ private fun PreviewAppBarWithBackButtonAndIconInDarkTheme() {
|
|||
TangemTheme(isDark = true) {
|
||||
AppBarWithBackButtonAndIconContent(
|
||||
text = "Title",
|
||||
subtitle = "Subtitle",
|
||||
onBackClick = {},
|
||||
iconContent = {
|
||||
Row {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import androidx.compose.runtime.ReadOnlyComposable
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
|
||||
internal object TangemButtonsDefaults {
|
||||
object TangemButtonsDefaults {
|
||||
|
||||
val elevation: ButtonElevation
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.tangem.core.ui.components.fields
|
||||
|
||||
import androidx.annotation.FloatRange
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.BoxWithConstraints
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
|
|
@ -12,9 +14,15 @@ import androidx.compose.ui.Alignment.Companion.TopCenter
|
|||
import androidx.compose.ui.Alignment.Companion.TopStart
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.text.ParagraphIntrinsics
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.font.createFontFamilyResolver
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextDirection
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
|
|
@ -56,51 +64,77 @@ fun AmountTextField(
|
|||
keyboardType = KeyboardType.Number,
|
||||
),
|
||||
keyboardActions: KeyboardActions = KeyboardActions.Default,
|
||||
isAutoResize: Boolean = false,
|
||||
@FloatRange(from = 0.0, to = 1.0, fromInclusive = false, toInclusive = false)
|
||||
reduceFactor: Double = 0.9,
|
||||
) {
|
||||
val decimalFormat = rememberDecimalFormat()
|
||||
|
||||
val visualTransformation = remember { AmountVisualTransformation(decimals, symbol, decimalFormat) }
|
||||
val placeholderTextAlign = if (placeholderAlignment == TopCenter) {
|
||||
TextAlign.Center
|
||||
} else {
|
||||
TextAlign.Start
|
||||
}
|
||||
SimpleTextField(
|
||||
value = value,
|
||||
onValueChange = { newText ->
|
||||
if (decimalFormat.isValidSymbols(newText)) {
|
||||
val trimmed = decimalFormat.getValidatedNumberWithFixedDecimals(newText, decimals)
|
||||
onValueChange(trimmed)
|
||||
BoxWithConstraints(modifier = modifier) {
|
||||
var fontSize = textStyle.fontSize
|
||||
if (isAutoResize) {
|
||||
val calculateIntrinsics = @Composable {
|
||||
val transformedText = visualTransformation.filter(AnnotatedString(value)).text.text
|
||||
ParagraphIntrinsics(
|
||||
text = transformedText,
|
||||
style = textStyle.copy(fontSize = fontSize),
|
||||
density = LocalDensity.current,
|
||||
fontFamilyResolver = createFontFamilyResolver(LocalContext.current),
|
||||
)
|
||||
}
|
||||
},
|
||||
modifier = modifier
|
||||
.background(TangemTheme.colors.background.action),
|
||||
textStyle = textStyle,
|
||||
color = color,
|
||||
keyboardOptions = keyboardOptions,
|
||||
keyboardActions = keyboardActions,
|
||||
singleLine = true,
|
||||
visualTransformation = AmountVisualTransformation(decimals, symbol, decimalFormat),
|
||||
decorationBox = { innerTextField ->
|
||||
Box {
|
||||
if (value.isBlank() && showPlaceholder) {
|
||||
val placeholder = if (symbol != null) {
|
||||
decimalFormat.defaultFormat().plus(" $symbol")
|
||||
} else {
|
||||
decimalFormat.defaultFormat()
|
||||
}
|
||||
Text(
|
||||
text = placeholder,
|
||||
style = textStyle,
|
||||
color = TangemTheme.colors.text.disabled,
|
||||
textAlign = placeholderTextAlign,
|
||||
modifier = Modifier
|
||||
.align(placeholderAlignment),
|
||||
)
|
||||
var intrinsics = calculateIntrinsics()
|
||||
with(LocalDensity.current) {
|
||||
while (intrinsics.maxIntrinsicWidth > maxWidth.toPx()) {
|
||||
fontSize *= reduceFactor
|
||||
intrinsics = calculateIntrinsics()
|
||||
}
|
||||
innerTextField()
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
SimpleTextField(
|
||||
value = value,
|
||||
onValueChange = { newText ->
|
||||
if (decimalFormat.isValidSymbols(newText)) {
|
||||
val trimmed = decimalFormat.getValidatedNumberWithFixedDecimals(newText, decimals)
|
||||
onValueChange(trimmed)
|
||||
}
|
||||
},
|
||||
textStyle = textStyle.copy(
|
||||
fontSize = fontSize,
|
||||
textDirection = TextDirection.ContentOrLtr,
|
||||
textAlign = TextAlign.Center,
|
||||
),
|
||||
color = color,
|
||||
keyboardOptions = keyboardOptions,
|
||||
keyboardActions = keyboardActions,
|
||||
singleLine = true,
|
||||
visualTransformation = AmountVisualTransformation(decimals, symbol, decimalFormat),
|
||||
modifier = Modifier.background(TangemTheme.colors.background.action),
|
||||
decorationBox = { innerTextField ->
|
||||
Box {
|
||||
if (value.isBlank() && showPlaceholder) {
|
||||
val placeholder = if (symbol != null) {
|
||||
decimalFormat.defaultFormat().plus(" $symbol")
|
||||
} else {
|
||||
decimalFormat.defaultFormat()
|
||||
}
|
||||
Text(
|
||||
text = placeholder,
|
||||
style = textStyle.copy(textDirection = TextDirection.ContentOrLtr),
|
||||
color = TangemTheme.colors.text.disabled,
|
||||
textAlign = placeholderTextAlign,
|
||||
modifier = Modifier.align(placeholderAlignment),
|
||||
)
|
||||
}
|
||||
innerTextField()
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun DecimalFormat.isValidSymbols(text: String): Boolean {
|
||||
|
|
|
|||
|
|
@ -67,9 +67,7 @@ fun SimpleTextField(
|
|||
|
||||
LaunchedEffect(key1 = isSelectionChanged) {
|
||||
if (isSelectionChanged) {
|
||||
textFieldValueState = textFieldValue.copy(
|
||||
selection = getValueRange(value),
|
||||
)
|
||||
textFieldValueState = textFieldValue
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,12 @@ import com.tangem.core.ui.utils.DEFAULT_ANIMATION_DURATION
|
|||
fun PasteButton(isPasteButtonVisible: Boolean, onClick: (String) -> Unit, modifier: Modifier = Modifier) {
|
||||
val clipboardManager = LocalClipboardManager.current
|
||||
val hapticFeedback = LocalHapticFeedback.current
|
||||
|
||||
val isPasteEnabled = !clipboardManager.getText()?.text.isNullOrEmpty()
|
||||
val color = if (isPasteEnabled) {
|
||||
TangemTheme.colors.button.primary
|
||||
} else {
|
||||
TangemTheme.colors.button.secondary
|
||||
}
|
||||
AnimatedVisibility(
|
||||
visible = isPasteButtonVisible,
|
||||
label = "Paste Button Visibility Animation",
|
||||
|
|
@ -50,7 +55,7 @@ fun PasteButton(isPasteButtonVisible: Boolean, onClick: (String) -> Unit, modifi
|
|||
color = TangemTheme.colors.text.primary2,
|
||||
modifier = Modifier
|
||||
.background(
|
||||
color = TangemTheme.colors.button.primary,
|
||||
color = color,
|
||||
shape = TangemTheme.shapes.roundedCornersXMedium,
|
||||
)
|
||||
.padding(
|
||||
|
|
@ -60,6 +65,7 @@ fun PasteButton(isPasteButtonVisible: Boolean, onClick: (String) -> Unit, modifi
|
|||
.clickable(
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
indication = rememberRipple(radius = TangemTheme.dimens.radius8),
|
||||
enabled = isPasteEnabled,
|
||||
onClick = {
|
||||
hapticFeedback.performHapticFeedback(HapticFeedbackType.LongPress)
|
||||
onClick(
|
||||
|
|
|
|||
|
|
@ -57,6 +57,11 @@ fun getActiveIconRes(blockchainId: String): Int {
|
|||
"aurora", "aurora/test" -> R.drawable.img_aurora_22
|
||||
"areon", "areon/test" -> R.drawable.img_areon_22
|
||||
"pls", "pls/test" -> R.drawable.img_pls_22
|
||||
"zkSyncEra", "zkSyncEra/test" -> R.drawable.img_zksync_22
|
||||
"moonbeam", "moonbeam/test" -> R.drawable.img_moonbeam_22
|
||||
"manta", "manta/test" -> R.drawable.img_manta_22
|
||||
"polygonZkEVM", "polygonZkEVM/test" -> R.drawable.img_polygon_22
|
||||
"radiant" -> R.drawable.img_radiant_22
|
||||
else -> R.drawable.ic_alert_24
|
||||
}
|
||||
}
|
||||
|
|
@ -115,6 +120,11 @@ fun getActiveIconResByNetworkId(networkId: String): Int {
|
|||
"aurora", "aurora/test" -> R.drawable.img_aurora_22
|
||||
"areon", "areon/test" -> R.drawable.img_areon_22
|
||||
"pls", "pls/test" -> R.drawable.img_pls_22
|
||||
"zksync", "zksync/test" -> R.drawable.img_zksync_22
|
||||
"moonbeam", "moonbeam/test" -> R.drawable.img_moonbeam_22
|
||||
"manta-network", "manta-network/test" -> R.drawable.img_manta_22
|
||||
"polygon-zkevm", "polygon-zkevm/test" -> R.drawable.img_polygon_22
|
||||
"radiant" -> R.drawable.img_radiant_22
|
||||
else -> R.drawable.ic_alert_24
|
||||
}
|
||||
}
|
||||
|
|
@ -170,6 +180,11 @@ fun getActiveIconResByCoinId(coinId: String): Int {
|
|||
"aurora-near" -> R.drawable.img_aurora_22
|
||||
"areon" -> R.drawable.img_areon_22
|
||||
"pls" -> R.drawable.img_pls_22
|
||||
"zksync-ethereum" -> R.drawable.img_zksync_22
|
||||
"moonbeam" -> R.drawable.img_moonbeam_22
|
||||
"manta-network-ethereum" -> R.drawable.img_manta_22
|
||||
"polygon-zkevm-ethereum" -> R.drawable.img_polygon_22
|
||||
"radiant" -> R.drawable.img_radiant_22
|
||||
else -> R.drawable.ic_alert_24
|
||||
}
|
||||
}
|
||||
|
|
@ -190,7 +205,7 @@ fun getGreyedOutIconRes(blockchainId: String): Int {
|
|||
"XRP" -> R.drawable.ic_xrp_22
|
||||
"XLM", "XLM/test" -> R.drawable.ic_stellar_16
|
||||
"AVALANCHE", "AVALANCHE/test" -> R.drawable.ic_avalanche_22
|
||||
"POLYGON", "POLYGON/test" -> R.drawable.ic_polygon_16
|
||||
"POLYGON", "POLYGON/test" -> R.drawable.ic_polygon_22
|
||||
"SOLANA", "SOLANA/test" -> R.drawable.ic_solana_16
|
||||
"FTM", "FTM/test" -> R.drawable.ic_fantom_22
|
||||
"BSC", "BSC/test", "BINANCE", "BINANCE/test" -> R.drawable.ic_bsc_16
|
||||
|
|
@ -228,6 +243,11 @@ fun getGreyedOutIconRes(blockchainId: String): Int {
|
|||
"aurora", "aurora/test" -> R.drawable.ic_aurora_22
|
||||
"areon", "areon/test" -> R.drawable.ic_areon_22
|
||||
"pls", "pls/test" -> R.drawable.ic_pls_22
|
||||
"zkSyncEra", "zkSyncEra/test" -> R.drawable.ic_zksync_22
|
||||
"moonbeam", "moonbeam/test" -> R.drawable.ic_moonbeam_22
|
||||
"manta", "manta/test" -> R.drawable.ic_manta_22
|
||||
"polygonZkEVM", "polygonZkEVM/test" -> R.drawable.ic_polygon_22
|
||||
"radiant" -> R.drawable.ic_radiant_22
|
||||
else -> R.drawable.ic_alert_24
|
||||
}
|
||||
}
|
||||
|
|
@ -249,7 +269,7 @@ fun getGreyedOutIconResByNetworkId(networkId: String): Int {
|
|||
"tezos" -> R.drawable.ic_tezos_16
|
||||
"xrp", "ripple" -> R.drawable.ic_xrp_22
|
||||
"stellar", "stellar/test" -> R.drawable.ic_stellar_16
|
||||
"polygon-pos", "polygon-pos/test" -> R.drawable.ic_polygon_16
|
||||
"polygon-pos", "polygon-pos/test" -> R.drawable.ic_polygon_22
|
||||
"solana", "solana/test" -> R.drawable.ic_solana_16
|
||||
"fantom", "fantom/test" -> R.drawable.ic_fantom_22
|
||||
"dogecoin" -> R.drawable.ic_dogecoin_16
|
||||
|
|
@ -286,6 +306,11 @@ fun getGreyedOutIconResByNetworkId(networkId: String): Int {
|
|||
"aurora", "aurora/test" -> R.drawable.ic_aurora_22
|
||||
"areon", "areon/test" -> R.drawable.ic_areon_22
|
||||
"pls", "pls/test" -> R.drawable.ic_pls_22
|
||||
"zksync", "zksync/test" -> R.drawable.ic_zksync_22
|
||||
"moonbeam", "moonbeam/test" -> R.drawable.ic_moonbeam_22
|
||||
"manta-network", "manta-network/test" -> R.drawable.ic_manta_22
|
||||
"polygon-zkevm", "polygon-zkevm/test" -> R.drawable.ic_polygon_22
|
||||
"radiant" -> R.drawable.ic_radiant_22
|
||||
else -> R.drawable.ic_alert_24
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,43 @@
|
|||
package com.tangem.core.ui.extensions
|
||||
|
||||
import android.R
|
||||
import android.content.Context
|
||||
import android.graphics.Color.*
|
||||
import android.view.WindowManager
|
||||
import androidx.annotation.ColorRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import kotlin.math.sqrt
|
||||
|
||||
@Deprecated("Use only in legacy fragments")
|
||||
fun Fragment.setStatusBarColor(@ColorRes colorResId: Int) {
|
||||
with(requireActivity().window) {
|
||||
clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||
addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
|
||||
statusBarColor = ContextCompat.getColor(requireContext(), colorResId)
|
||||
val view = view ?: return
|
||||
val windowInsetsController = WindowCompat.getInsetsController(this, view)
|
||||
windowInsetsController.isAppearanceLightStatusBars = luminance(requireContext(), colorResId)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO replace by android.graphics.luminance() after bump min API to 24
|
||||
@Suppress("MagicNumber")
|
||||
fun luminance(context: Context, @ColorRes colorRes: Int): Boolean {
|
||||
val color = context.resources.getColor(colorRes, null)
|
||||
if (R.color.transparent == color) return true
|
||||
var rtnValue = false
|
||||
val rgb = intArrayOf(red(color), green(color), blue(color))
|
||||
val brightness = sqrt(
|
||||
rgb[0] * rgb[0] * .241 +
|
||||
rgb[1] * rgb[1] * .691 +
|
||||
rgb[2] * rgb[2] * .068,
|
||||
).toInt()
|
||||
|
||||
// color is light
|
||||
if (brightness >= 200) {
|
||||
rtnValue = true
|
||||
}
|
||||
return rtnValue
|
||||
}
|
||||
|
|
@ -29,4 +29,6 @@ fun String.toQrCode(sizePx: Int = 256, paddingPx: Int = 0): Bitmap {
|
|||
}
|
||||
}
|
||||
return bmp
|
||||
}
|
||||
}
|
||||
|
||||
fun String.capitalize(): String = replaceFirstChar { if (it.isLowerCase()) it.titlecase() else it.toString() }
|
||||
|
|
@ -59,11 +59,7 @@ object DateTimeFormatters {
|
|||
DateTimeFormat.forPattern("dd.MM.yyyy HH:mm")
|
||||
}
|
||||
|
||||
fun formatTime(formatter: DateTimeFormatter = timeFormatter, time: DateTime): String {
|
||||
return formatter.print(time)
|
||||
}
|
||||
|
||||
fun formatDate(formatter: DateTimeFormatter = dateFormatter, date: DateTime): String {
|
||||
fun formatDate(date: DateTime, formatter: DateTimeFormatter = dateFormatter): String {
|
||||
return formatter.print(date)
|
||||
}
|
||||
}
|
||||
|
|
@ -29,5 +29,5 @@ fun Long.toDateFormat(formatter: DateTimeFormatter = DateTimeFormatters.dateForm
|
|||
* Returns formatted time according to [formatter].
|
||||
*/
|
||||
fun Long.toTimeFormat(formatter: DateTimeFormatter = DateTimeFormatters.timeFormatter): String {
|
||||
return DateTimeFormatters.formatTime(formatter = formatter, time = DateTime(this, DateTimeZone.getDefault()))
|
||||
return DateTimeFormatters.formatDate(date = DateTime(this, DateTimeZone.getDefault()), formatter = formatter)
|
||||
}
|
||||
10
core/ui/src/main/res/drawable/ic_manta_22.xml
Normal file
10
core/ui/src/main/res/drawable/ic_manta_22.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:pathData="M6.72,16.737C4.974,15.433 3.841,13.348 3.841,11C3.841,7.048 7.048,3.841 11,3.841C14.263,3.841 17.826,5.791 18.687,8.778C17.724,5.441 14.648,3 11,3C6.583,3 3,6.583 3,11C3,15.417 6.583,19 11,19C15.417,19 19,15.417 19,11V10.578H18.561C18.548,10.578 18.528,10.578 18.502,10.578C18.45,10.578 18.376,10.576 18.28,10.572C18.091,10.565 17.83,10.552 17.537,10.526C16.937,10.474 16.252,10.372 15.787,10.185C15.037,9.885 14.613,9.489 14.13,9.024L14.102,8.998C13.617,8.533 13.074,8.009 12.128,7.565C11.198,7.128 10.17,7.198 9.415,7.354C9.033,7.433 8.702,7.537 8.47,7.622C8.352,7.663 8.259,7.702 8.193,7.728C7.813,7.889 7.443,8.078 7.072,8.254C7.072,8.254 7.804,8.454 8.165,8.567C8.178,8.572 8.198,8.578 8.226,8.587C8.28,8.604 8.359,8.633 8.452,8.672C8.644,8.75 8.894,8.865 9.141,9.026C9.533,9.276 9.856,9.594 9.989,9.98C9.161,10.089 8.383,10.454 7.8,10.796C7.448,11.002 7.154,11.211 6.948,11.365C6.846,11.443 6.763,11.509 6.707,11.554C6.659,11.594 5.911,12.252 5.911,12.252C5.911,12.252 6.876,12.354 7.352,12.45C7.67,12.513 8.096,12.617 8.543,12.772C8.991,12.928 9.443,13.133 9.82,13.396C10.196,13.659 10.472,13.961 10.606,14.309C11.002,15.322 10.613,16.306 9.833,16.861C9.061,17.409 7.889,17.539 6.717,16.735L6.72,16.737ZM9.45,17.989C9.765,17.887 10.059,17.737 10.324,17.55C11.385,16.796 11.943,15.413 11.394,14.004C11.176,13.45 10.763,13.028 10.304,12.707C9.844,12.385 9.315,12.15 8.824,11.978C8.502,11.865 8.189,11.778 7.917,11.713C8.015,11.65 8.117,11.585 8.228,11.52C8.876,11.139 9.693,10.789 10.476,10.789C11.656,10.789 12.535,11.152 13.374,11.539C13.45,11.574 13.526,11.611 13.604,11.646C14.354,11.998 15.141,12.367 16.056,12.367C16.972,12.367 17.635,12.117 18.111,11.856C17.687,15.404 14.667,18.156 11.004,18.156C10.472,18.156 9.952,18.098 9.454,17.989H9.45ZM17.198,11.341C16.883,11.448 16.5,11.526 16.054,11.526C15.337,11.526 14.72,11.239 13.937,10.874C13.867,10.841 13.798,10.809 13.726,10.776C12.941,10.413 12.035,10.028 10.854,9.959C10.696,9.178 10.104,8.644 9.596,8.317C9.539,8.28 9.483,8.246 9.426,8.213C9.476,8.202 9.528,8.189 9.583,8.178C10.265,8.037 11.078,8.002 11.767,8.328C12.585,8.713 13.048,9.156 13.528,9.617L13.546,9.633C14.039,10.106 14.563,10.604 15.474,10.97C15.98,11.172 16.637,11.28 17.198,11.341Z"
|
||||
android:fillColor="#000"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
48
core/ui/src/main/res/drawable/ic_moonbeam_22.xml
Normal file
48
core/ui/src/main/res/drawable/ic_moonbeam_22.xml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:pathData="M14.436,4.492C16.365,5.337 17.692,7.388 17.571,9.44C14.075,9.44 10.578,9.44 7.202,9.44C7.202,8.113 7.684,6.664 8.649,5.699C9.975,4.009 12.507,3.527 14.436,4.492Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M14.195,17.646C14.436,17.646 14.557,17.767 14.557,17.888C14.557,18.008 14.436,18.129 14.195,18.129H8.649C8.408,18.129 8.287,18.008 8.287,17.888C8.287,17.767 8.408,17.646 8.649,17.646H14.195Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M7.443,18.249C7.685,18.249 7.805,18.129 7.805,17.888C7.805,17.646 7.685,17.526 7.443,17.526C7.202,17.526 7.082,17.646 7.082,17.888C7.082,18.129 7.202,18.249 7.443,18.249Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M10.819,16.801C11.06,16.801 11.181,16.681 11.181,16.439C11.181,16.198 11.06,16.078 10.819,16.078C10.578,16.078 10.458,16.198 10.458,16.439C10.458,16.681 10.578,16.801 10.819,16.801Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M17.33,16.078C17.571,16.078 17.691,16.198 17.691,16.439C17.691,16.681 17.571,16.801 17.33,16.801H11.904C11.663,16.801 11.543,16.681 11.543,16.439C11.543,16.198 11.663,16.078 11.904,16.078H17.33Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M3.585,15.353C3.826,15.353 3.947,15.232 3.947,14.991C3.947,14.75 3.826,14.63 3.585,14.63C3.344,14.63 3.223,14.75 3.223,14.991C3.223,15.232 3.465,15.353 3.585,15.353Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M9.011,14.63C9.252,14.63 9.372,14.75 9.372,14.991C9.372,15.232 9.252,15.353 9.011,15.353H4.55C4.309,15.353 4.188,15.232 4.188,14.991C4.188,14.75 4.309,14.63 4.55,14.63H9.011Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M19.138,14.63C19.379,14.63 19.5,14.75 19.5,14.991C19.5,15.232 19.379,15.353 19.138,15.353H10.216C9.975,15.353 9.855,15.232 9.855,14.991C9.855,14.75 9.975,14.63 10.216,14.63H19.138Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M17.45,13.181C17.692,13.181 17.812,13.302 17.812,13.543C17.812,13.784 17.692,13.905 17.45,13.905H6.479C6.358,14.025 6.117,13.784 6.117,13.543C6.117,13.302 6.238,13.181 6.479,13.181H17.45Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M5.273,14.025C5.514,14.025 5.635,13.905 5.635,13.663C5.635,13.422 5.514,13.181 5.273,13.181C5.032,13.181 4.911,13.422 4.911,13.543C4.911,13.663 5.032,14.025 5.273,14.025Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M15.16,11.854C15.401,11.854 15.521,11.974 15.521,12.215C15.521,12.457 15.401,12.577 15.16,12.577H4.188C4.067,12.577 3.826,12.457 3.826,12.215C3.826,11.974 3.947,11.854 4.188,11.854H15.16Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M2.862,12.577C3.103,12.577 3.223,12.457 3.223,12.215C3.223,11.974 3.103,11.854 2.862,11.854C2.621,11.854 2.5,11.974 2.5,12.215C2.5,12.457 2.621,12.577 2.862,12.577Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M5.273,11.129C5.514,11.129 5.635,11.008 5.635,10.767C5.635,10.526 5.514,10.406 5.273,10.406C5.032,10.406 4.911,10.647 4.911,10.767C4.911,11.008 5.032,11.129 5.273,11.129Z"
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M18.535,10.406C18.777,10.406 18.897,10.526 18.897,10.767C18.897,11.008 18.777,11.129 18.535,11.129H6.599C6.358,11.129 6.238,11.008 6.238,10.767C6.238,10.526 6.358,10.406 6.599,10.406H18.535Z"
|
||||
android:fillColor="#000"/>
|
||||
</vector>
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="16dp"
|
||||
android:height="16dp"
|
||||
android:autoMirrored="true"
|
||||
android:viewportWidth="16"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M10.6283,6.3937C10.4378,6.2889 10.1902,6.2889 9.9808,6.3937L8.4952,7.1968L7.4858,7.7205L6.0003,8.5237C5.8098,8.6284 5.5622,8.6284 5.3527,8.5237L4.1719,7.8951C3.9815,7.7904 3.8482,7.5983 3.8482,7.3888V6.1492C3.8482,5.9397 3.9624,5.7477 4.1719,5.6429L5.3337,5.0319C5.5241,4.9271 5.7717,4.9271 5.9812,5.0319L7.143,5.6429C7.3335,5.7477 7.4668,5.9397 7.4668,6.1492V6.9524L8.4762,6.4111V5.608C8.4762,5.3985 8.3619,5.2064 8.1524,5.1017L6.0003,3.9494C5.8098,3.8447 5.5622,3.8447 5.3527,3.9494L3.1625,5.1017C2.953,5.2064 2.8387,5.3985 2.8387,5.608V7.93C2.8387,8.1395 2.953,8.3316 3.1625,8.4363L5.3527,9.5886C5.5432,9.6934 5.7908,9.6934 6.0003,9.5886L7.4858,8.803L8.4952,8.2618L9.9808,7.4761C10.1712,7.3714 10.4188,7.3714 10.6283,7.4761L11.7901,8.0872C11.9805,8.1919 12.1138,8.384 12.1138,8.5935V9.8331C12.1138,10.0426 11.9996,10.2346 11.7901,10.3394L10.6283,10.9679C10.4378,11.0727 10.1902,11.0727 9.9808,10.9679L8.819,10.3568C8.6285,10.2521 8.4952,10.06 8.4952,9.8505V9.0474L7.4858,9.5886V10.3917C7.4858,10.6013 7.6001,10.7933 7.8096,10.8981L9.9998,12.0504C10.1902,12.1551 10.4378,12.1551 10.6473,12.0504L12.8376,10.8981C13.028,10.7933 13.1613,10.6013 13.1613,10.3917V8.0697C13.1613,7.8602 13.0471,7.6682 12.8376,7.5634L10.6283,6.3937Z" />
|
||||
</vector>
|
||||
9
core/ui/src/main/res/drawable/ic_polygon_22.xml
Normal file
9
core/ui/src/main/res/drawable/ic_polygon_22.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:pathData="M7.435,8.666C7.694,8.514 8.03,8.514 8.314,8.666L10.328,9.833L11.697,10.594L13.712,11.761C13.97,11.913 14.306,11.913 14.59,11.761L16.192,10.848C16.45,10.696 16.631,10.417 16.631,10.112V8.311C16.631,8.006 16.476,7.727 16.192,7.575L14.616,6.687C14.358,6.535 14.022,6.535 13.738,6.687L12.162,7.575C11.904,7.727 11.723,8.006 11.723,8.311V9.478L10.354,8.691V7.524C10.354,7.22 10.509,6.941 10.793,6.789L13.712,5.114C13.97,4.962 14.306,4.962 14.59,5.114L17.561,6.789C17.845,6.941 18,7.22 18,7.524V10.899C18,11.203 17.845,11.482 17.561,11.634L14.59,13.309C14.332,13.461 13.996,13.461 13.712,13.309L11.697,12.167L10.328,11.38L8.314,10.239C8.055,10.087 7.72,10.087 7.435,10.239L5.86,11.127C5.601,11.279 5.421,11.558 5.421,11.863V13.664C5.421,13.968 5.576,14.247 5.86,14.4L7.435,15.313C7.694,15.465 8.03,15.465 8.314,15.313L9.889,14.425C10.148,14.273 10.328,13.994 10.328,13.689V12.522L11.697,13.309V14.476C11.697,14.78 11.542,15.059 11.258,15.211L8.288,16.886C8.03,17.038 7.694,17.038 7.41,16.886L4.439,15.211C4.181,15.059 4,14.78 4,14.476V11.101C4,10.797 4.155,10.518 4.439,10.366L7.435,8.666Z"
|
||||
android:fillColor="#000"/>
|
||||
</vector>
|
||||
18
core/ui/src/main/res/drawable/ic_radiant_22.xml
Normal file
18
core/ui/src/main/res/drawable/ic_radiant_22.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M11.425,8.957H7.391C6.759,8.957 6.153,8.706 5.706,8.259L3.34,5.894H11.766C14.163,5.894 16.106,7.837 16.106,10.234C16.106,12.052 14.989,13.608 13.404,14.255L10.66,11.511H11.425C12.131,11.511 12.702,10.939 12.702,10.234C12.702,9.529 12.131,8.957 11.425,8.957Z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M12.362,18.319L5.935,11.892C5.292,11.249 5.747,10.149 6.657,10.149H8.617L16.787,18.319H12.362Z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M14.234,18.319C13.245,18.757 12.151,19 11,19C6.582,19 3,15.418 3,11C3,9.623 3.348,8.327 3.961,7.195L4.465,7.7C3.964,8.691 3.681,9.813 3.681,11C3.681,15.042 6.958,18.319 11,18.319C11.627,18.319 12.235,18.24 12.816,18.092L13.043,18.319H14.234Z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M16.215,17.066C17.92,15.599 19,13.426 19,11C19,6.582 15.418,3 11,3C8.523,3 6.309,4.126 4.841,5.894H5.756C7.086,4.529 8.944,3.681 11,3.681C15.042,3.681 18.319,6.958 18.319,11C18.319,13.238 17.315,15.241 15.733,16.583L16.215,17.066Z" />
|
||||
</vector>
|
||||
14
core/ui/src/main/res/drawable/ic_zksync_22.xml
Normal file
14
core/ui/src/main/res/drawable/ic_zksync_22.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:pathData="M20,11.004L14.891,5.608V9.558L9.82,13.515H14.891V16.4L20,11.004Z"
|
||||
android:fillColor="#000"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M2,11.004L7.109,16.4V12.475L12.18,8.485H7.109V5.6L2,11.004Z"
|
||||
android:fillColor="#000"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
30
core/ui/src/main/res/drawable/img_manta_22.xml
Normal file
30
core/ui/src/main/res/drawable/img_manta_22.xml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"/>
|
||||
<path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M6.72,16.737C4.974,15.433 3.841,13.348 3.841,11C3.841,7.048 7.048,3.841 11,3.841C14.263,3.841 17.826,5.791 18.687,8.778C17.724,5.441 14.648,3 11,3C6.583,3 3,6.583 3,11C3,15.417 6.583,19 11,19C15.417,19 19,15.417 19,11V10.578H18.561C18.548,10.578 18.528,10.578 18.502,10.578C18.45,10.578 18.376,10.576 18.28,10.572C18.091,10.565 17.83,10.552 17.537,10.526C16.937,10.474 16.252,10.372 15.787,10.185C15.037,9.885 14.613,9.489 14.13,9.024L14.102,8.998C13.617,8.533 13.074,8.009 12.128,7.565C11.198,7.128 10.17,7.198 9.415,7.354C9.033,7.433 8.702,7.537 8.47,7.622C8.352,7.663 8.259,7.702 8.193,7.728C7.813,7.889 7.443,8.078 7.072,8.254C7.072,8.254 7.804,8.454 8.165,8.567C8.178,8.572 8.198,8.578 8.226,8.587C8.28,8.604 8.359,8.633 8.452,8.672C8.644,8.75 8.894,8.865 9.141,9.026C9.533,9.276 9.856,9.594 9.989,9.98C9.161,10.089 8.383,10.454 7.8,10.796C7.448,11.002 7.154,11.211 6.948,11.365C6.846,11.443 6.763,11.509 6.707,11.554C6.659,11.594 5.911,12.252 5.911,12.252C5.911,12.252 6.876,12.354 7.352,12.45C7.67,12.513 8.096,12.617 8.543,12.772C8.991,12.928 9.443,13.133 9.82,13.396C10.196,13.659 10.472,13.961 10.606,14.309C11.002,15.322 10.613,16.306 9.833,16.861C9.061,17.409 7.889,17.539 6.717,16.735L6.72,16.737ZM9.45,17.989C9.765,17.887 10.059,17.737 10.324,17.55C11.385,16.796 11.943,15.413 11.394,14.004C11.176,13.45 10.763,13.028 10.304,12.707C9.844,12.385 9.315,12.15 8.824,11.978C8.502,11.865 8.189,11.778 7.917,11.713C8.015,11.65 8.117,11.585 8.228,11.52C8.876,11.139 9.693,10.789 10.476,10.789C11.656,10.789 12.535,11.152 13.374,11.539C13.45,11.574 13.526,11.611 13.604,11.646C14.354,11.998 15.141,12.367 16.056,12.367C16.972,12.367 17.635,12.117 18.111,11.856C17.687,15.404 14.667,18.156 11.004,18.156C10.472,18.156 9.952,18.098 9.454,17.989H9.45ZM17.198,11.341C16.883,11.448 16.5,11.526 16.054,11.526C15.337,11.526 14.72,11.239 13.937,10.874C13.867,10.841 13.798,10.809 13.726,10.776C12.941,10.413 12.035,10.028 10.854,9.959C10.696,9.178 10.104,8.644 9.596,8.317C9.539,8.28 9.483,8.246 9.426,8.213C9.476,8.202 9.528,8.189 9.583,8.178C10.265,8.037 11.078,8.002 11.767,8.328C12.585,8.713 13.048,9.156 13.528,9.617L13.546,9.633C14.039,10.106 14.563,10.604 15.474,10.97C15.98,11.172 16.637,11.28 17.198,11.341Z"
|
||||
android:fillType="evenOdd">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="2.857"
|
||||
android:startY="11.148"
|
||||
android:endX="19.143"
|
||||
android:endY="10.85"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FF29CCB9"/>
|
||||
<item android:offset="0.49" android:color="#FF0091FF"/>
|
||||
<item android:offset="1" android:color="#FFFF66B7"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</group>
|
||||
</vector>
|
||||
55
core/ui/src/main/res/drawable/img_moonbeam_22.xml
Normal file
55
core/ui/src/main/res/drawable/img_moonbeam_22.xml
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"/>
|
||||
<path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
|
||||
android:fillColor="#0E1125"/>
|
||||
<path
|
||||
android:pathData="M14.436,4.492C16.365,5.337 17.692,7.388 17.571,9.44C14.075,9.44 10.578,9.44 7.202,9.44C7.202,8.113 7.684,6.664 8.649,5.699C9.975,4.009 12.507,3.527 14.436,4.492Z"
|
||||
android:fillColor="#5FC0C1"/>
|
||||
<path
|
||||
android:pathData="M14.195,17.646C14.436,17.646 14.557,17.767 14.557,17.888C14.557,18.008 14.436,18.129 14.195,18.129H8.649C8.408,18.129 8.287,18.008 8.287,17.888C8.287,17.767 8.408,17.646 8.649,17.646H14.195Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M7.443,18.249C7.685,18.249 7.805,18.129 7.805,17.888C7.805,17.646 7.685,17.526 7.443,17.526C7.202,17.526 7.082,17.646 7.082,17.888C7.082,18.129 7.202,18.249 7.443,18.249Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M10.819,16.801C11.06,16.801 11.181,16.681 11.181,16.439C11.181,16.198 11.06,16.078 10.819,16.078C10.578,16.078 10.458,16.198 10.458,16.439C10.458,16.681 10.578,16.801 10.819,16.801Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M17.33,16.078C17.571,16.078 17.691,16.198 17.691,16.439C17.691,16.681 17.571,16.801 17.33,16.801H11.904C11.663,16.801 11.543,16.681 11.543,16.439C11.543,16.198 11.663,16.078 11.904,16.078H17.33Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M3.585,15.353C3.826,15.353 3.947,15.232 3.947,14.991C3.947,14.75 3.826,14.63 3.585,14.63C3.344,14.63 3.223,14.75 3.223,14.991C3.223,15.232 3.465,15.353 3.585,15.353Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M9.011,14.63C9.252,14.63 9.372,14.75 9.372,14.991C9.372,15.232 9.252,15.353 9.011,15.353H4.55C4.309,15.353 4.188,15.232 4.188,14.991C4.188,14.75 4.309,14.63 4.55,14.63H9.011Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M19.138,14.63C19.379,14.63 19.5,14.75 19.5,14.991C19.5,15.232 19.379,15.353 19.138,15.353H10.216C9.975,15.353 9.855,15.232 9.855,14.991C9.855,14.75 9.975,14.63 10.216,14.63H19.138Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M17.45,13.181C17.692,13.181 17.812,13.302 17.812,13.543C17.812,13.784 17.692,13.905 17.45,13.905H6.479C6.358,14.025 6.117,13.784 6.117,13.543C6.117,13.302 6.238,13.181 6.479,13.181H17.45Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M5.273,14.025C5.514,14.025 5.635,13.905 5.635,13.663C5.635,13.422 5.514,13.181 5.273,13.181C5.032,13.181 4.911,13.422 4.911,13.543C4.911,13.663 5.032,14.025 5.273,14.025Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M15.16,11.854C15.401,11.854 15.521,11.974 15.521,12.215C15.521,12.457 15.401,12.577 15.16,12.577H4.188C4.067,12.577 3.826,12.457 3.826,12.215C3.826,11.974 3.947,11.854 4.188,11.854H15.16Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M2.862,12.577C3.103,12.577 3.223,12.457 3.223,12.215C3.223,11.974 3.103,11.854 2.862,11.854C2.621,11.854 2.5,11.974 2.5,12.215C2.5,12.457 2.621,12.577 2.862,12.577Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M5.273,11.129C5.514,11.129 5.635,11.008 5.635,10.767C5.635,10.526 5.514,10.406 5.273,10.406C5.032,10.406 4.911,10.647 4.911,10.767C4.911,11.008 5.032,11.129 5.273,11.129Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
<path
|
||||
android:pathData="M18.535,10.406C18.777,10.406 18.897,10.526 18.897,10.767C18.897,11.008 18.777,11.129 18.535,11.129H6.599C6.358,11.129 6.238,11.008 6.238,10.767C6.238,10.526 6.358,10.406 6.599,10.406H18.535Z"
|
||||
android:fillColor="#E1177C"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,13 +1,29 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:autoMirrored="true"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"/>
|
||||
<path
|
||||
android:fillColor="#8247E5"
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z" />
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
|
||||
android:fillColor="#F5F0FD"/>
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:pathData="M14.614,8.791C14.352,8.647 14.012,8.647 13.724,8.791L11.681,9.896L10.293,10.616L8.25,11.72C7.988,11.864 7.648,11.864 7.36,11.72L5.736,10.856C5.475,10.712 5.291,10.448 5.291,10.16V8.455C5.291,8.167 5.448,7.903 5.736,7.759L7.334,6.919C7.596,6.775 7.936,6.775 8.224,6.919L9.822,7.759C10.083,7.903 10.267,8.167 10.267,8.455V9.56L11.655,8.815V7.711C11.655,7.423 11.498,7.159 11.21,7.015L8.25,5.431C7.988,5.287 7.648,5.287 7.36,5.431L4.348,7.015C4.06,7.159 3.903,7.423 3.903,7.711V10.904C3.903,11.192 4.06,11.456 4.348,11.6L7.36,13.184C7.622,13.328 7.962,13.328 8.25,13.184L10.293,12.104L11.681,11.36L13.724,10.28C13.985,10.136 14.326,10.136 14.614,10.28L16.211,11.12C16.473,11.264 16.656,11.528 16.656,11.816V13.521C16.656,13.809 16.499,14.073 16.211,14.217L14.614,15.081C14.352,15.225 14.012,15.225 13.724,15.081L12.126,14.241C11.864,14.097 11.681,13.833 11.681,13.545V12.44L10.293,13.184V14.289C10.293,14.577 10.45,14.841 10.738,14.985L13.75,16.569C14.012,16.713 14.352,16.713 14.64,16.569L17.652,14.985C17.913,14.841 18.097,14.577 18.097,14.289V11.096C18.097,10.808 17.94,10.544 17.652,10.4L14.614,8.791Z" />
|
||||
android:pathData="M7.435,8.666C7.694,8.514 8.03,8.514 8.314,8.666L10.328,9.833L11.697,10.594L13.712,11.761C13.97,11.913 14.306,11.913 14.59,11.761L16.192,10.848C16.45,10.696 16.631,10.417 16.631,10.112V8.311C16.631,8.006 16.476,7.727 16.192,7.575L14.616,6.687C14.358,6.535 14.022,6.535 13.738,6.687L12.162,7.575C11.904,7.727 11.723,8.006 11.723,8.311V9.478L10.354,8.691V7.524C10.354,7.22 10.509,6.941 10.793,6.789L13.712,5.114C13.97,4.962 14.306,4.962 14.59,5.114L17.561,6.789C17.845,6.941 18,7.22 18,7.524V10.899C18,11.203 17.845,11.482 17.561,11.634L14.59,13.309C14.332,13.461 13.996,13.461 13.712,13.309L11.697,12.167L10.328,11.38L8.314,10.239C8.055,10.087 7.72,10.087 7.435,10.239L5.86,11.127C5.601,11.279 5.421,11.558 5.421,11.863V13.664C5.421,13.968 5.576,14.247 5.86,14.4L7.435,15.313C7.694,15.465 8.03,15.465 8.314,15.313L9.889,14.425C10.148,14.273 10.328,13.994 10.328,13.689V12.522L11.697,13.309V14.476C11.697,14.78 11.542,15.059 11.258,15.211L8.288,16.886C8.03,17.038 7.694,17.038 7.41,16.886L4.439,15.211C4.181,15.059 4,14.78 4,14.476V11.101C4,10.797 4.155,10.518 4.439,10.366L7.435,8.666Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="5.19"
|
||||
android:startY="15.1"
|
||||
android:endX="16.946"
|
||||
android:endY="6.242"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFA726C1"/>
|
||||
<item android:offset="0.88" android:color="#FF803BDF"/>
|
||||
<item android:offset="1" android:color="#FF7B3FE4"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
|
|||
27
core/ui/src/main/res/drawable/img_radiant_22.xml
Normal file
27
core/ui/src/main/res/drawable/img_radiant_22.xml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"/>
|
||||
<path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
|
||||
android:fillColor="#1A3764"/>
|
||||
<path
|
||||
android:pathData="M11.425,8.957H7.391C6.759,8.957 6.153,8.706 5.706,8.259L3.34,5.894H11.766C14.163,5.894 16.106,7.837 16.106,10.234C16.106,12.052 14.989,13.608 13.404,14.255L10.66,11.511H11.425C12.131,11.511 12.702,10.939 12.702,10.234C12.702,9.529 12.131,8.957 11.425,8.957Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M12.362,18.319L5.935,11.892C5.292,11.249 5.747,10.149 6.657,10.149H8.617L16.787,18.319H12.362Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M14.234,18.319C13.245,18.757 12.151,19 11,19C6.582,19 3,15.418 3,11C3,9.623 3.348,8.327 3.961,7.195L4.465,7.7C3.964,8.691 3.681,9.813 3.681,11C3.681,15.042 6.958,18.319 11,18.319C11.627,18.319 12.235,18.24 12.816,18.092L13.043,18.319H14.234Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M16.215,17.066C17.92,15.599 19,13.426 19,11C19,6.582 15.418,3 11,3C8.523,3 6.309,4.126 4.841,5.894H5.756C7.086,4.529 8.944,3.681 11,3.681C15.042,3.681 18.319,6.958 18.319,11C18.319,13.238 17.315,15.241 15.733,16.583L16.215,17.066Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
</vector>
|
||||
21
core/ui/src/main/res/drawable/img_zksync_22.xml
Normal file
21
core/ui/src/main/res/drawable/img_zksync_22.xml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="22"
|
||||
android:viewportHeight="22">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"/>
|
||||
<path
|
||||
android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M20,11.004L14.891,5.608V9.558L9.82,13.515H14.891V16.4L20,11.004Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M2,11.004L7.109,16.4V12.475L12.18,8.485H7.109V5.6L2,11.004Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
</group>
|
||||
</vector>
|
||||
Loading…
Add table
Add a link
Reference in a new issue