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;
|
||||
|
||||
updateRatingMutation.mutate({
|
||||
|
@ -115,6 +115,12 @@ export const RightControls = () => {
|
|||
[bindings.volumeUp.isGlobal ? '' : bindings.volumeUp.hotkey, handleVolumeUp],
|
||||
[bindings.volumeMute.isGlobal ? '' : bindings.volumeMute.hotkey, handleMute],
|
||||
[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(() => {
|
||||
|
|
|
@ -20,6 +20,12 @@ const BINDINGS_MAP: Record<BindingActions, string> = {
|
|||
play: 'Play',
|
||||
playPause: 'Play / Pause',
|
||||
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',
|
||||
skipForward: 'Skip forward',
|
||||
stop: 'Stop',
|
||||
|
|
|
@ -91,6 +91,12 @@ export enum BindingActions {
|
|||
PLAY = 'play',
|
||||
PLAY_PAUSE = 'playPause',
|
||||
PREVIOUS = 'previous',
|
||||
RATE_0 = 'rate0',
|
||||
RATE_1 = 'rate1',
|
||||
RATE_2 = 'rate2',
|
||||
RATE_3 = 'rate3',
|
||||
RATE_4 = 'rate4',
|
||||
RATE_5 = 'rate5',
|
||||
SHUFFLE = 'toggleShuffle',
|
||||
SKIP_BACKWARD = 'skipBackward',
|
||||
SKIP_FORWARD = 'skipForward',
|
||||
|
@ -234,6 +240,12 @@ const initialState: SettingsState = {
|
|||
play: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
playPause: { 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 },
|
||||
skipForward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
stop: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
|
|
Reference in a new issue