'use client' import type { FC } from 'react' import { memo, useMemo } from 'react' import { RiArrowRightLine } from '@remixicon/react' import { useTranslation } from 'react-i18next' import Button from '@/app/components/base/button' import ServiceItem from './service-item' import type { ServiceConnectionPanelProps } from './types' import cn from '@/utils/classnames' const ServiceConnectionPanel: FC = ({ title, description, services, onConnect, onContinue, continueDisabled, continueText, className, }) => { const { t } = useTranslation() const allConnected = useMemo(() => { return services.every(service => service.status === 'connected') }, [services]) const displayTitle = title || t('share.serviceConnection.title') const displayDescription = description || t('share.serviceConnection.description', { count: services.length }) return (

{displayTitle}

{displayDescription}

{services.map(service => ( ))}
{onContinue && (
)}
) } export default memo(ServiceConnectionPanel) export { default as ServiceItem } from './service-item' export type { ServiceConnectionPanelProps, ServiceConnectionItem, AuthType, ServiceConnectionStatus, } from './types'