'use client' import { useTranslation } from 'react-i18next' import { Fragment } from 'react' import { Menu, Transition } from '@headlessui/react' import NotionIcon from '../../notion-icon' import s from './index.module.css' import cn from '@/utils/classnames' import type { DataSourceNotionWorkspace } from '@/models/common' type WorkspaceSelectorProps = { value: string items: Omit[] onSelect: (v: string) => void } export default function WorkspaceSelector({ value, items, onSelect, }: WorkspaceSelectorProps) { const { t } = useTranslation() const currentWorkspace = items.find(item => item.workspace_id === value) return ( { ({ open }) => ( <>
{currentWorkspace?.workspace_name}
{currentWorkspace?.pages.length}
{ items.map(item => (
onSelect(item.workspace_id)} >
{item.workspace_name}
{item.pages.length} {t('common.dataSource.notion.selector.pageSelected')}
)) }
) }
) }