integrate new ui design with api call

This commit is contained in:
Fox 2026-06-24 13:17:52 +01:00
parent ab6c443092
commit dd0c586a1f
2 changed files with 48 additions and 45 deletions

View File

@ -5,8 +5,6 @@ import { useEffect, useState } from "react";
import NumberField from "./numberField";
import getRatingsProviders from "../functions/getRatingsProviders";
import capitaliseFirstLetter from "../functions/capitaliseFirstLetter";
import CheckIcon from '@mui/icons-material/Check';
import ClearIcon from '@mui/icons-material/Clear';
interface SidebarProps {
filters : FilterState;
@ -51,9 +49,9 @@ export default function Sidebar(props : SidebarProps) {
onChange={(_, value) => props.onChange(Object.assign({}, {...props.filters}, {nameOnly: value}))}
/>
</Box>
<Divider />
{!props.filters.nameOnly &&
<>
<Divider />
<Box sx={{ p: 2}}>
<Typography component='legend'>Cities</Typography>
<Autocomplete
@ -105,6 +103,7 @@ export default function Sidebar(props : SidebarProps) {
</Grid>
</Box>
<Divider />
</>}
<Box sx={{p: 2}}>
<Typography component='legend'>Results per Page</Typography>
<NumberField
@ -135,7 +134,6 @@ export default function Sidebar(props : SidebarProps) {
})}
</Select>
</Box>
</>}
</Paper>
)
}

View File

@ -4,24 +4,29 @@ import FilterState from "../models/filterState";
import api from "./axios";
export default async function GetSolicitors(filters : FilterState) {
let queryString = `pageSize=${filters.resultsPerPage}&pageNumber=${filters.currentPage}`;
if (filters.namePart != null && filters.namePart !== '') {
queryString += `&nameFilter=${filters.namePart}`;
}
if (!filters.nameOnly) {
var minRating = filters.minRating;
if (minRating == null) {
minRating = 0;
}
queryString += `&minRating=${minRating}&ratingsProvider=${filters.ratingsProvider}`;
let queryString = `pageSize=${filters.resultsPerPage}&pageNumber=${filters.currentPage}&ratingsProvider=${filters.ratingsProvider}&minRating=${minRating}`;
if (filters.cities.length > 0) {
queryString += '&cities=' + filters.cities.join('&cities=');
}
}
if (filters.sortBy != null) {
queryString += `&orderingType=${filters.sortBy}`;
}
if (filters.namePart != null && filters.namePart !== '') {
queryString += `&nameFilter=${filters.namePart}`;
}
const response = await api.get(`/solicitors?${queryString}`);
return response.data as PaginationResponse<SolicitorSummary>;
}