From d15950179959391edefd66cecc2f5f089397a33b Mon Sep 17 00:00:00 2001 From: bflatastic Date: Wed, 21 May 2025 16:10:27 +0700 Subject: [PATCH] media class support and tooltip integration --- .../src/lib/GalleryDragComponent.tsx | 25 +--- .../src/lib/GalleryDraggableItem.tsx | 109 +++++++++++------- .../gallery-modal/src/lib/gallery-modal.tsx | 8 ++ 3 files changed, 81 insertions(+), 61 deletions(-) diff --git a/frontend/libs/components/gallery-modal/src/lib/GalleryDragComponent.tsx b/frontend/libs/components/gallery-modal/src/lib/GalleryDragComponent.tsx index 793906b232..3b1fb5f105 100644 --- a/frontend/libs/components/gallery-modal/src/lib/GalleryDragComponent.tsx +++ b/frontend/libs/components/gallery-modal/src/lib/GalleryDragComponent.tsx @@ -20,34 +20,19 @@ export const GalleryDragComponent: React.FC = () => { const { currX, currY, item } = dragState; const size = 120; const style: React.CSSProperties = { - position: "fixed", left: currX + 1, top: currY - size / 2, - zIndex: 10000, - width: size, - height: size, - pointerEvents: "none", - aspectRatio: "1 / 1", - display: "flex", - flexDirection: "column", - background: "rgba(0,0,0,0.7)", - borderRadius: 12, - overflow: "hidden", - boxShadow: "0 4px 16px rgba(0,0,0,0.25)", }; return ReactDOM.createPortal( -
+
{item.label}
, document.body diff --git a/frontend/libs/components/gallery-modal/src/lib/GalleryDraggableItem.tsx b/frontend/libs/components/gallery-modal/src/lib/GalleryDraggableItem.tsx index f4961718f9..b6765c77d2 100644 --- a/frontend/libs/components/gallery-modal/src/lib/GalleryDraggableItem.tsx +++ b/frontend/libs/components/gallery-modal/src/lib/GalleryDraggableItem.tsx @@ -4,6 +4,7 @@ import { faCheck } from "@fortawesome/pro-solid-svg-icons"; import { twMerge } from "tailwind-merge"; import type { GalleryItem } from "./gallery-modal"; import galleryDnd from "./galleryDnd"; +import { Tooltip } from "@storyteller/ui-tooltip"; type ModalMode = "select" | "view"; @@ -50,47 +51,73 @@ export const GalleryDraggableItem: React.FC = ({ }; return ( - + } + > + + ); }; diff --git a/frontend/libs/components/gallery-modal/src/lib/gallery-modal.tsx b/frontend/libs/components/gallery-modal/src/lib/gallery-modal.tsx index 054b319de7..da47479e4e 100644 --- a/frontend/libs/components/gallery-modal/src/lib/gallery-modal.tsx +++ b/frontend/libs/components/gallery-modal/src/lib/gallery-modal.tsx @@ -25,6 +25,7 @@ export interface GalleryItem { thumbnail: string | null; fullImage?: string | null; createdAt: string; + mediaClass?: string; } interface GroupedItems { @@ -169,6 +170,13 @@ export const GalleryModal = React.memo( ), fullImage: item.media_links.cdn_url, createdAt: item.created_at, + mediaClass: + item.media_class || + (item.filter_media_classes + ? item.filter_media_classes[0] + : activeTab === "videos" + ? "video" + : "image"), })); console.log("Media files response:", newItems); setGroupedItems(groupItemsByDate(newItems));