feat: major refactor of navigation

This commit is contained in:
Fredrik Burmester
2024-08-23 16:41:59 +02:00
parent d330dd8db4
commit 725ba1ccaf
27 changed files with 225 additions and 329 deletions

View File

@@ -1,20 +1,24 @@
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import { BlurView } from "expo-blur";
import React, { useEffect } from "react";
import { View } from "react-native";
import {
import GoogleCast, {
CastButton,
useCastDevice,
useDevices,
useRemoteMediaClient,
} from "react-native-google-cast";
import GoogleCast from "react-native-google-cast";
type Props = {
width?: number;
height?: number;
background?: "blur" | "transparent";
};
export const Chromecast: React.FC<Props> = ({ width = 48, height = 48 }) => {
export const Chromecast: React.FC<Props> = ({
width = 48,
height = 48,
background = "transparent",
}) => {
const client = useRemoteMediaClient();
const castDevice = useCastDevice();
const devices = useDevices();
@@ -31,9 +35,19 @@ export const Chromecast: React.FC<Props> = ({ width = 48, height = 48 }) => {
})();
}, [client, devices, castDevice, sessionManager, discoveryManager]);
if (background === "transparent")
return (
<View className=" rounded h-10 aspect-square flex items-center justify-center">
<CastButton style={{ tintColor: "white", height, width }} />
</View>
);
return (
<View className="rounded h-10 aspect-square flex items-center justify-center">
<BlurView
intensity={100}
className="rounded-full overflow-hidden h-10 aspect-square flex items-center justify-center"
>
<CastButton style={{ tintColor: "white", height, width }} />
</View>
</BlurView>
);
};