Basic customization are in the [`constants.js`](./src/constants.js) file and the [`src/assets`](./src/assets/) folder, more specifically `avatar.png` and `brand.png`, as well as `public/favicon.svg`.
For more advanced customization, any component can be updated.
## Contracts
The contracts addresses are also in the [constants.js](/src/constants.js#L17-L23) file. First is the testnet (Optimism Sepolia), and second the mainnet (Optimism).
## Data
This project can be deployed as static website. All the data needed comes from smart contracts.
const { data } = useDomainStatus({ label: 'my-sld' });
/* Returns:
{
"isAvailable": true,
"labelValid": true,
"publicRegistrationOpen": false,
"isPremium": false,
"priceInDollars": "5.00",
"priceInWei": "2500000000000000",
"label": "my-sld"
}
/*
```
### useRegister()
```jsx
const register = useRegister({
label: 'my-sld',
priceInWei: '2500000000000000',
});
<buttononClick={register}>🤝</button>;
```
`register` is an async function that will invoke Metamask (or any other wallet the user choose) and will be resolved once the user signs the transaction.
As mentioned about, this project can be deployed as a static webpage, with no need for a backend like NodeJS or even Vercel, making it a great fit for GitHub pages.
After forking the project, enable **Pages** in the repository settings and update the [`CNAME`](./CNAME) file.