Skip to content

Commit b004a07

Browse files
committed
[NEB-76] Dashboard: Add Nebula service in chainlist, Update all product icons, links (#6158)
<!-- ## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes" If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000): ## Notes for the reviewer Anything important to call out? Be sure to also clarify these in your comments. ## How to test Unit tests, playground, etc. --> <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces a new `Nebula` product to the application, updates several links to point directly to the `thirdweb` site, and refines various UI components for better styling and functionality. ### Detailed summary - Added `nebula` to the `products` array in `chain.ts`. - Updated links in `products` to `thirdweb.com` for several items. - Added `className` to `<TableHeader>` for styling. - Refined styling and classes in several components, including `<Star>` and `<ProductIcon>`. - Removed unused functions related to link generation. - Updated SVG icons to improve accessibility and presentation. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->
1 parent 2396b4e commit b004a07

File tree

14 files changed

+131
-546
lines changed

14 files changed

+131
-546
lines changed

apps/dashboard/src/app/(dashboard)/(chain)/chainlist/components/server/chain-table.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ export async function ChainsData(props: {
166166
) : props.activeView === "table" ? (
167167
<TableContainer>
168168
<Table>
169-
<TableHeader>
169+
<TableHeader className="z-0">
170170
<TableRow>
171171
<TableHead>Name</TableHead>
172172
<TableHead>Chain ID</TableHead>

apps/dashboard/src/app/(dashboard)/(chain)/chainlist/components/server/chainlist-row.tsx

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ export async function ChainListRow({
8383

8484
<TableCell>
8585
<div className="flex w-[520px] flex-row items-center gap-14 ">
86-
<div className="z-10 flex items-center gap-7">
86+
<div className="z-10 flex items-center gap-4">
8787
{products.map((p) => {
8888
return (
8989
<ProductIcon
9090
key={p.name}
9191
icon={p.icon}
9292
label={p.name}
93-
href={pidToHref(p.id)}
93+
href={p.link}
9494
isEnabled={enabledServices.includes(p.id)}
9595
/>
9696
);
@@ -102,32 +102,6 @@ export async function ChainListRow({
102102
);
103103
}
104104

105-
function pidToHref(pid: (typeof products)[number]["id"]) {
106-
switch (pid) {
107-
case "account-abstraction": {
108-
return "https://portal.thirdweb.com/connect/account-abstraction/overview";
109-
}
110-
case "contracts": {
111-
return "https://portal.thirdweb.com/contracts";
112-
}
113-
case "connect-sdk": {
114-
return "https://portal.thirdweb.com/connect";
115-
}
116-
case "engine": {
117-
return "https://portal.thirdweb.com/engine";
118-
}
119-
case "pay": {
120-
return "https://portal.thirdweb.com/connect/pay/overview";
121-
}
122-
case "rpc-edge": {
123-
return "https://portal.thirdweb.com/infrastructure/rpc-edge/overview";
124-
}
125-
case "insight": {
126-
return "https://portal.thirdweb.com/insight";
127-
}
128-
}
129-
}
130-
131105
function ProductIcon(props: {
132106
icon: React.FC<{ className?: string }>;
133107
label: string;
@@ -148,8 +122,15 @@ function ProductIcon(props: {
148122
<Link
149123
href={props.href}
150124
target={props.href.startsWith("http") ? "_blank" : undefined}
125+
className="group rounded-lg p-2 hover:bg-accent"
151126
>
152-
<props.icon className={cn("size-8", !props.isEnabled && "grayscale")} />
127+
<props.icon
128+
className={cn(
129+
"size-6 text-foreground group-hover:text-link-foreground",
130+
!props.isEnabled &&
131+
"text-muted-foreground opacity-50 group-hover:opacity-100",
132+
)}
133+
/>
153134
</Link>
154135
</ToolTipLabel>
155136
);

apps/dashboard/src/app/(dashboard)/(chain)/components/client/star-button.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,8 @@ export function StarButton(props: {
106106
) : (
107107
<Star
108108
className={cn(
109-
"size-6 transition-all",
109+
"size-6 text-foreground transition-all",
110110
props.iconClassName,
111-
isPreferred ? "text-yellow-400" : "text-foreground",
112111
)}
113112
fill={isPreferred ? "currentColor" : "none"}
114113
strokeWidth="1px"

apps/dashboard/src/app/(dashboard)/(chain)/components/server/icons/ConnectSDKIcon.tsx

Lines changed: 4 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -7,85 +7,15 @@ export function ConnectSDKIcon(props: { className?: string }) {
77
fill="none"
88
xmlns="http://www.w3.org/2000/svg"
99
className={props.className}
10+
role="presentation"
1011
>
11-
<title>Connect SDK</title>
12-
<rect
13-
x="3"
14-
y="17.9988"
15-
width="14.9988"
16-
height="10.6499"
17-
rx="2"
18-
transform="rotate(-90 3 17.9988)"
19-
fill="url(#paint0_linear_195_4047)"
20-
/>
21-
<g filter="url(#filter0_bi_195_4047)">
22-
<path
23-
d="M3 9C3 7.89543 3.89543 7 5 7H19C20.1046 7 21 7.89543 21 9V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V9Z"
24-
fill="#B9DDFF"
25-
fillOpacity="0.8"
26-
/>
27-
</g>
2812
<path
29-
d="M18.3004 12.6995V12.6995C17.5822 13.4177 17.5822 14.5822 18.3004 15.3004V15.3004"
30-
stroke="white"
31-
strokeWidth="1.5"
13+
d="M16 8.00007V4.50073C16 3.66899 16 3.25312 15.8248 2.99755C15.6717 2.77425 15.4346 2.62257 15.1678 2.57715C14.8623 2.52517 14.4847 2.69944 13.7295 3.04799L4.85901 7.14206C4.18551 7.45291 3.84875 7.60834 3.60211 7.84939C3.38406 8.06249 3.21762 8.32262 3.1155 8.6099C3 8.93486 3 9.30575 3 10.0475V15.0001M16.5 14.5001H16.51M3 11.2001L3 17.8001C3 18.9202 3 19.4802 3.21799 19.9081C3.40973 20.2844 3.71569 20.5903 4.09202 20.7821C4.51984 21.0001 5.07989 21.0001 6.2 21.0001H17.8C18.9201 21.0001 19.4802 21.0001 19.908 20.7821C20.2843 20.5903 20.5903 20.2844 20.782 19.9081C21 19.4802 21 18.9202 21 17.8001V11.2001C21 10.08 21 9.51992 20.782 9.09209C20.5903 8.71577 20.2843 8.40981 19.908 8.21806C19.4802 8.00007 18.9201 8.00007 17.8 8.00007L6.2 8.00007C5.0799 8.00007 4.51984 8.00007 4.09202 8.21806C3.7157 8.40981 3.40973 8.71577 3.21799 9.09209C3 9.51991 3 10.08 3 11.2001ZM17 14.5001C17 14.7762 16.7761 15.0001 16.5 15.0001C16.2239 15.0001 16 14.7762 16 14.5001C16 14.2239 16.2239 14.0001 16.5 14.0001C16.7761 14.0001 17 14.2239 17 14.5001Z"
14+
stroke="currentColor"
15+
strokeWidth="2"
3216
strokeLinecap="round"
3317
strokeLinejoin="round"
3418
/>
35-
<defs>
36-
<filter
37-
id="filter0_bi_195_4047"
38-
x="1"
39-
y="5"
40-
width="22"
41-
height="18"
42-
filterUnits="userSpaceOnUse"
43-
colorInterpolationFilters="sRGB"
44-
>
45-
<feFlood floodOpacity="0" result="BackgroundImageFix" />
46-
<feGaussianBlur in="BackgroundImageFix" stdDeviation="1" />
47-
<feComposite
48-
in2="SourceAlpha"
49-
operator="in"
50-
result="effect1_backgroundBlur_195_4047"
51-
/>
52-
<feBlend
53-
mode="normal"
54-
in="SourceGraphic"
55-
in2="effect1_backgroundBlur_195_4047"
56-
result="shape"
57-
/>
58-
<feColorMatrix
59-
in="SourceAlpha"
60-
type="matrix"
61-
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
62-
result="hardAlpha"
63-
/>
64-
<feOffset dy="0.2" />
65-
<feGaussianBlur stdDeviation="0.05" />
66-
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
67-
<feColorMatrix
68-
type="matrix"
69-
values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"
70-
/>
71-
<feBlend
72-
mode="normal"
73-
in2="shape"
74-
result="effect2_innerShadow_195_4047"
75-
/>
76-
</filter>
77-
<linearGradient
78-
id="paint0_linear_195_4047"
79-
x1="15.026"
80-
y1="22.4602"
81-
x2="3.73188"
82-
y2="27.2831"
83-
gradientUnits="userSpaceOnUse"
84-
>
85-
<stop stopColor="#2567FF" />
86-
<stop offset="1" stopColor="#22A7FF" />
87-
</linearGradient>
88-
</defs>
8919
</svg>
9020
);
9121
}
Lines changed: 9 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,21 @@
11
export function ContractIcon(props: { className?: string }) {
22
return (
33
<svg
4-
className={props.className}
54
width="24"
65
height="24"
76
viewBox="0 0 24 24"
87
fill="none"
98
xmlns="http://www.w3.org/2000/svg"
9+
className={props.className}
10+
role="presentation"
1011
>
11-
<title>Contract</title>
12-
<g>
13-
<rect
14-
x="3"
15-
y="21"
16-
width="14.9988"
17-
height="10.6499"
18-
rx="1.5"
19-
transform="rotate(-90 3 21)"
20-
fill="url(#paint0_linear_281_45147)"
21-
/>
22-
<g filter="url(#filter0_bi_281_45147)">
23-
<path
24-
d="M7.39429 4.5C7.39429 3.67157 8.06586 3 8.89429 3H19.5C20.3285 3 21 3.67157 21 4.5V19.5C21 20.3284 20.3285 21 19.5 21H8.89429C8.06586 21 7.39429 20.3284 7.39429 19.5V4.5Z"
25-
fill="#EBA4D2"
26-
fillOpacity="0.8"
27-
/>
28-
</g>
29-
<path
30-
d="M11.1971 7L17.1971 7.0001"
31-
stroke="white"
32-
strokeWidth="1.5"
33-
strokeLinecap="round"
34-
/>
35-
<path
36-
d="M11.1971 10L14.1971 10.0001"
37-
stroke="white"
38-
strokeWidth="1.5"
39-
strokeLinecap="round"
40-
/>
41-
</g>
42-
<defs>
43-
<filter
44-
id="filter0_bi_281_45147"
45-
x="5.39429"
46-
y="1"
47-
width="17.6057"
48-
height="22"
49-
filterUnits="userSpaceOnUse"
50-
colorInterpolationFilters="sRGB"
51-
>
52-
<feFlood floodOpacity="0" result="BackgroundImageFix" />
53-
<feGaussianBlur in="BackgroundImageFix" stdDeviation="1" />
54-
<feComposite
55-
in2="SourceAlpha"
56-
operator="in"
57-
result="effect1_backgroundBlur_281_45147"
58-
/>
59-
<feBlend
60-
mode="normal"
61-
in="SourceGraphic"
62-
in2="effect1_backgroundBlur_281_45147"
63-
result="shape"
64-
/>
65-
<feColorMatrix
66-
in="SourceAlpha"
67-
type="matrix"
68-
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
69-
result="hardAlpha"
70-
/>
71-
<feOffset dy="0.2" />
72-
<feGaussianBlur stdDeviation="0.05" />
73-
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
74-
<feColorMatrix
75-
type="matrix"
76-
values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"
77-
/>
78-
<feBlend
79-
mode="normal"
80-
in2="shape"
81-
result="effect2_innerShadow_281_45147"
82-
/>
83-
</filter>
84-
<linearGradient
85-
id="paint0_linear_281_45147"
86-
x1="-2.77663"
87-
y1="30.016"
88-
x2="10.9305"
89-
y2="13.6496"
90-
gradientUnits="userSpaceOnUse"
91-
>
92-
<stop stopColor="#F4009F" />
93-
<stop offset="1" stopColor="#F856C8" />
94-
</linearGradient>
95-
</defs>
12+
<path
13+
d="M14 11H8M10 15H8M16 7H8M20 6.8V17.2C20 18.8802 20 19.7202 19.673 20.362C19.3854 20.9265 18.9265 21.3854 18.362 21.673C17.7202 22 16.8802 22 15.2 22H8.8C7.11984 22 6.27976 22 5.63803 21.673C5.07354 21.3854 4.6146 20.9265 4.32698 20.362C4 19.7202 4 18.8802 4 17.2V6.8C4 5.11984 4 4.27976 4.32698 3.63803C4.6146 3.07354 5.07354 2.6146 5.63803 2.32698C6.27976 2 7.11984 2 8.8 2H15.2C16.8802 2 17.7202 2 18.362 2.32698C18.9265 2.6146 19.3854 3.07354 19.673 3.63803C20 4.27976 20 5.11984 20 6.8Z"
14+
stroke="currentColor"
15+
strokeWidth="2"
16+
strokeLinecap="round"
17+
strokeLinejoin="round"
18+
/>
9619
</svg>
9720
);
9821
}

apps/dashboard/src/app/(dashboard)/(chain)/components/server/icons/EngineIcon.tsx

Lines changed: 6 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -7,77 +7,15 @@ export function EngineIcon(props: { className?: string }) {
77
fill="none"
88
xmlns="http://www.w3.org/2000/svg"
99
className={props.className}
10+
role="presentation"
1011
>
11-
<title>Engine</title>
1212
<path
13-
fillRule="evenodd"
14-
clipRule="evenodd"
15-
d="M14.9523 11.9988C14.9523 11.9981 14.9518 11.9975 14.951 11.9975C14.9089 11.9992 14.8665 12 14.8239 12C13.0588 12 11.6278 10.5691 11.6278 8.8039C11.6278 7.03873 13.0588 5.60779 14.8239 5.60779C15.9762 5.60779 16.986 6.21756 17.5484 7.13202C17.695 7.37046 17.9908 7.48805 18.2658 7.43583C18.4057 7.40926 18.5501 7.39536 18.6978 7.39536C19.9694 7.39536 21.0001 8.42614 21.0001 9.69767C21.0001 10.9692 19.9694 12 18.6979 12C18.6979 12 18.6979 12 18.6979 12C18.6979 12 18.6979 12 18.6978 12H14.9536C14.9529 12 14.9523 11.9994 14.9523 11.9988Z"
16-
fill="url(#paint0_linear_195_3943)"
13+
d="M6.5 19C4.01472 19 2 16.9853 2 14.5C2 12.1564 3.79151 10.2313 6.07974 10.0194C6.54781 7.17213 9.02024 5 12 5C14.9798 5 17.4522 7.17213 17.9203 10.0194C20.2085 10.2313 22 12.1564 22 14.5C22 16.9853 19.9853 19 17.5 19C13.1102 19 10.3433 19 6.5 19Z"
14+
stroke="currentColor"
15+
strokeWidth="2"
16+
strokeLinecap="round"
17+
strokeLinejoin="round"
1718
/>
18-
<g filter="url(#filter0_bi_195_3943)">
19-
<path
20-
fillRule="evenodd"
21-
clipRule="evenodd"
22-
d="M6.18764 18.9251C6.17601 18.9253 6.16437 18.9253 6.15271 18.9253C4.41138 18.9253 2.99976 17.5137 2.99976 15.7724C2.99976 14.031 4.41138 12.6194 6.15271 12.6194C6.18301 12.6194 6.20685 12.5932 6.20379 12.563C6.18785 12.4057 6.1797 12.2463 6.1797 12.085C6.1797 9.37046 8.48997 7.16992 11.3398 7.16992C13.8545 7.16992 15.949 8.88324 16.407 11.1512C16.4682 11.4541 16.7615 11.6671 17.0697 11.6434C17.1634 11.6361 17.2581 11.6325 17.3536 11.6325C19.3675 11.6325 21 13.265 21 15.2789C21 17.2928 19.3675 18.9253 17.3536 18.9253C17.285 18.9253 17.2169 18.9234 17.1493 18.9197C17.1063 18.9234 17.0628 18.9253 17.0188 18.9253H6.20985C6.20243 18.9253 6.19503 18.9252 6.18764 18.9251Z"
23-
fill="#BFB5FF"
24-
fillOpacity="0.8"
25-
/>
26-
</g>
27-
<defs>
28-
<filter
29-
id="filter0_bi_195_3943"
30-
x="0.999756"
31-
y="5.16992"
32-
width="22.0003"
33-
height="15.7554"
34-
filterUnits="userSpaceOnUse"
35-
colorInterpolationFilters="sRGB"
36-
>
37-
<feFlood floodOpacity="0" result="BackgroundImageFix" />
38-
<feGaussianBlur in="BackgroundImageFix" stdDeviation="1" />
39-
<feComposite
40-
in2="SourceAlpha"
41-
operator="in"
42-
result="effect1_backgroundBlur_195_3943"
43-
/>
44-
<feBlend
45-
mode="normal"
46-
in="SourceGraphic"
47-
in2="effect1_backgroundBlur_195_3943"
48-
result="shape"
49-
/>
50-
<feColorMatrix
51-
in="SourceAlpha"
52-
type="matrix"
53-
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
54-
result="hardAlpha"
55-
/>
56-
<feOffset dy="0.2" />
57-
<feGaussianBlur stdDeviation="0.05" />
58-
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
59-
<feColorMatrix
60-
type="matrix"
61-
values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"
62-
/>
63-
<feBlend
64-
mode="normal"
65-
in2="shape"
66-
result="effect2_innerShadow_195_3943"
67-
/>
68-
</filter>
69-
<linearGradient
70-
id="paint0_linear_195_3943"
71-
x1="13.1976"
72-
y1="10.8463"
73-
x2="28.7967"
74-
y2="2.94276"
75-
gradientUnits="userSpaceOnUse"
76-
>
77-
<stop stopColor="#3F2DAF" />
78-
<stop offset="1" stopColor="#917FFB" />
79-
</linearGradient>
80-
</defs>
8119
</svg>
8220
);
8321
}

0 commit comments

Comments
 (0)