From 300c80bfc675a7ae9e7673dff592f423c24a1605 Mon Sep 17 00:00:00 2001 From: Karol Krawczykiewicz <26karol26@gmail.com> Date: Sun, 24 Mar 2024 20:33:50 +0100 Subject: [PATCH] Change styling of filters --- frontend/src/components/Search.tsx | 115 +++++++++++++++-------------- 1 file changed, 60 insertions(+), 55 deletions(-) diff --git a/frontend/src/components/Search.tsx b/frontend/src/components/Search.tsx index 8aada590..9846a891 100644 --- a/frontend/src/components/Search.tsx +++ b/frontend/src/components/Search.tsx @@ -1,4 +1,4 @@ -import { faMagnifyingGlass } from "@fortawesome/free-solid-svg-icons"; +import { faMagnifyingGlass, faFilter } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import React, { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; @@ -9,13 +9,13 @@ import dataService from "../services/data"; import Select from "react-select"; import countriesData from "../assets/countries.json"; -interface searchProps{ - handler: (test: [[User, number]])=>void +interface searchProps { + handler: (test: [[User, number]]) => void; } const Search = (props: searchProps) => { const navigate = useNavigate(); - const setUsersFound = props.handler + const setUsersFound = props.handler; // Logic const [searchQuery, setSearchQuery] = useState(""); @@ -23,14 +23,13 @@ const Search = (props: searchProps) => { const [countryList, setCountryList] = useState(countriesData); const [error, setError] = useState(""); -; const { user, userId } = useUser(); - useEffect(()=>{ - const optionsWithEmpty = [{ Country: '-', Code: '-' }, ...countryList]; + useEffect(() => { + const optionsWithEmpty = [{ Country: "-", Code: "-" }, ...countryList]; setCountryList(optionsWithEmpty); - },[]) + }, []); const countryOptions = countryList.map((country) => ({ value: country.Country, @@ -56,24 +55,23 @@ const Search = (props: searchProps) => { if (searchQuery.trim() === "") { return; } - try{ - setError("") - const response = await dataService.fetchData(url, "GET"); - - const responseWithoutCurrUser = response.users.filter( - (respArr: [User, number]) => respArr[0].id !== user!.id, - ); - - const usersSorted = sortUsersByDistance( - searchQuery, - responseWithoutCurrUser, - ); - - setUsersFound(usersSorted); - } catch{ - setError("No users found") + try { + setError(""); + const response = await dataService.fetchData(url, "GET"); + + const responseWithoutCurrUser = response.users.filter( + (respArr: [User, number]) => respArr[0].id !== user!.id, + ); + + const usersSorted = sortUsersByDistance( + searchQuery, + responseWithoutCurrUser, + ); + + setUsersFound(usersSorted); + } catch { + setError("No users found"); } - }; const sortUsersByDistance = (searchTerm: string, users: [[User, number]]) => { @@ -96,39 +94,46 @@ const Search = (props: searchProps) => { return (
- -
-
- setSearchQuery(e.target.value)} - > + +
+ setSearchQuery(e.target.value)} + > +
+ + - - -
-
Country (not required)
- +
- +
{error}
+
); };