| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React from 'react'
 
- import type { InstallStatusResponse, Plugin } from '../../../types'
 
- import Card from '@/app/components/plugins/card'
 
- import Button from '@/app/components/base/button'
 
- import { useTranslation } from 'react-i18next'
 
- import Badge, { BadgeState } from '@/app/components/base/badge/index'
 
- import useGetIcon from '../../base/use-get-icon'
 
- import { MARKETPLACE_API_PREFIX } from '@/config'
 
- type Props = {
 
-   list: Plugin[]
 
-   installStatus: InstallStatusResponse[]
 
-   onCancel: () => void
 
-   isHideButton?: boolean
 
- }
 
- const Installed: FC<Props> = ({
 
-   list,
 
-   installStatus,
 
-   onCancel,
 
-   isHideButton,
 
- }) => {
 
-   const { t } = useTranslation()
 
-   const { getIconUrl } = useGetIcon()
 
-   return (
 
-     <>
 
-       <div className='flex flex-col items-start justify-center gap-4 self-stretch px-6 py-3'>
 
-         {/* <p className='text-text-secondary system-md-regular'>{(isFailed && errMsg) ? errMsg : t(`plugin.installModal.${isFailed ? 'installFailedDesc' : 'installedSuccessfullyDesc'}`)}</p> */}
 
-         <div className='flex flex-wrap content-start items-start gap-1 space-y-1 self-stretch rounded-2xl bg-background-section-burn p-2'>
 
-           {list.map((plugin, index) => {
 
-             return (
 
-               <Card
 
-                 key={plugin.plugin_id}
 
-                 className='w-full'
 
-                 payload={{
 
-                   ...plugin,
 
-                   icon: installStatus[index].isFromMarketPlace ? `${MARKETPLACE_API_PREFIX}/plugins/${plugin.org}/${plugin.name}/icon` : getIconUrl(plugin.icon),
 
-                 }}
 
-                 installed={installStatus[index].success}
 
-                 installFailed={!installStatus[index].success}
 
-                 titleLeft={plugin.version ? <Badge className='mx-1' size="s" state={BadgeState.Default}>{plugin.version}</Badge> : null}
 
-               />
 
-             )
 
-           })}
 
-         </div>
 
-       </div>
 
-       {/* Action Buttons */}
 
-       {!isHideButton && (
 
-         <div className='flex items-center justify-end gap-2 self-stretch p-6 pt-5'>
 
-           <Button
 
-             variant='primary'
 
-             className='min-w-[72px]'
 
-             onClick={onCancel}
 
-           >
 
-             {t('common.operation.close')}
 
-           </Button>
 
-         </div>
 
-       )}
 
-     </>
 
-   )
 
- }
 
- export default React.memo(Installed)
 
 
  |