mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-12 05:28:51 +01:00
* 🎨 feat: improve file display and overflow handling in SidePanel components * 🎨 feat: enhance bookmarks management UI and improve accessibility features * 🎨 feat: enhance BookmarkTable and BookmarkTableRow components for improved layout and performance * 🎨 feat: enhance file display and interaction in FilesView and ImagePreview components * 🎨 feat: adjust minimum width for filename filter input in DataTable component * 🎨 feat: enhance file upload UI with improved layout and styling adjustments * 🎨 feat: add surface-hover-alt color and update FileContainer styling for improved UI * 🎨 feat: update ImagePreview component styling for improved visual consistency * 🎨 feat: add MaximizeChatSpace component and integrate chat space maximization feature * 🎨 feat: enhance DataTable component with transition effects and update Checkbox styling for improved accessibility * fix: enhance a11y for Bookmark buttons by adding space key support, ARIA labels, and correct html role for key presses * fix: return focus back to trigger for BookmarkEditDialog (Edit and new bookmark buttons) * refactor: ShareButton and ExportModal components children prop support; refactor DropdownPopup item handling * refactor: enhance ExportAndShareMenu and ShareButton components with improved props handling and accessibility features * refactor: add ref prop support to MenuItemProps and update ExportAndShareMenu and DropdownPopup components so focus correctly returns to menu item * refactor: enhance ConvoOptions and DeleteButton components with improved props handling and accessibility features * refactor: add triggerRef support to DeleteButton and update ConvoOptions for improved dialog handling * refactor: accessible bookmarks menu * refactor: improve styling and accessibility for bookmarks components * refactor: add focusLoop support to DropdownPopup and update BookmarkMenu with Tooltip * refactor: integrate TooltipAnchor into ExportAndShareMenu for enhanced accessibility --------- Co-authored-by: Danny Avila <danny@librechat.ai>
28 lines
775 B
TypeScript
28 lines
775 B
TypeScript
import { FileSources } from 'librechat-data-provider';
|
|
import ImagePreview from './ImagePreview';
|
|
import RemoveFile from './RemoveFile';
|
|
|
|
const Image = ({
|
|
imageBase64,
|
|
url,
|
|
onDelete,
|
|
progress = 1,
|
|
source = FileSources.local,
|
|
}: {
|
|
imageBase64?: string;
|
|
url?: string;
|
|
onDelete: () => void;
|
|
progress: number; // between 0 and 1
|
|
source?: FileSources;
|
|
}) => {
|
|
return (
|
|
<div className="group relative inline-block text-sm text-black/70 dark:text-white/90">
|
|
<div className="relative overflow-hidden rounded-2xl border border-gray-200 dark:border-gray-600">
|
|
<ImagePreview source={source} imageBase64={imageBase64} url={url} progress={progress} />
|
|
</div>
|
|
<RemoveFile onRemove={onDelete} />
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Image;
|