Files
6d44e159b5 Address widgets (#2788)
* add address widgets

* Update ENVS.md

* fix long values

* fix responsive size and hover border color

* improve url template formatting, add chainId mapping

* add hover animation

* add widgets tab

* filter widgets by address type

* fix link style

* add mixpanel event

* fix stub

* fix result check

* add tests

* fix tabs loading

* Check the workflow: generate chakra types if the node_modules cache is hit

* fix loading

* fix loading view all link

* fix loading issue

* post-review changes

* rename envs and feature

* rename components and hook

* rename config prop and change url template format

* change validation schema

* add chain_id to request params

* update tests

* rename, improve

* improve grid logic

* improve formatting func

* simplify grid logic

* update hint text

* duplicate widgets in env for tests

* update mocks and snapshots

* fix text

* fix grid one more time

* update envs with test config

* update snapshots

* fix grid max width

* update mock and snapshots

* use separator

* Update .env.eth

* fix

* update snapshots

---------

Co-authored-by: tom <[email protected]>
2025-07-04 10:21:28 +02:00

96 lines
2.5 KiB
TypeScript

import type { Address3rdPartyWidget } from 'types/views/address';
export const widgets = [
'widget-1',
'widget-2',
'widget-3',
'widget-4',
'widget-5',
'widget-6',
'widget-7',
'widget-8',
'widget-9',
] as const;
export const values = [ 0, 2534783, 75.34, undefined, 1553.5, 100, 0.99, 333, undefined ];
export const config: Record<string, Address3rdPartyWidget> = {
'widget-1': {
name: 'Widget 1',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Value',
hint: 'Hint',
valuePath: 'value',
},
'widget-2': {
name: 'Widget 2',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Another value',
valuePath: 'value',
},
'widget-3': {
name: 'Widget 3',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'One more value',
hint: 'Hint',
valuePath: 'value',
},
'widget-4': {
name: 'Widget 4',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Empty value',
valuePath: 'another_value',
},
'widget-5': {
name: 'Widget 5',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Test value',
hint: 'Hint',
valuePath: 'value',
},
'widget-6': {
name: 'Widget 6',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Another test value',
valuePath: 'value',
},
'widget-7': {
name: 'Widget 7',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'One more test value',
hint: 'Hint',
valuePath: 'value',
},
'widget-8': {
name: 'Widget 8',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Final test value',
valuePath: 'value',
},
'widget-9': {
name: 'Widget 9',
url: 'https://www.example.com',
pages: [ 'eoa', 'contract', 'token' ],
icon: 'http://localhost:3000/widget-logo.png',
title: 'Another empty value',
hint: 'Hint',
valuePath: 'value',
},
};