Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-22 10:30:04 +04:00
parent 86d0d58706
commit eeb151c805
20 changed files with 447 additions and 0 deletions

View file

@ -0,0 +1,49 @@
package com.tangem.common.ui.account
import androidx.annotation.DrawableRes
import androidx.compose.ui.graphics.Color
import com.tangem.core.ui.R
import com.tangem.domain.models.account.CryptoPortfolioIcon
/** Extension function to get the UI color associated with an [CryptoPortfolioIcon.Color] */
fun CryptoPortfolioIcon.Color.getUiColor(): Color {
return when (this) {
CryptoPortfolioIcon.Color.Azure -> Color(color = 0xFF007FFF)
CryptoPortfolioIcon.Color.CaribbeanBlue -> Color(color = 0xFF0FBED6)
CryptoPortfolioIcon.Color.DullLavender -> Color(color = 0xFFA28BF2)
CryptoPortfolioIcon.Color.CandyGrapeFizz -> Color(color = 0xFF704AF1)
CryptoPortfolioIcon.Color.SweetDesire -> Color(color = 0xFFAF34E3)
CryptoPortfolioIcon.Color.PalatinateBlue -> Color(color = 0xFF2D30EE)
CryptoPortfolioIcon.Color.FuchsiaNebula -> Color(color = 0xFF7E28A3)
CryptoPortfolioIcon.Color.Pelati -> Color(color = 0xFFFF2E32)
CryptoPortfolioIcon.Color.Pattypan -> Color(color = 0xFFF0B90B)
CryptoPortfolioIcon.Color.UFOGreen -> Color(color = 0xFF32CB77)
CryptoPortfolioIcon.Color.SweetHoney -> Color(color = 0xFFD1A657)
}
}
/** Extension function to get the drawable resource ID associated with an [CryptoPortfolioIcon.Icon] */
@Suppress("CyclomaticComplexMethod")
@DrawableRes
fun CryptoPortfolioIcon.Icon.getResId(): Int {
return when (this) {
CryptoPortfolioIcon.Icon.Letter -> R.drawable.ic_letter_24
CryptoPortfolioIcon.Icon.Star -> R.drawable.ic_rounded_star_24
CryptoPortfolioIcon.Icon.User -> R.drawable.ic_user_24
CryptoPortfolioIcon.Icon.Family -> R.drawable.ic_family_24
CryptoPortfolioIcon.Icon.Wallet -> R.drawable.ic_wallet_24
CryptoPortfolioIcon.Icon.Money -> R.drawable.ic_money_24
CryptoPortfolioIcon.Icon.Home -> R.drawable.ic_home_24
CryptoPortfolioIcon.Icon.Safe -> R.drawable.ic_safe_24
CryptoPortfolioIcon.Icon.Beach -> R.drawable.ic_beach_24
CryptoPortfolioIcon.Icon.AirplaneMode -> R.drawable.ic_airplane_mode_24
CryptoPortfolioIcon.Icon.Shirt -> R.drawable.ic_shirt_24
CryptoPortfolioIcon.Icon.ShoppingBasket -> R.drawable.ic_shopping_basket_24
CryptoPortfolioIcon.Icon.Favourite -> R.drawable.ic_favourite_24
CryptoPortfolioIcon.Icon.Bookmark -> R.drawable.ic_bookmark_24
CryptoPortfolioIcon.Icon.StartUp -> R.drawable.ic_start_up_24
CryptoPortfolioIcon.Icon.Clock -> R.drawable.ic_circle_clock_24
CryptoPortfolioIcon.Icon.Package -> R.drawable.ic_package_24
CryptoPortfolioIcon.Icon.Gift -> R.drawable.ic_gift_24
}
}

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M4.429,11.919L7.745,9.916C8.302,9.581 8.58,9.413 8.772,9.183C9.603,8.187 8.871,6.715 8.995,5.557C9.124,4.358 10.276,2.718 11.437,2.21C11.795,2.053 12.205,2.053 12.562,2.21C13.724,2.718 14.876,4.358 15.005,5.557C15.128,6.715 14.396,8.187 15.228,9.183C15.42,9.413 15.698,9.581 16.255,9.916L19.571,11.919C20.587,12.532 20.986,13.186 20.986,14.417C20.986,15.087 20.688,15.267 20.085,15.13L14.269,13.81L14.008,16.077C13.913,16.9 13.866,17.311 14.003,17.687C14.324,18.569 15.412,19.292 16.077,19.933C16.445,20.288 16.846,21.307 16.427,21.771C16.168,22.057 15.748,21.825 15.459,21.713L12.674,20.639C12.341,20.51 12.175,20.446 12,20.446C11.825,20.446 11.659,20.51 11.326,20.639L8.541,21.713C8.252,21.825 7.832,22.057 7.573,21.771C7.154,21.307 7.555,20.288 7.923,19.933C8.587,19.292 9.676,18.569 9.997,17.687C10.134,17.311 10.086,16.9 9.992,16.077L9.731,13.81L3.915,15.13C3.312,15.267 3.013,15.087 3.014,14.417C3.014,13.186 3.414,12.532 4.429,11.919Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M11.718,2.094C12.233,1.947 12.77,2.245 12.917,2.76C12.999,3.048 13.063,3.105 13.364,3.07C16.263,2.731 19.023,4.362 20.32,7.038C20.445,7.294 20.576,7.552 20.651,7.829C20.743,8.166 20.761,8.598 20.489,9.02C20.196,9.475 19.751,9.617 19.409,9.656C19.142,9.687 18.826,9.666 18.559,9.649L17.175,9.56C17.04,9.551 17.038,9.552 16.927,9.63L15.723,10.481C15.616,10.556 15.563,10.594 15.542,10.651C15.522,10.708 15.538,10.771 15.572,10.897L16.59,14.713C16.669,15.01 16.708,15.158 16.627,15.238C16.545,15.317 16.398,15.273 16.103,15.184L14.898,14.822C14.594,14.73 14.585,14.721 14.503,14.414L13.764,11.642C13.729,11.512 13.712,11.448 13.663,11.408C13.615,11.368 13.548,11.364 13.414,11.355L11.372,11.224C11.236,11.215 11.234,11.216 11.123,11.295L9.987,12.097C9.758,12.259 9.492,12.448 9.244,12.564C8.931,12.711 8.458,12.832 7.956,12.572C7.49,12.331 7.297,11.922 7.22,11.577C7.156,11.289 7.151,10.991 7.141,10.697C7.043,7.885 8.482,5.191 10.885,3.866C11.176,3.706 11.139,3.596 11.052,3.293C10.905,2.778 11.203,2.241 11.718,2.094Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M6.859,14.906C9.254,14.906 11.414,15.554 13.548,16.193C15.658,16.826 17.769,17.458 20.228,17.594C20.697,17.62 20.932,17.633 21.065,17.773C21.197,17.913 21.197,18.139 21.197,18.59V20.724C21.197,21.181 21.197,21.41 21.055,21.552C20.913,21.694 20.685,21.694 20.228,21.694H2.772C2.315,21.694 2.087,21.694 1.945,21.552C1.803,21.41 1.803,21.181 1.803,20.724V16.328C1.803,15.989 1.803,15.82 1.902,15.69C2.001,15.56 2.155,15.517 2.463,15.432C2.694,15.367 2.928,15.311 3.166,15.261C4.024,15.082 5.271,14.906 6.859,14.906Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M11.943,2.75C13.661,2.75 15.145,2.75 16.217,2.898C17.326,3.051 18.228,3.375 18.939,4.106C19.647,4.833 19.959,5.753 20.106,6.882C20.25,7.98 20.25,9.383 20.25,11.153L20.25,16.542V16.543C20.25,17.643 20.25,18.552 20.152,19.233C20.052,19.927 19.82,20.621 19.147,21.004C18.534,21.353 17.86,21.279 17.302,21.099C16.74,20.916 16.172,20.587 15.656,20.24L13.085,18.313C12.71,18.072 12.476,17.923 12.288,17.829C12.018,17.674 11.791,17.764 11.712,17.829C11.524,17.923 11.29,18.072 10.915,18.313L8.344,20.24C7.828,20.587 7.26,20.916 6.698,21.099C6.14,21.279 5.466,21.353 4.853,21.004C4.18,20.621 3.948,19.927 3.848,19.233C3.75,18.552 3.75,17.643 3.75,16.543V16.542L3.75,11.153C3.75,9.383 3.75,7.98 3.894,6.882C4.041,5.753 4.353,4.833 5.061,4.106C5.772,3.375 6.674,3.051 7.783,2.898C8.855,2.75 10.224,2.75 11.943,2.75H11.943Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,2.459C17.269,2.459 21.541,6.731 21.541,12C21.541,17.269 17.269,21.541 12,21.541C6.731,21.541 2.459,17.269 2.459,12C2.459,6.731 6.731,2.459 12,2.459ZM12,7.562C11.51,7.562 11.113,7.96 11.113,8.45V12C11.113,12.235 11.206,12.461 11.373,12.627L13.148,14.403C13.494,14.749 14.056,14.749 14.403,14.403C14.749,14.056 14.749,13.494 14.403,13.148L12.887,11.632V8.45C12.887,7.96 12.49,7.562 12,7.562Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M7.693,14.474C10.33,12.843 13.677,12.843 16.315,14.474C16.392,14.522 16.491,14.579 16.604,14.646C17.116,14.945 17.93,15.421 18.485,15.985C18.833,16.34 19.18,16.822 19.243,17.424C19.311,18.068 19.038,18.665 18.517,19.181C17.655,20.033 16.587,20.75 15.188,20.75H8.82C7.42,20.75 6.352,20.033 5.491,19.181C4.969,18.665 4.696,18.068 4.764,17.424C4.827,16.822 5.175,16.34 5.524,15.985C6.079,15.421 6.891,14.945 7.404,14.646C7.516,14.58 7.615,14.522 7.693,14.474Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M16.545,12.427C18.191,12.021 19.954,12.313 21.431,13.303C21.486,13.34 21.558,13.386 21.641,13.439C22.032,13.686 22.686,14.1 23.129,14.588C23.41,14.897 23.691,15.321 23.743,15.847C23.797,16.406 23.577,16.93 23.153,17.385C22.585,17.993 21.893,18.551 20.869,18.707C20.631,18.743 20.511,18.762 20.439,18.688C20.367,18.613 20.394,18.471 20.448,18.188C20.501,17.904 20.517,17.605 20.484,17.293C20.377,16.284 19.806,15.55 19.371,15.108C18.698,14.424 17.767,13.879 17.273,13.59C17.066,13.462 16.784,13.301 16.497,13.148C16.119,12.945 15.93,12.843 15.947,12.707C15.964,12.571 16.158,12.522 16.545,12.427Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M2.571,13.303C4.048,12.313 5.81,12.021 7.455,12.427C7.843,12.522 8.037,12.571 8.054,12.707C8.071,12.843 7.882,12.945 7.503,13.148C7.216,13.301 6.935,13.462 6.728,13.59C6.233,13.879 5.302,14.424 4.629,15.108C4.195,15.55 3.623,16.284 3.517,17.293C3.484,17.605 3.499,17.904 3.553,18.188C3.607,18.471 3.634,18.613 3.562,18.688C3.49,18.762 3.37,18.743 3.131,18.707C2.108,18.551 1.416,17.993 0.848,17.385C0.423,16.93 0.204,16.406 0.258,15.847C0.309,15.321 0.59,14.897 0.871,14.588C1.315,14.1 1.968,13.686 2.36,13.439C2.443,13.385 2.516,13.34 2.571,13.303Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M6,5.25C6.166,5.25 6.329,5.262 6.488,5.286C6.677,5.315 6.772,5.329 6.821,5.408C6.869,5.487 6.836,5.592 6.768,5.801C6.594,6.336 6.5,6.907 6.5,7.5C6.5,8.74 6.911,9.884 7.603,10.804C7.735,10.979 7.801,11.067 7.781,11.157C7.76,11.248 7.675,11.292 7.505,11.381C7.055,11.616 6.543,11.75 6,11.75C4.205,11.75 2.75,10.295 2.75,8.5C2.75,6.705 4.205,5.25 6,5.25Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M11.999,3.25C14.347,3.25 16.249,5.153 16.249,7.5C16.249,9.847 14.347,11.75 11.999,11.75C9.652,11.75 7.749,9.847 7.749,7.5C7.749,5.153 9.652,3.25 11.999,3.25Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M18,5.25C19.795,5.25 21.25,6.705 21.25,8.5C21.25,10.295 19.795,11.75 18,11.75C17.457,11.75 16.945,11.616 16.495,11.381C16.326,11.292 16.24,11.248 16.22,11.157C16.2,11.067 16.266,10.979 16.398,10.804C17.09,9.884 17.5,8.74 17.5,7.5C17.5,6.907 17.406,6.336 17.233,5.801C17.165,5.592 17.132,5.487 17.18,5.408C17.229,5.33 17.323,5.315 17.513,5.286C17.672,5.262 17.835,5.25 18,5.25Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M4.997,4.293C7.654,2.663 10.038,3.312 11.479,4.394C11.716,4.572 11.878,4.694 11.999,4.776C12.12,4.694 12.283,4.572 12.52,4.394C13.96,3.312 16.344,2.663 19.002,4.293C20.84,5.42 21.874,7.775 21.511,10.48C21.146,13.198 19.387,16.273 15.66,19.031C14.367,19.989 13.417,20.692 11.999,20.692C10.582,20.692 9.632,19.989 8.338,19.031C4.612,16.273 2.853,13.198 2.488,10.48C2.125,7.775 3.159,5.42 4.997,4.293Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M3.999,12.894C4.163,12.922 4.319,12.937 4.46,12.948C4.801,12.972 5.203,12.973 5.608,12.973H10.636C10.819,12.973 10.911,12.973 10.969,13.03C11.025,13.087 11.026,13.179 11.026,13.362V22.417C11.026,22.447 11.002,22.471 10.972,22.471C9.41,22.471 8.165,22.471 7.187,22.34C6.178,22.204 5.347,21.916 4.689,21.258C4.031,20.6 3.743,19.769 3.607,18.759C3.476,17.782 3.476,16.536 3.476,14.975V13.306C3.476,13.066 3.477,12.947 3.546,12.888C3.615,12.83 3.743,12.851 3.999,12.894Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M20.001,12.894C20.257,12.851 20.385,12.83 20.455,12.888C20.524,12.947 20.524,13.066 20.524,13.306V14.975C20.524,16.536 20.524,17.782 20.393,18.759C20.257,19.769 19.969,20.6 19.311,21.258C18.653,21.916 17.822,22.204 16.813,22.34C15.835,22.471 14.59,22.471 13.028,22.471C12.998,22.471 12.974,22.447 12.974,22.417V13.362C12.974,13.179 12.975,13.087 13.031,13.03C13.089,12.973 13.181,12.973 13.364,12.973H18.392C18.797,12.973 19.199,12.972 19.54,12.948C19.681,12.937 19.837,12.922 20.001,12.894Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M8.243,1.528C9.775,1.528 11.135,2.257 12,3.385C12.865,2.256 14.226,1.528 15.758,1.528H16.105C17.604,1.528 18.819,2.743 18.819,4.242C18.819,5.033 18.595,5.772 18.207,6.399H18.358C18.791,6.399 19.155,6.399 19.451,6.42C19.759,6.442 20.059,6.491 20.344,6.623C20.666,6.772 20.954,6.995 21.164,7.286C21.363,7.561 21.437,7.858 21.469,8.142C21.498,8.4 21.498,8.709 21.498,9.043V9.112C21.498,9.446 21.498,9.756 21.469,10.014C21.437,10.298 21.362,10.594 21.164,10.869C20.954,11.16 20.666,11.383 20.344,11.532C20.059,11.664 19.759,11.712 19.451,11.735C19.155,11.756 18.791,11.757 18.358,11.757H5.642C5.209,11.757 4.845,11.756 4.549,11.735C4.241,11.712 3.941,11.664 3.656,11.532C3.334,11.383 3.046,11.16 2.836,10.869C2.638,10.594 2.563,10.298 2.531,10.014C2.502,9.756 2.502,9.446 2.502,9.112V9.043C2.502,8.709 2.502,8.4 2.531,8.142C2.563,7.858 2.637,7.561 2.836,7.286C3.046,6.995 3.334,6.772 3.656,6.623C3.941,6.491 4.241,6.442 4.549,6.42C4.845,6.399 5.209,6.399 5.642,6.399H5.794C5.406,5.772 5.181,5.033 5.181,4.242C5.181,2.743 6.397,1.528 7.895,1.528H8.243ZM7.895,3.476C7.473,3.476 7.129,3.819 7.129,4.242C7.129,5.433 8.096,6.399 9.287,6.399H11.026V6.26C11.026,4.723 9.78,3.476 8.243,3.476H7.895ZM15.758,3.476C14.221,3.476 12.974,4.723 12.974,6.26V6.399H14.714C15.905,6.399 16.871,5.433 16.871,4.242C16.871,3.819 16.528,3.476 16.105,3.476H15.758Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,2.25C13.359,2.25 14.447,3.4 15.396,4.229L21.255,9.356C21.764,9.802 21.862,10.459 21.634,10.988C21.457,11.398 21.094,11.718 20.633,11.836C20.426,11.889 20.322,11.915 20.279,11.969C20.237,12.023 20.237,12.11 20.236,12.282C20.233,13.102 20.228,14.922 20.228,15.14C20.228,16.485 20.228,17.577 20.103,18.437C19.972,19.337 19.69,20.091 19.048,20.684C18.414,21.269 17.622,21.518 16.677,21.636C15.758,21.75 14.587,21.75 13.12,21.75H10.881C9.414,21.75 8.243,21.75 7.324,21.636C6.379,21.518 5.587,21.269 4.953,20.684C4.312,20.091 4.03,19.337 3.899,18.437C3.773,17.577 3.774,16.485 3.774,15.14C3.774,14.922 3.768,13.102 3.765,12.282C3.764,12.11 3.764,12.023 3.722,11.969C3.68,11.915 3.576,11.889 3.368,11.836C2.907,11.719 2.544,11.398 2.367,10.988C2.139,10.459 2.237,9.802 2.746,9.356L8.606,4.229C9.554,3.4 10.642,2.25 12,2.25ZM12.001,14.75C11.311,14.75 10.751,15.31 10.751,16C10.751,16.69 11.311,17.25 12.001,17.25H12.01C12.7,17.25 13.26,16.69 13.26,16C13.26,15.31 12.7,14.75 12.01,14.75H12.001Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.967,13.563C16.967,14.269 16.358,14.802 15.542,14.803C14.944,14.803 14.514,14.503 14.514,13.992C14.514,13.497 14.867,13.22 15.623,13.171L16.967,13.078V13.563Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M8.878,9.367L9.944,12.632H7.708L8.785,9.367H8.878Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M12.001,1.715C16.849,1.715 19.274,1.714 20.78,3.221C22.287,4.727 22.286,7.152 22.286,12C22.286,16.849 22.287,19.274 20.78,20.78C19.274,22.287 16.849,22.286 12.001,22.286C7.152,22.286 4.727,22.287 3.221,20.78C1.714,19.274 1.715,16.849 1.715,12C1.715,7.152 1.714,4.727 3.221,3.221C4.727,1.714 7.152,1.715 12.001,1.715ZM15.911,9.683C14.497,9.683 13.512,10.347 13.403,11.386H14.677C14.802,10.978 15.226,10.755 15.847,10.755C16.576,10.755 16.967,11.087 16.967,11.68V12.191L15.433,12.283C13.985,12.365 13.175,12.991 13.175,14.058C13.175,15.146 13.997,15.842 15.144,15.842C15.922,15.842 16.575,15.504 16.907,14.928H17V15.744H18.3V11.68C18.3,10.423 17.44,9.683 15.911,9.683ZM8.073,7.893L5.287,15.744H6.707L7.382,13.715H10.271L10.935,15.744H12.441L9.65,7.893H8.073Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.746,3.22C14.839,3.22 13.072,3.595 11.699,4.236C10.543,4.776 8.987,5.118 7.254,5.118C6.294,5.118 5.384,5.013 4.566,4.826C3.307,4.537 1.797,5.4 1.797,6.888V17.112C1.797,17.905 1.923,18.651 2.335,19.259C2.76,19.888 3.417,20.26 4.248,20.45C5.175,20.663 6.191,20.779 7.254,20.779C9.161,20.779 10.928,20.405 12.301,19.763C13.457,19.223 15.013,18.881 16.746,18.881C17.706,18.881 18.615,18.986 19.434,19.174C20.693,19.462 22.203,18.599 22.203,17.112V6.888C22.203,6.131 22.101,5.389 21.702,4.774C21.285,4.133 20.622,3.748 19.752,3.549C18.825,3.337 17.809,3.22 16.746,3.22ZM12,14.847C13.573,14.847 14.847,13.572 14.847,12C14.847,10.427 13.573,9.152 12,9.152C10.427,9.152 9.153,10.427 9.153,12C9.153,13.572 10.427,14.847 12,14.847ZM5.831,12C6.355,12 6.78,12.425 6.78,12.949V12.957C6.78,13.481 6.355,13.906 5.831,13.906C5.306,13.906 4.882,13.481 4.882,12.957V12.949C4.882,12.425 5.306,12 5.831,12ZM19.118,11.043C19.118,10.519 18.694,10.094 18.169,10.094C17.645,10.094 17.22,10.519 17.22,11.043V11.052C17.22,11.576 17.645,12.001 18.169,12.001C18.694,12.001 19.118,11.576 19.118,11.052V11.043Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,1.412C13.155,1.412 14.21,1.913 15.751,2.643L18.817,4.096C19.531,4.434 20.16,4.733 20.603,5.025C21.046,5.319 21.604,5.799 21.604,6.583V17.083C21.604,18.186 20.798,18.921 19.807,19.516C18.804,20.117 17.12,20.828 15.256,21.615L14.292,22.017C13.404,22.373 12.718,22.587 12,22.587C11.043,22.587 10.142,22.206 8.744,21.615C6.88,20.828 5.196,20.117 4.193,19.516C3.202,18.921 2.397,18.186 2.397,17.083V6.583C2.397,5.799 2.954,5.319 3.397,5.025C3.84,4.733 4.469,4.434 5.183,4.096L8.249,2.643C9.789,1.913 10.845,1.412 12,1.412ZM6.421,11.339C6.056,11.156 5.612,11.304 5.429,11.669C5.247,12.033 5.396,12.477 5.76,12.66L7.73,13.645C8.094,13.827 8.538,13.679 8.721,13.315C8.903,12.95 8.755,12.506 8.391,12.324L6.421,11.339ZM9.327,8.944C10.812,9.643 11.396,9.874 12,9.874C12.66,9.874 13.296,9.597 15.111,8.738L17.916,7.409C18.714,7.031 19.213,6.791 19.527,6.584C19.214,6.377 18.713,6.137 17.916,5.759L16.857,5.257L9.327,8.944ZM12,3.293C11.34,3.293 10.705,3.57 8.89,4.43L6.085,5.759C5.287,6.137 4.786,6.377 4.473,6.584C4.786,6.791 5.287,7.031 6.085,7.409L7.143,7.91L14.674,4.224C13.188,3.526 12.604,3.293 12,3.293Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M11.996,1.923C12.98,1.923 13.755,2.666 14.249,3.668L15.901,6.999C15.951,7.102 16.07,7.247 16.248,7.38C16.427,7.513 16.601,7.586 16.716,7.605L19.706,8.106C20.786,8.288 21.691,8.817 21.985,9.739C22.279,10.66 21.849,11.617 21.072,12.395L21.071,12.396L18.749,14.738C18.656,14.831 18.553,15.006 18.489,15.234C18.424,15.46 18.419,15.666 18.448,15.799L18.448,15.801L19.113,18.698C19.389,19.904 19.297,21.1 18.447,21.725C17.593,22.352 16.427,22.074 15.368,21.443L12.565,19.77C12.447,19.7 12.245,19.643 12.001,19.643C11.759,19.643 11.552,19.699 11.427,19.772L11.425,19.773L8.628,21.443C7.57,22.076 6.405,22.349 5.552,21.721C4.702,21.096 4.606,19.903 4.882,18.698L5.547,15.801L5.547,15.799C5.576,15.666 5.571,15.46 5.506,15.234C5.442,15.006 5.338,14.831 5.246,14.738L2.922,12.394C2.15,11.616 1.721,10.66 2.013,9.74C2.305,8.818 3.208,8.288 4.289,8.106L7.277,7.606L7.278,7.605C7.387,7.587 7.559,7.514 7.737,7.381C7.915,7.248 8.034,7.102 8.084,6.999L8.087,6.994L9.737,3.667L9.737,3.666C10.237,2.664 11.014,1.923 11.996,1.923Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M9.807,9.917C10.429,9.917 10.922,10.414 10.922,11.013C10.922,11.613 10.429,12.11 9.807,12.111C9.185,12.111 8.691,11.613 8.691,11.013C8.691,10.818 8.744,10.634 8.836,10.474L8.841,10.463C8.841,10.463 8.842,10.463 8.842,10.462C8.842,10.462 8.843,10.462 8.843,10.462C9.035,10.137 9.393,9.917 9.807,9.917Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M12.928,2.454C14.748,2.454 16.181,2.454 17.301,2.605C18.449,2.759 19.366,3.083 20.087,3.804C20.808,4.525 21.132,5.442 21.287,6.59C21.437,7.71 21.438,9.144 21.438,10.964V11.063C21.438,12.883 21.437,14.317 21.287,15.436C21.132,16.585 20.808,17.501 20.087,18.222C19.548,18.762 18.898,19.078 18.124,19.268C18.135,19.266 18.145,19.275 18.145,19.286V20.669C18.145,21.154 17.752,21.547 17.267,21.547C16.783,21.547 16.39,21.154 16.389,20.669V19.519C16.389,19.514 16.394,19.509 16.399,19.508C15.439,19.572 14.292,19.573 12.928,19.573H11.072C9.708,19.573 8.561,19.572 7.6,19.508C7.606,19.509 7.61,19.514 7.61,19.52V20.669C7.61,21.154 7.217,21.547 6.733,21.547C6.248,21.547 5.855,21.154 5.855,20.669V19.285C5.855,19.274 5.865,19.266 5.875,19.268C5.102,19.078 4.452,18.762 3.913,18.222C3.192,17.501 2.868,16.585 2.713,15.436C2.563,14.317 2.562,12.883 2.563,11.063V10.964C2.562,9.144 2.563,7.71 2.713,6.59C2.868,5.442 3.192,4.525 3.913,3.804C4.634,3.083 5.551,2.759 6.699,2.605C7.819,2.454 9.252,2.454 11.072,2.454H12.928ZM9.806,6.844C9.443,6.844 9.148,7.139 9.148,7.502V8.233C9.148,8.438 9.148,8.541 9.103,8.613C9.057,8.686 8.946,8.741 8.723,8.852C8.632,8.897 8.544,8.948 8.459,9.003C8.254,9.139 8.152,9.207 8.067,9.21C7.982,9.212 7.894,9.162 7.718,9.062L7.061,8.686C6.745,8.506 6.343,8.615 6.162,8.931C5.982,9.246 6.092,9.649 6.408,9.829L7.051,10.197C7.229,10.299 7.318,10.35 7.359,10.425C7.399,10.5 7.392,10.624 7.378,10.873C7.375,10.919 7.374,10.966 7.374,11.013C7.374,11.06 7.375,11.107 7.378,11.154C7.392,11.403 7.399,11.527 7.359,11.602C7.318,11.677 7.229,11.728 7.051,11.83L6.407,12.198C6.091,12.379 5.982,12.781 6.162,13.097C6.343,13.412 6.745,13.521 7.061,13.341L7.718,12.966C7.894,12.865 7.982,12.815 8.067,12.818C8.152,12.82 8.254,12.888 8.459,13.024C8.544,13.08 8.632,13.13 8.723,13.175C8.946,13.286 9.057,13.341 9.103,13.414C9.148,13.486 9.148,13.589 9.148,13.794V14.525C9.148,14.888 9.443,15.183 9.806,15.183C10.17,15.183 10.464,14.888 10.465,14.525V13.794C10.465,13.589 10.465,13.486 10.51,13.414C10.555,13.341 10.666,13.286 10.889,13.176C10.981,13.13 11.069,13.08 11.154,13.024C11.359,12.888 11.462,12.82 11.546,12.818C11.631,12.815 11.719,12.865 11.895,12.966L12.552,13.341C12.868,13.521 13.27,13.412 13.451,13.097C13.631,12.781 13.521,12.379 13.206,12.198L12.561,11.83C12.384,11.728 12.295,11.678 12.254,11.602C12.213,11.527 12.22,11.403 12.235,11.154C12.238,11.107 12.239,11.06 12.239,11.013C12.239,10.966 12.238,10.919 12.235,10.873C12.22,10.624 12.213,10.5 12.254,10.425C12.295,10.35 12.383,10.299 12.561,10.197L13.205,9.829C13.521,9.649 13.631,9.246 13.451,8.931C13.27,8.615 12.868,8.506 12.552,8.686L11.895,9.062C11.719,9.162 11.631,9.212 11.547,9.21C11.462,9.207 11.359,9.139 11.154,9.003C11.069,8.948 10.981,8.897 10.889,8.852C10.666,8.741 10.555,8.686 10.51,8.614C10.465,8.541 10.465,8.438 10.465,8.233V7.502C10.465,7.139 10.17,6.844 9.806,6.844ZM16.701,6.92C16.38,6.75 15.981,6.873 15.81,7.194C15.64,7.515 15.762,7.913 16.083,8.084C16.353,8.227 16.456,8.375 16.522,8.634C16.606,8.969 16.612,9.435 16.612,10.219V11.81C16.612,12.593 16.606,13.058 16.522,13.393C16.456,13.652 16.353,13.801 16.083,13.944C15.762,14.114 15.639,14.513 15.81,14.834C15.981,15.155 16.38,15.277 16.701,15.107C17.309,14.784 17.644,14.324 17.798,13.716C17.928,13.203 17.929,12.568 17.928,11.88V10.147C17.929,9.459 17.928,8.825 17.798,8.311C17.644,7.703 17.309,7.243 16.701,6.92Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M19.082,16.971C19.082,17.873 19.082,18.632 18.998,19.236C18.908,19.878 18.709,20.459 18.226,20.923C17.909,21.228 17.483,21.442 17.049,21.6C16.604,21.762 16.089,21.886 15.542,21.98C14.449,22.167 13.159,22.244 11.894,22.228C10.628,22.212 9.359,22.104 8.303,21.909C7.776,21.812 7.287,21.69 6.87,21.541C6.471,21.398 6.066,21.204 5.774,20.923C5.291,20.459 5.092,19.878 5.002,19.236C4.918,18.632 4.918,17.873 4.918,16.971L4.918,12.862C4.918,12.731 4.918,12.665 4.893,12.606C4.868,12.547 4.82,12.501 4.726,12.41L2.021,9.793C1.685,9.468 1.379,9.172 1.163,8.898C0.927,8.599 0.721,8.231 0.721,7.762C0.721,7.294 0.927,6.926 1.163,6.626C1.379,6.353 1.685,6.056 2.021,5.732L4.206,3.617C4.52,3.313 4.764,3.076 5.06,2.899C5.356,2.722 5.681,2.617 6.102,2.482L7.922,1.895C8.026,1.861 8.163,1.817 8.286,1.793C8.42,1.767 8.705,1.729 8.994,1.895C9.306,2.073 9.412,2.368 9.45,2.489C9.489,2.611 9.545,2.902 9.545,2.902C9.755,3.996 10.759,4.857 12,4.857C13.241,4.857 14.245,3.996 14.455,2.902C14.455,2.902 14.511,2.611 14.55,2.489C14.588,2.368 14.694,2.073 15.005,1.895C15.295,1.729 15.58,1.767 15.714,1.793C15.837,1.817 15.974,1.861 16.078,1.895L17.898,2.482C18.319,2.617 18.644,2.722 18.94,2.899C19.236,3.076 19.48,3.313 19.794,3.617L21.979,5.732C22.315,6.056 22.621,6.353 22.837,6.626C23.073,6.926 23.279,7.294 23.279,7.762C23.279,8.231 23.073,8.599 22.837,8.898C22.621,9.172 22.315,9.468 21.979,9.793L19.274,12.41C19.18,12.501 19.132,12.547 19.107,12.606C19.082,12.665 19.082,12.731 19.082,12.862V16.971Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12.24,1.567C15.292,1.567 17.795,3.916 18.041,6.905H19.244C19.721,6.905 20.157,6.905 20.505,6.956C20.888,7.012 21.296,7.146 21.6,7.517C21.9,7.884 21.957,8.309 21.946,8.696C21.935,9.053 21.862,9.491 21.781,9.977L20.597,17.038C20.41,18.153 20.258,19.055 20.05,19.761C19.834,20.493 19.534,21.101 18.993,21.57C18.449,22.041 17.809,22.245 17.062,22.34C16.347,22.432 15.454,22.432 14.356,22.432H9.643C8.546,22.432 7.652,22.432 6.938,22.34C6.191,22.245 5.551,22.041 5.007,21.57C4.466,21.101 4.165,20.494 3.949,19.761C3.74,19.055 3.59,18.153 3.403,17.038L2.219,9.977C2.137,9.491 2.064,9.053 2.054,8.696C2.043,8.31 2.099,7.884 2.399,7.517C2.703,7.146 3.112,7.012 3.495,6.956C3.843,6.905 4.278,6.905 4.756,6.905H6.439C6.686,3.916 9.188,1.567 12.24,1.567ZM12.24,3.508C10.261,3.508 8.628,4.99 8.39,6.905H16.091C15.852,4.99 14.22,3.508 12.24,3.508Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,23 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M17.997,16.469C18.151,16.538 18.16,16.73 18.179,17.114C18.228,18.148 17.938,19.073 17.551,19.818C17.213,20.469 16.801,20.989 16.476,21.344C16.357,21.494 16.071,21.817 15.885,21.917L15.883,21.918C15.693,22.072 15.434,22.113 15.205,22.026C14.976,21.938 14.811,21.735 14.772,21.493C14.671,20.873 14.421,20.243 14.094,19.644C13.958,19.395 13.89,19.27 13.921,19.162C13.952,19.053 14.072,18.986 14.311,18.85C15.46,18.198 16.468,17.512 17.347,16.801C17.677,16.533 17.843,16.4 17.997,16.469Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M5.515,14.201C5.712,13.926 6.08,13.835 6.382,13.986C7.812,14.701 9.216,16.105 9.931,17.535C10.082,17.837 9.991,18.205 9.715,18.402C9.46,18.657 8.707,18.938 8.363,19.046C7.579,19.287 6.461,19.408 5.391,18.752C5.298,18.696 5.221,18.618 5.165,18.525C4.509,17.455 4.63,16.337 4.871,15.554C4.982,15.08 5.347,14.454 5.515,14.201Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M13.488,3.141C16.261,2.112 18.795,2.538 20.317,3.289C20.452,3.356 20.562,3.467 20.628,3.602C21.38,5.124 21.807,7.657 20.778,10.43C19.743,13.218 17.267,16.173 12.346,18.594C12.158,18.686 11.937,18.688 11.748,18.598C11.558,18.508 11.42,18.336 11.372,18.132C11.265,17.669 10.667,16.195 9.195,14.724C7.724,13.252 6.251,12.653 5.787,12.545C5.583,12.498 5.411,12.36 5.321,12.171C5.231,11.981 5.233,11.761 5.325,11.573C7.745,6.652 10.701,4.176 13.488,3.141ZM17.096,6.823C16.201,5.928 14.749,5.928 13.854,6.823C12.959,7.718 12.959,9.17 13.854,10.065C14.749,10.959 16.201,10.96 17.096,10.065C17.99,9.17 17.99,7.718 17.096,6.823Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
<path
android:pathData="M6.803,5.738C7.188,5.757 7.38,5.766 7.449,5.92C7.518,6.074 7.384,6.24 7.116,6.571C6.405,7.45 5.719,8.458 5.068,9.607C4.932,9.846 4.864,9.965 4.755,9.996C4.647,10.027 4.522,9.959 4.273,9.823C3.674,9.496 3.044,9.246 2.424,9.145C2.182,9.106 1.979,8.941 1.892,8.712C1.805,8.483 1.845,8.225 1.999,8.035L2.001,8.032C2.101,7.846 2.424,7.56 2.574,7.441C2.929,7.116 3.448,6.704 4.099,6.366C4.844,5.979 5.769,5.689 6.803,5.738Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M17.21,14.547C17.314,14.609 17.443,14.682 17.589,14.764C18.229,15.125 19.196,15.67 19.858,16.319C20.273,16.724 20.667,17.259 20.738,17.914C20.814,18.61 20.51,19.263 19.901,19.844C18.85,20.846 17.588,21.648 15.956,21.648H8.042C6.41,21.648 5.148,20.846 4.097,19.844C3.487,19.263 3.183,18.61 3.26,17.914C3.331,17.259 3.725,16.724 4.139,16.319C4.802,15.67 5.769,15.125 6.409,14.764C6.554,14.682 6.683,14.609 6.788,14.547C9.978,12.647 14.02,12.647 17.21,14.547Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
<path
android:pathData="M7.287,7.064C7.287,4.462 9.397,2.352 11.999,2.352C14.601,2.352 16.711,4.462 16.711,7.064C16.711,9.666 14.601,11.776 11.999,11.776C9.397,11.776 7.287,9.666 7.287,7.064Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8" />
</vector>

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M14.494,1.99C15.265,1.922 16.606,1.805 17.503,2.899C18.162,3.702 18.316,4.803 18.31,5.724C18.308,6.208 18.261,6.691 18.191,7.138C18.149,7.404 18.128,7.537 18.185,7.627C18.243,7.716 18.377,7.754 18.644,7.829C19.247,8 19.769,8.262 20.174,8.699C20.693,9.259 20.913,9.958 21.016,10.784C21.115,11.585 21.115,12.604 21.115,13.874V15.86C21.115,17.163 21.115,18.219 20.993,19.05C20.865,19.92 20.59,20.644 19.968,21.213C19.352,21.775 18.635,21.989 17.791,22.039C16.994,22.086 15.951,21.984 14.746,21.867C12.302,21.628 9.562,21.209 6.946,20.502C5.517,20.117 4.333,19.798 3.608,18.846C3.222,18.339 3.046,17.787 2.963,17.146C2.885,16.539 2.885,15.802 2.885,14.908V6.297C2.885,5.157 3.603,4.066 4.789,3.714C6.614,3.172 9.938,2.377 14.494,1.99ZM16.207,12.935C15.174,12.935 14.337,13.772 14.337,14.805C14.337,15.837 15.175,16.674 16.207,16.674C17.24,16.674 18.077,15.837 18.077,14.805C18.077,13.772 17.24,12.935 16.207,12.935ZM15.592,3.727C15.327,3.685 15.012,3.706 14.563,3.744C10.148,4.119 7.042,4.879 5.323,5.389C5.247,5.412 5.172,5.447 5.103,5.494C4.943,5.603 4.864,5.657 4.899,5.838C4.934,6.019 5.069,6.05 5.341,6.109C7.538,6.589 10.917,7.104 14.857,7.377C15.183,7.4 15.497,7.422 15.795,7.444C16.03,7.462 16.148,7.471 16.233,7.404C16.319,7.337 16.338,7.226 16.376,7.004C16.446,6.596 16.493,6.15 16.496,5.714C16.5,4.908 16.347,4.311 16.082,3.988C15.956,3.834 15.813,3.762 15.592,3.727Z"
android:fillColor="#ffffff"
android:fillAlpha="0.8"
android:fillType="evenOdd" />
</vector>

View file

@ -0,0 +1,148 @@
package com.tangem.domain.models.account
import com.tangem.domain.models.account.CryptoPortfolioIcon.Companion.ofCustomAccount
import com.tangem.domain.models.account.CryptoPortfolioIcon.Companion.ofMainAccount
import kotlinx.serialization.Serializable
/**
* Represents an icon for an [Account.CryptoPortfolio] account
*
* @property type the type of the account icon
* @property color the color of the account icon
*
* @constructor [ofMainAccount], [ofCustomAccount]
*
[REDACTED_AUTHOR]
*/
@Serializable
data class CryptoPortfolioIcon private constructor(
val type: Type,
val color: Color,
) {
/**
* Represents the type of an account icon. Can either be a specific [Icon] or a [Symbol]
*/
@Serializable
sealed interface Type {
/**
* Represents a specific predefined icon type
*
* @property value the predefined [Icon] of the icon
*/
@Serializable
data class Icon(val value: CryptoPortfolioIcon.Icon) : Type
/**
* Represents an icon with a letter
*
* @property value the letter used as the icon
*/
@Serializable
data class Symbol(val value: Char) : Type
}
/**
* Enum class representing the icons of accounts
*/
@Serializable
enum class Icon {
Letter,
Star,
User,
Family,
Wallet,
Money,
Home,
Safe,
Beach,
AirplaneMode,
Shirt,
ShoppingBasket,
Favourite,
Bookmark,
StartUp,
Clock,
Package,
Gift,
;
}
/**
* Enum class representing the colors of account icons
*/
@Serializable
enum class Color {
Azure,
CaribbeanBlue,
DullLavender,
CandyGrapeFizz,
SweetDesire,
PalatinateBlue,
FuchsiaNebula,
Pelati,
Pattypan,
UFOGreen,
SweetHoney,
;
}
companion object {
private val defaultMainAccountType: Icon = Icon.Star
private val defaultMainAccountColor: Color = Color.Azure
/**
* Creates an [CryptoPortfolioIcon] for the Main account, ensuring the color is not in the excluded set.
*
* @param exclude excluded colors that are already used for main accounts
*/
fun ofMainAccount(exclude: Set<Color>): CryptoPortfolioIcon {
val isDefaultColorBusy = defaultMainAccountColor in exclude
val color = if (isDefaultColorBusy) {
val colorsWithExcluded = Color.entries - exclude
val availableColors = if (colorsWithExcluded.isNotEmpty()) {
colorsWithExcluded
} else {
Color.entries
}
availableColors.random()
} else {
defaultMainAccountColor
}
return CryptoPortfolioIcon(
type = Type.Icon(value = defaultMainAccountType),
color = color,
)
}
/**
* Creates an [CryptoPortfolioIcon] for a user account based on the account name
*
* @param accountName the name of the account, used to determine the letter for the icon
*/
fun ofCustomAccount(accountName: String): CryptoPortfolioIcon {
val color = Color.entries.random()
return CryptoPortfolioIcon(
type = Type.Symbol(value = accountName.first()),
color = color,
)
}
/**
* Creates a [CryptoPortfolioIcon] for a user account with a specific type and color
*
* @param type the type of the account icon
* @param color the color of the account icon
*/
fun ofCustomAccount(type: Type, color: Color): CryptoPortfolioIcon {
return CryptoPortfolioIcon(type = type, color = color)
}
}
}