'use client' import { useTranslation } from 'react-i18next' import { useState } from 'react' import { AtSymbolIcon, GlobeAltIcon, UserIcon, XMarkIcon, CubeTransparentIcon, UsersIcon } from '@heroicons/react/24/outline' import { GlobeAltIcon as GlobalAltIconSolid, UserIcon as UserIconSolid, UsersIcon as UsersIconSolid } from '@heroicons/react/24/solid' import AccountPage from './account-page' import MembersPage from './members-page' import IntegrationsPage from './Integrations-page' import LanguagePage from './language-page' import ProviderPage from './provider-page' import s from './index.module.css' import Modal from '@/app/components/base/modal' const iconClassName = ` w-[18px] h-[18px] ml-3 mr-2 ` type IAccountSettingProps = { onCancel: () => void activeTab?: string } export default function AccountSetting({ onCancel, activeTab = 'account', }: IAccountSettingProps) { const [activeMenu, setActiveMenu] = useState(activeTab) const { t } = useTranslation() const menuItems = [ { key: 'account-group', name: t('common.settings.accountGroup'), items: [ { key: 'account', name: t('common.settings.account'), icon: , activeIcon: , }, { key: 'integrations', name: t('common.settings.integrations'), icon: , activeIcon: , }, { key: 'language', name: t('common.settings.language'), icon: , activeIcon: , }, ] }, { key: 'workspace-group', name: t('common.settings.workplaceGroup'), items: [ { key: 'members', name: t('common.settings.members'), icon: , activeIcon: , }, { key: 'provider', name: t('common.settings.provider'), icon: , activeIcon: , }, ] } ] return ( { }} className={s.modal} wrapperClassName='pt-[60px]' >
{t('common.userProfile.settings')}
{ menuItems.map(menuItem => (
{menuItem.name}
{ menuItem.items.map(item => (
setActiveMenu(item.key)} > {activeMenu === item.key ? item.activeIcon : item.icon}{item.name}
)) }
)) }
{[...menuItems[0].items, ...menuItems[1].items].find(item => item.key === activeMenu)?.name}
{ activeMenu === 'account' && } { activeMenu === 'members' && } { activeMenu === 'integrations' && } { activeMenu === 'language' && } { activeMenu === 'provider' && }
) }