added removal of event listener

This commit is contained in:
ingawei 2022-09-29 23:25:05 -07:00
parent 1f84456081
commit dedc862da7
4 changed files with 26 additions and 11 deletions

View File

@ -17,6 +17,7 @@ import { BetSignUpPrompt } from './sign-up-prompt'
import { User } from 'web/lib/firebase/users'
import { SellRow } from './sell-row'
import { useUnfilledBets } from 'web/hooks/use-bets'
import { PlayMoneyDisclaimer } from './play-money-disclaimer'
/** Button that opens BetPanel in a new modal */
export default function BetButton(props: {
@ -51,7 +52,9 @@ export default function BetButton(props: {
Predict
</Button>
) : (
<BetSignUpPrompt />
<>
<BetSignUpPrompt />
</>
)}
{user && (
@ -85,7 +88,12 @@ export function BinaryMobileBetting(props: { contract: BinaryContract }) {
if (user) {
return <SignedInBinaryMobileBetting contract={contract} user={user} />
} else {
return <BetSignUpPrompt className="w-full" />
return (
<Col className="w-full">
<BetSignUpPrompt className="w-full" />
<PlayMoneyDisclaimer />
</Col>
)
}
}

View File

@ -3,7 +3,7 @@ import { InfoBox } from './info-box'
export const PlayMoneyDisclaimer = () => (
<InfoBox
title="Play-money trading"
className="mt-4 max-w-md"
className="mt-4"
text="Mana (M$) is the play-money used by our platform to keep track of your trades. It's completely free for you and your friends to get started!"
/>
)

View File

@ -7,14 +7,20 @@ export function ScrollToTopButton(props: { className?: string }) {
const { className } = props
const [visible, setVisible] = useState(false)
const onScroll = () => {
if (window.scrollY > 500) {
setVisible(true)
} else {
setVisible(false)
}
}
useEffect(() => {
window.addEventListener('scroll', () => {
if (window.scrollY > 500) {
setVisible(true)
} else {
setVisible(false)
}
})
window.addEventListener('scroll', onScroll)
return () => {
window.removeEventListener('scroll', onScroll)
}
}, [])
const scrollToTop = () => {

View File

@ -1,4 +1,4 @@
import React, { memo, useEffect, useMemo, useState } from 'react'
import React, { memo, useCallback, useEffect, useMemo, useState } from 'react'
import { ArrowLeftIcon } from '@heroicons/react/outline'
import dayjs from 'dayjs'
@ -46,6 +46,7 @@ import { BetsSummary } from 'web/components/bet-summary'
import { listAllComments } from 'web/lib/firebase/comments'
import { ContractComment } from 'common/comment'
import { ScrollToTopButton } from 'web/components/scroll-to-top-button'
import { VisibilityObserver } from 'web/components/visibility-observer'
export const getStaticProps = fromPropz(getStaticPropz)
export async function getStaticPropz(props: {