From 142206b79a20126ed0d4a9eb8529e590755ecb22 Mon Sep 17 00:00:00 2001 From: James Grugett Date: Wed, 18 May 2022 10:59:08 -0400 Subject: [PATCH] Revert "Show every user's bets on their profile (#170)" This reverts commit d50cc39c27f0488bc51ca4a5a427e514fde540e0. --- web/components/contract/contracts-list.tsx | 1 + web/components/nav/nav-bar.tsx | 2 +- web/components/nav/sidebar.tsx | 21 +++---- web/components/user-page.tsx | 71 ++++------------------ web/hooks/use-sort-and-query-params.tsx | 1 + web/lib/firebase/bets.ts | 6 -- web/pages/[username]/bets.tsx | 5 -- web/pages/[username]/comments.tsx | 5 -- web/pages/[username]/index.tsx | 8 +-- 9 files changed, 26 insertions(+), 94 deletions(-) delete mode 100644 web/pages/[username]/bets.tsx delete mode 100644 web/pages/[username]/comments.tsx 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 ( -
-
-
-
-
-

{title}

-
- -
-
-
-
- ) -} 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: { ) : (