mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-05-29 09:37:57 +08:00

Co-authored-by: NFish <douxc512@gmail.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: twwu <twwu@dify.ai> Co-authored-by: jZonG <jzongcode@gmail.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
'use client'
|
|
|
|
import { useMarketplaceContext } from '../context'
|
|
import {
|
|
useMixedTranslation,
|
|
useSearchBoxAutoAnimate,
|
|
} from '../hooks'
|
|
import SearchBox from './index'
|
|
import cn from '@/utils/classnames'
|
|
|
|
type SearchBoxWrapperProps = {
|
|
locale?: string
|
|
searchBoxAutoAnimate?: boolean
|
|
}
|
|
const SearchBoxWrapper = ({
|
|
locale,
|
|
searchBoxAutoAnimate,
|
|
}: SearchBoxWrapperProps) => {
|
|
const { t } = useMixedTranslation(locale)
|
|
const intersected = useMarketplaceContext(v => v.intersected)
|
|
const searchPluginText = useMarketplaceContext(v => v.searchPluginText)
|
|
const handleSearchPluginTextChange = useMarketplaceContext(v => v.handleSearchPluginTextChange)
|
|
const filterPluginTags = useMarketplaceContext(v => v.filterPluginTags)
|
|
const handleFilterPluginTagsChange = useMarketplaceContext(v => v.handleFilterPluginTagsChange)
|
|
const { searchBoxCanAnimate } = useSearchBoxAutoAnimate(searchBoxAutoAnimate)
|
|
|
|
return (
|
|
<SearchBox
|
|
inputClassName={cn(
|
|
'z-[0] mx-auto w-[640px] shrink-0',
|
|
searchBoxCanAnimate && 'sticky top-3 z-[11]',
|
|
!intersected && searchBoxCanAnimate && 'w-[508px] transition-[width] duration-300',
|
|
)}
|
|
search={searchPluginText}
|
|
onSearchChange={handleSearchPluginTextChange}
|
|
tags={filterPluginTags}
|
|
onTagsChange={handleFilterPluginTagsChange}
|
|
size='large'
|
|
locale={locale}
|
|
placeholder={t('plugin.searchPlugins')}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default SearchBoxWrapper
|