mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* feat: add approved tokens list query to subgraph * feat: add base token selector * feat: add placeholder tooltip message for base token * feat: use user selected base token for publish * fix: publish constants * feat: update base token query to include digits and symbol * feat: display correct token name and symbol in publish pricing tab * fix: publish preview token name * fix: query type * feat: add balance fetch for all approved tokens * fix: balance check for dynamic price with alternative base tokens * feat: update balance to show baseToken instead of ocean * fix: default baseToken in publish form * feat: update text content for pricing publish step * chore: update ocean.js * add decimals to token Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * fix dt decimals Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * update ocean.js Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * fix: show correct basetoken symbol under button buy * refactor: move baseToken selector to input label [WIP] * refactor: preserve baseToken value value when switching tabs * remove basetoken tooltip from content json * fix: price props * refactor: remove BaseToken component * fix: baseToken name on first load * fix: baseToken display name in dynamic price * fix: conversion tooltip text * fix: error box overlapping in Coin component * feat: add token logo component * feat: add basetoken logo to asset actions pool * fix: token images size * fix: add default appproved token list when disconnected or chainId not supported * fix: datatoken logo on asset details meta * refactor: balance fetch + move approved base tokens list in web3 provider * feat: update all datatokens to display ocean logo in violet * fix: show correct logos on polygon * fix wallet, remove dynamic * fix build * fix: reset baseToken on chainId change during publish * fix: price tabs selection indicator * feat: set the ocean token as default in pricing * add baseToken * fix price * remove firstPrice * cleanup, more affordance for token dropdown Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro> Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
55 lines
1.1 KiB
TypeScript
55 lines
1.1 KiB
TypeScript
import React, { ReactElement } from 'react'
|
|
import classNames from 'classnames/bind'
|
|
import { addTokenToWallet } from '@utils/web3'
|
|
import { useWeb3 } from '@context/Web3'
|
|
import Button from '@shared/atoms/Button'
|
|
import OceanLogo from '@images/logo.svg'
|
|
import styles from './index.module.css'
|
|
|
|
const cx = classNames.bind(styles)
|
|
|
|
export default function AddToken({
|
|
address,
|
|
symbol,
|
|
text,
|
|
className,
|
|
minimal
|
|
}: {
|
|
address: string
|
|
symbol: string
|
|
text?: string
|
|
className?: string
|
|
minimal?: boolean
|
|
}): ReactElement {
|
|
const { web3Provider } = useWeb3()
|
|
|
|
const styleClasses = cx({
|
|
button: true,
|
|
minimal,
|
|
[className]: className
|
|
})
|
|
|
|
async function handleAddToken() {
|
|
if (!web3Provider) return
|
|
|
|
await addTokenToWallet(web3Provider, 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>
|
|
)
|
|
}
|