diff --git a/frontend/src/components/modals/team_modal.tsx b/frontend/src/components/modals/team_modal.tsx index 296a3079..b9dc39ee 100644 --- a/frontend/src/components/modals/team_modal.tsx +++ b/frontend/src/components/modals/team_modal.tsx @@ -33,6 +33,7 @@ export default function TeamModal({ onClick={() => setOpened(true)} leftIcon={} title={operation_text} + style={{ marginTop: '1rem' }} /> ) : ( diff --git a/frontend/src/components/tables/teams.tsx b/frontend/src/components/tables/teams.tsx index e60c9e7e..10b9f161 100644 --- a/frontend/src/components/tables/teams.tsx +++ b/frontend/src/components/tables/teams.tsx @@ -16,11 +16,12 @@ import TableLayout, { ThNotSortable, ThSortable, getTableState, sortTableEntries export default function TeamsTable({ tournamentData, swrTeamsResponse, + teams, }: { tournamentData: TournamentMinimal; swrTeamsResponse: SWRResponse; + teams: TeamInterface[]; }) { - const teams: TeamInterface[] = swrTeamsResponse.data != null ? swrTeamsResponse.data.data : []; const tableState = getTableState('name'); if (swrTeamsResponse.error) return ; @@ -39,6 +40,7 @@ export default function TeamsTable({ + {team.swiss_score} Created + + Swiss score + {null} diff --git a/frontend/src/pages/tournaments/[id]/teams.tsx b/frontend/src/pages/tournaments/[id]/teams.tsx index a12abce6..7d14af12 100644 --- a/frontend/src/pages/tournaments/[id]/teams.tsx +++ b/frontend/src/pages/tournaments/[id]/teams.tsx @@ -1,30 +1,93 @@ -import { Grid, Title } from '@mantine/core'; +import { Grid, Group, Select, Title } from '@mantine/core'; +import React, { useState } from 'react'; import { SWRResponse } from 'swr'; import TeamModal from '../../../components/modals/team_modal'; import TeamsTable from '../../../components/tables/teams'; -import { getTournamentIdFromRouter } from '../../../components/utils/util'; -import { getTeams } from '../../../services/adapter'; +import { getTournamentIdFromRouter, responseIsValid } from '../../../components/utils/util'; +import { StageItemWithRounds } from '../../../interfaces/stage_item'; +import { StageItemInput } from '../../../interfaces/stage_item_input'; +import { TeamInterface } from '../../../interfaces/team'; +import { getStages, getTeams } from '../../../services/adapter'; +import { getStageItemList, getStageItemTeamIdsLookup } from '../../../services/lookups'; import TournamentLayout from '../_tournament_layout'; +function StageItemSelect({ + groupStageItems, + setFilteredStageItemId, +}: { + groupStageItems: any; + setFilteredStageItemId: any; +}) { + if (groupStageItems == null) return null; + const data = groupStageItems.map(([stage_item]: [StageItemWithRounds]) => ({ + value: `${stage_item.id}`, + label: `${stage_item.name}`, + })); + return ( +