Chat overflow (#1723)

This commit is contained in:
pablodanswer
2024-06-27 11:02:11 -07:00
committed by GitHub
parent 8be42a5f98
commit 5324b15397
2 changed files with 24 additions and 4 deletions

View File

@@ -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={() => {

View File

@@ -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 (