Sentry logging and minor UI
This commit is contained in:
@@ -4,11 +4,13 @@ import { selectBodyshop, selectCurrentUser } from "@/redux/user/user.selectors";
|
||||
import { ApolloProvider } from "@apollo/client";
|
||||
import { loadDevMessages, loadErrorMessages } from "@apollo/client/dev";
|
||||
import MaterialIcons from "@expo/vector-icons/MaterialIcons";
|
||||
|
||||
import {
|
||||
DarkTheme,
|
||||
DefaultTheme,
|
||||
ThemeProvider,
|
||||
} from "@react-navigation/native";
|
||||
import * as Sentry from "@sentry/react-native";
|
||||
import * as Notifications from "expo-notifications";
|
||||
import { Stack } from "expo-router";
|
||||
import {
|
||||
@@ -19,8 +21,11 @@ import {
|
||||
} from "expo-router/unstable-native-tabs";
|
||||
import React, { useEffect } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ActivityIndicator, Platform, View } from "react-native";
|
||||
import { Provider as PaperProvider } from "react-native-paper";
|
||||
import { Platform, View } from "react-native";
|
||||
import {
|
||||
ActivityIndicator,
|
||||
Provider as PaperProvider,
|
||||
} from "react-native-paper";
|
||||
import { connect, Provider } from "react-redux";
|
||||
import { PersistGate } from "redux-persist/integration/react";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
@@ -33,9 +38,27 @@ import { registerForPushNotificationsAsync } from "../util/notificationHandler";
|
||||
loadDevMessages();
|
||||
loadErrorMessages();
|
||||
|
||||
Sentry.init({
|
||||
dsn: "https://8d6c3de1940a4e4f8b81cf4d2150bdea@o492140.ingest.us.sentry.io/5558869",
|
||||
// Adds more context data to events (IP address, cookies, user, etc.)
|
||||
// For more information, visit: https://docs.sentry.io/platforms/react-native/data-management/data-collected/
|
||||
sendDefaultPii: true,
|
||||
// Enable Logs
|
||||
enableLogs: true,
|
||||
// Configure Session Replay
|
||||
replaysSessionSampleRate: 0.1,
|
||||
replaysOnErrorSampleRate: 1,
|
||||
integrations: [
|
||||
Sentry.mobileReplayIntegration(),
|
||||
Sentry.feedbackIntegration(),
|
||||
],
|
||||
ignoreErrors: [/.*Network Error.*/i],
|
||||
});
|
||||
|
||||
function AuthenticatedLayout() {
|
||||
const { t } = useTranslation();
|
||||
const paperTheme = usePaperTheme();
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
value={paperTheme.theme === "dark" ? DarkTheme : DefaultTheme}
|
||||
@@ -146,6 +169,9 @@ function AppContent({ currentUser, checkUserSession, bodyshop }: any) {
|
||||
console.log("Notification response received:", response);
|
||||
});
|
||||
|
||||
//Clear the badges.
|
||||
Notifications.setBadgeCountAsync(0);
|
||||
|
||||
return () => {
|
||||
notificationListener.remove();
|
||||
responseListener.remove();
|
||||
@@ -183,7 +209,7 @@ const ConnectedAppContent = connect(
|
||||
mapDispatchToProps
|
||||
)(AppContent);
|
||||
|
||||
export default function AppLayout() {
|
||||
function AppLayout() {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<PersistGate persistor={persistor}>
|
||||
@@ -194,3 +220,5 @@ export default function AppLayout() {
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
|
||||
export default Sentry.wrap(AppLayout);
|
||||
|
||||
Reference in New Issue
Block a user