74 Commits
Author SHA1 Message Date
zeekay 3813d03918 feat: explorer FE — stateless SSR, chain selector, localnet, registry cleanup 2026-03-01 18:00:00 -08:00
zeekay da79f9e711 feat: rename @blockscout to @luxfi, monochrome theme, horizontal blocks
- Rename all @blockscout/* npm packages to @luxfi/* aliases (150+ files)
- Override blue accent colors to gray for monochrome theme
- Fix dropdown/menu/popover fonts to use Geist Sans
- Change Latest Blocks to horizontal scrolling layout
- Show dashes instead of zeros for validator stats on error
- Fix GHA deploy step to use correct deployment name
2026-03-02 12:28:15 -08:00
zeekay 08cddc0fcb brand: remove all Blockscout branding, replace with Lux Explorer
- Gas tracker FAQ: Blockscout → Lux Explorer
- Chain config web3/chains.ts: explorer name → Lux Explorer
- Auth screens: Blockscout account → Lux account
- Contract verification: Blockscout supports → Lux Explorer supports
- API docs: Blockscout core API → Lux Explorer Core API
- Rewards/merits: Blockscout Merits → Lux Explorer Rewards
- Marketplace disclaimer and integration icons
- Address verification: [email protected] → [email protected]
- Chart export filenames: Blockscout chart/stats → Lux Explorer
- OTEL service name: blockscout_frontend → lux_explorer_frontend
- Dev container: blockscout dev → lux explorer dev
2026-02-27 22:17:37 -08:00
tom goriunovandGitHub 401dc58402 Smart wallet auth (#3220)
* basic login button implementation

* refactoring and add dynamic auth button to the other pages

* connect wallet without authenticating an user

* login and logout user in blockscout account

* refactoring and RPC overrides

* authenticate user with connected wallet

* add ENS to profile button

* override evm chains and fix contract write with waas wallet

* disconnect wallet and fix docker build

* add dynamic imports to components that use web3 wallet packages

* refactor user profile directory

* clean up

* tweaks

* update pw ci script

* fix "connect wallet" button behavior

* handle linking email to profile with dynamic provider

* fix test

* async loading web3 hooks and remove dynamic loading from components that use them

* fix pw tests

* add account navigation in horizontal layout when auth provider is dynamic

* fix address verification modal

* review fixes

* spelling fixes
2026-02-18 19:42:44 +01:00
tom goriunovandGitHub 088f469e79 Set the auth header for the merits API inside useApiFetch (#3239)
* Set the auth header for the merits API inside `useApiFetch`

Resolves #2978

* fixes

* [skip ci] fix comment position
2026-01-19 18:12:26 +01:00
tom goriunovandGitHub 1c025b26fb Add possibility to change timestamp format (#3201)
* add global setting to change between local and utc time

* add control to change time format on detailed views

* tweaks

* adapt uptime graphs to work with utc time from settings

* fix tests

* add maxDiffPixels for SearchResults test

* fix test
2026-01-05 13:19:47 +01:00
edc54514f1 OP Superchain explorer: aggregated views (#3040)
* refactor widgets on home page

* coming soon placeholder component

* top accounts page

* contract data

* address ERC-20 tokens list

* chain filter for address ERC-20 tokens

* token select for address detailed view

* address details fields

* tokens table

* stats widgets on home page

* chain indicators graph on the home page

* quick search

* search results all tab

* tabs and chain select on search results page

* search results mobile view

* add contract info to search and address details

* add text filter for tokens and search improvements

* load all results inside tab on search results page

* token balance info

* add support for domains in the full search

* Multichain explorer

Resolves #2989

* add envs validator for multichain

* add some tests

* fix search bar on search results page on mobile

* home stats fixes

* fix ts

* optimize amount of queries on address page

* add more contract info on address page

* add enter key hint to search input

* fix tests

* fix test

* update bg.primary css-variable on color theme change

* sitemap for multichain

* txs page: render first tab if blob tab is not available on the chain

* filter out in active chains from chain select on address page and user ops page

* add chain icon to advanced filter table

* fix tooltip on entity with shield

* fix ts

* show contract implementations

* fixes

* add chain icon to all lists

* refactor zetachain chains config type

* use chain id as primary option instead of chain slug

* refactor chain config type for multichain and essential dapps

* refactor chain icon and chain select

* rename chain-slug in chain_slug

* change default radius of chain icon and update screenshots for multichain tests

* change conditions for "isContract" and "isVerified"

* test fixes

* make shield optional for external chain entities

* add chain icon to approvals lists

* add stats page for multichain

* add chain postfix to chart .png and .csv assets name

* fix tests

* sync verified contracts language filter and fix loading state in the search results page

* fix sol2uml diagram and csv export

* regcred from helmfile for review

* link fixes

* fix state for unknown address

* fix incorrect chain in the context during spa transition to the same route on different chain

* add links to stats widgets

* add mixpanel to L2 demo values

* show message of on-demand contract verification

* fix screenshots

---------

Co-authored-by: Nick Zenchik <[email protected]>
2025-11-18 09:44:22 +01:00
Igor StuevandGitHub 820ffae891 Mobile UI: search (drawer) (#2855)
* Mobile UI: search (drawer)

* drawer border radius

* fix

* tests

* fix

* fixes

* fixes2
2025-09-25 17:18:41 +02:00
tom goriunovandGitHub 7505f154e6 OP Superchain: local views for chains in the cluster (#2864)
* update styles for chain widgets on home page

* update latest txs styles and slug creation algorithm

* list of local txs

* list of local blocks

* local view for address internal tx tab

* local view for address coin history

* local view for address logs

* local view for address token transfers

* address details, kind of

* [wip] local view for address contract tab

* user ops views

* chain popover

* csv-export page

* advanced filter page

* block countdown pages

* fixes for contract tab

* refactor address txs and transfers tabs

* refactor getServerSideProps

* internal txs page

* tokens and token transfers pages

* simple tag for address page and details info placeholders

* add chain icon to the local lists

* show creator in contract tab

* OP Superchain: local views for chains in the cluster

Fixes #2827

* highlight current chain in the title of local entities

* tokens nfts tab for address

* allow entity icon to be an image

* adjust cross-chain txs table and add placeholder to home page

* cross-chain txs for address

* fetch multichain config from microservice

* fix skeleton in token transfers table

* tests, pt.1

* wtf with gh

* verified contracts page

* change chain info in block and token page header

* fix some tests

* update styles for token icon with chain logo in header

* fix links and address internal txs tab

* update screenshots

* fix margins for tx info button and chain icon in tx tables

* add some tests

* fix screenshots
2025-08-15 15:32:47 +02:00
tom goriunovandGitHub ca4c8d6633 OP Superchain Explorer: MVP (#2786)
* context for storing subchain config and tx view for subchain

* address page and block page for subchain

* address aggregated page: local txs tab

* connect MultichainSelect to context

* home page placeholder

* refactor subchain select state

* envs for demo

* fix ts

* clear value for l2 review

* subchain widgets on home page

* csp policies

* sockets, duck and goose

* fix socket on subchain address page

* link builder for subchain views

* update home widget

* fix time increment

* enable tx interpretator and metadata service

* generate multichain config based on every chain app config

* Fix the multichain config to work in Docker

* multichain socket test

* rename subchain-id to subchain-slug path param

* refactoring

* update chain icons on entities

* home page: latest local txs

* latest cross-chain txs

* minor improvements

* renaming, pt. 1

* rename chain routes

* enable blockchain interaction

* add loading state to icon shield

* fix build

* fix tests

* update types package
2025-07-03 15:07:00 +02:00
tom goriunovandGitHub fe16acbc0a Time format toggle for table views (#2729)
* cookie for storing time format value

* rename TimeAgo component

* add toggle to tables (pt. 1)

* move TimeWithTooltip component

* add toggle to tables (pt. 2)

* change implementation of toggle component

* remove unnecessary timestamp label

* update screenshots

* more screenshot updates

* [skip ci] update clock icon

* update screenshots
2025-06-03 14:01:12 +02:00
tom goriunovandGitHub fae4990e1f API resource refactoring (#2699)
* add prefix to API resources

* fix pw tests

* refactor config

* remove unnecessary prefixes in resource names

* fixes

* update screenshots
2025-05-01 15:22:38 +02:00
tom goriunovandGitHub f6725649da UI toolkit package (#2691)
* first version of the pack

* single entry point

* add custom components to the package

* move form components to toolkit

* add more utils and hooks to the package

* minor fixes

* add CI workflow

* update readme and package.json

* fix ts

* fix build of env-validator

* fix docker build

* fix icons size

* test fixes

* more test fixes
2025-04-21 19:44:22 +02:00
Max AlekseenkoandGitHub dd42ed6903 Merits: activity cards and tracking (#2662) 2025-04-15 19:59:09 +02:00
tom goriunovandGitHub 7648d05541 Auth: Switch the chain before signing the message when the user logs in with their wallet (#2673)
Fixes #2345
2025-04-15 15:23:57 +02:00
tom 0d0e5cde60 Merge branch 'main' of github.com:blockscout/frontend into chakra-v3 2025-03-26 15:43:24 +01:00
Max AlekseenkoandGitHub fcc64f5e52 Support custom ref codes (Merits) (#2631)
support custom ref codes
2025-03-25 13:30:05 +01:00
tom 04310094f4 fix some ts errors 2025-03-11 13:11:26 +01:00
Igor StuevandGitHub bce190e5c2 fix incorrect color mode (#2596) 2025-02-28 11:01:30 +01:00
tom 02c634645e Merge branch 'main' of github.com:blockscout/frontend into chakra-v3 2025-02-18 15:05:52 +01:00
tom dee3dc051e fix ts 2025-02-17 14:59:04 +01:00
tom goriunovandGitHub 6e85ab5530 UX changes for BS / Merits login (#2541)
* UX changes for BS / Merits login

Fixes #2535

* fix ts

* refetch user balance after unified login

* fixes
2025-02-07 16:03:39 +01:00
tom 5f91ff4f3f Merge branch 'main' of github.com:blockscout/frontend into chakra-v3 2025-01-16 16:30:12 +01:00
tom 211bfeda3b refactor UserProfileMenu 2025-01-15 18:57:01 +01:00
tom goriunovandGitHub d29849184d Replace lodash with es-toolkit (#2503)
* first part of migration

* second part of migration

* bump up es-toolkit version

* bump up `es-toolkit` version and remove `lodash` completely

* update screenshot
2025-01-14 12:30:05 +01:00
tom 07b8a20cc0 renaming 2025-01-07 15:55:18 +01:00
tom aad96a73e9 Initialize the chakra update and ensure the login page does not crash on load. 2025-01-07 12:28:21 +01:00
Max Alekseenkoandtom goriunov 1322414364 set cookie expiration time 2024-12-23 15:37:28 +01:00
tom 125c4880de migrate to eslint 9 and its flat config 2024-11-13 12:54:12 +01:00
tom goriunovandGitHub 382829d9f7 Support bech32 address standard (#2351)
* create settings context with simple address format toggler

* transform base16 hash to bech32 hash

* add ENV variables

* add snippet to address page

* add redirect for bech32 addresses

* change address format in search

* add provider to tests

* update demo values

* migrate from Buffer to Uint8Array and add tests

* bug fixes and screenshots updates

* review fixes

* roll back changes in env values

* update screenshots
2024-11-04 18:53:59 +01:00
Max Alekseenko 289f5dcdec change link 2024-11-04 15:38:10 +01:00
Max Alekseenko f0d1183a0d add fix for localhost 2024-11-04 14:31:28 +01:00
Max Alekseenko d55dc1c882 add error handling 2024-10-31 15:20:35 +01:00
Max Alekseenko f7e2829bdd post-review changes 2024-10-30 20:41:49 +01:00
Max Alekseenko cf29ad43a3 some fixes 2024-10-30 14:44:51 +01:00
Max Alekseenko fb72fe27c8 post-review changes 2024-10-28 18:02:03 +01:00
Max Alekseenko ca234f5928 hide ref code for registered users 2024-10-24 14:58:03 +02:00
Max Alekseenko 78e3ce1bd6 change text 2024-10-23 12:27:54 +02:00
Max Alekseenko 7745ccbd54 replace link 2024-10-21 18:51:31 +02:00
Max Alekseenko 5f6582634a fix rewards config query 2024-10-21 17:32:34 +02:00
Max Alekseenko 4c7b3a7d1e link rewards program to account 2024-10-18 14:54:57 +02:00
Max Alekseenko 7ed53bb659 refactoring 2024-10-17 18:18:59 +02:00
Max Alekseenko 7e57a9e826 move other hooks to context 2024-10-16 19:12:32 +02:00
Max Alekseenko 4cad194c00 move login to context 2024-10-16 18:47:30 +02:00
Max Alekseenko 3092eb805d Merge remote-tracking branch 'origin/tom2drum/issue-2029' into rewards 2024-10-16 17:44:33 +02:00
tom 3d2c62b32f [skip ci] clean up and more tests 2024-10-14 20:58:14 +02:00
Max Alekseenko 8b7070c7da implement rewards button 2024-10-04 15:07:32 +02:00
Max Alekseenko ee29f0c466 improve api token management 2024-10-03 15:45:15 +02:00
Max Alekseenko cb12d8c896 implement ref code logic 2024-10-02 18:40:29 +02:00
Max Alekseenko 4262448d64 improve api token logic 2024-10-02 17:33:21 +02:00