Skip to content

Commit a5bcff7

Browse files
committed
feat: add sortBy network members
About dec0dOS#120
1 parent cb6c647 commit a5bcff7

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

frontend/src/components/NetworkMembers/NetworkMembers.jsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ import {
44
AccordionSummary,
55
Checkbox,
66
Divider,
7+
FormControlLabel,
78
Grid,
89
IconButton,
10+
Radio,
11+
RadioGroup,
912
TextField,
1013
Typography,
1114
} from "@material-ui/core";
@@ -29,6 +32,7 @@ function NetworkMembers({ network }) {
2932
const [filter, setFilter] = useState("");
3033
const [filterActive, setFilterActive] = useState(false);
3134
const [filterInactive, setFilterInactive] = useState(false);
35+
const [sortBy, setSortBy] = useState("id");
3236

3337
const fetchData = useCallback(async () => {
3438
try {
@@ -175,14 +179,14 @@ function NetworkMembers({ network }) {
175179
<RefreshIcon />
176180
</IconButton>
177181
<Grid container>
178-
<Grid item sm={6}>
182+
<Grid item sm={3}>
179183
<Typography>Search (Addr/Name)</Typography>
180184
<TextField
181185
value={filter}
182186
onChange={(e) => setFilter(e.target.value)}
183187
/>
184188
</Grid>
185-
<Grid item sm="auto">
189+
<Grid item sm={3}>
186190
<Typography>Display Filter</Typography>
187191
<Checkbox
188192
checked={filterActive}
@@ -197,6 +201,13 @@ function NetworkMembers({ network }) {
197201
/>
198202
<span>Inactive</span>
199203
</Grid>
204+
<Grid item sm={3}>
205+
<Typography>Sort by</Typography>
206+
<RadioGroup value={sortBy} onChange={(e) => setSortBy(e.target.value)}>
207+
<FormControlLabel value="name" control={<Radio />} label="Name" />
208+
<FormControlLabel value="id" control={<Radio />} label="Address" />
209+
</RadioGroup>
210+
</Grid>
200211
<Divider />
201212
</Grid>
202213
<Grid container>
@@ -212,6 +223,7 @@ function NetworkMembers({ network }) {
212223
(filterInactive ? x.online === 0 : true)
213224
)
214225
})
226+
.sort((a, b) => a[sortBy].localeCompare(b[sortBy]))
215227
}
216228
/>
217229
) : (

0 commit comments

Comments
 (0)