import { SearchedUserFilesList } from '@/app/ui/search/searched-user-files-list'; import { SearchedGlobalFilesList } from '@/app/ui/search/searched-global-files-list'; import { useCallback, useState, useImperativeHandle } from 'react'; import { searchUserFiles, searchGlobalFiles } from '@/app/actions/searchActions'; import { useQueryClient } from '@tanstack/react-query'; export function FileSearchPanel({ fileId, ref }: { fileId: string | null, ref: any }) { const [searchedUserFiles, setSearchedUserFiles] = useState([]); const [searchedUserFilesShowNull, setSearchedUserFilesShowNull] = useState(false); const [searchedGlobalFiles, setSearchedGlobalFiles] = useState([]); const [searchedGlobalFilesShowNull, setSearchedGlobalFilesShowNull] = useState(false); const [loading, setLoading] = useState(false); const [showGlobalSearch, setShowGlobalSearch] = useState(false); const queryClient = useQueryClient(); useImperativeHandle(ref, () => ({ clearList: () => { setSearchedUserFiles([]); setSearchedGlobalFiles([]); setSearchedUserFilesShowNull(false); setSearchedGlobalFilesShowNull(false); setShowGlobalSearch(false); } })); const handlerSearchUserFile = useCallback(async (fileId: string): Promise => { try { let result = await searchUserFiles(fileId); if (result.content.length) { setSearchedUserFiles(result.content); } else { setSearchedUserFilesShowNull(true); } } catch (error) { } setShowGlobalSearch(true); handlerSearchGlobalFile(fileId) }, [fileId]) const handlerSearchGlobalFile = useCallback(async (fileId: string): Promise => { setLoading(true); setSearchedGlobalFilesShowNull(false); setSearchedGlobalFiles([]); try { let result = await searchGlobalFiles(fileId); console.log(result); if (result.images.length) { setSearchedGlobalFiles(result.images); } else { setSearchedGlobalFilesShowNull(true); } } catch (error) { } finally { await queryClient.invalidateQueries({ queryKey: ['userData'] }); await queryClient.invalidateQueries({ queryKey: ['userSearchData'] }); setLoading(false); } }, [fileId]) return ( <>
{(searchedUserFiles.length !== 0) && ( )} {searchedUserFilesShowNull && (
Результаты поиска
Найдено файлов: {searchedUserFiles.length}

Похожих файлов не найдено

В вашей библиотеке нет файлов, похожих на загруженный

Совет: Убедитесь, что вы загружали этот файл ранее через страницу "Маркировка"
)} {showGlobalSearch && (
Глобальный поиск изображений
Найти где ещё используется ваше изображение в интернете
Интернет поиск
Поиск по всему интернету
Используем продвинутые технологии обратного поиска по изображению для поиска копий вашего контента на сайтах, в социальных сетях и других источниках. Поможет обнаружить несанкционированное использование.
Глобальных поисков сегодня
0 из 10
Поиск изображений в интернете...
Найдено в интернете
{searchedGlobalFilesShowNull && (

Похожие изображения в интернете не найдены

Это может означать, что ваше изображение уникально и не используется на других сайтах.

)}
Ошибка глобального поиска:
)} ) }