mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Fix: Display the invited icon in the header #9634 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@ -2,6 +2,7 @@ import { LlmModelType } from '@/constants/knowledge';
|
|||||||
import { useComposeLlmOptionsByModelTypes } from '@/hooks/llm-hooks';
|
import { useComposeLlmOptionsByModelTypes } from '@/hooks/llm-hooks';
|
||||||
import * as SelectPrimitive from '@radix-ui/react-select';
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
||||||
import { forwardRef, memo, useMemo, useState } from 'react';
|
import { forwardRef, memo, useMemo, useState } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import { LlmSettingFieldItems } from '../llm-setting-items/next';
|
import { LlmSettingFieldItems } from '../llm-setting-items/next';
|
||||||
import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
|
import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
|
||||||
import { Select, SelectTrigger, SelectValue } from '../ui/select';
|
import { Select, SelectTrigger, SelectValue } from '../ui/select';
|
||||||
@ -20,6 +21,7 @@ const NextInnerLLMSelect = forwardRef<
|
|||||||
React.ElementRef<typeof SelectPrimitive.Trigger>,
|
React.ElementRef<typeof SelectPrimitive.Trigger>,
|
||||||
NextInnerLLMSelectProps
|
NextInnerLLMSelectProps
|
||||||
>(({ value, disabled, filter, showSpeech2TextModel = false }, ref) => {
|
>(({ value, disabled, filter, showSpeech2TextModel = false }, ref) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
||||||
|
|
||||||
const ttsModel = useMemo(() => {
|
const ttsModel = useMemo(() => {
|
||||||
@ -49,7 +51,7 @@ const NextInnerLLMSelect = forwardRef<
|
|||||||
}}
|
}}
|
||||||
ref={ref}
|
ref={ref}
|
||||||
>
|
>
|
||||||
<SelectValue>
|
<SelectValue placeholder={t('common.pleaseSelect')}>
|
||||||
{
|
{
|
||||||
modelOptions
|
modelOptions
|
||||||
.flatMap((x) => x.options)
|
.flatMap((x) => x.options)
|
||||||
|
|||||||
@ -12,10 +12,13 @@ import { LanguageList, LanguageMap, ThemeEnum } from '@/constants/common';
|
|||||||
import { useChangeLanguage } from '@/hooks/logic-hooks';
|
import { useChangeLanguage } from '@/hooks/logic-hooks';
|
||||||
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
|
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
|
||||||
import { useNavigateWithFromState } from '@/hooks/route-hook';
|
import { useNavigateWithFromState } from '@/hooks/route-hook';
|
||||||
|
import { useListTenant } from '@/hooks/use-user-setting-request';
|
||||||
import { useFetchUserInfo } from '@/hooks/user-setting-hooks';
|
import { useFetchUserInfo } from '@/hooks/user-setting-hooks';
|
||||||
|
import { TenantRole } from '@/pages/user-setting/constants';
|
||||||
import { Routes } from '@/routes';
|
import { Routes } from '@/routes';
|
||||||
import { camelCase } from 'lodash';
|
import { camelCase } from 'lodash';
|
||||||
import {
|
import {
|
||||||
|
BellRing,
|
||||||
ChevronDown,
|
ChevronDown,
|
||||||
CircleHelp,
|
CircleHelp,
|
||||||
Cpu,
|
Cpu,
|
||||||
@ -53,11 +56,11 @@ export function Header() {
|
|||||||
changeLanguage(key);
|
changeLanguage(key);
|
||||||
};
|
};
|
||||||
|
|
||||||
// const { data } = useListTenant();
|
const { data } = useListTenant();
|
||||||
|
|
||||||
// const showBell = useMemo(() => {
|
const showBell = useMemo(() => {
|
||||||
// return data.some((x) => x.role === TenantRole.Invite);
|
return data.some((x) => x.role === TenantRole.Invite);
|
||||||
// }, [data]);
|
}, [data]);
|
||||||
|
|
||||||
const items = LanguageList.map((x) => ({
|
const items = LanguageList.map((x) => ({
|
||||||
key: x,
|
key: x,
|
||||||
@ -68,9 +71,9 @@ export function Header() {
|
|||||||
setTheme(theme === ThemeEnum.Dark ? ThemeEnum.Light : ThemeEnum.Dark);
|
setTheme(theme === ThemeEnum.Dark ? ThemeEnum.Light : ThemeEnum.Dark);
|
||||||
}, [setTheme, theme]);
|
}, [setTheme, theme]);
|
||||||
|
|
||||||
// const handleBellClick = useCallback(() => {
|
const handleBellClick = useCallback(() => {
|
||||||
// navigate('/user-setting/team');
|
navigate('/user-setting/team');
|
||||||
// }, [navigate]);
|
}, [navigate]);
|
||||||
|
|
||||||
const tagsData = useMemo(
|
const tagsData = useMemo(
|
||||||
() => [
|
() => [
|
||||||
@ -160,6 +163,14 @@ export function Header() {
|
|||||||
<Button variant={'ghost'} onClick={onThemeClick}>
|
<Button variant={'ghost'} onClick={onThemeClick}>
|
||||||
{theme === 'light' ? <Sun /> : <Moon />}
|
{theme === 'light' ? <Sun /> : <Moon />}
|
||||||
</Button>
|
</Button>
|
||||||
|
{showBell && (
|
||||||
|
<Button variant={'ghost'} onClick={handleBellClick}>
|
||||||
|
<div className="relative">
|
||||||
|
<BellRing className="size-4 " />
|
||||||
|
<span className="absolute size-1 rounded -right-1 -top-1 bg-red-600"></span>
|
||||||
|
</div>
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<RAGFlowAvatar
|
<RAGFlowAvatar
|
||||||
name={nickname}
|
name={nickname}
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
|
|||||||
import { IKnowledge } from '@/interfaces/database/knowledge';
|
import { IKnowledge } from '@/interfaces/database/knowledge';
|
||||||
import { ChevronRight } from 'lucide-react';
|
import { ChevronRight } from 'lucide-react';
|
||||||
import { DatasetDropdown } from './dataset-dropdown';
|
import { DatasetDropdown } from './dataset-dropdown';
|
||||||
import { useDisplayOwnerName } from './use-display-owner';
|
|
||||||
import { useRenameDataset } from './use-rename-dataset';
|
import { useRenameDataset } from './use-rename-dataset';
|
||||||
|
|
||||||
export type DatasetCardProps = {
|
export type DatasetCardProps = {
|
||||||
@ -18,9 +17,6 @@ export function DatasetCard({
|
|||||||
showDatasetRenameModal,
|
showDatasetRenameModal,
|
||||||
}: DatasetCardProps) {
|
}: DatasetCardProps) {
|
||||||
const { navigateToDataset } = useNavigatePage();
|
const { navigateToDataset } = useNavigatePage();
|
||||||
const displayOwnerName = useDisplayOwnerName();
|
|
||||||
|
|
||||||
const owner = displayOwnerName(dataset.tenant_id, dataset.nickname);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<HomeCard
|
<HomeCard
|
||||||
|
|||||||
@ -90,8 +90,8 @@ export function Sessions({
|
|||||||
'bg-bg-card': conversationId === x.id,
|
'bg-bg-card': conversationId === x.id,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<CardContent className="px-3 py-2 flex justify-between items-center group">
|
<CardContent className="px-3 py-2 flex justify-between items-center group gap-1">
|
||||||
{x.name}
|
<div className="truncate">{x.name}</div>
|
||||||
<ConversationDropdown conversation={x}>
|
<ConversationDropdown conversation={x}>
|
||||||
<MoreButton></MoreButton>
|
<MoreButton></MoreButton>
|
||||||
</ConversationDropdown>
|
</ConversationDropdown>
|
||||||
|
|||||||
Reference in New Issue
Block a user