mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* wagmi + ethers + web3modal setup * refactor wallet components * fallback providers, more config * kick out useWeb3 * remove all useWeb3 imports * more web3.js usage removal * isAddress utils replacement * restore add token / add network * less accountId changes * web3 legacy tinkering, utils/web3 → utils/wallet * legacy web3 object for ocean.js * graph sync fix, remove custom network switching code * package updates, merge fixes * downgrade to ethers v5 * fix project id * switch to ConnectKit * connectkit theming * add existing chains to wagmi * rewrite getPaymentCollector() * kick out getPaymentCollector completely, use wagmi hooks instead * Revert "kick out getPaymentCollector completely, use wagmi hooks instead" This reverts commit 54c7d1ef1a2dec0b1575a685125ba78336b30f59. * switch getPaymentCollector * calcBaseInGivenDatatokensOut reorg * wip integrate ocean lib 3.0.0 * update orbis components to use wagmi instead of web hooks * more oceanjs integration updates * more refactors * fix build * update ocean lib * fix publish * fix order fixed rate * remove logs * debug and stop infinite cycle orbis connect * fix orbis dm connection * mock use network and fix some more tests * mock wagmi switch network * mock wagmi useProvider createClient and connectKit getDefaultClient * fix jest tests * try storybook fix * cleanups and bump ocean lib * fix order * bump lib to next.5 and add more modal style * bump ocean.js lib to 3.0.0 --------- Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
54 lines
1.1 KiB
TypeScript
54 lines
1.1 KiB
TypeScript
import React, { ReactElement } from 'react'
|
|
import classNames from 'classnames/bind'
|
|
import { addTokenToWallet } from '@utils/wallet'
|
|
import Button from '@shared/atoms/Button'
|
|
import OceanLogo from '@images/logo.svg'
|
|
import styles from './index.module.css'
|
|
|
|
const cx = classNames.bind(styles)
|
|
|
|
export interface AddTokenProps {
|
|
address: string
|
|
symbol: string
|
|
text?: string
|
|
className?: string
|
|
minimal?: boolean
|
|
}
|
|
|
|
export default function AddToken({
|
|
address,
|
|
symbol,
|
|
text,
|
|
className,
|
|
minimal
|
|
}: AddTokenProps): ReactElement {
|
|
const styleClasses = cx({
|
|
button: true,
|
|
minimal,
|
|
[className]: className
|
|
})
|
|
|
|
async function handleAddToken() {
|
|
if (!window?.ethereum) return
|
|
|
|
await addTokenToWallet(address, symbol)
|
|
}
|
|
|
|
return (
|
|
<Button
|
|
className={styleClasses}
|
|
style="text"
|
|
size="small"
|
|
onClick={handleAddToken}
|
|
>
|
|
<span className={styles.logoWrap}>
|
|
<div className={styles.logo}>
|
|
<OceanLogo />
|
|
</div>
|
|
</span>
|
|
|
|
<span className={styles.text}>{text || `Add ${symbol}`}</span>
|
|
</Button>
|
|
)
|
|
}
|