mirror of
https://github.com/Vendicated/Vencord.git
synced 2025-01-10 18:06:22 +00:00
fix(mediaPlaybackSpeed): mediaRef is possibly undefined when 1 patch breaks
This commit is contained in:
parent
a8eea4dc7a
commit
c9459e9cf7
1 changed files with 35 additions and 33 deletions
|
@ -25,48 +25,50 @@ export default definePlugin({
|
||||||
description: "Adds an icon to change the playback speed of media embeds",
|
description: "Adds an icon to change the playback speed of media embeds",
|
||||||
authors: [Devs.D3SOX],
|
authors: [Devs.D3SOX],
|
||||||
|
|
||||||
playbackSpeedComponent: ErrorBoundary.wrap((mediaRef: RefObject<HTMLMediaElement>) => {
|
playbackSpeedComponent: (mediaRef: RefObject<HTMLMediaElement> | undefined) => {
|
||||||
const changeSpeed = (speed: number) => {
|
const changeSpeed = (speed: number) => {
|
||||||
const media = mediaRef.current;
|
const media = mediaRef?.current;
|
||||||
if (media) {
|
if (media) {
|
||||||
media.playbackRate = speed;
|
media.playbackRate = speed;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip text="Playback speed">
|
<ErrorBoundary noop>
|
||||||
{tooltipProps => (
|
<Tooltip text="Playback speed">
|
||||||
<button
|
{tooltipProps => (
|
||||||
{...tooltipProps}
|
<button
|
||||||
className={cl("icon")}
|
{...tooltipProps}
|
||||||
onClick={e => {
|
className={cl("icon")}
|
||||||
ContextMenuApi.openContextMenu(e, () =>
|
onClick={e => {
|
||||||
<Menu.Menu
|
ContextMenuApi.openContextMenu(e, () =>
|
||||||
navId="vc-playback-speed"
|
<Menu.Menu
|
||||||
onClose={() => FluxDispatcher.dispatch({ type: "CONTEXT_MENU_CLOSE" })}
|
navId="vc-playback-speed"
|
||||||
aria-label="Playback speed control"
|
onClose={() => FluxDispatcher.dispatch({ type: "CONTEXT_MENU_CLOSE" })}
|
||||||
>
|
aria-label="Playback speed control"
|
||||||
<Menu.MenuGroup
|
|
||||||
label="Playback speed"
|
|
||||||
>
|
>
|
||||||
{speeds.map(speed => (
|
<Menu.MenuGroup
|
||||||
<Menu.MenuItem
|
label="Playback speed"
|
||||||
key={speed}
|
>
|
||||||
id={"speed-" + speed}
|
{speeds.map(speed => (
|
||||||
label={`${speed}x`}
|
<Menu.MenuItem
|
||||||
action={() => changeSpeed(speed)}
|
key={speed}
|
||||||
/>
|
id={"speed-" + speed}
|
||||||
))}
|
label={`${speed}x`}
|
||||||
</Menu.MenuGroup>
|
action={() => changeSpeed(speed)}
|
||||||
</Menu.Menu>
|
/>
|
||||||
);
|
))}
|
||||||
}}>
|
</Menu.MenuGroup>
|
||||||
<SpeedIcon/>
|
</Menu.Menu>
|
||||||
</button>
|
);
|
||||||
)}
|
}}>
|
||||||
</Tooltip>
|
<SpeedIcon/>
|
||||||
|
</button>
|
||||||
|
)}
|
||||||
|
</Tooltip>
|
||||||
|
</ErrorBoundary>
|
||||||
);
|
);
|
||||||
}),
|
},
|
||||||
|
|
||||||
patches: [
|
patches: [
|
||||||
// voice message embeds
|
// voice message embeds
|
||||||
|
|
Loading…
Reference in a new issue