Skip to content

Commit

Permalink
update: display extension invite code modal every time
Browse files Browse the repository at this point in the history
  • Loading branch information
PetromirDev committed Aug 8, 2024
1 parent 94d8988 commit f05f898
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,15 @@ import styles from './ExtensionInviteCodeModal.module.scss'

const CAN_CLOSE_AFTER_MS = 5000

const ExtensionInviteCodeModal = ({
inviteCode,
setExtensionInviteCodeModalSeenBy,
accountId,
waitForClose = true
}) => {
const ExtensionInviteCodeModal = ({ inviteCode, waitForClose = true }) => {
const { onHideModal } = useModals()
const { addToast } = useToasts()
const [canClose, setCanClose] = useState(!waitForClose)

const handleCloseModal = useCallback(() => {
if (!canClose) return
onHideModal()
setExtensionInviteCodeModalSeenBy((prev) => {
if (prev.includes(accountId)) return prev

return [...prev, accountId]
})
}, [accountId, canClose, onHideModal, setExtensionInviteCodeModalSeenBy])
}, [canClose, onHideModal])

useEffect(() => {
const startingTime = Date.now()
Expand All @@ -45,7 +35,7 @@ const ExtensionInviteCodeModal = ({
return () => {
clearTimeout(timeout)
}
})
}, [])

const handleCopy = useCallback(async () => {
try {
Expand Down
17 changes: 3 additions & 14 deletions src/components/Wallet/TopBar/Links/Links.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,15 @@ import { ReactComponent as Twitter } from './images/twitter.svg'
import { ReactComponent as Telegram } from './images/telegram.svg'
import { ReactComponent as Tos } from './images/tos.svg'

const Links = ({ extensionInviteCodeUsed, inviteCode, accountId }) => {
const Links = ({ extensionInviteCodeUsed, inviteCode }) => {
const { showModal } = useModals()
const [, setExtensionInviteCodeModalSeenBy] = useLocalStorage({
key: 'extensionInviteCodeModalSeenBy',
defaultValue: []
})
const [linksViewed, setLinksViewed] = useLocalStorage({ key: 'linksViewed', defaultValue: false })

const onOpen = useCallback(() => setLinksViewed(true), [setLinksViewed])

const openExtensionInviteCodeModal = useCallback(() => {
showModal(
<ExtensionInviteCodeModal
inviteCode={inviteCode}
setExtensionInviteCodeModalSeenBy={setExtensionInviteCodeModalSeenBy}
accountId={accountId}
waitForClose={false}
/>
)
}, [accountId, inviteCode, setExtensionInviteCodeModalSeenBy, showModal])
showModal(<ExtensionInviteCodeModal inviteCode={inviteCode} waitForClose={false} />)
}, [inviteCode, showModal])

return (
<DropDown
Expand Down
1 change: 0 additions & 1 deletion src/components/Wallet/TopBar/TopBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ const TopBar = ({
dapModeTopBar={dappModeTopBar}
/>
<Links
accountId={selectedAcc}
inviteCode={rewardsData?.rewards?.extensionKey?.key}
extensionInviteCodeUsed={rewardsData?.rewards?.extensionKey?.used}
/>
Expand Down
19 changes: 2 additions & 17 deletions src/components/Wallet/Wallet.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,6 @@ export default function Wallet(props) {
key: 'dAppsAdvancedMode',
defaultValue: []
})
const [extensionInviteCodeModalSeenBy, setExtensionInviteCodeModalSeenBy] = useLocalStorage({
key: 'extensionInviteCodeModalSeenBy',
defaultValue: []
})

const routes = [
{
Expand Down Expand Up @@ -261,31 +257,20 @@ export default function Wallet(props) {

if (!key || used || rewardsAccountAddr !== account.id) return

const isSeen = extensionInviteCodeModalSeenBy.includes(account.id)

if (isSeen) return

showModal(
<ExtensionInviteCodeModal
inviteCode={key}
setExtensionInviteCodeModalSeenBy={setExtensionInviteCodeModalSeenBy}
accountId={account.id}
/>,
{ disableClose: true }
)
showModal(<ExtensionInviteCodeModal inviteCode={key} />, { disableClose: true })
}, [
props.accounts,
props.relayerURL,
props.onAddAccount,
props.showThankYouPage,
props.rewardsData?.rewards.extensionKey?.key,
props.rewardsData?.rewards.extensionKey?.used,
props.rewardsData?.rewards.accountAddr,
props.selectedAcc,
arePermissionsLoaded,
isClipboardGranted,
isNoticationsGranted,
modalHidden,
extensionInviteCodeModalSeenBy,
showModal
])

Expand Down

0 comments on commit f05f898

Please sign in to comment.