11import type { LucideIcon } from "lucide-react" ;
2- import { Blocks , Droplets , FileText , Globe , Rocket } from "lucide-react" ;
2+ import {
3+ Blocks ,
4+ Droplets ,
5+ FileText ,
6+ Globe ,
7+ Rocket ,
8+ Search ,
9+ } from "lucide-react" ;
310import { URLS } from "./urls" ;
411
512// Resource modal field structure
6- interface ModalField {
13+ export interface ModalField {
714 readonly label : string ;
8- readonly value : string | readonly string [ ] ;
15+ readonly value ? : string | readonly string [ ] ;
916 readonly icon : string ;
10- readonly type ?: "copyable" ;
17+ readonly type ?: "text" | " copyable" | "link ";
1118}
1219
1320// Resource modal action structure
@@ -17,15 +24,15 @@ interface ModalAction {
1724}
1825
1926// Resource modal data structure
20- interface ModalData {
27+ export interface ModalData {
2128 readonly sections : readonly {
2229 readonly fields : readonly ModalField [ ] ;
2330 } [ ] ;
2431 readonly actions : readonly ModalAction [ ] ;
2532}
2633
2734// Resource item structure
28- interface Resource {
35+ export interface Resource {
2936 readonly icon : LucideIcon ;
3037 readonly title : string ;
3138 readonly description : string ;
@@ -130,4 +137,35 @@ export const RESOURCES = [
130137 ] ,
131138 } ,
132139 } ,
140+ {
141+ icon : Search ,
142+ title : "Explorers" ,
143+ description :
144+ "Browse transactions, blocks, and accounts on Paseo network with blockchain explorers." ,
145+ href : undefined ,
146+ isExternal : false ,
147+ buttonLabel : "View Explorers" ,
148+ modalData : {
149+ sections : [
150+ {
151+ fields : [
152+ {
153+ label : "Choose a block explorer to get started" ,
154+ icon : "🔎" ,
155+ } ,
156+ ] ,
157+ } ,
158+ ] ,
159+ actions : [
160+ {
161+ label : "Open Routescan" ,
162+ url : URLS . explorers . routescan ,
163+ } ,
164+ {
165+ label : "Open Subscan" ,
166+ url : URLS . explorers . subscan ,
167+ } ,
168+ ] ,
169+ } ,
170+ } ,
133171] as const satisfies readonly Resource [ ] ;
0 commit comments