diff --git a/apps/app/babel.config.js b/apps/app/babel.config.js
index d28c6b7f..17131ee3 100644
--- a/apps/app/babel.config.js
+++ b/apps/app/babel.config.js
@@ -2,15 +2,6 @@ module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
- plugins: [
- [
- "@tamagui/babel-plugin",
- {
- components: ["tamagui"],
- config: "./src/tamagui.config.ts",
- },
- ],
- "react-native-reanimated/plugin",
- ],
+ plugins: ["react-native-reanimated/plugin"],
};
};
diff --git a/apps/app/metro.config.js b/apps/app/metro.config.js
new file mode 100644
index 00000000..763ced23
--- /dev/null
+++ b/apps/app/metro.config.js
@@ -0,0 +1,13 @@
+const { getDefaultConfig } = require("expo/metro-config");
+
+/** @type {import('expo/metro-config').MetroConfig} */
+const config = getDefaultConfig(__dirname);
+
+module.exports = config;
+
+// Enable Tamagui
+const { withTamagui } = require("@tamagui/metro-plugin");
+module.exports = withTamagui(config, {
+ components: ["tamagui"],
+ config: "./src/tamagui.config.ts",
+});
diff --git a/apps/app/package.json b/apps/app/package.json
index 9ccf5e7b..5c97e343 100644
--- a/apps/app/package.json
+++ b/apps/app/package.json
@@ -14,7 +14,7 @@
"build:development": "eas build --profile development --platform ios --local",
"build:production": "eas build --profile production --platform ios --local",
"types": "supabase gen types typescript --local > src/lib/database.types.ts",
- "lint": "eslint src"
+ "lint": "eslint ./src"
},
"dependencies": {
"@gorhom/bottom-sheet": "5.0.0-alpha.6",
@@ -23,12 +23,9 @@
"@sanity/client": "6.11.1",
"@shopify/flash-list": "1.6.3",
"@supabase/supabase-js": "2.39.3",
- "@tamagui/animations-react-native": "1.86.6",
- "@tamagui/babel-plugin": "1.86.6",
- "@tamagui/config": "1.86.6",
- "@tamagui/font-inter": "1.86.6",
- "@tamagui/lucide-icons": "1.86.6",
- "@tamagui/theme-base": "1.86.6",
+ "@tamagui/config": "1.88.2",
+ "@tamagui/lucide-icons": "1.88.2",
+ "@tamagui/metro-plugin": "1.88.2",
"expo": "^50.0.2",
"expo-apple-authentication": "~6.3.0",
"expo-application": "~5.8.3",
@@ -43,7 +40,7 @@
"expo-image": "~1.10.4",
"expo-linking": "~6.2.2",
"expo-media-library": "~15.9.1",
- "expo-router": "~3.4.3",
+ "expo-router": "~3.4.4",
"expo-sharing": "~11.10.0",
"expo-splash-screen": "~0.26.3",
"expo-status-bar": "~1.11.1",
@@ -66,7 +63,7 @@
"react-native-url-polyfill": "2.0.0",
"react-native-view-shot": "3.8.0",
"react-native-web": "0.19.10",
- "tamagui": "1.86.6",
+ "tamagui": "1.88.2",
"vexo-analytics": "1.3.12"
},
"devDependencies": {
diff --git a/apps/app/src/app/_layout.tsx b/apps/app/src/app/_layout.tsx
index 091f4813..1c45304f 100644
--- a/apps/app/src/app/_layout.tsx
+++ b/apps/app/src/app/_layout.tsx
@@ -1,53 +1,41 @@
import "expo-dev-client";
import { DatabaseProvider } from "@nozbe/watermelondb/DatabaseProvider";
-import { TamaguiProvider, Theme } from "@tamagui/core";
+import { TamaguiProvider } from "@tamagui/core";
import { useFonts } from "expo-font";
-import { Stack } from "expo-router";
+import { SplashScreen, Stack } from "expo-router";
import { PostHogProvider } from "posthog-react-native";
-import { useEffect, useRef, useState } from "react";
-import { AppState, useColorScheme } from "react-native";
+import { useEffect } from "react";
+import { useColorScheme } from "react-native";
import { GestureHandlerRootView } from "react-native-gesture-handler";
import { SafeAreaProvider } from "react-native-safe-area-context";
+import {
+ DarkTheme,
+ DefaultTheme,
+ ThemeProvider,
+} from "@react-navigation/native";
import "@/lib/vexo";
import { config } from "@/lib/config";
import { database } from "@/lib/watermelon";
import { AuthProvider } from "@/providers/AuthProvider";
-import { NavigationThemeProvider } from "@/providers/NavigationThemeProvider";
import { SyncProvider } from "@/providers/SyncProvider";
import tamaguiConfig from "@/tamagui.config";
+SplashScreen.preventAutoHideAsync();
+
export default function Layout() {
- const appState = useRef(AppState.currentState);
- const [appStateVisible, setAppStateVisible] = useState(appState.current);
const colorScheme = useColorScheme();
- const [activeColorScheme, setActiveColorScheme] = useState(colorScheme);
- useEffect(() => {
- if (appStateVisible === "active") {
- setActiveColorScheme(colorScheme);
- }
- }, [appStateVisible, colorScheme]);
-
- useEffect(() => {
- const subscription = AppState.addEventListener("change", (nextAppState) => {
- appState.current = nextAppState;
- setAppStateVisible(appState.current);
- });
-
- return () => {
- subscription.remove();
- };
- }, []);
-
- const [loaded] = useFonts({
+ const [interLoaded, interError] = useFonts({
Inter: require("@tamagui/font-inter/otf/Inter-Medium.otf"),
InterBold: require("@tamagui/font-inter/otf/Inter-Bold.otf"),
});
- if (!loaded) {
- return null;
- }
+ useEffect(() => {
+ if (interLoaded || interError) {
+ SplashScreen.hideAsync();
+ }
+ }, [interLoaded, interError]);
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
diff --git a/apps/app/src/providers/NavigationThemeProvider.tsx b/apps/app/src/providers/NavigationThemeProvider.tsx
deleted file mode 100644
index 8f8fd476..00000000
--- a/apps/app/src/providers/NavigationThemeProvider.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { ThemeProvider, Theme } from "@react-navigation/native";
-import { useTheme } from "@tamagui/core";
-import { ReactNode } from "react";
-import { useColorScheme } from "react-native";
-
-export const NavigationThemeProvider = ({
- children,
-}: {
- children: ReactNode;
-}) => {
- const theme = useTheme();
- const colorScheme = useColorScheme();
-
- const NavigationTheme: Theme = {
- dark: colorScheme === "dark",
- colors: {
- primary: theme.color.val, // "rgb(0, 122, 255)",
- background: theme.background.val, // "rgb(242, 242, 242)",
- card: theme.background.val, // "rgb(255, 255, 255)",
- text: theme.color.val, // "rgb(28, 28, 30)",
- border: theme.borderColor.val, // "rgb(216, 216, 216)",
- notification: theme.color.val, // "rgb(255, 59, 48)",
- },
- };
-
- return {children};
-};
diff --git a/apps/app/tsconfig.json b/apps/app/tsconfig.json
index b60a287f..e3460c45 100644
--- a/apps/app/tsconfig.json
+++ b/apps/app/tsconfig.json
@@ -1,12 +1,12 @@
{
+ "extends": "expo/tsconfig.base",
"compilerOptions": {
+ "strict": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"paths": {
- "@/*": ["./src/*"]
+ "@/*": ["./src/*"],
},
- "strict": true
},
- "extends": "expo/tsconfig.base",
- "include": ["**/*.ts", "**/*.tsx"]
+ "include": ["**/*.ts", "**/*.tsx"],
}
diff --git a/apps/video/package.json b/apps/video/package.json
index 772a6bb0..99731586 100644
--- a/apps/video/package.json
+++ b/apps/video/package.json
@@ -9,12 +9,12 @@
"build": "bun build ./src/index.ts --outdir ./build"
},
"dependencies": {
- "@remotion/cli": "4.0.88",
- "@remotion/google-fonts": "4.0.88",
- "remotion": "4.0.88"
+ "@remotion/cli": "4.0.89",
+ "@remotion/google-fonts": "4.0.89",
+ "remotion": "4.0.89"
},
"devDependencies": {
- "@remotion/tailwind": "4.0.88",
+ "@remotion/tailwind": "4.0.89",
"tailwindcss": "3.4.1"
},
"license": "UNLICENSED",
diff --git a/apps/web/package.json b/apps/web/package.json
index 9a87b03d..ee9cfce5 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -20,7 +20,7 @@
"@supabase/auth-helpers-remix": "0.2.6",
"@supabase/supabase-js": "2.39.3",
"@tailwindcss/forms": "0.5.7",
- "@tsndr/cloudflare-worker-jwt": "2.4.0",
+ "@tsndr/cloudflare-worker-jwt": "2.4.2",
"clsx": "2.1.0",
"framer-motion": "10.18.0",
"isbot": "4.4.0",
diff --git a/bun.lockb b/bun.lockb
index 7fdda7a7..0789c4fe 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/package.json b/package.json
index c3e3669f..b1aef157 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
"overrides": {
"ajv": "8.12.0"
},
- "packageManager": "bun@1.0.22",
+ "packageManager": "bun@1.0.25",
"license": "UNLICENSED",
"private": true
}
diff --git a/packages/seed-data-action/package.json b/packages/seed-data-action/package.json
index ff3a7c0c..1162a8b4 100644
--- a/packages/seed-data-action/package.json
+++ b/packages/seed-data-action/package.json
@@ -19,7 +19,7 @@
"svgo": "3.2.0"
},
"devDependencies": {
- "@types/bun": "1.0.2",
+ "@types/bun": "1.0.3",
"@typescript-eslint/eslint-plugin": "6.19.0",
"@typescript-eslint/parser": "6.19.0",
"eslint": "8.56.0",