diff --git a/src/components/category-details/CategoryDetails.tsx b/src/components/category-details/CategoryDetails.tsx index b06b0b9..4e411b9 100644 --- a/src/components/category-details/CategoryDetails.tsx +++ b/src/components/category-details/CategoryDetails.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState } from "react"; import styles from './CategoryDetails.module.scss'; import { useLocation } from 'react-router'; import queryString from 'query-string'; @@ -10,11 +10,25 @@ import { ReactComponent as PlusCircledIcon } from '../../assets/icons/plus-circl import { userProfileData } from "../home/Home"; import { CircularProgressbar } from "react-circular-progressbar"; import { NavLink } from "react-router-dom"; +import { IShelf } from "../../structure/shelf"; export const CategoryDetails: React.FC = () => { const location = useLocation(); const category_id: any = queryString.parse(location.pathname)['/category-details/category_id']; const shelfCount: number = userProfileData.categories[category_id].shelves.length; + const [shelfResult, setShelfResult] = useState>(userProfileData.categories[category_id].shelves); + + const searchShelf = (text: string) => { + if (text.length > 0) { + let result = shelfResult.filter(shelf => { + return shelf.name.toLowerCase().includes(text.toLowerCase()); + }); + + setShelfResult(result); + } else { + setShelfResult(userProfileData.categories[category_id].shelves); + } + } return
@@ -45,7 +59,7 @@ export const CategoryDetails: React.FC = () => {
- + searchShelf(event.currentTarget.value)} />
@@ -56,7 +70,7 @@ export const CategoryDetails: React.FC = () => {
    - { userProfileData.categories[Number(category_id)].shelves.map(shelf => { + { shelfResult.map(shelf => { return
  • 0 ? (shelf.revisedWords.length * 100/ shelf.words.length) : 0} strokeWidth={7}