mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Disable qualities button for downloaded items
This commit is contained in:
parent
d4ab42d98f
commit
2b005d6ea5
@ -65,7 +65,6 @@ export const Hover = ({
|
||||
isLoading,
|
||||
name,
|
||||
showName,
|
||||
href,
|
||||
poster,
|
||||
chapters,
|
||||
subtitles,
|
||||
@ -73,11 +72,11 @@ export const Hover = ({
|
||||
fonts,
|
||||
previousSlug,
|
||||
nextSlug,
|
||||
qualitiesAvailables = true,
|
||||
}: {
|
||||
isLoading: boolean;
|
||||
name?: string | null;
|
||||
showName?: string;
|
||||
href?: string;
|
||||
poster?: KyooImage | null;
|
||||
chapters?: Chapter[];
|
||||
subtitles?: Subtitle[];
|
||||
@ -85,6 +84,7 @@ export const Hover = ({
|
||||
fonts?: string[];
|
||||
previousSlug?: string | null;
|
||||
nextSlug?: string | null;
|
||||
qualitiesAvailables?: boolean;
|
||||
}) => {
|
||||
const show = useAtomValue(hoverAtom);
|
||||
const setHover = useSetAtom(hoverReasonAtom);
|
||||
@ -162,6 +162,7 @@ export const Hover = ({
|
||||
subtitles={subtitles}
|
||||
audios={audios}
|
||||
fonts={fonts}
|
||||
qualitiesAvailables={qualitiesAvailables}
|
||||
onMenuOpen={() => setHover((x) => ({ ...x, menuOpened: true }))}
|
||||
onMenuClose={() => {
|
||||
// Disable hover since the menu overlay makes the mouseout unreliable.
|
||||
|
@ -31,7 +31,6 @@ import MusicNote from "@material-symbols/svg-400/rounded/music_note-fill.svg";
|
||||
import { Stylable, useYoshiki } from "yoshiki/native";
|
||||
import { fullscreenAtom, subtitleAtom } from "../state";
|
||||
import { AudiosMenu, QualitiesMenu } from "../video";
|
||||
import i18next from "i18next";
|
||||
|
||||
export const RightButtons = ({
|
||||
audios,
|
||||
@ -39,6 +38,7 @@ export const RightButtons = ({
|
||||
fonts,
|
||||
onMenuOpen,
|
||||
onMenuClose,
|
||||
qualitiesAvailables,
|
||||
...props
|
||||
}: {
|
||||
audios?: Audio[];
|
||||
@ -46,6 +46,7 @@ export const RightButtons = ({
|
||||
fonts?: string[];
|
||||
onMenuOpen: () => void;
|
||||
onMenuClose: () => void;
|
||||
qualitiesAvailables: boolean;
|
||||
} & Stylable) => {
|
||||
const { css } = useYoshiki();
|
||||
const { t } = useTranslation();
|
||||
@ -90,14 +91,16 @@ export const RightButtons = ({
|
||||
{...tooltip(t("player.audios"), true)}
|
||||
{...spacing}
|
||||
/>
|
||||
<QualitiesMenu
|
||||
Trigger={IconButton}
|
||||
icon={SettingsIcon}
|
||||
onMenuOpen={onMenuOpen}
|
||||
onMenuClose={onMenuClose}
|
||||
{...tooltip(t("player.quality"), true)}
|
||||
{...spacing}
|
||||
/>
|
||||
{qualitiesAvailables && (
|
||||
<QualitiesMenu
|
||||
Trigger={IconButton}
|
||||
icon={SettingsIcon}
|
||||
onMenuOpen={onMenuOpen}
|
||||
onMenuClose={onMenuClose}
|
||||
{...tooltip(t("player.quality"), true)}
|
||||
{...spacing}
|
||||
/>
|
||||
)}
|
||||
{Platform.OS === "web" && (
|
||||
<IconButton
|
||||
icon={isFullscreen ? FullscreenExit : Fullscreen}
|
||||
|
@ -56,7 +56,6 @@ const mapData = (
|
||||
isLoading: false,
|
||||
name: data.type === "movie" ? data.name : `${episodeDisplayNumber(data, "")} ${data.name}`,
|
||||
showName: data.type === "movie" ? data.name! : data.show!.name,
|
||||
href: data ? (data.type === "movie" ? `/movie/${data.slug}` : `/show/${data.show!.slug}`) : "#",
|
||||
poster: data.type === "movie" ? data.poster : data.show!.poster,
|
||||
subtitles: info?.subtitles,
|
||||
audios: info?.audios,
|
||||
@ -64,6 +63,7 @@ const mapData = (
|
||||
fonts: info?.fonts,
|
||||
previousSlug,
|
||||
nextSlug,
|
||||
qualitiesAvailables: !!data.links.hls
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -42,7 +42,7 @@ import NativeVideo, { OnLoadData, VideoProps } from "react-native-video";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { PlayMode, playModeAtom, subtitleAtom } from "./state";
|
||||
import uuid from "react-native-uuid";
|
||||
import { Pressable } from "react-native";
|
||||
import { View } from "react-native";
|
||||
import "@kyoo/primitives/src/types.d.ts";
|
||||
import { useYoshiki } from "yoshiki/native";
|
||||
|
||||
@ -59,7 +59,7 @@ const audioAtom = atom(0);
|
||||
const clientId = uuid.v4() as string;
|
||||
|
||||
const Video = forwardRef<NativeVideo, VideoProps>(function Video(
|
||||
{ onLoad, source, onPointerDown, subtitles, ...props },
|
||||
{ onLoad, onBuffer, source, onPointerDown, subtitles, ...props },
|
||||
ref,
|
||||
) {
|
||||
const { css } = useYoshiki();
|
||||
@ -77,11 +77,7 @@ const Video = forwardRef<NativeVideo, VideoProps>(function Video(
|
||||
}, [source]);
|
||||
|
||||
return (
|
||||
<Pressable
|
||||
tabIndex={-1}
|
||||
onPress={() => onPointerDown?.({ nativeEvent: { pointerType: "pointer" } } as any)}
|
||||
{...css({ flexGrow: 1, flexShrink: 1 })}
|
||||
>
|
||||
<View {...css({ flexGrow: 1, flexShrink: 1 })}>
|
||||
<NativeVideo
|
||||
ref={ref}
|
||||
source={{
|
||||
@ -92,9 +88,11 @@ const Video = forwardRef<NativeVideo, VideoProps>(function Video(
|
||||
},
|
||||
}}
|
||||
onLoad={(info) => {
|
||||
onBuffer?.({ isBuffering: false });
|
||||
setInfo(info);
|
||||
onLoad?.(info);
|
||||
}}
|
||||
onBuffer={onBuffer}
|
||||
selectedVideoTrack={video === -1 ? { type: "auto" } : { type: "resolution", value: video }}
|
||||
selectedAudioTrack={{ type: "index", value: audio }}
|
||||
textTracks={subtitles?.map((x) => ({
|
||||
@ -113,7 +111,7 @@ const Video = forwardRef<NativeVideo, VideoProps>(function Video(
|
||||
}
|
||||
{...props}
|
||||
/>
|
||||
</Pressable>
|
||||
</View>
|
||||
);
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user