add context menu selection preview

This commit is contained in:
jeffvli
2025-11-28 17:47:12 -08:00
parent dbad1088ea
commit 4fc036f4ea
11 changed files with 224 additions and 17 deletions
@@ -3,20 +3,24 @@ import { useMemo } from 'react';
import { AddToPlaylistAction } from '/@/renderer/features/context-menu/actions/add-to-playlist-action';
import { PlayAction } from '/@/renderer/features/context-menu/actions/play-action';
import { ContextMenu } from '/@/shared/components/context-menu/context-menu';
import { ContextMenuPreview } from '/@/shared/components/context-menu/context-menu-preview';
import { Genre, LibraryItem } from '/@/shared/types/domain-types';
interface GenreContextMenuProps {
items: Genre[];
type: LibraryItem.GENRE;
}
export const GenreContextMenu = ({ items }: GenreContextMenuProps) => {
export const GenreContextMenu = ({ items, type }: GenreContextMenuProps) => {
const { ids } = useMemo(() => {
const ids = items.map((item) => item.id);
return { ids };
}, [items]);
return (
<ContextMenu.Content>
<ContextMenu.Content
bottomStickyContent={<ContextMenuPreview items={items} itemType={type} />}
>
<PlayAction ids={ids} itemType={LibraryItem.ALBUM} />
<ContextMenu.Divider />
<AddToPlaylistAction items={ids} itemType={LibraryItem.ALBUM} />