Skip to content

Commit 0d3882e

Browse files
committedOct 13, 2024
Replace in-code use of available shortcuts with the corresponding constants
1 parent 3134053 commit 0d3882e

File tree

4 files changed

+34
-47
lines changed

4 files changed

+34
-47
lines changed
 

‎src/renderer/components/ft-shaka-video-player/ft-shaka-video-player.js

+22-35
Original file line numberDiff line numberDiff line change
@@ -2006,55 +2006,47 @@ export default defineComponent({
20062006

20072007
const video_ = video.value
20082008

2009-
switch (event.key) {
2009+
switch (event.key.toLowerCase()) {
20102010
case ' ':
2011-
case 'Spacebar': // older browsers might return spacebar instead of a space character
2012-
case 'K':
2013-
case 'k':
2011+
case 'spacebar': // older browsers might return spacebar instead of a space character
2012+
case KeyboardShortcuts.VIDEO_PLAYER.PLAY:
20142013
// Toggle Play/Pause
20152014
event.preventDefault()
20162015
video_.paused ? video_.play() : video_.pause()
20172016
break
2018-
case 'J':
2019-
case 'j':
2017+
case KeyboardShortcuts.VIDEO_PLAYER.LARGE_REWIND:
20202018
// Rewind by 2x the time-skip interval (in seconds)
20212019
event.preventDefault()
20222020
seekBySeconds(-defaultSkipInterval.value * video_.playbackRate * 2)
20232021
break
2024-
case 'L':
2025-
case 'l':
2022+
case KeyboardShortcuts.VIDEO_PLAYER.LARGE_FAST_FORWARD:
20262023
// Fast-Forward by 2x the time-skip interval (in seconds)
20272024
event.preventDefault()
20282025
seekBySeconds(defaultSkipInterval.value * video_.playbackRate * 2)
20292026
break
2030-
case 'O':
2031-
case 'o':
2027+
case KeyboardShortcuts.VIDEO_PLAYER.DECREASE_VIDEO_SPEED:
20322028
// Decrease playback rate by user configured interval
20332029
event.preventDefault()
20342030
changePlayBackRate(-videoPlaybackRateInterval.value)
20352031
break
2036-
case 'P':
2037-
case 'p':
2032+
case KeyboardShortcuts.VIDEO_PLAYER.INCREASE_VIDEO_SPEED:
20382033
// Increase playback rate by user configured interval
20392034
event.preventDefault()
20402035
changePlayBackRate(videoPlaybackRateInterval.value)
20412036
break
2042-
case 'F':
2043-
case 'f':
2037+
case KeyboardShortcuts.VIDEO_PLAYER.FULLSCREEN:
20442038
// Toggle full screen
20452039
event.preventDefault()
20462040
ui.getControls().toggleFullScreen()
20472041
break
2048-
case 'M':
2049-
case 'm':
2042+
case KeyboardShortcuts.VIDEO_PLAYER.MUTE:
20502043
// Toggle mute only if metakey is not pressed
20512044
if (!event.metaKey) {
20522045
event.preventDefault()
20532046
video_.muted = !video_.muted
20542047
}
20552048
break
2056-
case 'C':
2057-
case 'c':
2049+
case KeyboardShortcuts.VIDEO_PLAYER.SUBTITLES:
20582050
// Toggle caption/subtitles
20592051
if (player.getTextTracks().length > 0) {
20602052
event.preventDefault()
@@ -2063,17 +2055,17 @@ export default defineComponent({
20632055
player.setTextTrackVisibility(!currentlyVisible)
20642056
}
20652057
break
2066-
case 'ArrowUp':
2058+
case 'arrowup':
20672059
// Increase volume
20682060
event.preventDefault()
20692061
changeVolume(0.05)
20702062
break
2071-
case 'ArrowDown':
2063+
case 'arrowdown':
20722064
// Decrease Volume
20732065
event.preventDefault()
20742066
changeVolume(-0.05)
20752067
break
2076-
case 'ArrowLeft':
2068+
case 'arrowleft':
20772069
event.preventDefault()
20782070
if (canChapterJump(event, 'previous')) {
20792071
// Jump to the previous chapter
@@ -2083,7 +2075,7 @@ export default defineComponent({
20832075
seekBySeconds(-defaultSkipInterval.value * video_.playbackRate)
20842076
}
20852077
break
2086-
case 'ArrowRight':
2078+
case 'arrowright':
20872079
event.preventDefault()
20882080
if (canChapterJump(event, 'next')) {
20892081
// Jump to the next chapter
@@ -2093,8 +2085,7 @@ export default defineComponent({
20932085
seekBySeconds(defaultSkipInterval.value * video_.playbackRate)
20942086
}
20952087
break
2096-
case 'I':
2097-
case 'i':
2088+
case KeyboardShortcuts.VIDEO_PLAYER.PICTURE_IN_PICTURE:
20982089
// Toggle picture in picture
20992090
if (props.format !== 'audio') {
21002091
const controls = ui.getControls()
@@ -2127,26 +2118,25 @@ export default defineComponent({
21272118
}
21282119
break
21292120
}
2130-
case ',':
2121+
case KeyboardShortcuts.VIDEO_PLAYER.LAST_FRAME:
21312122
event.preventDefault()
21322123
// Return to previous frame
21332124
frameByFrame(-1)
21342125
break
2135-
case '.':
2126+
case KeyboardShortcuts.VIDEO_PLAYER.NEXT_FRAME:
21362127
event.preventDefault()
21372128
// Advance to next frame
21382129
frameByFrame(1)
21392130
break
2140-
case 'D':
2141-
case 'd':
2131+
case KeyboardShortcuts.VIDEO_PLAYER.STATS:
21422132
// Toggle stats display
21432133
event.preventDefault()
21442134

21452135
events.dispatchEvent(new CustomEvent('setStatsVisibility', {
21462136
detail: !showStats.value
21472137
}))
21482138
break
2149-
case 'Escape':
2139+
case 'escape':
21502140
// Exit full window
21512141
if (fullWindowEnabled.value) {
21522142
event.preventDefault()
@@ -2156,16 +2146,14 @@ export default defineComponent({
21562146
}))
21572147
}
21582148
break
2159-
case 'S':
2160-
case 's':
2149+
case KeyboardShortcuts.VIDEO_PLAYER.FULLWINDOW:
21612150
// Toggle full window mode
21622151
event.preventDefault()
21632152
events.dispatchEvent(new CustomEvent('setFullWindow', {
21642153
detail: !fullWindowEnabled.value
21652154
}))
21662155
break
2167-
case 'T':
2168-
case 't':
2156+
case KeyboardShortcuts.VIDEO_PLAYER.THEATRE_MODE:
21692157
// Toggle theatre mode
21702158
if (props.theatrePossible) {
21712159
event.preventDefault()
@@ -2175,8 +2163,7 @@ export default defineComponent({
21752163
}))
21762164
}
21772165
break
2178-
case 'U':
2179-
case 'u':
2166+
case KeyboardShortcuts.VIDEO_PLAYER.TAKE_SCREENSHOT:
21802167
if (process.env.IS_ELECTRON && enableScreenshot.value && props.format !== 'audio') {
21812168
event.preventDefault()
21822169
// Take screenshot

‎src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
77
import FtElementList from '../FtElementList/FtElementList.vue'
88
import FtChannelBubble from '../ft-channel-bubble/ft-channel-bubble.vue'
99
import FtAutoLoadNextPageWrapper from '../ft-auto-load-next-page-wrapper/ft-auto-load-next-page-wrapper.vue'
10+
import { KeyboardShortcuts } from '../../../constants'
1011

1112
export default defineComponent({
1213
name: 'SubscriptionsTabUI',
@@ -113,10 +114,9 @@ export default defineComponent({
113114
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
114115
if (event.repeat) { return }
115116

116-
switch (event.key) {
117-
case 'r':
118-
case 'R':
119-
case 'F5':
117+
switch (event.key.toLowerCase()) {
118+
case 'f5':
119+
case KeyboardShortcuts.FEED.REFRESH:
120120
if (!this.isLoading && this.activeSubscriptionList.length > 0) {
121121
this.$emit('refresh')
122122
}

‎src/renderer/views/Popular/Popular.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import FtRefreshWidget from '../../components/ft-refresh-widget/ft-refresh-widge
88

99
import { invidiousAPICall } from '../../helpers/api/invidious'
1010
import { copyToClipboard, getRelativeTimeFromDate, setPublishedTimestampsInvidious, showToast } from '../../helpers/utils'
11+
import { KeyboardShortcuts } from '../../../constants'
1112

1213
export default defineComponent({
1314
name: 'Popular',
@@ -90,10 +91,9 @@ export default defineComponent({
9091
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
9192
if (event.repeat) { return }
9293

93-
switch (event.key) {
94-
case 'r':
95-
case 'R':
96-
case 'F5':
94+
switch (event.key.toLowerCase()) {
95+
case 'f5':
96+
case KeyboardShortcuts.FEED.REFRESH:
9797
if (!this.isLoading) {
9898
this.fetchPopularInfo()
9999
}

‎src/renderer/views/Trending/Trending.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import FtRefreshWidget from '../../components/ft-refresh-widget/ft-refresh-widge
1010
import { copyToClipboard, getRelativeTimeFromDate, setPublishedTimestampsInvidious, showToast } from '../../helpers/utils'
1111
import { getLocalTrending } from '../../helpers/api/local'
1212
import { invidiousAPICall } from '../../helpers/api/invidious'
13+
import { KeyboardShortcuts } from '../../../constants'
1314

1415
export default defineComponent({
1516
name: 'Trending',
@@ -189,10 +190,9 @@ export default defineComponent({
189190
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
190191
if (event.repeat) { return }
191192

192-
switch (event.key) {
193-
case 'r':
194-
case 'R':
195-
case 'F5':
193+
switch (event.key.toLowerCase()) {
194+
case 'f5':
195+
case KeyboardShortcuts.FEED.REFRESH:
196196
if (!this.isLoading) {
197197
this.getTrendingInfo(true)
198198
}

0 commit comments

Comments
 (0)