refactor(media): remove volume control from FE & BE

Volume sudah di-set default 0.3 di gateway (suara kecil saat play), dan
user bisa naikin sendiri di Discord (command media:volume) — jadi kontrol
volume lewat dashboard tak perlu. Hapus:
- BE: POST /api/media/volume route, mediaVolumeSchema, setVolume service
- FE: useMediaVolume hook, mediaApi.volume, slider volume di music-player
  + mini-player, field volume/setVolume di MediaPlayerProvider
Pertahankan COMMAND_MEDIA_VOLUME di gateway (masih dipakai command DC)
dan mic volume (terpisah, tetap di voice page).
This commit is contained in:
asepharyana
2026-08-07 14:27:33 +07:00
parent 62ffb676f9
commit a690e5b63e
9 changed files with 6 additions and 106 deletions
-2
View File
@@ -7,6 +7,4 @@ export const mediaApi = {
api.post<MediaState>("/api/media/queue", { source, mode }),
skip: () => api.post<MediaState>("/api/media/skip", {}),
stop: () => api.post<MediaState>("/api/media/stop", {}),
volume: (volume: number) =>
api.post<MediaState>("/api/media/volume", { volume }),
};
@@ -20,8 +20,6 @@ interface MediaPlayerContextValue {
current: MediaItem | null;
/** Upcoming queue */
queue: MediaItem[];
/** Current volume [0-1] */
volume: number;
/** True while a mutation is in flight */
pending: boolean;
@@ -29,8 +27,6 @@ interface MediaPlayerContextValue {
skip: () => void;
/** Stop playback */
stop: () => void;
/** Set volume [0-1] */
setVolume: (vol: number) => void;
/** Queue a URL for playback */
queueUrl: (url: string) => void;
}
@@ -96,17 +92,6 @@ export function MediaPlayerProvider({ children }: { children: ReactNode }) {
.finally(() => setPending(false));
}, []);
const setVolume = useCallback((vol: number) => {
mediaApi
.volume(vol)
.then((data) => {
if (data) setState(data as MediaState);
})
.catch(() => {
// ignore
});
}, []);
const queueUrl = useCallback((url: string) => {
setPending(true);
mediaApi
@@ -126,11 +111,9 @@ export function MediaPlayerProvider({ children }: { children: ReactNode }) {
playing: state.playing,
current: state.current,
queue: state.queue,
volume: state.musicVolume,
pending,
skip,
stop,
setVolume,
queueUrl,
}}
>