From 899d599036c3e8b29bdc1bf5b905b7d72431d617 Mon Sep 17 00:00:00 2001 From: Adrian Castro <22133246+castdrian@users.noreply.github.com> Date: Thu, 4 Apr 2024 19:25:04 +0200 Subject: [PATCH] fix: properly support opening video via url --- apps/expo/src/app/(tabs)/_layout.tsx | 21 +-------------------- apps/expo/src/app/videoPlayer.tsx | 13 ++++++++++--- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/apps/expo/src/app/(tabs)/_layout.tsx b/apps/expo/src/app/(tabs)/_layout.tsx index d6829b5..b866b3e 100644 --- a/apps/expo/src/app/(tabs)/_layout.tsx +++ b/apps/expo/src/app/(tabs)/_layout.tsx @@ -1,8 +1,6 @@ -import { useEffect } from "react"; import { Platform } from "react-native"; import * as Haptics from "expo-haptics"; -import * as Linking from "expo-linking"; -import { Tabs, useRouter } from "expo-router"; +import { Tabs } from "expo-router"; import * as ScreenOrientation from "expo-screen-orientation"; import { useTheme, View } from "tamagui"; @@ -12,23 +10,6 @@ import TabBarIcon from "~/components/TabBarIcon"; export default function TabLayout() { const theme = useTheme(); - - const router = useRouter(); - - useEffect(() => { - const handleOpenURL = (event: Linking.EventType) => { - const { hostname, queryParams } = Linking.parse(event.url); - if (hostname === "media") { - router.push({ - pathname: "/videoPlayer", - params: { data: JSON.stringify(queryParams) }, - }); - } - }; - - Linking.addEventListener("url", handleOpenURL); - }, [router]); - return ( ) - : undefined; + let data; + if ("data" in params) { + if (typeof params.data === "string") { + data = JSON.parse(params.data) as Partial; + } else { + data = undefined; + } + } else { + data = params as Partial; + } const media = params.media ? (JSON.parse(params.media as string) as ScrapeMedia) : undefined;