switching branch
This commit is contained in:
+31
-9
@@ -7,24 +7,47 @@ import { useColorScheme } from "react-native";
|
|||||||
import { NavigationContainer, DefaultTheme, DarkTheme } from "@react-navigation/native";
|
import { NavigationContainer, DefaultTheme, DarkTheme } from "@react-navigation/native";
|
||||||
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
|
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
|
||||||
import { Ionicons } from "@expo/vector-icons";
|
import { Ionicons } from "@expo/vector-icons";
|
||||||
|
import { enableScreens } from "react-native-screens";
|
||||||
|
import { SafeAreaProvider } from "react-native-safe-area-context";
|
||||||
|
import messaging from "@react-native-firebase/messaging";
|
||||||
|
import notifee, { AndroidImportance } from "@notifee/react-native";
|
||||||
|
|
||||||
import SubscribedFeed from "@/screens/SubscribedFeed";
|
import SubscribedFeed from "@/screens/SubscribedFeed";
|
||||||
import AllFeed from "@/screens/AllFeed";
|
import AllFeed from "@/screens/AllFeed";
|
||||||
import Profile from "@/screens/Profile";
|
import Profile from "@/screens/Profile";
|
||||||
import {enableScreens} from "react-native-screens";
|
|
||||||
import {SafeAreaProvider} from "react-native-safe-area-context";
|
|
||||||
import AuthGate from "@/screens/AuthGate";
|
import AuthGate from "@/screens/AuthGate";
|
||||||
import { AuthProvider, useAuth } from "@/context/AuthContext";
|
import { AuthProvider, useAuth } from "@/context/AuthContext";
|
||||||
import messaging, {setBackgroundMessageHandler} from "@react-native-firebase/messaging";
|
|
||||||
|
|
||||||
import { useUpdatecheck } from "./hooks/useUpdatecheck";
|
import { useUpdatecheck } from "./hooks/useUpdatecheck";
|
||||||
import { UpdatePrompt } from './components/UpdatePrompt';
|
import { UpdatePrompt } from "./components/UpdatePrompt";
|
||||||
import { usePushNotifications } from "./hooks/usePushNotifications";
|
import { usePushNotifications } from "./hooks/usePushNotifications";
|
||||||
|
|
||||||
messaging().setBackgroundMessageHandler(async () => {});
|
// Handles data-only FCM messages when the app is in the background or closed.
|
||||||
|
messaging().setBackgroundMessageHandler(async remoteMessage => {
|
||||||
|
const title = remoteMessage.data?.title as string | undefined;
|
||||||
|
const body = remoteMessage.data?.body as string | undefined;
|
||||||
|
|
||||||
|
if (!title && !body) return;
|
||||||
|
|
||||||
|
const channelId = await notifee.createChannel({
|
||||||
|
id: "default",
|
||||||
|
name: "General",
|
||||||
|
importance: AndroidImportance.HIGH,
|
||||||
|
});
|
||||||
|
|
||||||
|
await notifee.displayNotification({
|
||||||
|
title,
|
||||||
|
body,
|
||||||
|
android: {
|
||||||
|
channelId,
|
||||||
|
pressAction: { id: "default" },
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Must be called before any navigator renders
|
// Must be called before any navigator renders
|
||||||
enableScreens();
|
enableScreens();
|
||||||
|
|
||||||
|
|
||||||
const Tab = createBottomTabNavigator();
|
const Tab = createBottomTabNavigator();
|
||||||
|
|
||||||
const LIGHT_TAB = {
|
const LIGHT_TAB = {
|
||||||
@@ -34,6 +57,7 @@ const LIGHT_TAB = {
|
|||||||
inactive: "#8A8278",
|
inactive: "#8A8278",
|
||||||
label: "#1A1714",
|
label: "#1A1714",
|
||||||
};
|
};
|
||||||
|
|
||||||
const DARK_TAB = {
|
const DARK_TAB = {
|
||||||
bg: "#161513",
|
bg: "#161513",
|
||||||
border: "#2C2A27",
|
border: "#2C2A27",
|
||||||
@@ -42,7 +66,6 @@ const DARK_TAB = {
|
|||||||
label: "#F0EDE8",
|
label: "#F0EDE8",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function ProfileTab() {
|
function ProfileTab() {
|
||||||
const { user, loading } = useAuth();
|
const { user, loading } = useAuth();
|
||||||
if (loading) return null;
|
if (loading) return null;
|
||||||
@@ -62,7 +85,6 @@ export default function App() {
|
|||||||
const { updateInfo } = useUpdatecheck();
|
const { updateInfo } = useUpdatecheck();
|
||||||
const [updateDismissed, setUpdateDismissed] = useState(false);
|
const [updateDismissed, setUpdateDismissed] = useState(false);
|
||||||
|
|
||||||
|
|
||||||
usePushNotifications();
|
usePushNotifications();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -130,7 +152,7 @@ export default function App() {
|
|||||||
</Tab.Navigator>
|
</Tab.Navigator>
|
||||||
</NavigationContainer>
|
</NavigationContainer>
|
||||||
|
|
||||||
{/* Overlays the entire app, including the nav bar */}
|
{/* Overlays the entire app including the tab bar */}
|
||||||
{updateInfo && !updateDismissed && (
|
{updateInfo && !updateDismissed && (
|
||||||
<UpdatePrompt
|
<UpdatePrompt
|
||||||
updateInfo={updateInfo}
|
updateInfo={updateInfo}
|
||||||
|
|||||||
Reference in New Issue
Block a user