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