diff --git a/apps/expo/src/components/player/AudioTrackSelector.tsx b/apps/expo/src/components/player/AudioTrackSelector.tsx index 261d48e..ef35c87 100644 --- a/apps/expo/src/components/player/AudioTrackSelector.tsx +++ b/apps/expo/src/components/player/AudioTrackSelector.tsx @@ -11,6 +11,13 @@ import { Button } from "../ui/Button"; import { Text } from "../ui/Text"; import { Controls } from "./Controls"; +export interface AudioTrack { + uri: string; + name: string; + language: string; + active?: boolean; +} + export const AudioTrackSelector = () => { const tracks = usePlayerStore((state) => state.interface.audioTracks); @@ -61,6 +68,13 @@ export const AudioTrackSelector = () => { }} > {track.name} + {track.active && ( + + )} ))} diff --git a/apps/expo/src/components/player/ScraperProcess.tsx b/apps/expo/src/components/player/ScraperProcess.tsx index 4fbe7b1..009e4c7 100644 --- a/apps/expo/src/components/player/ScraperProcess.tsx +++ b/apps/expo/src/components/player/ScraperProcess.tsx @@ -11,7 +11,7 @@ import { import { fetchMediaDetails, fetchSeasonDetails } from "@movie-web/tmdb"; import type { ItemData } from "../item/item"; -import type { AudioTrack } from "~/stores/player/slices/interface"; +import type { AudioTrack } from "./AudioTrackSelector"; import { PlayerStatus } from "~/stores/player/slices/interface"; import { usePlayerStore } from "~/stores/player/store"; import { Text } from "../ui/Text"; @@ -121,6 +121,8 @@ export const ScraperProcess = ({ data }: ScraperProcessProps) => { name: (track.properties[0]?.attributes.name as string) ?? "Unknown", language: (track.properties[0]?.attributes.language as string) ?? "Unknown", + active: + (track.properties[0]?.attributes.default as boolean) ?? false, })); setAudioTracks(audioTracks); } diff --git a/apps/expo/src/stores/audio/index.ts b/apps/expo/src/stores/audio/index.ts index ca4c341..7017dfc 100644 --- a/apps/expo/src/stores/audio/index.ts +++ b/apps/expo/src/stores/audio/index.ts @@ -1,7 +1,7 @@ import { create } from "zustand"; import { immer } from "zustand/middleware/immer"; -import type { AudioTrack } from "../player/slices/interface"; +import type { AudioTrack } from "~/components/player/AudioTrackSelector"; export interface AudioTrackStore { selectedTrack: AudioTrack | null; diff --git a/apps/expo/src/stores/player/slices/interface.ts b/apps/expo/src/stores/player/slices/interface.ts index e78db2f..199b8c0 100644 --- a/apps/expo/src/stores/player/slices/interface.ts +++ b/apps/expo/src/stores/player/slices/interface.ts @@ -3,18 +3,13 @@ import type { SeasonDetails } from "@movie-web/tmdb"; import type { MakeSlice } from "./types"; import type { ItemData } from "~/components/item/item"; +import type { AudioTrack } from "~/components/player/AudioTrackSelector"; export enum PlayerStatus { SCRAPING, READY, } -export interface AudioTrack { - uri: string; - name: string; - language: string; -} - export interface InterfaceSlice { interface: { isIdle: boolean;