import React, { useMemo } from 'react'; import { useTranslation } from 'next-i18next'; import CustomNavAndContents from '../CustomNavigation/CustomNavAndContents'; import ApiSettings from './ApiSettings'; import { EditorSettings } from './EditorSettings'; import ExternalAccountLinkedMe from './ExternalAccountLinkedMe'; import InAppNotificationSettings from './InAppNotificationSettings'; import OtherSettings from './OtherSettings'; import PasswordSettings from './PasswordSettings'; import UserSettings from './UserSettings'; const PersonalSettings = () => { const { t } = useTranslation(); const navTabMapping = useMemo(() => { return { user_infomation: { Icon: () => , Content: UserSettings, i18n: t('User Information'), index: 0, }, external_accounts: { Icon: () => , Content: ExternalAccountLinkedMe, i18n: t('admin:user_management.external_accounts'), index: 1, }, password_settings: { Icon: () => , Content: PasswordSettings, i18n: t('Password Settings'), index: 2, }, api_settings: { Icon: () => , Content: ApiSettings, i18n: t('API Settings'), index: 3, }, editor_settings: { Icon: () => , Content: EditorSettings, i18n: t('editor_settings.editor_settings'), index: 4, }, in_app_notification_settings: { Icon: () => , Content: InAppNotificationSettings, i18n: t('in_app_notification_settings.in_app_notification_settings'), index: 5, }, other_settings: { Icon: () => , Content: OtherSettings, i18n: t('Other Settings'), index: 6, }, }; }, [t]); const getDefaultTabIndex = () => { // e.g) '/me#password_settings' sets password settings tab as default const tab = window.location.hash?.substring(1); return navTabMapping[tab]?.index; }; return (
); }; export default PersonalSettings;