Update expo project to use stuff its gonna use

This commit is contained in:
2025-09-15 16:21:49 -05:00
parent c218d2edc2
commit ddce36c366
11 changed files with 133 additions and 27 deletions

View File

@@ -1,25 +1,45 @@
{
"expo": {
"name": "techtracker-expo",
"name": "Tech Tracker",
"owner": "gib",
"slug": "techtracker-expo",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "techtrackerexpo",
"scheme": "org.gbrown.techtrackerexpo",
"userInterfaceStyle": "automatic",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#2e2f3d"
},
"newArchEnabled": true,
"ios": {
"supportsTablet": true
"usesAppleSignIn": true,
"supportsTablet": true,
"bundleIdentifier": "com.gbrown.techtracker",
"config": {
"usesNonExemptEncryption": false
},
"infoPlist": {
"ITSAppUsesNonExemptEncryption": false,
"NSLocationWhenInUseUsageDescription": "This app uses your location in order to allow you to share your location in chat.",
"NSCameraUsageDescription": "This app uses your camera to take photos & send them in the chat."
}
},
"android": {
"adaptiveIcon": {
"backgroundColor": "#E6F4FE",
"foregroundImage": "./assets/images/android-icon-foreground.png",
"backgroundImage": "./assets/images/android-icon-background.png",
"monochromeImage": "./assets/images/android-icon-monochrome.png"
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#2e2f3d"
},
"edgeToEdgeEnabled": true,
"predictiveBackGestureEnabled": false
"permissions": [
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.RECEIVE_BOOT_COMPLETED",
"android.permission.VIBRATE",
"android.permission.INTERNET"
],
"package": "com.gbrown.techtracker"
},
"web": {
"output": "static",
@@ -27,6 +47,7 @@
},
"plugins": [
"expo-router",
"expo-apple-authentication",
[
"expo-splash-screen",
{
@@ -38,6 +59,27 @@
"backgroundColor": "#000000"
}
}
],
[
"expo-secure-store",
{
"faceIDPermission": "Allow $(PRODUCT_NAME) to access your FaceID biometric data."
}
],
[
"expo-location",
{
"locationAlwaysAndWhenInUsePermission": "Allow $(PRODUCT_NAME) to use your location."
}
],
[
"@sentry/react-native/expo",
{
"url": "https://sentry.gbrown.org",
"note": "Use SENTRY_AUTH_TOKEN env to authenticate with Sentry.",
"project": "tech-tracker-expo",
"organization": "gib"
}
]
],
"experiments": {

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

View File

@@ -0,0 +1,5 @@
// const { getDefaultConfig } = require("expo/metro-config");
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
// const config = getDefaultConfig(__dirname);
const config = getSentryExpoConfig(__dirname);
module.exports = config;

View File

@@ -15,13 +15,17 @@
"@react-navigation/bottom-tabs": "^7.4.7",
"@react-navigation/elements": "^2.6.4",
"@react-navigation/native": "^7.1.17",
"@sentry/react-native": "^7.0.1",
"expo": "~54.0.7",
"expo-apple-authentication": "~8.0.7",
"expo-constants": "~18.0.8",
"expo-font": "~14.0.8",
"expo-haptics": "~15.0.7",
"expo-image": "~3.0.8",
"expo-linking": "~8.0.8",
"expo-location": "~19.0.7",
"expo-router": "~6.0.4",
"expo-secure-store": "~15.0.7",
"expo-splash-screen": "~31.0.10",
"expo-status-bar": "~3.0.8",
"expo-symbols": "~1.0.7",
@@ -31,11 +35,11 @@
"react-dom": "19.1.0",
"react-native": "0.81.4",
"react-native-gesture-handler": "~2.28.0",
"react-native-worklets": "0.5.1",
"react-native-reanimated": "~4.1.0",
"react-native-safe-area-context": "~5.6.1",
"react-native-screens": "~4.16.0",
"react-native-web": "~0.21.1"
"react-native-web": "~0.21.1",
"react-native-worklets": "0.5.1"
},
"devDependencies": {
"@types/react": "~19.1.13",

View File

@@ -2,14 +2,21 @@ import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native
import { Stack } from 'expo-router';
import { StatusBar } from 'expo-status-bar';
import 'react-native-reanimated';
import * as Sentry from '@sentry/react-native';
import { useColorScheme } from '@/hooks/use-color-scheme';
Sentry.init({
dsn: 'https://ff2e19b7c72ee50463c6c66b5bef7ce0@sentry.gbrown.org/8',
sendDefaultPii: true,
tracesSampleRate: 1.0,
profilesSampleRate: 1.0,
});
export const unstable_settings = {
anchor: '(tabs)',
};
export default function RootLayout() {
const RootLayout = () => {
const colorScheme = useColorScheme();
return (
@@ -22,3 +29,4 @@ export default function RootLayout() {
</ThemeProvider>
);
}
export default Sentry.wrap(RootLayout);

View File

@@ -3,8 +3,10 @@
"compilerOptions": {
"strict": true,
"baseUrl": ".",
"jsx": "react-jsx",
"paths": {
"@/*": ["./src/*"]
"@/*": ["./src/*"],
"~/*": ["../../packages/backend/*"]
}
},
"include": [