mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-09-30 14:39:55 +02:00
Chat overflow (#1723)
This commit is contained in:
@@ -177,14 +177,16 @@ export function ChatInputBar({
|
|||||||
}}
|
}}
|
||||||
suppressContentEditableWarning={true}
|
suppressContentEditableWarning={true}
|
||||||
/>
|
/>
|
||||||
<div className="flex items-center space-x-3 px-4 pb-2">
|
<div className="flex items-center space-x-3 mr-12 px-4 pb-2 overflow-hidden">
|
||||||
<ChatInputOption
|
<ChatInputOption
|
||||||
|
flexPriority="shrink"
|
||||||
name={selectedAssistant ? selectedAssistant.name : "Assistants"}
|
name={selectedAssistant ? selectedAssistant.name : "Assistants"}
|
||||||
icon={FaBrain}
|
icon={FaBrain}
|
||||||
onClick={() => setConfigModalActiveTab("assistants")}
|
onClick={() => setConfigModalActiveTab("assistants")}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<ChatInputOption
|
<ChatInputOption
|
||||||
|
flexPriority="second"
|
||||||
name={
|
name={
|
||||||
llmOverrideManager.llmOverride.modelName ||
|
llmOverrideManager.llmOverride.modelName ||
|
||||||
(selectedAssistant
|
(selectedAssistant
|
||||||
@@ -194,14 +196,18 @@ export function ChatInputBar({
|
|||||||
icon={FiCpu}
|
icon={FiCpu}
|
||||||
onClick={() => setConfigModalActiveTab("llms")}
|
onClick={() => setConfigModalActiveTab("llms")}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{!retrievalDisabled && (
|
{!retrievalDisabled && (
|
||||||
<ChatInputOption
|
<ChatInputOption
|
||||||
|
flexPriority="stiff"
|
||||||
name="Filters"
|
name="Filters"
|
||||||
icon={FiFilter}
|
icon={FiFilter}
|
||||||
onClick={() => setConfigModalActiveTab("filters")}
|
onClick={() => setConfigModalActiveTab("filters")}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<ChatInputOption
|
<ChatInputOption
|
||||||
|
flexPriority="stiff"
|
||||||
name="File"
|
name="File"
|
||||||
icon={FiPlusCircle}
|
icon={FiPlusCircle}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
@@ -8,7 +8,9 @@ interface ChatInputOptionProps {
|
|||||||
icon: IconType;
|
icon: IconType;
|
||||||
onClick: () => void;
|
onClick: () => void;
|
||||||
size?: number;
|
size?: number;
|
||||||
|
|
||||||
options?: { name: string; value: number; onClick?: () => void }[];
|
options?: { name: string; value: number; onClick?: () => void }[];
|
||||||
|
flexPriority?: "shrink" | "stiff" | "second";
|
||||||
}
|
}
|
||||||
|
|
||||||
const ChatInputOption = ({
|
const ChatInputOption = ({
|
||||||
@@ -17,6 +19,7 @@ const ChatInputOption = ({
|
|||||||
onClick,
|
onClick,
|
||||||
size = 16,
|
size = 16,
|
||||||
options,
|
options,
|
||||||
|
flexPriority,
|
||||||
}: ChatInputOptionProps) => {
|
}: ChatInputOptionProps) => {
|
||||||
const [isDropupVisible, setDropupVisible] = useState(false);
|
const [isDropupVisible, setDropupVisible] = useState(false);
|
||||||
|
|
||||||
@@ -70,14 +73,25 @@ const ChatInputOption = ({
|
|||||||
onClick={handleClick}
|
onClick={handleClick}
|
||||||
title={name}
|
title={name}
|
||||||
>
|
>
|
||||||
<Icon size={size} />
|
<Icon size={size} className="flex-none" />
|
||||||
<span className="text-sm">{name}</span>
|
<span className="text-sm break-all line-clamp-1">{name}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!dropdownContent) {
|
if (!dropdownContent) {
|
||||||
return <div onClick={onClick}>{option}</div>;
|
return (
|
||||||
|
<div
|
||||||
|
onClick={onClick}
|
||||||
|
className={`text-ellipsis
|
||||||
|
${flexPriority == "shrink" && "flex-shrink-[10000] flex-grow-0 flex-basis-auto min-w-[30px] whitespace-nowrap overflow-hidden"}
|
||||||
|
${flexPriority == "second" && "flex-shrink flex-basis-0 min-w-[30px] whitespace-nowrap overflow-hidden"}
|
||||||
|
${flexPriority == "stiff" && "flex-none whitespace-nowrap overflow-hidden"}
|
||||||
|
`}
|
||||||
|
>
|
||||||
|
{option}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Reference in New Issue
Block a user