import { TouchableOpacity, View } from "react-native"; import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "./common/Text"; import { atom, useAtom } from "jotai"; import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import { useEffect, useMemo } from "react"; import { MediaStream } from "@jellyfin/sdk/lib/generated-client/models"; import { tc } from "@/utils/textTools"; interface Props extends React.ComponentProps { item: BaseItemDto; onChange: (value: number) => void; selected: number; } export const AudioTrackSelector: React.FC = ({ item, onChange, selected, ...props }) => { const audioStreams = useMemo( () => item.MediaSources?.[0].MediaStreams?.filter((x) => x.Type === "Audio"), [item], ); const selectedAudioSteam = useMemo( () => audioStreams?.[selected], [audioStreams, selected], ); useEffect(() => { console.log(audioStreams, selected); }, [audioStreams, selected]); return ( Audio streams {tc(selectedAudioSteam?.DisplayTitle, 13)} Audio streams {audioStreams?.map((audio, index: number) => ( { onChange(index); }} > {audio.DisplayTitle} ))} ); };