Files
mars-v2-frontend/src/components/Wallet/WalletConnectButton.tsx
T
Linkie Link 3c280518e8 Morph summary (#763)
* 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
2024-02-06 10:05:42 +01:00

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'}
/>
)
}