Skip to content

Commit 1869e89

Browse files
committed
first commit
0 parents  commit 1869e89

Some content is hidden

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

55 files changed

+22457
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# GitHub Actions workflow for deploying to GitHub Pages
2+
name: Deploy to GitHub Pages
3+
4+
on:
5+
push:
6+
branches: ['main']
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: 'pages'
16+
cancel-in-progress: true
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node.js
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: '20'
29+
cache: 'npm'
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
34+
- name: Build
35+
run: npm run build
36+
37+
- name: Setup Pages
38+
uses: actions/configure-pages@v4
39+
40+
- name: Upload artifact
41+
uses: actions/upload-pages-artifact@v3
42+
with:
43+
path: './dist'
44+
45+
deploy:
46+
environment:
47+
name: github-pages
48+
url: ${{ steps.deployment.outputs.page_url }}
49+
runs-on: ubuntu-latest
50+
needs: build
51+
steps:
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Dependencies
2+
node_modules
3+
.pnp
4+
.pnp.js
5+
6+
# Build output
7+
dist
8+
dist-ssr
9+
*.local
10+
11+
# Editor directories and files
12+
.vscode/*
13+
!.vscode/extensions.json
14+
.idea
15+
.DS_Store
16+
*.suo
17+
*.ntvs*
18+
*.njsproj
19+
*.sln
20+
*.sw?
21+
22+
# Logs
23+
logs
24+
*.log
25+
npm-debug.log*
26+
yarn-debug.log*
27+
yarn-error.log*
28+
pnpm-debug.log*
29+
lerna-debug.log*
30+
31+
# Environment files
32+
.env
33+
.env.local
34+
.env.development.local
35+
.env.test.local
36+
.env.production.local
37+
38+
# TypeScript
39+
*.tsbuildinfo
40+
41+
# Testing
42+
coverage
43+
.nyc_output
44+
45+
# Misc
46+
.cache
47+
.temp
48+
.tmp

README.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# FULA Token Vesting Dashboard
2+
3+
A decentralized application for managing and claiming vested FULA tokens. Built with React, Vite, and wagmi for seamless wallet integration.
4+
5+
## Features
6+
7+
- **Token Vesting**: View and claim vested tokens on Ethereum Mainnet and Base
8+
- **Airdrop Claims**: Claim airdrop allocations on IoTeX and Base
9+
- **Testnet Mining**: Claim testnet mining rewards on SKALE Europa
10+
- **Multi-Chain Support**: Works with Ethereum Mainnet, Base, SKALE Europa, and IoTeX
11+
- **Mobile & Desktop**: Works on both desktop and mobile browsers with wallet extensions
12+
13+
## Supported Chains
14+
15+
- Ethereum Mainnet
16+
- Base
17+
- SKALE Europa
18+
- IoTeX
19+
20+
## Getting Started
21+
22+
### Prerequisites
23+
24+
- Node.js 18+
25+
- npm or yarn
26+
- A Web3 wallet (MetaMask, Coinbase Wallet, etc.)
27+
28+
### Installation
29+
30+
```bash
31+
# Clone the repository
32+
git clone https://github.com/functionland/claim-ui.git
33+
cd claim-ui
34+
35+
# Install dependencies
36+
npm install
37+
38+
# Start development server
39+
npm run dev
40+
```
41+
42+
### Building for Production
43+
44+
```bash
45+
npm run build
46+
```
47+
48+
The built files will be in the `dist` directory.
49+
50+
## Deployment
51+
52+
This project is configured for GitHub Pages deployment. Simply push to the `main` branch and the GitHub Actions workflow will automatically build and deploy.
53+
54+
### Manual Deployment
55+
56+
1. Build the project: `npm run build`
57+
2. Deploy the `dist` folder to any static hosting service
58+
59+
### GitHub Pages Configuration
60+
61+
1. Go to your repository settings
62+
2. Navigate to "Pages"
63+
3. Set source to "GitHub Actions"
64+
4. Push to main branch to trigger deployment
65+
66+
## Project Structure
67+
68+
```
69+
src/
70+
├── components/ # React components
71+
│ ├── admin/ # Admin panel components
72+
│ ├── common/ # Shared components (ConnectButton, etc.)
73+
│ └── vesting/ # Vesting-related components
74+
├── config/ # Configuration files
75+
│ ├── abis.ts # Contract ABIs
76+
│ ├── chains.ts # Chain configurations
77+
│ ├── constants.ts # App constants
78+
│ └── contracts.ts # Contract addresses
79+
├── contexts/ # React contexts
80+
├── hooks/ # Custom React hooks
81+
├── pages/ # Page components
82+
├── types/ # TypeScript types
83+
└── utils/ # Utility functions
84+
```
85+
86+
## Smart Contracts
87+
88+
The dashboard interacts with the following contracts:
89+
90+
- **Token Contract**: ERC20 FULA token
91+
- **Distribution Contract**: Token vesting/distribution
92+
- **Airdrop Contract**: Airdrop claims
93+
- **Testnet Mining Contract**: Testnet mining rewards
94+
- **Staking Contract**: Token staking
95+
- **Storage Pool Contract**: Storage pool management
96+
- **Reward Engine Contract**: Reward calculations
97+
98+
## Wallet Connection
99+
100+
This app uses wagmi with injected wallet connectors, supporting:
101+
102+
- MetaMask
103+
- Coinbase Wallet
104+
- Any browser wallet that injects the ethereum provider
105+
106+
No WalletConnect project ID is required - the app works with browser-based wallets out of the box.
107+
108+
## Development
109+
110+
```bash
111+
# Start dev server
112+
npm run dev
113+
114+
# Build for production
115+
npm run build
116+
117+
# Preview production build
118+
npm run preview
119+
120+
# Lint code
121+
npm run lint
122+
```
123+
124+
## License
125+
126+
MIT License
127+
128+
## Support
129+
130+
For support, please contact [email protected]

0 commit comments

Comments
 (0)