From 08aa6dab1810a57eb9d6664bfb4906aa12310074 Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Fri, 19 Jan 2024 17:11:22 -0500 Subject: [PATCH] chore: delete old teams page --- apps/trading/client-pages/team/Team.graphql | 89 ---- .../client-pages/team/__generated__/Team.ts | 151 ------- apps/trading/client-pages/team/index.ts | 1 - apps/trading/client-pages/team/team.tsx | 395 ------------------ apps/trading/client-pages/team/use-team.ts | 64 --- 5 files changed, 700 deletions(-) delete mode 100644 apps/trading/client-pages/team/Team.graphql delete mode 100644 apps/trading/client-pages/team/__generated__/Team.ts delete mode 100644 apps/trading/client-pages/team/index.ts delete mode 100644 apps/trading/client-pages/team/team.tsx delete mode 100644 apps/trading/client-pages/team/use-team.ts diff --git a/apps/trading/client-pages/team/Team.graphql b/apps/trading/client-pages/team/Team.graphql deleted file mode 100644 index c22bbaf3f..000000000 --- a/apps/trading/client-pages/team/Team.graphql +++ /dev/null @@ -1,89 +0,0 @@ -fragment TeamFields on Team { - teamId - referrer - name - teamUrl - avatarUrl - createdAt - createdAtEpoch - closed -} - -fragment TeamStatsFields on TeamStatistics { - teamId - totalQuantumVolume - totalQuantumRewards - totalGamesPlayed - quantumRewards { - epoch - total_quantum_rewards - } - gamesPlayed -} - -fragment TeamRefereeFields on TeamReferee { - teamId - referee - joinedAt - joinedAtEpoch -} - -fragment TeamEntity on TeamGameEntity { - rank - volume - rewardMetric - rewardEarned - totalRewardsEarned - team { - teamId - } -} - -fragment TeamGameFields on Game { - id - epoch - numberOfParticipants - entities { - ... on TeamGameEntity { - ...TeamEntity - } - } -} - -query Team($teamId: ID!, $partyId: ID) { - teams(teamId: $teamId) { - edges { - node { - ...TeamFields - } - } - } - partyTeams: teams(partyId: $partyId) { - edges { - node { - ...TeamFields - } - } - } - teamsStatistics(teamId: $teamId) { - edges { - node { - ...TeamStatsFields - } - } - } - teamReferees(teamId: $teamId) { - edges { - node { - ...TeamRefereeFields - } - } - } - games(entityScope: ENTITY_SCOPE_TEAMS) { - edges { - node { - ...TeamGameFields - } - } - } -} diff --git a/apps/trading/client-pages/team/__generated__/Team.ts b/apps/trading/client-pages/team/__generated__/Team.ts deleted file mode 100644 index 1398af438..000000000 --- a/apps/trading/client-pages/team/__generated__/Team.ts +++ /dev/null @@ -1,151 +0,0 @@ -import * as Types from '@vegaprotocol/types'; - -import { gql } from '@apollo/client'; -import * as Apollo from '@apollo/client'; -const defaultOptions = {} as const; -export type TeamFieldsFragment = { __typename?: 'Team', teamId: string, referrer: string, name: string, teamUrl: string, avatarUrl: string, createdAt: any, createdAtEpoch: number, closed: boolean }; - -export type TeamStatsFieldsFragment = { __typename?: 'TeamStatistics', teamId: string, totalQuantumVolume: string, totalQuantumRewards: string, totalGamesPlayed: number, gamesPlayed: Array, quantumRewards: Array<{ __typename?: 'QuantumRewardsPerEpoch', epoch: number, total_quantum_rewards: string }> }; - -export type TeamRefereeFieldsFragment = { __typename?: 'TeamReferee', teamId: string, referee: string, joinedAt: any, joinedAtEpoch: number }; - -export type TeamEntityFragment = { __typename?: 'TeamGameEntity', rank: number, volume: string, rewardMetric: string, rewardEarned: string, totalRewardsEarned: string, team: { __typename?: 'TeamParticipation', teamId: string } }; - -export type TeamGameFieldsFragment = { __typename?: 'Game', id: string, epoch: number, numberOfParticipants: number, entities: Array<{ __typename?: 'IndividualGameEntity' } | { __typename?: 'TeamGameEntity', rank: number, volume: string, rewardMetric: string, rewardEarned: string, totalRewardsEarned: string, team: { __typename?: 'TeamParticipation', teamId: string } }> }; - -export type TeamQueryVariables = Types.Exact<{ - teamId: Types.Scalars['ID']; - partyId?: Types.InputMaybe; -}>; - - -export type TeamQuery = { __typename?: 'Query', teams?: { __typename?: 'TeamConnection', edges: Array<{ __typename?: 'TeamEdge', node: { __typename?: 'Team', teamId: string, referrer: string, name: string, teamUrl: string, avatarUrl: string, createdAt: any, createdAtEpoch: number, closed: boolean } }> } | null, partyTeams?: { __typename?: 'TeamConnection', edges: Array<{ __typename?: 'TeamEdge', node: { __typename?: 'Team', teamId: string, referrer: string, name: string, teamUrl: string, avatarUrl: string, createdAt: any, createdAtEpoch: number, closed: boolean } }> } | null, teamsStatistics?: { __typename?: 'TeamsStatisticsConnection', edges: Array<{ __typename?: 'TeamStatisticsEdge', node: { __typename?: 'TeamStatistics', teamId: string, totalQuantumVolume: string, totalQuantumRewards: string, totalGamesPlayed: number, gamesPlayed: Array, quantumRewards: Array<{ __typename?: 'QuantumRewardsPerEpoch', epoch: number, total_quantum_rewards: string }> } }> } | null, teamReferees?: { __typename?: 'TeamRefereeConnection', edges: Array<{ __typename?: 'TeamRefereeEdge', node: { __typename?: 'TeamReferee', teamId: string, referee: string, joinedAt: any, joinedAtEpoch: number } }> } | null, games: { __typename?: 'GamesConnection', edges?: Array<{ __typename?: 'GameEdge', node: { __typename?: 'Game', id: string, epoch: number, numberOfParticipants: number, entities: Array<{ __typename?: 'IndividualGameEntity' } | { __typename?: 'TeamGameEntity', rank: number, volume: string, rewardMetric: string, rewardEarned: string, totalRewardsEarned: string, team: { __typename?: 'TeamParticipation', teamId: string } }> } } | null> | null } }; - -export const TeamFieldsFragmentDoc = gql` - fragment TeamFields on Team { - teamId - referrer - name - teamUrl - avatarUrl - createdAt - createdAtEpoch - closed -} - `; -export const TeamStatsFieldsFragmentDoc = gql` - fragment TeamStatsFields on TeamStatistics { - teamId - totalQuantumVolume - totalQuantumRewards - totalGamesPlayed - quantumRewards { - epoch - total_quantum_rewards - } - gamesPlayed -} - `; -export const TeamRefereeFieldsFragmentDoc = gql` - fragment TeamRefereeFields on TeamReferee { - teamId - referee - joinedAt - joinedAtEpoch -} - `; -export const TeamEntityFragmentDoc = gql` - fragment TeamEntity on TeamGameEntity { - rank - volume - rewardMetric - rewardEarned - totalRewardsEarned - team { - teamId - } -} - `; -export const TeamGameFieldsFragmentDoc = gql` - fragment TeamGameFields on Game { - id - epoch - numberOfParticipants - entities { - ... on TeamGameEntity { - ...TeamEntity - } - } -} - ${TeamEntityFragmentDoc}`; -export const TeamDocument = gql` - query Team($teamId: ID!, $partyId: ID) { - teams(teamId: $teamId) { - edges { - node { - ...TeamFields - } - } - } - partyTeams: teams(partyId: $partyId) { - edges { - node { - ...TeamFields - } - } - } - teamsStatistics(teamId: $teamId) { - edges { - node { - ...TeamStatsFields - } - } - } - teamReferees(teamId: $teamId) { - edges { - node { - ...TeamRefereeFields - } - } - } - games(entityScope: ENTITY_SCOPE_TEAMS) { - edges { - node { - ...TeamGameFields - } - } - } -} - ${TeamFieldsFragmentDoc} -${TeamStatsFieldsFragmentDoc} -${TeamRefereeFieldsFragmentDoc} -${TeamGameFieldsFragmentDoc}`; - -/** - * __useTeamQuery__ - * - * To run a query within a React component, call `useTeamQuery` and pass it any options that fit your needs. - * When your component renders, `useTeamQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useTeamQuery({ - * variables: { - * teamId: // value for 'teamId' - * partyId: // value for 'partyId' - * }, - * }); - */ -export function useTeamQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TeamDocument, options); - } -export function useTeamLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TeamDocument, options); - } -export type TeamQueryHookResult = ReturnType; -export type TeamLazyQueryHookResult = ReturnType; -export type TeamQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/trading/client-pages/team/index.ts b/apps/trading/client-pages/team/index.ts deleted file mode 100644 index 96b514715..000000000 --- a/apps/trading/client-pages/team/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Team } from './team'; diff --git a/apps/trading/client-pages/team/team.tsx b/apps/trading/client-pages/team/team.tsx deleted file mode 100644 index aeea398b5..000000000 --- a/apps/trading/client-pages/team/team.tsx +++ /dev/null @@ -1,395 +0,0 @@ -import { useState, type ReactNode, type ButtonHTMLAttributes } from 'react'; -import { Link, useParams } from 'react-router-dom'; -import orderBy from 'lodash/orderBy'; -import countBy from 'lodash/countBy'; -import { - TradingButton as Button, - Intent, - Pill, - VegaIcon, - VegaIconNames, - Tooltip, - Splash, - truncateMiddle, -} from '@vegaprotocol/ui-toolkit'; -import classNames from 'classnames'; -import { useT } from '../../lib/use-t'; -import { Table } from '../../components/table'; -import { formatNumberRounded, getDateTimeFormat } from '@vegaprotocol/utils'; -import { - useTeam, - type Team as TeamType, - type TeamStats, - type Member, - type TeamGame, -} from './use-team'; -import { DApp, EXPLORER_PARTIES, useLinks } from '@vegaprotocol/environment'; -import BigNumber from 'bignumber.js'; - -export const Team = () => { - const t = useT(); - const { teamId } = useParams<{ teamId: string }>(); - const { team, stats, partyInTeam, members, games } = useTeam(teamId); - - if (!team) { - return ( - -

{t('Page not found')}

-
- ); - } - - return ( - - ); -}; - -export const TeamPage = ({ - team, - stats, - partyInTeam, - members, - games, -}: { - team: TeamType; - stats?: TeamStats; - partyInTeam: boolean; - members?: Member[]; - games?: TeamGame[]; -}) => { - const t = useT(); - const [showGames, setShowGames] = useState(true); - - return ( -
-
-
-
-
-
- -
-

- {team.name} -

- -
-
- - - - - - - - - - {games && games.length ? ( - - - - - - ) : null} -
-
- setShowGames(true)}> - {t('Games ({{count}})', { count: games ? games.length : 0 })} - - setShowGames(false)} - > - {t('Members ({{count}})', { - count: members ? members.length : 0, - })} - -
- {showGames ? : } -
-
-
- ); -}; - -const Games = ({ games }: { games?: TeamGame[] }) => { - const t = useT(); - - if (!games?.length) { - return

{t('No games')}

; - } - - return ( - ({ - rank: game.team.rank, - epoch: game.epoch, - type: game.team.rewardMetric, - amount: game.team.totalRewardsEarned, - teams: game.numberOfParticipants, - }))} - noCollapse={true} - /> - ); -}; - -const TeamAvatar = ({ imgUrl }: { imgUrl: string }) => { - // TODO: add fallback avatars - return ( - // eslint-disable-next-line @next/next/no-img-element - Team avatar - ); -}; - -const Members = ({ members }: { members?: Member[] }) => { - const t = useT(); - - if (!members?.length) { - return

{t('No members')}

; - } - - const data = orderBy( - members.map((m) => ({ - referee: , - joinedAt: getDateTimeFormat().format(new Date(m.joinedAt)), - joinedAtEpoch: Number(m.joinedAtEpoch), - explorerLink: , - })), - 'joinedAtEpoch', - 'desc' - ); - - return ( -
- ); -}; - -const RefereeCell = ({ pubkey }: { pubkey: string }) => { - return {truncateMiddle(pubkey)}; -}; - -const RefereeLink = ({ pubkey }: { pubkey: string }) => { - const t = useT(); - - const linkCreator = useLinks(DApp.Explorer); - const link = linkCreator(EXPLORER_PARTIES.replace(':id', pubkey)); - - return ( - - {t('View on explorer')} - - ); -}; - -const JoinButton = ({ joined }: { joined: boolean }) => { - const t = useT(); - - if (joined) { - return ( - - ); - } - - return ; -}; - -const LatestResults = ({ games }: { games: TeamGame[] }) => { - const t = useT(); - const latestGames = games.slice(0, 5); - - return ( -
-
- {t('Last {{count}} game results', { count: latestGames.length })} -
-
- {latestGames.map((game) => { - return ( - - {t('place', { count: game.team.rank, ordinal: true })} - - ); - })} -
-
- ); -}; - -const FavoriteGame = ({ games }: { games: TeamGame[] }) => { - const t = useT(); - - const rewardMetrics = games.map((game) => game.team.rewardMetric); - const count = countBy(rewardMetrics); - - let favoriteMetric = ''; - let mostOccurances = 0; - - for (const key in count) { - if (count[key] > mostOccurances) { - favoriteMetric = key; - mostOccurances = count[key]; - } - } - - if (!favoriteMetric) return null; - - return ( -
-
{t('Favorite game')}
-
- - {' '} - {favoriteMetric} - -
-
- ); -}; - -const ToggleButton = ({ - active, - ...props -}: ButtonHTMLAttributes & { active: boolean }) => { - return ( -