diff --git a/components/AudioTrackSelector.tsx b/components/AudioTrackSelector.tsx index d8cba49d..579dab79 100644 --- a/components/AudioTrackSelector.tsx +++ b/components/AudioTrackSelector.tsx @@ -1,7 +1,7 @@ import { MediaSourceInfo } from "@jellyfin/sdk/lib/generated-client/models"; import { useMemo } from "react"; import { TouchableOpacity, View } from "react-native"; -import * as DropdownMenu from "@/components/DropdownMenu"; +import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "./common/Text"; import { useTranslation } from "react-i18next"; @@ -39,7 +39,9 @@ export const AudioTrackSelector: React.FC = ({ - {t("item_card.audio")} + + {t("item_card.audio")} + {selectedAudioSteam?.DisplayTitle} diff --git a/components/BitrateSelector.tsx b/components/BitrateSelector.tsx index 2fd10b3d..94cf14e1 100644 --- a/components/BitrateSelector.tsx +++ b/components/BitrateSelector.tsx @@ -1,5 +1,5 @@ import { TouchableOpacity, View } from "react-native"; -import * as DropdownMenu from "@/components/DropdownMenu"; +import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "./common/Text"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; @@ -77,7 +77,9 @@ export const BitrateSelector: React.FC = ({ - {t("item_card.quality")} + + {t("item_card.quality")} + {BITRATES.find((b) => b.value === selected?.value)?.key} diff --git a/components/DropdownMenu.ts b/components/DropdownMenu.ts deleted file mode 100644 index d5e75592..00000000 --- a/components/DropdownMenu.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "zeego/dropdown-menu"; diff --git a/components/DropdownMenu.tv.ts b/components/DropdownMenu.tv.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/components/ItemContent.tsx b/components/ItemContent.tsx index ef0907ac..c4e53ba2 100644 --- a/components/ItemContent.tsx +++ b/components/ItemContent.tsx @@ -3,7 +3,8 @@ import { Bitrate, BitrateSelector } from "@/components/BitrateSelector"; import { DownloadSingleItem } from "@/components/DownloadItem"; import { OverviewText } from "@/components/OverviewText"; import { ParallaxScrollView } from "@/components/ParallaxPage"; -const PlayButton = !Platform.isTV ? require("@/components/PlayButton") : null; +// const PlayButton = !Platform.isTV ? require("@/components/PlayButton") : null; +import { PlayButton } from "@/components/PlayButton"; import { PlayedStatus } from "@/components/PlayedStatus"; import { SimilarItems } from "@/components/SimilarItems"; import { SubtitleTrackSelector } from "@/components/SubtitleTrackSelector"; @@ -192,9 +193,10 @@ export const ItemContent: React.FC<{ item: BaseItemDto }> = React.memo( } > + {/* {!Platform.isTV && ( */} - {item.Type !== "Program" && ( + {item.Type !== "Program" && !Platform.isTV && ( = React.memo( /> )} + {!Platform.isTV && ( = ({ - {t("item_card.video")} + + {t("item_card.video")} + {selectedName} diff --git a/components/SubtitleTrackSelector.tsx b/components/SubtitleTrackSelector.tsx index 63e3e5f8..641d4ef0 100644 --- a/components/SubtitleTrackSelector.tsx +++ b/components/SubtitleTrackSelector.tsx @@ -2,7 +2,7 @@ import { tc } from "@/utils/textTools"; import { MediaSourceInfo } from "@jellyfin/sdk/lib/generated-client/models"; import { useMemo } from "react"; import { Platform, TouchableOpacity, View } from "react-native"; -import * as DropdownMenu from "@/components/DropdownMenu"; +import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "./common/Text"; import { SubtitleHelper } from "@/utils/SubtitleHelper"; import { useTranslation } from "react-i18next"; @@ -51,7 +51,9 @@ export const SubtitleTrackSelector: React.FC = ({ - {t("item_card.subtitles")} + + {t("item_card.subtitles")} + {selectedSubtitleSteam diff --git a/components/series/SeasonDropdown.tsx b/components/series/SeasonDropdown.tsx index a01e105c..438966a3 100644 --- a/components/series/SeasonDropdown.tsx +++ b/components/series/SeasonDropdown.tsx @@ -1,7 +1,7 @@ import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import { useEffect, useMemo } from "react"; import { TouchableOpacity, View } from "react-native"; -import * as DropdownMenu from "@/components/DropdownMenu"; +import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "../common/Text"; import { t } from "i18next"; @@ -92,7 +92,9 @@ export const SeasonDropdown: React.FC = ({ - {t("item_card.season")} {seasonIndex} + + {t("item_card.season")} {seasonIndex} + diff --git a/components/settings/AudioToggles.tsx b/components/settings/AudioToggles.tsx index 4ce39942..b9508191 100644 --- a/components/settings/AudioToggles.tsx +++ b/components/settings/AudioToggles.tsx @@ -1,5 +1,5 @@ import { TouchableOpacity, View, ViewProps } from "react-native"; -import * as DropdownMenu from "@/components/DropdownMenu"; +import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "../common/Text"; import { useMedia } from "./MediaContext"; import { Switch } from "react-native-gesture-handler"; @@ -7,7 +7,7 @@ import { useTranslation } from "react-i18next"; import { ListGroup } from "../list/ListGroup"; import { ListItem } from "../list/ListItem"; import { Ionicons } from "@expo/vector-icons"; -import {useSettings} from "@/utils/atoms/settings"; +import { useSettings } from "@/utils/atoms/settings"; interface Props extends ViewProps {} @@ -47,7 +47,8 @@ export const AudioToggles: React.FC = ({ ...props }) => { - {settings?.defaultAudioLanguage?.DisplayName || t("home.settings.audio.none")} + {settings?.defaultAudioLanguage?.DisplayName || + t("home.settings.audio.none")} = ({ ...props }) => { collisionPadding={8} sideOffset={8} > - {t("home.settings.audio.language")} + + {t("home.settings.audio.language")} + { @@ -74,7 +77,9 @@ export const AudioToggles: React.FC = ({ ...props }) => { }); }} > - {t("home.settings.audio.none")} + + {t("home.settings.audio.none")} + {cultures?.map((l) => (