Set context menu based on item type
This commit is contained in:
parent
fff1315fa5
commit
e5f24b3160
1 changed files with 19 additions and 2 deletions
|
@ -12,7 +12,11 @@ import { LibraryItem, QueueSong } from '/@/renderer/api/types';
|
||||||
import { VirtualGridAutoSizerContainer } from '/@/renderer/components/virtual-grid';
|
import { VirtualGridAutoSizerContainer } from '/@/renderer/components/virtual-grid';
|
||||||
import { VirtualTable, getColumnDefs } from '/@/renderer/components/virtual-table';
|
import { VirtualTable, getColumnDefs } from '/@/renderer/components/virtual-table';
|
||||||
import { useHandleTableContextMenu } from '/@/renderer/features/context-menu';
|
import { useHandleTableContextMenu } from '/@/renderer/features/context-menu';
|
||||||
import { SONG_CONTEXT_MENU_ITEMS } from '/@/renderer/features/context-menu/context-menu-items';
|
import {
|
||||||
|
ALBUM_CONTEXT_MENU_ITEMS,
|
||||||
|
ARTIST_CONTEXT_MENU_ITEMS,
|
||||||
|
SONG_CONTEXT_MENU_ITEMS,
|
||||||
|
} from '/@/renderer/features/context-menu/context-menu-items';
|
||||||
import { usePlayQueueAdd } from '/@/renderer/features/player';
|
import { usePlayQueueAdd } from '/@/renderer/features/player';
|
||||||
import { generatePath, useNavigate } from 'react-router';
|
import { generatePath, useNavigate } from 'react-router';
|
||||||
import { AppRoute } from '../../../router/routes';
|
import { AppRoute } from '../../../router/routes';
|
||||||
|
@ -79,7 +83,20 @@ export const SearchContent = ({ tableRef, getDatasource }: SearchContentProps) =
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleContextMenu = useHandleTableContextMenu(LibraryItem.SONG, SONG_CONTEXT_MENU_ITEMS);
|
const contextMenuItems = () => {
|
||||||
|
switch (itemType) {
|
||||||
|
case LibraryItem.ALBUM:
|
||||||
|
return ALBUM_CONTEXT_MENU_ITEMS;
|
||||||
|
case LibraryItem.ALBUM_ARTIST:
|
||||||
|
return ARTIST_CONTEXT_MENU_ITEMS;
|
||||||
|
case LibraryItem.SONG:
|
||||||
|
return SONG_CONTEXT_MENU_ITEMS;
|
||||||
|
default:
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleContextMenu = useHandleTableContextMenu(itemType, contextMenuItems());
|
||||||
|
|
||||||
const handleRowDoubleClick = (e: RowDoubleClickedEvent<QueueSong>) => {
|
const handleRowDoubleClick = (e: RowDoubleClickedEvent<QueueSong>) => {
|
||||||
if (!e.data) return;
|
if (!e.data) return;
|
||||||
|
|
Reference in a new issue