dify/web/app/components/plugins/plugin-page/list/index.tsx
Jingyi cb64446fa3
feat(web): add step-by-step tour shell (#38785)
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-07-20 09:23:25 +00:00

41 lines
1023 B
TypeScript

import type { FC, ReactNode } from 'react'
import type { PluginDetail } from '../../types'
import PluginItem from '../../plugin-item'
type IPluginListProps = {
canDeletePlugin?: boolean
canUpdatePlugin?: boolean
children?: ReactNode
firstPluginTarget?: string
pluginList: PluginDetail[]
}
const PluginList: FC<IPluginListProps> = ({
canDeletePlugin = true,
canUpdatePlugin = true,
children,
firstPluginTarget,
pluginList,
}) => {
return (
<div className="pb-3">
<div className="grid w-full grid-cols-1 gap-3 lg:grid-cols-2">
{pluginList.map((plugin, index) => (
<div
key={plugin.plugin_id}
data-step-by-step-tour-target={index === 0 ? firstPluginTarget : undefined}
>
<PluginItem
plugin={plugin}
canDeletePlugin={canDeletePlugin}
canUpdatePlugin={canUpdatePlugin}
/>
</div>
))}
{children}
</div>
</div>
)
}
export default PluginList