Compare commits

...

2 Commits

3 changed files with 22 additions and 6 deletions

View File

@ -860,12 +860,15 @@ export const PromptInputBody = ({
export type PromptInputTextareaProps = ComponentProps<
typeof InputGroupTextarea
>;
> & {
submitOnEnter?: boolean;
};
export const PromptInputTextarea = ({
onChange,
className,
placeholder = "What would you like to know?",
submitOnEnter = true,
...props
}: PromptInputTextareaProps) => {
const controller = useOptionalPromptInputController();
@ -877,6 +880,9 @@ export const PromptInputTextarea = ({
if (isComposing || e.nativeEvent.isComposing) {
return;
}
if (!submitOnEnter) {
return;
}
if (e.shiftKey) {
return;
}

View File

@ -313,6 +313,9 @@ export function IframeTestPanel() {
selectedSkills: [
{ id: "5", name: "文档处理" },
{ id: "1216", name: "市场研究报告" },
{ id: "1245", name: "市场研究报告" },
{ id: "520", name: "市场研究报告" },
{ id: "409", name: "市场研究报告" },
],
},
"*",

View File

@ -342,6 +342,7 @@ export function InputBox({
"size-full",
!effectiveIsFocused && "h-[80px] py-0 leading-20",
)}
submitOnEnter={false}
disabled={isInputDisabled}
placeholder={t.inputBox.placeholder}
autoFocus={autoFocus}
@ -365,7 +366,7 @@ export function InputBox({
"pointer-events-none invisible h-[0px] translate-y-2 p-[0px] opacity-0",
)}
>
<PromptInputTools>
<PromptInputTools className="min-w-0 flex-1">
{/* TODO: Add more connectors here
<PromptInputActionMenu>
<PromptInputActionMenuTrigger className="px-2!" />
@ -653,10 +654,10 @@ function IframeSkillDialogButton({
const { t } = useI18n();
return (
<div className="flex items-center gap-2">
<div className="flex min-w-0 flex-1 items-center gap-2">
<Tooltip content={t.inputBox.selectSkill}>
<PromptInputButton
className={cn("group px-2! hover:bg-[#EAE2F5]", className)}
className={cn("group shrink-0 px-2! hover:bg-[#EAE2F5]", className)}
onClick={openSkillDialog}
>
<svg
@ -679,9 +680,15 @@ function IframeSkillDialogButton({
</Tag>
) : null}
{!isBootstrapping && selectedSkills.length > 0 ? (
<div className="flex flex-wrap items-center gap-2">
<div
className="flex min-w-0 flex-1 items-center gap-2 overflow-x-auto overflow-y-hidden whitespace-nowrap [scrollbar-width:none] [&::-webkit-scrollbar]:hidden"
onWheel={(event) => {
if (event.deltaY === 0) return;
event.currentTarget.scrollLeft += event.deltaY;
}}
>
{selectedSkills.map((skill, index) => (
<Tag key={`${skill.skill_id}-${skill.title}-${index}`}>
<Tag key={`${skill.skill_id}-${skill.title}-${index}`} className="shrink-0">
{skill.title}
{/* TODO: 因为后端接口不支持取消选择skill所以暂时禁用取消选择按钮 */}
{/* <button