diff --git a/web/components/contract/contract-tabs.tsx b/web/components/contract/contract-tabs.tsx
index ae957dc6..5ca0d9d9 100644
--- a/web/components/contract/contract-tabs.tsx
+++ b/web/components/contract/contract-tabs.tsx
@@ -8,7 +8,7 @@ import { FeedCommentThread, ContractCommentInput } from '../feed/feed-comments'
import { groupBy, sortBy } from 'lodash'
import { Bet } from 'common/bet'
import { Contract } from 'common/contract'
-import { PAST_BETS, User } from 'common/user'
+import { PAST_BETS } from 'common/user'
import { ContractBetsTable, BetsSummary } from '../bets-list'
import { Spacer } from '../layout/spacer'
import { Tabs } from '../layout/tabs'
@@ -17,6 +17,7 @@ import { LoadingIndicator } from 'web/components/loading-indicator'
import { useComments } from 'web/hooks/use-comments'
import { useLiquidity } from 'web/hooks/use-liquidity'
import { useTipTxns } from 'web/hooks/use-tip-txns'
+import { useUser } from 'web/hooks/use-user'
import { capitalize } from 'lodash'
import {
DEV_HOUSE_LIQUIDITY_PROVIDER_ID,
@@ -24,15 +25,11 @@ import {
} from 'common/antes'
import { useIsMobile } from 'web/hooks/use-is-mobile'
-export function ContractTabs(props: {
- contract: Contract
- user: User | null | undefined
- bets: Bet[]
-}) {
- const { contract, user, bets } = props
+export function ContractTabs(props: { contract: Contract; bets: Bet[] }) {
+ const { contract, bets } = props
const isMobile = useIsMobile()
-
+ const user = useUser()
const userBets =
user && bets.filter((bet) => !bet.isAnte && bet.userId === user.id)
diff --git a/web/pages/[username]/[contractSlug].tsx b/web/pages/[username]/[contractSlug].tsx
index 4dada330..3a179c54 100644
--- a/web/pages/[username]/[contractSlug].tsx
+++ b/web/pages/[username]/[contractSlug].tsx
@@ -31,7 +31,6 @@ import { CPMMBinaryContract } from 'common/contract'
import { AlertBox } from 'web/components/alert-box'
import { useTracking } from 'web/hooks/use-tracking'
import { useSaveReferral } from 'web/hooks/use-save-referral'
-import { User } from 'common/user'
import { getOpenGraphProps } from 'common/contract-details'
import { ContractDescription } from 'web/components/contract/contract-description'
import {
@@ -73,12 +72,8 @@ export default function ContractPage(props: {
bets: Bet[]
backToHome?: () => void
}) {
- props = usePropz(props, getStaticPropz) ?? {
- contract: null,
- bets: [],
- }
+ props = usePropz(props, getStaticPropz) ?? { contract: null, bets: [] }
- const user = useUser()
const inIframe = useIsIframe()
if (inIframe) {
return
@@ -90,9 +85,7 @@ export default function ContractPage(props: {
return
}
- return (
-
- )
+ return
}
// requires an admin to resolve a week after market closes
@@ -100,12 +93,10 @@ export function needsAdminToResolve(contract: Contract) {
return !contract.isResolved && dayjs().diff(contract.closeTime, 'day') > 7
}
-export function ContractPageSidebar(props: {
- user: User | null | undefined
- contract: Contract
-}) {
- const { contract, user } = props
+export function ContractPageSidebar(props: { contract: Contract }) {
+ const { contract } = props
const { creatorId, isResolved, outcomeType } = contract
+ const user = useUser()
const isCreator = user?.id === creatorId
const isBinary = outcomeType === 'BINARY'
const isPseudoNumeric = outcomeType === 'PSEUDO_NUMERIC'
@@ -154,11 +145,11 @@ export function ContractPageSidebar(props: {
export function ContractPageContent(
props: Parameters[0] & {
contract: Contract
- user?: User | null
}
) {
- const { backToHome, user } = props
+ const { backToHome } = props
const contract = useContractWithPreload(props.contract) ?? props.contract
+ const user = useUser()
usePrefetch(user?.id)
useTracking(
'view market',
@@ -198,9 +189,8 @@ export function ContractPageContent(
contractId: contract.id,
})
- const rightSidebar =
return (
-
+ }>
{showConfetti && (
)}
@@ -258,7 +248,7 @@ export function ContractPageContent(
>
)}
-
+
{!user ? (
diff --git a/web/pages/embed/[username]/[contractSlug].tsx b/web/pages/embed/[username]/[contractSlug].tsx
index 58a7e063..75a9ad05 100644
--- a/web/pages/embed/[username]/[contractSlug].tsx
+++ b/web/pages/embed/[username]/[contractSlug].tsx
@@ -54,10 +54,7 @@ export default function ContractEmbedPage(props: {
contract: Contract | null
bets: Bet[]
}) {
- props = usePropz(props, getStaticPropz) ?? {
- contract: null,
- bets: [],
- }
+ props = usePropz(props, getStaticPropz) ?? { contract: null, bets: [] }
const contract = useContractWithPreload(props.contract)
const { bets } = props