chore: optimization of code
This commit is contained in:
121
src/features/profile/components/layout/navConfigs.tsx
Normal file
121
src/features/profile/components/layout/navConfigs.tsx
Normal file
@@ -0,0 +1,121 @@
|
||||
import {
|
||||
Devices,
|
||||
LocationTick,
|
||||
Mobile,
|
||||
PasswordCheck,
|
||||
Personalcard,
|
||||
ProfileCircle,
|
||||
Setting as SettingIcon,
|
||||
Shield,
|
||||
Sms,
|
||||
} from 'iconsax-react';
|
||||
import { type TFunction } from 'i18next';
|
||||
|
||||
export function getNavConfig(t: TFunction) {
|
||||
return [
|
||||
{
|
||||
text: t('side.account'),
|
||||
getIcon: (selected: boolean) =>
|
||||
selected ? (
|
||||
<ProfileCircle size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<ProfileCircle size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/profile',
|
||||
children: [
|
||||
{
|
||||
text: t('side.personalInfo'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Personalcard size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Personalcard size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/profile#info',
|
||||
},
|
||||
{
|
||||
text: t('side.phoneNumber'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Mobile size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Mobile size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/profile#contact-info',
|
||||
},
|
||||
{
|
||||
text: t('side.email'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Sms size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Sms size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/profile#email',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: t('side.security'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Shield size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Shield size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/security',
|
||||
children: [
|
||||
{
|
||||
text: t('side.password'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<PasswordCheck size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<PasswordCheck size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/security#password',
|
||||
},
|
||||
{
|
||||
text: t('side.verifiedAddress'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<LocationTick size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<LocationTick size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/security#locations',
|
||||
},
|
||||
{
|
||||
text: t('side.recentLogins'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Devices size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Devices size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/security#sessions',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: t('side.activeDevices'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<Devices size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<Devices size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/devices',
|
||||
},
|
||||
{
|
||||
text: t('side.settings'),
|
||||
getIcon: (sel: boolean) =>
|
||||
sel ? (
|
||||
<SettingIcon size={24} color="#1976d2" variant="Bold" />
|
||||
) : (
|
||||
<SettingIcon size={24} color="#82B1FF" />
|
||||
),
|
||||
path: '/setting',
|
||||
},
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user