diff --git a/web/components/contract/contracts-list.tsx b/web/components/contract/contracts-list.tsx
index 28fae7da..9d74064d 100644
--- a/web/components/contract/contracts-list.tsx
+++ b/web/components/contract/contracts-list.tsx
@@ -19,6 +19,7 @@ export function ContractsGrid(props: {
const isBottomVisible = useIsVisible(elem)
useEffect(() => {
+ console.log({ isBottomVisible, hasMore })
if (isBottomVisible) {
loadMore()
}
diff --git a/web/components/nav/nav-bar.tsx b/web/components/nav/nav-bar.tsx
index 987e3142..04c8e891 100644
--- a/web/components/nav/nav-bar.tsx
+++ b/web/components/nav/nav-bar.tsx
@@ -47,7 +47,7 @@ export function BottomNavBar() {
)}
{user !== null && (
-
+
{
}
}
-function getNavigation(userName: string) {
- return [
- { name: 'Home', href: '/home', icon: HomeIcon },
- { name: 'Activity', href: '/activity', icon: ChatAltIcon },
- {
- name: 'Portfolio',
- href: `/${userName}/bets`,
- icon: PresentationChartLineIcon,
- },
- { name: 'Charity', href: '/charity', icon: HeartIcon },
- ]
-}
+const navigation = [
+ { name: 'Home', href: '/home', icon: HomeIcon },
+ { name: 'Activity', href: '/activity', icon: ChatAltIcon },
+ { name: 'Portfolio', href: '/portfolio', icon: PresentationChartLineIcon },
+ { name: 'Charity', href: '/charity', icon: HeartIcon },
+]
const signedOutNavigation = [
{ name: 'Home', href: '/home', icon: HomeIcon },
@@ -125,8 +119,7 @@ export default function Sidebar(props: { className?: string }) {
folds = _.sortBy(folds, 'followCount').reverse()
const deservesDailyFreeMarket = !useHasCreatedContractToday(user)
- const navigationOptions =
- user === null ? signedOutNavigation : getNavigation(user?.name || 'error')
+ const navigationOptions = user === null ? signedOutNavigation : navigation
const mobileNavigationOptions =
user === null ? signedOutMobileNavigation : mobileNavigation
diff --git a/web/components/user-page.tsx b/web/components/user-page.tsx
index 9f78165c..89750b28 100644
--- a/web/components/user-page.tsx
+++ b/web/components/user-page.tsx
@@ -21,9 +21,6 @@ import { getContractFromId, listContracts } from 'web/lib/firebase/contracts'
import { LoadingIndicator } from './loading-indicator'
import { useRouter } from 'next/router'
import _ from 'lodash'
-import { BetsList } from './bets-list'
-import { Bet } from 'common/bet'
-import { getUserBets } from 'web/lib/firebase/bets'
export function UserLink(props: {
name: string
@@ -41,13 +38,12 @@ export function UserLink(props: {
)
}
-export const TAB_IDS = ['markets', 'comments', 'bets']
-
export function UserPage(props: {
user: User
currentUser?: User
- defaultTabTitle?: 'markets' | 'comments' | 'bets'
+ defaultTabTitle?: string
}) {
+ const router = useRouter()
const { user, currentUser, defaultTabTitle } = props
const isCurrentUser = user.id === currentUser?.id
const bannerUrl = user.bannerUrl ?? defaultBannerUrl(user.id)
@@ -55,7 +51,6 @@ export function UserPage(props: {
const [usersContracts, setUsersContracts] = useState(
'loading'
)
- const [usersBets, setUsersBets] = useState('loading')
const [commentsByContract, setCommentsByContract] = useState<
Map | 'loading'
>('loading')
@@ -64,7 +59,6 @@ export function UserPage(props: {
if (!user) return
getUsersComments(user.id).then(setUsersComments)
listContracts(user.id).then(setUsersContracts)
- getUserBets(user.id).then(setUsersBets)
}, [user])
useEffect(() => {
@@ -193,14 +187,17 @@ export function UserPage(props: {
{usersContracts !== 'loading' && commentsByContract != 'loading' ? (
{
- const tabId = tabName.toLowerCase()
- const subpath = tabId === 'markets' ? '' : '/' + tabId
- // BUG: if you start on `/Bob/bets`, then click on Markets, use-query-and-sort-params
- // rewrites the url incorrectly to `/Bob/bets` instead of `/Bob`
- window.history.replaceState('', '', `/${user.username}${subpath}`)
- }}
+ defaultIndex={defaultTabTitle === 'Comments' ? 1 : 0}
+ onClick={(tabName) =>
+ router.push(
+ {
+ pathname: `/${user.username}`,
+ query: { tab: tabName },
+ },
+ undefined,
+ { shallow: true }
+ )
+ }
tabs={[
{
title: 'Markets',
@@ -223,24 +220,6 @@ export function UserPage(props: {
{usersComments.length}
),
},
- {
- title: 'Bets',
- content: (
-
-
- {isCurrentUser &&
}
-
- ),
- tabIcon: (
- {usersBets.length}
- ),
- },
]}
/>
) : (
@@ -263,27 +242,3 @@ export function defaultBannerUrl(userId: string) {
]
return defaultBanner[genHash(userId)() % defaultBanner.length]
}
-
-import { ExclamationIcon } from '@heroicons/react/solid'
-
-function AlertBox(props: { title: string; text: string }) {
- const { title, text } = props
- return (
-
- )
-}
diff --git a/web/hooks/use-sort-and-query-params.tsx b/web/hooks/use-sort-and-query-params.tsx
index 776bcd4d..7a9abb85 100644
--- a/web/hooks/use-sort-and-query-params.tsx
+++ b/web/hooks/use-sort-and-query-params.tsx
@@ -47,6 +47,7 @@ export function useInitialQueryAndSort(options?: {
}
setInitialSort(localSort ?? defaultSort)
} else {
+ console.log('ready setting to ', sort ?? defaultSort)
setInitialSort(sort ?? defaultSort)
}
}
diff --git a/web/lib/firebase/bets.ts b/web/lib/firebase/bets.ts
index c3ca8508..b55b0027 100644
--- a/web/lib/firebase/bets.ts
+++ b/web/lib/firebase/bets.ts
@@ -60,12 +60,6 @@ export function listenForBets(
})
}
-export async function getUserBets(userId: string) {
- return getValues(
- query(collectionGroup(db, 'bets'), where('userId', '==', userId))
- )
-}
-
export function listenForUserBets(
userId: string,
setBets: (bets: Bet[]) => void
diff --git a/web/pages/[username]/bets.tsx b/web/pages/[username]/bets.tsx
deleted file mode 100644
index 0403d263..00000000
--- a/web/pages/[username]/bets.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import UserProfile from '.'
-
-export default function UserBets() {
- return
-}
diff --git a/web/pages/[username]/comments.tsx b/web/pages/[username]/comments.tsx
deleted file mode 100644
index 65a53028..00000000
--- a/web/pages/[username]/comments.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import UserProfile from '.'
-
-export default function UserBets() {
- return
-}
diff --git a/web/pages/[username]/index.tsx b/web/pages/[username]/index.tsx
index eaef8471..cbc53235 100644
--- a/web/pages/[username]/index.tsx
+++ b/web/pages/[username]/index.tsx
@@ -6,12 +6,10 @@ import { UserPage } from 'web/components/user-page'
import { useUser } from 'web/hooks/use-user'
import Custom404 from '../404'
-export default function UserProfile(props: {
- tab?: 'markets' | 'comments' | 'bets'
-}) {
+export default function UserProfile() {
const router = useRouter()
const [user, setUser] = useState('loading')
- const { username } = router.query as { username: string }
+ const { username, tab } = router.query as { username: string; tab: string }
useEffect(() => {
if (username) {
getUserByUsername(username).then(setUser)
@@ -26,7 +24,7 @@ export default function UserProfile(props: {
) : (