Skip to content

Commit 5f1e908

Browse files
feat(icons): new icons for the Portfolio page (#561)
# Motivation Three new icons for the nns-dapp portfolio page: - `UserLogin` icon - `HeldTokens` icon - `StakedTokens` icon # Changes - Exported icons from [figma](https://www.figma.com/design/3P3MBRLwECLuxN5b5iuWiA/NNS-Portfolio-Overview?node-id=111-77539&t=deMCSzrYqw1lOvRL-0) - Minimize them through [svgomg](https://svgomg.net/) # Screenshots ![Screenshot 2025-01-20 at 07 07 07](https://github.com/user-attachments/assets/0caab737-69fd-4d8c-9848-d8f62a5ba421) ![Screenshot 2025-01-20 at 07 07 21](https://github.com/user-attachments/assets/291d6516-ab99-431a-aff6-a61095b02462) ![Screenshot 2025-01-20 at 07 07 30](https://github.com/user-attachments/assets/a12a5f2d-bd79-4795-b613-4e2be919cd59) --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 4fb5ff7 commit 5f1e908

File tree

4 files changed

+359
-0
lines changed

4 files changed

+359
-0
lines changed

src/lib/icons.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export { default as IconExpandMore } from "./icons/IconExpandMore.svelte";
2929
export { default as IconExplore } from "./icons/IconExplore.svelte";
3030
export { default as IconFilter } from "./icons/IconFilter.svelte";
3131
export { default as IconGitHub } from "./icons/IconGitHub.svelte";
32+
export { default as IconHeldTokens } from "./icons/IconHeldTokens.svelte";
3233
export { default as IconHistoryToggleOff } from "./icons/IconHistoryToggleOff.svelte";
3334
export { default as IconHome } from "./icons/IconHome.svelte";
3435
export { default as IconInfo } from "./icons/IconInfo.svelte";
@@ -65,13 +66,15 @@ export { default as IconSort } from "./icons/IconSort.svelte";
6566
export { default as IconSouth } from "./icons/IconSouth.svelte";
6667
export { default as IconStackedLineChart } from "./icons/IconStackedLineChart.svelte";
6768
export { default as IconStakedMaturity } from "./icons/IconStakedMaturity.svelte";
69+
export { default as IconStakedTokens } from "./icons/IconStakedTokens.svelte";
6870
export { default as IconSubdirectory } from "./icons/IconSubdirectory.svelte";
6971
export { default as IconSync } from "./icons/IconSync.svelte";
7072
export { default as IconThumbDown } from "./icons/IconThumbDown.svelte";
7173
export { default as IconThumbUp } from "./icons/IconThumbUp.svelte";
7274
export { default as IconTokens } from "./icons/IconTokens.svelte";
7375
export { default as IconUp } from "./icons/IconUp.svelte";
7476
export { default as IconUser } from "./icons/IconUser.svelte";
77+
export { default as IconUserLogin } from "./icons/IconUserLogin.svelte";
7578
export { default as IconUsers } from "./icons/IconUsers.svelte";
7679
export { default as IconVote } from "./icons/IconVote.svelte";
7780
export { default as IconWallet } from "./icons/IconWallet.svelte";
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
<!-- source: DFINITY foundation -->
2+
<script lang="ts">
3+
// Default to 100% size to make sure Safari renders the SVG correctly
4+
export let size = "100%";
5+
</script>
6+
7+
<svg
8+
xmlns="http://www.w3.org/2000/svg"
9+
fill="none"
10+
width={size}
11+
height={size}
12+
viewBox="0 0 144 144"
13+
><rect
14+
width="106.783"
15+
height="106.783"
16+
x="39.088"
17+
y="19.826"
18+
fill="#436FF5"
19+
opacity=".2"
20+
rx="18.068"
21+
transform="rotate(7 39.088 19.826)"
22+
/><path
23+
fill="url(#a)"
24+
d="M43.97 42.033C19.51 48.766 5.142 74.05 11.875 98.51c6.733 24.458 32.018 38.828 56.477 32.095 24.458-6.733 38.828-32.018 32.095-56.477C93.714 49.669 68.428 35.3 43.97 42.033Z"
25+
/><path
26+
fill="url(#b)"
27+
d="M62.804 129.811c25.477-3.854 43.006-27.632 39.152-53.11-3.854-25.477-27.632-43.006-53.109-39.152C23.37 41.403 5.841 65.181 9.695 90.66c3.854 25.477 27.631 43.006 53.109 39.152Z"
28+
/><path
29+
fill="url(#c)"
30+
d="M61.982 124.383c20.981-3.174 35.417-22.756 32.243-43.737C91.052 59.665 71.47 45.23 50.49 48.403 29.507 51.577 15.072 71.159 18.245 92.14c3.174 20.981 22.756 35.417 43.737 32.243Z"
31+
opacity=".2"
32+
/><path
33+
fill="url(#d)"
34+
d="M61.572 121.67c20.98-3.174 35.417-22.756 32.243-43.737C90.64 56.952 71.059 42.516 50.078 45.69 29.097 48.864 14.66 68.445 17.835 89.427c3.174 20.981 22.755 35.417 43.737 32.243Z"
35+
/><g filter="url(#e)"
36+
><path
37+
fill="url(#f)"
38+
fill-rule="evenodd"
39+
d="M73.268 91.222c-3.595.326-7.605-1.68-9.623-3.218-2.206-1.682-8.355-7.247-8.382-7.273-4.043-3.765-9.392-7.865-14.317-7.419-5.932.537-10.733 5.113-11.587 10.678.071-.368 1.505-5.524 8.584-6.165a8.587 8.587 0 0 1 .002 0c-7.077.64-8.512 5.794-8.583 6.164-.146.948-.18 1.925-.09 2.917.62 6.858 6.783 11.925 13.837 11.286 2.94-.266 6.098-2.072 9.221-5.352 1.477-1.55 2.73-3.178 3.665-4.481 4.037 3.753 9.364 7.82 14.27 7.375 5.926-.536 10.724-5.103 11.585-10.66 0-.006.002-.011.003-.016.145-.948.18-1.925.09-2.918-.62-6.858-6.873-11.917-13.928-11.278-2.94.266-6.007 2.064-9.13 5.344-1.477 1.55-2.732 3.18-3.666 4.483l.044.041c.014.014 1.785 1.616 3.766 3.36.872-1.248 2.137-2.956 3.627-4.52 2.777-2.917 4.687-3.649 5.808-3.75 4.23-.383 7.984 2.66 8.358 6.783.37 4.1-2.772 7.765-7.004 8.174a3.24 3.24 0 0 1-.57-.005c1.316.373 2.696.57 4.02.45ZM41.397 78.27c.153-.014.34-.015.57.005 2.257.64 4.325 1.797 5.6 2.768 1.025.782 2.9 2.401 4.618 3.914-.871 1.248-2.136 2.956-3.626 4.52-2.777 2.917-4.687 3.649-5.808 3.75-4.23.383-7.985-2.66-8.358-6.783-.373-4.123 2.772-7.765 7.004-8.174Z"
40+
clip-rule="evenodd"
41+
/></g
42+
><path
43+
fill="url(#g)"
44+
fill-rule="evenodd"
45+
d="M73.268 90.236c-3.596.326-7.605-1.68-9.624-3.219-2.206-1.681-8.355-7.247-8.382-7.272-4.042-3.765-9.391-7.865-14.316-7.42-5.932.538-10.734 5.114-11.587 10.678.07-.367 1.504-5.524 8.584-6.164a8.587 8.587 0 0 1 .002 0c-7.077.64-8.513 5.794-8.584 6.163-.145.948-.18 1.926-.09 2.918.621 6.858 6.783 11.925 13.837 11.286 2.941-.266 6.099-2.072 9.222-5.352 1.476-1.55 2.73-3.178 3.665-4.481 4.037 3.752 9.364 7.82 14.27 7.375 5.926-.536 10.723-5.104 11.584-10.66a12.046 12.046 0 0 0 .093-2.933c-.62-6.86-6.873-11.918-13.927-11.28-2.941.267-6.007 2.064-9.13 5.344-1.477 1.551-2.732 3.18-3.667 4.484l.044.04c.014.014 1.786 1.617 3.766 3.36.872-1.247 2.137-2.955 3.628-4.52 2.776-2.916 4.687-3.648 5.808-3.75 4.23-.382 7.984 2.66 8.357 6.784.371 4.1-2.772 7.764-7.004 8.173-.153.014-.34.015-.57-.004 1.316.373 2.696.57 4.02.45ZM41.396 77.284c.154-.014.34-.015.57.004 2.257.64 4.326 1.798 5.6 2.77 1.025.78 2.901 2.4 4.619 3.913-.872 1.248-2.137 2.955-3.627 4.52-2.776 2.917-4.687 3.648-5.808 3.75-4.23.383-7.984-2.66-8.357-6.783-.374-4.124 2.772-7.765 7.003-8.174Z"
46+
clip-rule="evenodd"
47+
/><defs
48+
><linearGradient
49+
id="a"
50+
x1="-26.846"
51+
x2="115.774"
52+
y1="31.097"
53+
y2="124.305"
54+
gradientUnits="userSpaceOnUse"
55+
><stop stop-color="#AFC3FF" stop-opacity=".7" /><stop
56+
offset="1"
57+
stop-color="#1851FF"
58+
/></linearGradient
59+
><linearGradient
60+
id="b"
61+
x1="-35.904"
62+
x2="121.449"
63+
y1="40.842"
64+
y2="112.765"
65+
gradientUnits="userSpaceOnUse"
66+
><stop stop-color="#AFC3FF" stop-opacity="0" /><stop
67+
offset="1"
68+
stop-color="#1851FF"
69+
/></linearGradient
70+
><linearGradient
71+
id="c"
72+
x1="72.845"
73+
x2="105.666"
74+
y1="44.966"
75+
y2="136.02"
76+
gradientUnits="userSpaceOnUse"
77+
><stop stop-color="#F9FFFC" /><stop
78+
offset="1"
79+
stop-color="#F7FBFF"
80+
/></linearGradient
81+
><linearGradient
82+
id="d"
83+
x1="7.379"
84+
x2="102.038"
85+
y1="20.309"
86+
y2="31.019"
87+
gradientUnits="userSpaceOnUse"
88+
><stop stop-color="#C4D3FF" /><stop
89+
offset="1"
90+
stop-color="#003FFF"
91+
/></linearGradient
92+
><linearGradient
93+
id="f"
94+
x1="67.172"
95+
x2="79.871"
96+
y1="66.713"
97+
y2="101.548"
98+
gradientUnits="userSpaceOnUse"
99+
><stop stop-color="#F9FFFC" /><stop
100+
offset="1"
101+
stop-color="#F7FBFF"
102+
/></linearGradient
103+
><linearGradient
104+
id="g"
105+
x1="34.393"
106+
x2="64.63"
107+
y1="85.033"
108+
y2="111.491"
109+
gradientUnits="userSpaceOnUse"
110+
><stop stop-color="#F9FAFF" /><stop
111+
offset="1"
112+
stop-color="#D9E2FD"
113+
/></linearGradient
114+
><filter
115+
id="e"
116+
width="61.09"
117+
height="35.76"
118+
x="25.063"
119+
y="66.647"
120+
color-interpolation-filters="sRGB"
121+
filterUnits="userSpaceOnUse"
122+
><feFlood flood-opacity="0" result="BackgroundImageFix" /><feGaussianBlur
123+
in="BackgroundImageFix"
124+
stdDeviation="2.08"
125+
/><feComposite
126+
in2="SourceAlpha"
127+
operator="in"
128+
result="effect1_backgroundBlur_232_3178"
129+
/><feBlend
130+
in="SourceGraphic"
131+
in2="effect1_backgroundBlur_232_3178"
132+
result="shape"
133+
/></filter
134+
></defs
135+
></svg
136+
>
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<!-- source: DFINITY foundation -->
2+
<script lang="ts">
3+
// Default to 100% size to make sure Safari renders the SVG correctly
4+
export let size = "100%";
5+
</script>
6+
7+
<svg
8+
xmlns="http://www.w3.org/2000/svg"
9+
width={size}
10+
height={size}
11+
fill="none"
12+
viewBox="0 0 154 150"
13+
><rect
14+
width="102.698"
15+
height="102.698"
16+
x="47.354"
17+
y="12.067"
18+
fill="#436FF5"
19+
opacity=".2"
20+
rx="18.071"
21+
transform="rotate(7 47.354 12.067)"
22+
/><path
23+
stroke="url(#paint0_linear_750_282)"
24+
stroke-width="5"
25+
d="m55.5 94-19 17.5"
26+
/><path
27+
fill="url(#paint1_linear_750_282)"
28+
d="M100 126c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z"
29+
/><path
30+
fill="url(#paint2_linear_750_282)"
31+
d="M89.983 109.487a2.5 2.5 0 1 0 3.034-3.974l-3.034 3.974Zm-19-14.5 19 14.5 3.034-3.974-19-14.5-3.034 3.974Z"
32+
/><path
33+
fill="url(#paint3_linear_750_282)"
34+
d="M64 98c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z"
35+
/><path
36+
fill="url(#paint4_linear_750_282)"
37+
d="M73.187 80.636a2.5 2.5 0 1 0 1.626 4.728l-1.626-4.728Zm1.626 4.728 16-5.5-1.626-4.728-16 5.5 1.626 4.728Z"
38+
/><path
39+
fill="url(#paint5_linear_750_282)"
40+
d="M100 86c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z"
41+
/><path
42+
fill="url(#paint6_linear_750_282)"
43+
d="M28 130c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z"
44+
/><path
45+
stroke="url(#paint7_linear_750_282)"
46+
stroke-linecap="round"
47+
stroke-linejoin="round"
48+
stroke-width="5"
49+
d="M51.5 57.5 60 76"
50+
/><path
51+
fill="url(#paint8_linear_750_282)"
52+
d="M48 62c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12Z"
53+
/><defs
54+
><linearGradient
55+
id="paint0_linear_750_282"
56+
x1="43"
57+
x2="48.5"
58+
y1="100"
59+
y2="105.5"
60+
gradientUnits="userSpaceOnUse"
61+
><stop stop-color="#C4D3FF" /><stop
62+
offset="1"
63+
stop-color="#003FFF"
64+
/></linearGradient
65+
><linearGradient
66+
id="paint1_linear_750_282"
67+
x1="90"
68+
x2="107"
69+
y1="102"
70+
y2="125.5"
71+
gradientUnits="userSpaceOnUse"
72+
><stop stop-color="#C4D3FF" /><stop
73+
offset="1"
74+
stop-color="#003FFF"
75+
/></linearGradient
76+
><linearGradient
77+
id="paint2_linear_750_282"
78+
x1="78.5"
79+
x2="70.5"
80+
y1="90"
81+
y2="100"
82+
gradientUnits="userSpaceOnUse"
83+
><stop stop-color="#C4D3FF" /><stop
84+
offset="1"
85+
stop-color="#003FFF"
86+
/></linearGradient
87+
><linearGradient
88+
id="paint3_linear_750_282"
89+
x1="53.5"
90+
x2="71.5"
91+
y1="75.5"
92+
y2="98"
93+
gradientUnits="userSpaceOnUse"
94+
><stop stop-color="#C4D3FF" /><stop
95+
offset="1"
96+
stop-color="#003FFF"
97+
/></linearGradient
98+
><linearGradient
99+
id="paint4_linear_750_282"
100+
x1="76.5"
101+
x2="79"
102+
y1="78"
103+
y2="84.5"
104+
gradientUnits="userSpaceOnUse"
105+
><stop stop-color="#C4D3FF" /><stop
106+
offset="1"
107+
stop-color="#003FFF"
108+
/></linearGradient
109+
><linearGradient
110+
id="paint5_linear_750_282"
111+
x1="92.5"
112+
x2="112"
113+
y1="58"
114+
y2="88.5"
115+
gradientUnits="userSpaceOnUse"
116+
><stop stop-color="#C4D3FF" /><stop
117+
offset="1"
118+
stop-color="#003FFF"
119+
/></linearGradient
120+
><linearGradient
121+
id="paint6_linear_750_282"
122+
x1="19.5"
123+
x2="37"
124+
y1="106"
125+
y2="130"
126+
gradientUnits="userSpaceOnUse"
127+
><stop stop-color="#C4D3FF" /><stop
128+
offset="1"
129+
stop-color="#003FFF"
130+
/></linearGradient
131+
><linearGradient
132+
id="paint7_linear_750_282"
133+
x1="46.5"
134+
x2="63"
135+
y1="67"
136+
y2="61"
137+
gradientUnits="userSpaceOnUse"
138+
><stop stop-color="#C4D3FF" /><stop
139+
offset="1"
140+
stop-color="#003FFF"
141+
/></linearGradient
142+
><linearGradient
143+
id="paint8_linear_750_282"
144+
x1="38"
145+
x2="61.5"
146+
y1="36.5"
147+
y2="68"
148+
gradientUnits="userSpaceOnUse"
149+
><stop stop-color="#C4D3FF" /><stop
150+
offset="1"
151+
stop-color="#003FFF"
152+
/></linearGradient
153+
></defs
154+
></svg
155+
>

src/lib/icons/IconUserLogin.svelte

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!-- source: DFINITY foundation -->
2+
<script lang="ts">
3+
// Default to 100% size to make sure Safari renders the SVG correctly
4+
export let size = "100%";
5+
</script>
6+
7+
<svg
8+
xmlns="http://www.w3.org/2000/svg"
9+
width={size}
10+
height={size}
11+
fill="none"
12+
viewBox="0 0 144 144"
13+
>
14+
<rect
15+
width="102.264"
16+
height="102.264"
17+
fill="#436FF5"
18+
opacity=".2"
19+
rx="18.06"
20+
transform="rotate(7 -89.042 288.23)"
21+
/><path
22+
fill="url(#paint0_linear_748_151)"
23+
stroke="url(#paint1_linear_748_151)"
24+
stroke-width="5"
25+
d="M40.043 27.767c-11.68 1.49-19.74 12.752-18.396 24.86C22.994 64.76 33.343 73.73 45.062 72.233c11.679-1.49 19.74-12.752 18.395-24.86C62.11 35.24 51.761 26.27 40.043 27.767Z"
26+
/><path
27+
fill="url(#paint2_linear_748_151)"
28+
d="M61 82H27C15 82 9 89 9 99v17c0 12 17 18 35 18s33-6.5 33-18V99c0-10-6-17-16-17Z"
29+
/><defs
30+
><linearGradient
31+
id="paint0_linear_748_151"
32+
x1="24"
33+
x2="68.813"
34+
y1="13.804"
35+
y2="25.046"
36+
gradientUnits="userSpaceOnUse"
37+
><stop stop-color="#C4D3FF" /><stop
38+
offset="1"
39+
stop-color="#003FFF"
40+
/></linearGradient
41+
><linearGradient
42+
id="paint1_linear_748_151"
43+
x1="8.982"
44+
x2="74.099"
45+
y1="9.737"
46+
y2="75.778"
47+
gradientUnits="userSpaceOnUse"
48+
><stop stop-color="#AFC3FF" stop-opacity="0" /><stop
49+
offset="1"
50+
stop-color="#1851FF"
51+
/></linearGradient
52+
><linearGradient
53+
id="paint2_linear_748_151"
54+
x1="9"
55+
x2="73.5"
56+
y1="78"
57+
y2="140"
58+
gradientUnits="userSpaceOnUse"
59+
><stop stop-color="#C4D3FF" /><stop
60+
offset="1"
61+
stop-color="#003FFF"
62+
/></linearGradient
63+
></defs
64+
></svg
65+
>

0 commit comments

Comments
 (0)