import { TouchableOpacity, View, ViewProps } from "react-native"; import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "../common/Text"; import { useMedia } from "./MediaContext"; import { Switch } from "react-native-gesture-handler"; import { ListGroup } from "../list/ListGroup"; import { ListItem } from "../list/ListItem"; import { Ionicons } from "@expo/vector-icons"; import { SubtitlePlaybackMode } from "@jellyfin/sdk/lib/generated-client"; import {useSettings} from "@/utils/atoms/settings"; import {Stepper} from "@/components/inputs/Stepper"; import Dropdown from "@/components/common/Dropdown"; interface Props extends ViewProps {} export const SubtitleToggles: React.FC = ({ ...props }) => { const media = useMedia(); const [_, __, pluginSettings] = useSettings(); const { settings, updateSettings } = media; const cultures = media.cultures; if (!settings) return null; const subtitleModes = [ SubtitlePlaybackMode.Default, SubtitlePlaybackMode.Smart, SubtitlePlaybackMode.OnlyForced, SubtitlePlaybackMode.Always, SubtitlePlaybackMode.None, ]; return ( Configure subtitle preferences. } > item?.ThreeLetterISOLanguageName ?? "unknown"} titleExtractor={(item) => item?.DisplayName} title={ {settings?.defaultSubtitleLanguage?.DisplayName || "None"} } label="Languages" onSelected={(defaultSubtitleLanguage) => updateSettings({ defaultSubtitleLanguage: defaultSubtitleLanguage.DisplayName === "None" ? null : defaultSubtitleLanguage }) } /> {settings?.subtitleMode || "Loading"} } label="Subtitle Mode" onSelected={(subtitleMode) => updateSettings({subtitleMode}) } /> updateSettings({ rememberSubtitleSelections: value }) } /> updateSettings({subtitleSize})} /> ); };