Skip to content

Commit b4027db

Browse files
fix: Small fixes and adjustments (#37)
* fix: update favicon to use new logo and remove unused vite.svg * fix: improve validation logic in DownloadResult component * feat: enhance SmartLinkGroup with ENS lookup and display * fix: simplify no dataset message in deals table * feat: display dataset name in deal details * fix: remove WalletConnect integration from wagmiConfig using default reown instead * feat: add splat route for dynamic handling in chain slug layout * feat: replace dataset and workerpool name display with CopyButton for easier copying * feat: reorder columns; update formatElapsedTime to return 'just now' instead of 'a few second ago' * refactor: replace inline styles with class-based color management in SuccessCell component * fix: update Tabs component layout for better responsiveness * feat: enhance CopyButton to display tooltip with text in various components and fix overflow * fix: correct type for SmartLinkGroup in transaction details * feat: add MrEnclave display in app details and implement mrEnclaveHexToHuman utility * fix: testing corrected Buffer not found * fix: standardize string method usage in mrEnclaveHexToHuman function * feat: add buffer dependency and import in format utility functions * fix: implement address contribution columns and update data handling in AddressContributionTable * fix: enhance big time formatting in formatElapsedTime function * feat: add custom scrollbar styles for improved UI experience * fix: improve formatting consistency in formatElapsedTime function * fix: remove unused finalDeadlineTimestamp from StatusCell * fix: simplify StatusCell rendering in columns definition * fix: update layout and styling for improved responsiveness and consistency * feat: replace default box icon by page data corresponding icon * fix: bad icon case in import * docs: update README with project description, features, installation instructions, and tech stack * feat: implement address and id validation functions, enhance error handling with NotFoundError class * feat: enable scroll restoration in router initialization for improved navigation experience * fix: update table body styles for improved zebra striping and hover effects * feat: enhance CopyButton component for mobile compatibility to avoid miss click * fix: adjust layout widths and table column spans for improved responsiveness * refactor: streamline CopyButton component layout and improve mobile interaction * feat: add breadcrumb components for apps, datasets, deals, tasks, and workerpools to enhance navigation * feat: update preview tables to include specific labels for apps, datasets, deals, tasks, and workerpools for improved clarity * feat: update layout to utilize new 3xl breakpoint for improved responsiveness of preview tables * fix: adjust spacing in DatasetsPreviewTable and WorkerpoolsPreviewTable for improved readability * style: update button and anchor styles to ensure consistent cursor behavior * style: change pagination button size from default to icon for improved visual consistency * style: update Root component layout for improved structure and spacing * fix: prevent rendering of MrEnclave block when value is '0x' to ensure accurate display of app details * fix: a <button> cannot be nested inside another <button>
1 parent 1800760 commit b4027db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1233
-473
lines changed

README.md

Lines changed: 72 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,86 @@
1-
# iExec explorer
1+
# iExec Explorer
22

3-
## Install
3+
<img src="src/assets/iexec-logo.svg" alt="iExec logo" width="60" />
44

5-
```sh
6-
npm ci
7-
npm run codegen
8-
```
9-
10-
## Develop
5+
## Description
116

12-
```sh
13-
# npm ci
14-
# npm run codegen
15-
npm run dev
16-
```
7+
**iExec Explorer** is a modern web app to explore the iExec protocol across multiple supported blockchains (Bellecour, Arbitrum Sepolia, etc.). It lets you search, browse, and analyze deals, tasks, apps, datasets, workerpools, transactions, and accounts, with an integrated wallet manager.
178

18-
browse <http://localhost:5173>
19-
20-
## Build
21-
22-
```sh
23-
# npm ci
24-
# npm run codegen
25-
npm run build
26-
```
9+
## Main Features
2710

28-
You can serve the build with `npx serve -p 3000 ./dist` and browse <http://localhost:3000>
11+
- 🔎 **Universal search**: by address, deal/task/tx hash, ENS, etc.
12+
- 📊 **Entity explorer**: Deals, Tasks, Apps, Datasets, Workerpools, Transactions, Accounts
13+
- 🧩 **Detailed views**: all key info for each entity
14+
- 🦾 **Multi-chain support**
15+
- 👛 **Wallet Manager**: deposit, withdraw, balance
16+
-**Live data**: auto-refresh tables
17+
- 🛡️ **Secure wallet connection** (Wagmi, WalletConnect, etc.)
18+
- 🎨 **Modern UI**: responsive, dark mode
2919

30-
## Template: React + TypeScript + Vite
20+
## Quick Start
3121

32-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
22+
### Prerequisites
23+
- Node.js >= 18
24+
- npm >= 9
3325

34-
Currently, two official plugins are available:
35-
36-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
37-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
26+
### Install
27+
```bash
28+
git clone <repo-url>
29+
cd explorer-v2
30+
npm install
31+
```
3832

39-
### Expanding the ESLint configuration
33+
### Generate GraphQL Types (required)
34+
```bash
35+
npm run codegen
36+
```
37+
This command generates the necessary GraphQL types for the project.
4038

41-
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
39+
### Configure
40+
Create a `.env` file at the root:
41+
```env
42+
VITE_REOWN_PROJECT_ID=your_project_id
43+
VITE_ROLLBAR_ACCESS_TOKEN=your_rollbar_token # (optional)
44+
```
4245

43-
```js
44-
export default tseslint.config({
45-
extends: [
46-
// Remove ...tseslint.configs.recommended and replace with this
47-
...tseslint.configs.recommendedTypeChecked,
48-
// Alternatively, use this for stricter rules
49-
...tseslint.configs.strictTypeChecked,
50-
// Optionally, add this for stylistic rules
51-
...tseslint.configs.stylisticTypeChecked,
52-
],
53-
languageOptions: {
54-
// other options...
55-
parserOptions: {
56-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
57-
tsconfigRootDir: import.meta.dirname,
58-
},
59-
},
60-
});
46+
### Run
47+
```bash
48+
npm run dev
6149
```
50+
App runs at [http://localhost:5173](http://localhost:5173) by default.
6251

63-
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
64-
65-
```js
66-
// eslint.config.js
67-
import reactDom from 'eslint-plugin-react-dom';
68-
import reactX from 'eslint-plugin-react-x';
69-
70-
export default tseslint.config({
71-
plugins: {
72-
// Add the react-x and react-dom plugins
73-
'react-x': reactX,
74-
'react-dom': reactDom,
75-
},
76-
rules: {
77-
// other rules...
78-
// Enable its recommended typescript rules
79-
...reactX.configs['recommended-typescript'].rules,
80-
...reactDom.configs.recommended.rules,
81-
},
82-
});
52+
### Build
53+
```bash
54+
npm run build
55+
npm run preview
8356
```
57+
58+
## Useful Scripts
59+
- `npm run dev` — start dev server
60+
- `npm run build` — production build
61+
- `npm run preview` — preview build
62+
- `npm run lint` — lint code
63+
- `npm run check-type` — TypeScript check
64+
- `npm run format` — Prettier format
65+
- `npm run codegen` — GraphQL types
66+
67+
## Tech Stack
68+
- **React 19** + TypeScript
69+
- **Vite**
70+
- **TailwindCSS**
71+
- **TanStack Router & React Query**
72+
- **GraphQL** (TheGraph)
73+
- **Wagmi & WalletConnect**
74+
- **Zustand**
75+
- **Rollbar**
76+
77+
## Links
78+
- [iExec Website](https://www.iex.ec/)
79+
- [iExec Docs](https://docs.iex.ec/)
80+
- [Blockscout Bellecour](https://blockscout-bellecour.iex.ec/)
81+
82+
## Contributing
83+
Contributions are welcome! Please open issues or pull requests.
84+
85+
## License
86+
MIT

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5-
<link rel="icon" type="image/svg+xml" href="/iexec-logo.svg" />
5+
<link rel="icon" type="image/svg+xml" href="/src/assets/logo.png" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
77
<title>iExec Explorer</title>
88
</head>

package-lock.json

Lines changed: 30 additions & 101 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"@tanstack/react-table": "^8.21.3",
4040
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
4141
"big.js": "^7.0.1",
42+
"buffer": "^6.0.3",
4243
"class-variance-authority": "^0.7.1",
4344
"clsx": "^2.1.1",
4445
"graphql": "^16.10.0",

public/vite.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/assets/logo.png

5.63 KB
Loading

0 commit comments

Comments
 (0)