fix: can not choose not from marketplace package

pull/19758/head
Joel 10 months ago committed by Junyan Qin
parent 7ca824a865
commit 78a952ff3c
No known key found for this signature in database
GPG Key ID: 22FE3AFADC710CEB

@ -14,6 +14,7 @@ import cn from '@/utils/classnames'
import ToolItem from './tool-item' import ToolItem from './tool-item'
import Loading from '@/app/components/base/loading' import Loading from '@/app/components/base/loading'
import NoDataPlaceholder from './no-data-placeholder' import NoDataPlaceholder from './no-data-placeholder'
import { PluginSource } from '../../types'
type Props = { type Props = {
trigger: React.ReactNode trigger: React.ReactNode
@ -70,8 +71,9 @@ const ToolPicker: FC<Props> = ({
const filteredList = useMemo(() => { const filteredList = useMemo(() => {
const list = data ? data.plugins : [] const list = data ? data.plugins : []
return list.filter((plugin) => { return list.filter((plugin) => {
const isFromMarketPlace = plugin.source === PluginSource.marketplace
return ( return (
(pluginType === PLUGIN_TYPE_SEARCH_MAP.all || plugin.declaration.category === pluginType) isFromMarketPlace && (pluginType === PLUGIN_TYPE_SEARCH_MAP.all || plugin.declaration.category === pluginType)
&& (tags.length === 0 || tags.some(tag => plugin.declaration.tags.includes(tag))) && (tags.length === 0 || tags.some(tag => plugin.declaration.tags.includes(tag)))
&& (query === '' || plugin.plugin_id.toLowerCase().includes(query.toLowerCase())) && (query === '' || plugin.plugin_id.toLowerCase().includes(query.toLowerCase()))
) )
@ -111,54 +113,54 @@ const ToolPicker: FC<Props> = ({
return ( return (
<PortalToFollowElem <PortalToFollowElem
placement='top' placement='top'
offset={0} offset={0}
open={isShow} open={isShow}
onOpenChange={onShowChange} onOpenChange={onShowChange}
>
<PortalToFollowElemTrigger
onClick={toggleShowPopup}
> >
<PortalToFollowElemTrigger {trigger}
onClick={toggleShowPopup} </PortalToFollowElemTrigger>
> <PortalToFollowElemContent className='z-[1000]'>
{trigger} <div className={cn('relative min-h-20 w-[436px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur pb-2 shadow-lg backdrop-blur-sm')}>
</PortalToFollowElemTrigger> <div className='p-2 pb-1'>
<PortalToFollowElemContent className='z-[1000]'> <SearchBox
<div className={cn('relative min-h-20 w-[436px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur pb-2 shadow-lg backdrop-blur-sm')}> search={query}
<div className='p-2 pb-1'> onSearchChange={setQuery}
<SearchBox tags={tags}
search={query} onTagsChange={setTags}
onSearchChange={setQuery} size='small'
tags={tags} placeholder={t('plugin.searchTools')!}
onTagsChange={setTags} inputClassName='w-full'
size='small' />
placeholder={t('plugin.searchTools')!} </div>
inputClassName='w-full' <div className='flex items-center justify-between border-b-[0.5px] border-divider-subtle bg-background-default-hover px-3 shadow-xs'>
/> <div className='flex h-8 items-center space-x-1'>
</div> {
<div className='flex items-center justify-between border-b-[0.5px] border-divider-subtle bg-background-default-hover px-3 shadow-xs'> tabs.map(tab => (
<div className='flex h-8 items-center space-x-1'> <div
{ className={cn(
tabs.map(tab => ( 'flex h-6 cursor-pointer items-center rounded-md px-2 hover:bg-state-base-hover',
<div 'text-xs font-medium text-text-secondary',
className={cn( pluginType === tab.key && 'bg-state-base-hover-alt',
'flex h-6 cursor-pointer items-center rounded-md px-2 hover:bg-state-base-hover', )}
'text-xs font-medium text-text-secondary', key={tab.key}
pluginType === tab.key && 'bg-state-base-hover-alt', onClick={() => setPluginType(tab.key)}
)} >
key={tab.key} {tab.name}
onClick={() => setPluginType(tab.key)} </div>
> ))
{tab.name} }
</div>
))
}
</div>
</div> </div>
{!isLoading && filteredList.length > 0 && listContent}
{!isLoading && filteredList.length === 0 && noData}
{isLoading && loadingContent}
</div> </div>
</PortalToFollowElemContent> {!isLoading && filteredList.length > 0 && listContent}
</PortalToFollowElem> {!isLoading && filteredList.length === 0 && noData}
{isLoading && loadingContent}
</div>
</PortalToFollowElemContent>
</PortalToFollowElem>
) )
} }

Loading…
Cancel
Save