From 084762e51e225d9498d9217a0d8fc6117480410b Mon Sep 17 00:00:00 2001 From: karimaldeen Date: Mon, 9 Sep 2024 12:51:56 +0300 Subject: [PATCH] add tag select --- src/Components/CustomFields/SelectTag.tsx | 74 +++++++++++++++++++ src/Pages/Admin/question/Model/ModelForm.tsx | 6 +- .../Admin/question/Model/Tags/SelectTag.tsx | 20 ++--- src/Pages/Auth/LoginForm.tsx | 21 +++++- src/Styles/Pages/exercise.scss | 9 +++ src/api/config.ts | 2 +- 6 files changed, 116 insertions(+), 16 deletions(-) create mode 100644 src/Components/CustomFields/SelectTag.tsx diff --git a/src/Components/CustomFields/SelectTag.tsx b/src/Components/CustomFields/SelectTag.tsx new file mode 100644 index 0000000..7e2ae54 --- /dev/null +++ b/src/Components/CustomFields/SelectTag.tsx @@ -0,0 +1,74 @@ +import React, { useState, useMemo } from 'react'; +import { Select, Spin } from 'antd'; +import { useTranslation } from 'react-i18next'; +import { useDebounce } from '../../utils/useDebounce'; +import { useGetAllTag } from '../../api/tags'; + +const SelectTag: React.FC = () => { + const [searchValue, setSearchValue] = useState(''); + const [fieldValue, setFieldValue] = useState(''); + + const handleChange = (value: string[]) => { + setSearchValue(''); + setFieldValue(''); + }; + + const handleSearch = useDebounce((value: string) => { + setSearchValue(value); + + }); + + const handleFieldChange = (value: string) => { + setFieldValue(value); + + }; + + const handleBlur = () => { + setSearchValue(''); + setFieldValue(''); + }; + + const { data, isLoading } = useGetAllTag({ + name: searchValue, + }); + + const [t] = useTranslation(); + + const options = data?.data ?? [] + console.log(options,"options"); + const additionalData = options?.length < 1 && searchValue.length > 1 && !isLoading ? [{id:`new_${searchValue}`,name:searchValue}] :[]; + console.log(additionalData); + + return ( +
+ + +