mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
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:
@ -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'
|
||||
}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@ -21,3 +21,7 @@ body {
|
||||
.divider {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.clickAvailable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user