LibreChat/client/src/components/Chat/Input/Files/AttachFile.tsx
Danny Avila 00b6af8c74
fix: Ensure Message Send Requires Key 🔑 (#1281)
* fix: only allow message send when key is provided when required
- create useRequiresKey hook
- pass same disabled prop to Textarea, AttachFile, and SendButton
- EndpointItem: add localization, stopPropagation, and remove commented code
- separate some hooks to new Input dir
- completely remove textareaHeight recoil state as is not needed
- update imports for moved hooks
- pass disabled prop to useTextarea

* feat: add localization to textarea placeholders
2023-12-05 09:38:04 -05:00

35 lines
1,008 B
TypeScript

import { EModelEndpoint, supportsFiles } from 'librechat-data-provider';
import { AttachmentIcon } from '~/components/svg';
import { FileUpload } from '~/components/ui';
import { useFileHandling } from '~/hooks';
export default function AttachFile({
endpoint,
disabled = false,
}: {
endpoint: EModelEndpoint | '';
disabled?: boolean | null;
}) {
const { handleFileChange } = useFileHandling();
if (!supportsFiles[endpoint]) {
return null;
}
return (
<div className="absolute bottom-2 left-2 md:bottom-3 md:left-4">
<FileUpload handleFileChange={handleFileChange} className="flex">
<button
disabled={!!disabled}
type="button"
className="btn relative p-0 text-black dark:text-white"
aria-label="Attach files"
style={{ padding: 0 }}
>
<div className="flex w-full items-center justify-center gap-2">
<AttachmentIcon />
</div>
</button>
</FileUpload>
</div>
);
}