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",