Bring back toggleSafeArea button for all videos

This commit is contained in:
ryan0204
2025-01-06 23:15:00 +08:00
parent faa2baae68
commit c86a8438e5
2 changed files with 17 additions and 12 deletions

View File

@@ -48,6 +48,7 @@ import {
import { useSharedValue } from "react-native-reanimated"; import { useSharedValue } from "react-native-reanimated";
import settings from "../(tabs)/(home)/settings"; import settings from "../(tabs)/(home)/settings";
import { useSettings } from "@/utils/atoms/settings"; import { useSettings } from "@/utils/atoms/settings";
import { useSafeAreaInsets } from "react-native-safe-area-context";
export default function page() { export default function page() {
const videoRef = useRef<VlcPlayerViewRef>(null); const videoRef = useRef<VlcPlayerViewRef>(null);
@@ -413,6 +414,8 @@ export default function page() {
} }
} }
const insets = useSafeAreaInsets();
if (!item || isLoadingItem || isLoadingStreamUrl || !stream) if (!item || isLoadingItem || isLoadingStreamUrl || !stream)
return ( return (
<View className="w-screen h-screen flex flex-col items-center justify-center bg-black"> <View className="w-screen h-screen flex flex-col items-center justify-center bg-black">
@@ -437,6 +440,8 @@ export default function page() {
position: "relative", position: "relative",
flexDirection: "column", flexDirection: "column",
justifyContent: "center", justifyContent: "center",
paddingLeft: ignoreSafeAreas ? 0 : insets.left,
paddingRight: ignoreSafeAreas ? 0 : insets.right,
}} }}
> >
<VlcPlayerView <VlcPlayerView

View File

@@ -572,18 +572,18 @@ export const Controls: React.FC<Props> = ({
</TouchableOpacity> </TouchableOpacity>
)} )}
{mediaSource?.TranscodingUrl && ( {/* {mediaSource?.TranscodingUrl && ( */}
<TouchableOpacity <TouchableOpacity
onPress={toggleIgnoreSafeAreas} onPress={toggleIgnoreSafeAreas}
className="aspect-square flex flex-col bg-neutral-800/90 rounded-xl items-center justify-center p-2" className="aspect-square flex flex-col bg-neutral-800/90 rounded-xl items-center justify-center p-2"
> >
<Ionicons <Ionicons
name={ignoreSafeAreas ? "contract-outline" : "expand"} name={ignoreSafeAreas ? "contract-outline" : "expand"}
size={24} size={24}
color="white" color="white"
/> />
</TouchableOpacity> </TouchableOpacity>
)} {/* )} */}
<TouchableOpacity <TouchableOpacity
onPress={async () => { onPress={async () => {
lightHapticFeedback(); lightHapticFeedback();