| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 'use client'import React, { useState } from 'react'import StrategyDetailPanel from './strategy-detail'import type {  StrategyDetail,} from '@/app/components/plugins/types'import type { Locale } from '@/i18n'import { useRenderI18nObject } from '@/hooks/use-i18n'import cn from '@/utils/classnames'type Props = {  provider: {    author: string    name: string    description: Record<Locale, string>    tenant_id: string    icon: string    label: Record<Locale, string>    tags: string[]  }  detail: StrategyDetail}const StrategyItem = ({  provider,  detail,}: Props) => {  const getValueFromI18nObject = useRenderI18nObject()  const [showDetail, setShowDetail] = useState(false)  return (    <>      <div        className={cn('bg-components-panel-item-bg mb-2 cursor-pointer rounded-xl border-[0.5px] border-components-panel-border-subtle px-4 py-3 shadow-xs hover:bg-components-panel-on-panel-item-bg-hover')}        onClick={() => setShowDetail(true)}      >        <div className='system-md-semibold pb-0.5 text-text-secondary'>{getValueFromI18nObject(detail.identity.label)}</div>        <div className='system-xs-regular line-clamp-2 text-text-tertiary' title={getValueFromI18nObject(detail.description)}>{getValueFromI18nObject(detail.description)}</div>      </div>      {showDetail && (        <StrategyDetailPanel          provider={provider}          detail={detail}          onHide={() => setShowDetail(false)}        />      )}    </>  )}export default StrategyItem
 |