✨ (chatInput): add helper function to generate class names for file preview
♻️ (chatInput): refactor file preview class name logic to use helper function
This commit is contained in:
parent
826f9656d9
commit
a1d1ad22ce
2 changed files with 12 additions and 8 deletions
|
|
@ -0,0 +1,7 @@
|
||||||
|
export const getClassNamesFilePreview = (inputFocus) => {
|
||||||
|
return `flex w-full items-center gap-2 rounded-t-md bg-background px-10 py-5 ${
|
||||||
|
inputFocus
|
||||||
|
? "border-2 border-b-0 border-ring"
|
||||||
|
: "border border-b-0 border-border"
|
||||||
|
}`;
|
||||||
|
};
|
||||||
|
|
@ -12,6 +12,7 @@ import {
|
||||||
import FilePreview from "../filePreviewChat";
|
import FilePreview from "../filePreviewChat";
|
||||||
import ButtonSendWrapper from "./components/buttonSendWrapper";
|
import ButtonSendWrapper from "./components/buttonSendWrapper";
|
||||||
import TextAreaWrapper from "./components/textAreaWrapper";
|
import TextAreaWrapper from "./components/textAreaWrapper";
|
||||||
|
import { getClassNamesFilePreview } from "./helpers/get-class-file-preview";
|
||||||
import useAutoResizeTextArea from "./hooks/use-auto-resize-text-area";
|
import useAutoResizeTextArea from "./hooks/use-auto-resize-text-area";
|
||||||
import useDragAndDrop from "./hooks/use-drag-and-drop";
|
import useDragAndDrop from "./hooks/use-drag-and-drop";
|
||||||
import useFocusOnUnlock from "./hooks/use-focus-unlock";
|
import useFocusOnUnlock from "./hooks/use-focus-unlock";
|
||||||
|
|
@ -38,7 +39,7 @@ export default function ChatInput({
|
||||||
const { dragOver, dragEnter, dragLeave, onDrop } = useDragAndDrop(
|
const { dragOver, dragEnter, dragLeave, onDrop } = useDragAndDrop(
|
||||||
setIsDragging,
|
setIsDragging,
|
||||||
setFiles,
|
setFiles,
|
||||||
currentFlowId,
|
currentFlowId
|
||||||
);
|
);
|
||||||
|
|
||||||
const send = () => {
|
const send = () => {
|
||||||
|
|
@ -59,6 +60,8 @@ export default function ChatInput({
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const classNameFilePreview = getClassNamesFilePreview(inputFocus);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex w-full flex-col-reverse">
|
<div className="flex w-full flex-col-reverse">
|
||||||
<div className="relative w-full">
|
<div className="relative w-full">
|
||||||
|
|
@ -92,13 +95,7 @@ export default function ChatInput({
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{files.length > 0 && (
|
{files.length > 0 && (
|
||||||
<div
|
<div className={classNameFilePreview}>
|
||||||
className={`flex w-full items-center gap-2 rounded-t-md bg-background px-10 py-5 ${
|
|
||||||
inputFocus
|
|
||||||
? "border-2 border-b-0 border-ring"
|
|
||||||
: "border border-b-0 border-border"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
{files.map((file) => (
|
{files.map((file) => (
|
||||||
<FilePreview
|
<FilePreview
|
||||||
error={file.error}
|
error={file.error}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue