* fix: fixed mobile issues with SVGs * feat: first morphing AccountDetails * tidy: composition refresh * tidy: fine adjusting * fix: svg fixes * feat: updated summary structure * feat: overall layout adjustments * fix: fixed svg adjustments * feat: finished AccountSummary update * fix: fixed build * tidy: refactor * fix: fix enourmous APYs * fix: don’t abbreviate APYs * tidy: console.log * fix: fix borrow Rate sorting * fix: fixed scrollbars * fix: hide scrollbars * fix: resolved feedback * fix: amount not size * feat: only show credit account number outside of modals * fix: added missing Strategies to PortfolioAccount * fix: save some space
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { ReactNode, useCallback } from 'react'
|
|
|
|
import Button from 'components/common/Button'
|
|
import { Wallet } from 'components/common/Icons'
|
|
import TermsOfService from 'components/common/TermsOfService'
|
|
import WalletSelect from 'components/Wallet/WalletSelect'
|
|
import { LocalStorageKeys } from 'constants/localStorageKeys'
|
|
import useLocalStorage from 'hooks/localStorage/useLocalStorage'
|
|
import useStore from 'store'
|
|
|
|
interface Props {
|
|
textOverride?: string | ReactNode
|
|
disabled?: boolean
|
|
className?: string
|
|
color?: ButtonProps['color']
|
|
variant?: ButtonProps['variant']
|
|
size?: ButtonProps['size']
|
|
}
|
|
|
|
export default function WalletConnectButton(props: Props) {
|
|
const [hasAgreedToTerms] = useLocalStorage(LocalStorageKeys.TERMS_OF_SERVICE, false)
|
|
|
|
const handleClick = useCallback(() => {
|
|
const component = hasAgreedToTerms ? <WalletSelect /> : <TermsOfService />
|
|
useStore.setState({ focusComponent: { component } })
|
|
}, [hasAgreedToTerms])
|
|
|
|
return (
|
|
<Button
|
|
variant={props.variant ?? 'solid'}
|
|
color={props.color ?? 'secondary'}
|
|
size={props.size ?? 'sm'}
|
|
disabled={props.disabled}
|
|
onClick={handleClick}
|
|
leftIcon={<Wallet />}
|
|
className={props.className}
|
|
text={props.textOverride ?? 'Connect Wallet'}
|
|
/>
|
|
)
|
|
}
|