| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { MoreButton } from '@/components/more-button';
- import { RAGFlowAvatar } from '@/components/ragflow-avatar';
- import { Card, CardContent } from '@/components/ui/card';
- import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
- import { formatDate } from '@/utils/date';
- import { ISearchAppProps } from './hooks';
- import { SearchDropdown } from './search-dropdown';
-
- interface IProps {
- data: ISearchAppProps;
- }
- export function SearchCard({ data }: IProps) {
- const { navigateToSearch } = useNavigatePage();
-
- return (
- <Card
- className="bg-bg-card border-colors-outline-neutral-standard"
- onClick={() => {
- navigateToSearch(data?.id);
- }}
- >
- <CardContent className="p-4 flex gap-2 items-start group h-full">
- <div className="flex justify-between mb-4">
- <RAGFlowAvatar
- className="w-[32px] h-[32px]"
- avatar={data.avatar}
- name={data.name}
- />
- </div>
- <div className="flex flex-col justify-between gap-1 flex-1 h-full">
- <section className="flex justify-between">
- <div className="text-[20px] font-bold w-80% leading-5">
- {data.name}
- </div>
- <SearchDropdown dataset={data}>
- <MoreButton></MoreButton>
- </SearchDropdown>
- </section>
-
- <section className="flex flex-col gap-1 mt-1">
- <div>{data.description}</div>
- <div>
- <p className="text-sm opacity-80">
- {formatDate(data.update_time)}
- </p>
- </div>
- </section>
- </div>
- </CardContent>
- </Card>
- );
- }
|