feat: generate select options for SystemModelSettingModal grouped by type and add llm icon and add upgrade button to UserSettingTeam and replace the icon in the sidebar of the user settings page (#128)

* feat: generate select options for SystemModelSettingModal grouped by type

* feat: add llm icon

* feat: add upgrade button to UserSettingTeam

* feat: replace the icon in the sidebar of the user settings page
This commit is contained in:
balibabu
2024-03-18 16:45:01 +08:00
committed by GitHub
parent a0f1e1fa95
commit 0e2aff2a48
22 changed files with 287 additions and 112 deletions

View File

@ -1,59 +1,29 @@
import {
useFetchUserInfo,
useLogout,
useSelectUserInfo,
} from '@/hooks/userSettingHook';
import authorizationUtil from '@/utils/authorizationUtil';
import type { MenuProps } from 'antd';
import { Avatar, Button, Dropdown } from 'antd';
import React, { useCallback, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { useFetchUserInfo, useSelectUserInfo } from '@/hooks/userSettingHook';
import { Avatar } from 'antd';
import React from 'react';
import { history } from 'umi';
const App: React.FC = () => {
const { t } = useTranslation();
const userInfo = useSelectUserInfo();
const logout = useLogout();
import styles from '../../index.less';
const handleLogout = useCallback(async () => {
const retcode = await logout();
if (retcode === 0) {
authorizationUtil.removeAll();
history.push('/login');
}
}, [logout]);
const App: React.FC = () => {
const userInfo = useSelectUserInfo();
const toSetting = () => {
history.push('/user-setting');
};
const items: MenuProps['items'] = useMemo(() => {
return [
{
key: '1',
onClick: handleLogout,
label: <Button type="text">{t('header.logout')}</Button>,
},
{
key: '2',
onClick: toSetting,
label: <Button type="text">{t('header.setting')}</Button>,
},
];
}, [t, handleLogout]);
useFetchUserInfo();
return (
<Dropdown menu={{ items }} placement="bottomLeft" arrow>
<Avatar
size={32}
src={
userInfo.avatar ??
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
}
/>
</Dropdown>
<Avatar
size={32}
onClick={toSetting}
className={styles.clickAvailable}
src={
userInfo.avatar ??
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
}
/>
);
};

View File

@ -21,3 +21,7 @@ body {
.divider {
margin: 0;
}
.clickAvailable {
cursor: pointer;
}