Skip to content

Commit 141bd25

Browse files
committed
Added a switch to filter inactive teams (default).
1 parent dd61ed5 commit 141bd25

File tree

1 file changed

+31
-17
lines changed

1 file changed

+31
-17
lines changed

web-ui/src/components/team-results/TeamResults.jsx

+31-17
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from '../../context/selectors';
99
import TeamsActions from './TeamsActions';
1010
import PropTypes from 'prop-types';
11-
import { TextField } from '@mui/material';
11+
import { FormControlLabel, Switch, TextField } from '@mui/material';
1212
import './TeamResults.css';
1313
import SkeletonLoader from '../skeleton_loader/SkeletonLoader';
1414
import { useQueryParameters } from '../../helpers/query-parameters';
@@ -40,22 +40,11 @@ const TeamResults = () => {
4040
const { state } = useContext(AppContext);
4141
const loading = selectTeamsLoading(state);
4242
const [addingTeam, setAddingTeam] = useState(false);
43+
const [activeTeams, setActiveTeams] = useState(true);
4344
const [searchText, setSearchText] = useState('');
4445
const [selectedTeamId, setSelectedTeamId] = useState('');
4546
const teams = selectNormalizedTeams(state, searchText);
4647

47-
const teamCards = teams.map((team, index) => {
48-
return (
49-
<TeamSummaryCard
50-
key={`team-summary-${team.id}`}
51-
index={index}
52-
team={team}
53-
onTeamSelect={setSelectedTeamId}
54-
selectedTeamId={selectedTeamId}
55-
/>
56-
);
57-
});
58-
5948
useQueryParameters([
6049
{
6150
name: 'addNew',
@@ -89,16 +78,41 @@ const TeamResults = () => {
8978
setSearchText(e.target.value);
9079
}}
9180
/>
92-
<TeamsActions isOpen={addingTeam} onOpen={setAddingTeam} />
81+
<div className="team-actions">
82+
<TeamsActions isOpen={addingTeam} onOpen={setAddingTeam} />
83+
<FormControlLabel
84+
control={
85+
<Switch
86+
checked={activeTeams}
87+
onChange={event => {
88+
const { checked } = event.target;
89+
setActiveTeams(checked);
90+
}}
91+
/>
92+
}
93+
label="Active Teams Only"
94+
/>
95+
</div>
9396
</div>
9497
<div className="teams">
9598
{loading
9699
? Array.from({ length: 20 }).map((_, index) => (
97100
<SkeletonLoader key={index} type="team" />
98101
))
99-
: teams?.length && !loading
100-
? teamCards
101-
: null}
102+
: teams.filter((team) => !activeTeams ||
103+
(activeTeams && team.active))
104+
.map((team, index) => {
105+
return (
106+
<TeamSummaryCard
107+
key={`team-summary-${team.id}`}
108+
index={index}
109+
team={team}
110+
onTeamSelect={setSelectedTeamId}
111+
selectedTeamId={selectedTeamId}
112+
/>
113+
);
114+
})
115+
}
102116
</div>
103117
</Root>
104118
);

0 commit comments

Comments
 (0)