2023-01-03 03:06:37 -08:00
|
|
|
import WalletIcon from '@components/icons/WalletIcon'
|
|
|
|
import { LinkIcon } from '@heroicons/react/20/solid'
|
|
|
|
import { useTranslation } from 'next-i18next'
|
|
|
|
import Button from './Button'
|
2023-07-20 16:07:59 -07:00
|
|
|
import { useWallet } from '@solana/wallet-adapter-react'
|
2023-07-21 07:28:26 -07:00
|
|
|
import mangoStore from '@store/mangoStore'
|
|
|
|
import { useCallback } from 'react'
|
|
|
|
import { AUTO_CONNECT_WALLET } from 'utils/constants'
|
|
|
|
import useLocalStorageState from 'hooks/useLocalStorageState'
|
|
|
|
|
|
|
|
const set = mangoStore.getState().set
|
2023-01-03 03:06:37 -08:00
|
|
|
|
|
|
|
const ConnectEmptyState = ({ text }: { text: string }) => {
|
|
|
|
const { t } = useTranslation('common')
|
2023-07-20 16:07:59 -07:00
|
|
|
const { connect } = useWallet()
|
2023-07-21 07:28:26 -07:00
|
|
|
const [autoConnect] = useLocalStorageState(AUTO_CONNECT_WALLET, true)
|
|
|
|
|
|
|
|
const handleConnect = useCallback(() => {
|
|
|
|
if (!autoConnect) {
|
|
|
|
set((s) => {
|
|
|
|
s.showUserSetup = true
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
connect()
|
|
|
|
}
|
|
|
|
}, [autoConnect, connect])
|
|
|
|
|
2023-01-03 03:06:37 -08:00
|
|
|
return (
|
|
|
|
<div className="flex flex-col items-center">
|
|
|
|
<WalletIcon className="mb-2 h-6 w-6 text-th-fgd-4" />
|
|
|
|
<p className="mb-4">{text}</p>
|
2023-07-21 07:28:26 -07:00
|
|
|
<Button onClick={handleConnect}>
|
2023-01-03 03:06:37 -08:00
|
|
|
<div className="flex items-center">
|
|
|
|
<LinkIcon className="mr-2 h-5 w-5" />
|
|
|
|
{t('connect')}
|
|
|
|
</div>
|
|
|
|
</Button>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default ConnectEmptyState
|