import ListFilterBar from '@/components/list-filter-bar'; import { Input } from '@/components/originui/input'; import { Button } from '@/components/ui/button'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from '@/components/ui/form'; import { Modal } from '@/components/ui/modal/modal'; import { RAGFlowPagination } from '@/components/ui/ragflow-pagination'; import { useTranslate } from '@/hooks/common-hooks'; import { zodResolver } from '@hookform/resolvers/zod'; import { pick } from 'lodash'; import { Plus, Search } from 'lucide-react'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; import { useCreateSearch, useFetchSearchList } from './hooks'; import { SearchCard } from './search-card'; const searchFormSchema = z.object({ name: z.string().min(1, { message: 'Name is required', }), }); type SearchFormValues = z.infer; export default function SearchList() { // const { data } = useFetchFlowList(); const { t } = useTranslate('search'); const { isLoading, createSearch } = useCreateSearch(); const { data: list, searchParams, setSearchListParams, } = useFetchSearchList(); const [openCreateModal, setOpenCreateModal] = useState(false); const form = useForm({ resolver: zodResolver(searchFormSchema), defaultValues: { name: '', }, }); const handleSearchChange = (value: string) => { console.log(value); }; const onSubmit = async (values: SearchFormValues) => { await createSearch({ name: values.name }); if (!isLoading) { setOpenCreateModal(false); } form.reset({ name: '' }); }; const openCreateModalFun = () => { setOpenCreateModal(true); }; const handlePageChange = (page: number, pageSize: number) => { setSearchListParams({ ...searchParams, page, page_size: pageSize }); }; return (
} title="Search apps" showFilter={false} onSearchChange={(e) => handleSearchChange(e.target.value)} >
{list?.data.search_apps.map((x) => { return ; })} {/* {data.map((x) => { return ; })} */}
{list?.data.total && ( )} { setOpenCreateModal(open); }} title={
} className="!w-[480px] rounded-xl" titleClassName="border-none" footerClassName="border-none" showfooter={false} maskClosable={false} >
{t('createSearch')}
( *Name )} />
); }