feat(Settings): allow disabling subs globally

This commit is contained in:
Timothy Z. 2025-05-19 10:56:28 +03:00
parent a6f84d18d1
commit 1d8401e4df
3 changed files with 15 additions and 5 deletions

View file

@ -400,6 +400,13 @@ const Player = ({ urlParams, queryParams }) => {
if (!defaultSubtitlesSelected.current) { if (!defaultSubtitlesSelected.current) {
const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang); const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);
if (settings.subtitlesLanguage === null) {
onSubtitlesTrackSelected(null);
onExtraSubtitlesTrackSelected(null);
defaultSubtitlesSelected.current = true;
return;
}
const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage); const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage);
const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage); const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage);

View file

@ -65,10 +65,13 @@ const useProfileSettingsInputs = (profile) => {
}), [profile.settings]); }), [profile.settings]);
const subtitlesLanguageSelect = React.useMemo(() => ({ const subtitlesLanguageSelect = React.useMemo(() => ({
options: Object.keys(languageNames).map((code) => ({ options: [
value: code, { value: null, label: t('NONE') },
label: languageNames[code] ...Object.keys(languageNames).map((code) => ({
})), value: code,
label: languageNames[code]
}))
],
selected: [profile.settings.subtitlesLanguage], selected: [profile.settings.subtitlesLanguage],
onSelect: (event) => { onSelect: (event) => {
core.transport.dispatch({ core.transport.dispatch({

View file

@ -35,7 +35,7 @@ type Settings = {
subtitlesBackgroundColor: string, subtitlesBackgroundColor: string,
subtitlesBold: boolean, subtitlesBold: boolean,
subtitlesFont: string, subtitlesFont: string,
subtitlesLanguage: string, subtitlesLanguage: string | null,
subtitlesOffset: number, subtitlesOffset: number,
subtitlesOutlineColor: string, subtitlesOutlineColor: string,
subtitlesSize: number, subtitlesSize: number,