Add rating hotkeys (#208)
This commit is contained in:
parent
f0e518d3c8
commit
571ea3c653
3 changed files with 25 additions and 1 deletions
|
@ -69,7 +69,7 @@ export const RightControls = () => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleClearRating = (_e: MouseEvent<HTMLDivElement>, rating?: number) => {
|
const handleClearRating = (_e: MouseEvent<HTMLDivElement> | null, rating?: number) => {
|
||||||
if (!currentSong || !rating) return;
|
if (!currentSong || !rating) return;
|
||||||
|
|
||||||
updateRatingMutation.mutate({
|
updateRatingMutation.mutate({
|
||||||
|
@ -115,6 +115,12 @@ export const RightControls = () => {
|
||||||
[bindings.volumeUp.isGlobal ? '' : bindings.volumeUp.hotkey, handleVolumeUp],
|
[bindings.volumeUp.isGlobal ? '' : bindings.volumeUp.hotkey, handleVolumeUp],
|
||||||
[bindings.volumeMute.isGlobal ? '' : bindings.volumeMute.hotkey, handleMute],
|
[bindings.volumeMute.isGlobal ? '' : bindings.volumeMute.hotkey, handleMute],
|
||||||
[bindings.toggleQueue.isGlobal ? '' : bindings.toggleQueue.hotkey, handleToggleQueue],
|
[bindings.toggleQueue.isGlobal ? '' : bindings.toggleQueue.hotkey, handleToggleQueue],
|
||||||
|
[bindings.rate0.isGlobal ? '' : bindings.rate0.hotkey, () => handleClearRating(null, 0)],
|
||||||
|
[bindings.rate1.isGlobal ? '' : bindings.rate1.hotkey, () => handleUpdateRating(1)],
|
||||||
|
[bindings.rate2.isGlobal ? '' : bindings.rate2.hotkey, () => handleUpdateRating(2)],
|
||||||
|
[bindings.rate3.isGlobal ? '' : bindings.rate3.hotkey, () => handleUpdateRating(3)],
|
||||||
|
[bindings.rate4.isGlobal ? '' : bindings.rate4.hotkey, () => handleUpdateRating(4)],
|
||||||
|
[bindings.rate5.isGlobal ? '' : bindings.rate5.hotkey, () => handleUpdateRating(5)],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
|
@ -20,6 +20,12 @@ const BINDINGS_MAP: Record<BindingActions, string> = {
|
||||||
play: 'Play',
|
play: 'Play',
|
||||||
playPause: 'Play / Pause',
|
playPause: 'Play / Pause',
|
||||||
previous: 'Previous track',
|
previous: 'Previous track',
|
||||||
|
rate0: 'Rating clear',
|
||||||
|
rate1: 'Rating 1 star',
|
||||||
|
rate2: 'Rating 2 star',
|
||||||
|
rate3: 'Rating 3 star',
|
||||||
|
rate4: 'Rating 4 star',
|
||||||
|
rate5: 'Rating 5 star',
|
||||||
skipBackward: 'Skip backward',
|
skipBackward: 'Skip backward',
|
||||||
skipForward: 'Skip forward',
|
skipForward: 'Skip forward',
|
||||||
stop: 'Stop',
|
stop: 'Stop',
|
||||||
|
|
|
@ -91,6 +91,12 @@ export enum BindingActions {
|
||||||
PLAY = 'play',
|
PLAY = 'play',
|
||||||
PLAY_PAUSE = 'playPause',
|
PLAY_PAUSE = 'playPause',
|
||||||
PREVIOUS = 'previous',
|
PREVIOUS = 'previous',
|
||||||
|
RATE_0 = 'rate0',
|
||||||
|
RATE_1 = 'rate1',
|
||||||
|
RATE_2 = 'rate2',
|
||||||
|
RATE_3 = 'rate3',
|
||||||
|
RATE_4 = 'rate4',
|
||||||
|
RATE_5 = 'rate5',
|
||||||
SHUFFLE = 'toggleShuffle',
|
SHUFFLE = 'toggleShuffle',
|
||||||
SKIP_BACKWARD = 'skipBackward',
|
SKIP_BACKWARD = 'skipBackward',
|
||||||
SKIP_FORWARD = 'skipForward',
|
SKIP_FORWARD = 'skipForward',
|
||||||
|
@ -234,6 +240,12 @@ const initialState: SettingsState = {
|
||||||
play: { allowGlobal: true, hotkey: '', isGlobal: false },
|
play: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
playPause: { allowGlobal: true, hotkey: '', isGlobal: false },
|
playPause: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
previous: { allowGlobal: true, hotkey: '', isGlobal: false },
|
previous: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate0: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate1: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate2: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate3: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate4: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
rate5: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
skipBackward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
skipBackward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
skipForward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
skipForward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
stop: { allowGlobal: true, hotkey: '', isGlobal: false },
|
stop: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||||
|
|
Reference in a new issue