allow hiding context menu items

This commit is contained in:
Kendall Garner 2024-08-26 21:35:12 -07:00
parent f746114041
commit 004c9a8d06
No known key found for this signature in database
GPG key ID: 18D2767419676C87
6 changed files with 100 additions and 1 deletions

View file

@ -24,6 +24,7 @@ import { randomString } from '/@/renderer/utils';
import i18n from '/@/i18n/i18n';
import { usePlayerStore } from '/@/renderer/store/player.store';
import { mergeOverridingColumns } from '/@/renderer/store/utils';
import type { ContextMenuItemType } from '/@/renderer/features/context-menu';
const utils = isElectron() ? window.electron.utils : null;
@ -196,6 +197,7 @@ export interface SettingsState {
albumArtRes?: number | null;
buttonSize: number;
defaultFullPlaylist: boolean;
disabledContextMenu: { [k in ContextMenuItemType]?: boolean };
doubleClickQueueAll: boolean;
externalLinks: boolean;
followSystemTheme: boolean;
@ -293,6 +295,7 @@ export interface SettingsSlice extends SettingsState {
setSettings: (data: Partial<SettingsState>) => void;
setSidebarItems: (items: SidebarItemType[]) => void;
setTable: (type: TableType, data: DataTableProps) => void;
toggleContextMenuItem: (item: ContextMenuItemType) => void;
toggleSidebarCollapseShare: () => void;
};
}
@ -324,6 +327,7 @@ const initialState: SettingsState = {
albumArtRes: undefined,
buttonSize: 20,
defaultFullPlaylist: true,
disabledContextMenu: {},
doubleClickQueueAll: true,
externalLinks: true,
followSystemTheme: false,
@ -648,6 +652,12 @@ export const useSettingsStore = create<SettingsSlice>()(
state.tables[type] = data;
});
},
toggleContextMenuItem: (item: ContextMenuItemType) => {
set((state) => {
state.general.disabledContextMenu[item] =
!state.general.disabledContextMenu[item];
});
},
toggleSidebarCollapseShare: () => {
set((state) => {
state.general.sidebarCollapseShared =