From 3e84f73aecde5c3b74d1a04ae9cfc26e1f1f0acc Mon Sep 17 00:00:00 2001 From: Innei Date: Mon, 3 Mar 2025 20:01:18 +0800 Subject: [PATCH] chore: extract ssr as single app Signed-off-by: Innei --- .github/workflows/build-web.yml | 2 +- .github/workflows/tag.yml | 2 +- .gitignore | 3 - .vscode/settings.json | 4 +- apps/desktop/package.json | 5 +- .../server/client/@types/default-resource.ts | 88 -- .../src/server/src/meta-handler.map.ts | 12 - apps/desktop/vite.config.ts | 7 +- .../src/components/common/FollowWebView.tsx | 150 ---- apps/{desktop/src/server => ssr}/api/index.ts | 0 .../server => ssr}/client/@types/constants.ts | 0 apps/ssr/client/@types/default-resource.ts | 88 ++ .../server => ssr}/client/@types/i18next.d.ts | 0 .../src/server => ssr}/client/App.tsx | 0 .../src/server => ssr}/client/atoms/app.ts | 0 .../client/atoms/settings/general.ts | 0 .../client/atoms/settings/helper.ts | 0 .../src/server => ssr}/client/atoms/user.ts | 0 .../client/components/common/NotFound.tsx | 0 .../client/components/items/grid.tsx | 0 .../client/components/items/index.tsx | 0 .../client/components/items/normal.tsx | 0 .../client/components/items/picture.tsx | 0 .../client/components/items/types.ts | 0 .../client/components/layout/header/index.tsx | 0 .../client/components/layout/main/index.tsx | 0 .../components/layout/main/teleportal.tsx | 0 .../components/ui/feed-certification.tsx | 0 .../client/components/ui/image.tsx | 0 .../client/components/ui/user-avatar.tsx | 0 .../src/server => ssr}/client/configs.ts | 0 .../src/server => ssr}/client/global.d.ts | 0 .../src/server => ssr}/client/i18n.ts | 0 .../src/server => ssr}/client/index.tsx | 0 .../client/initialize/analytics.ts | 0 .../client/initialize/helper.ts | 0 .../server => ssr}/client/initialize/index.ts | 0 .../server => ssr}/client/initialize/op.ts | 0 .../client/initialize/sentry.ts | 0 .../server => ssr}/client/lib/api-fetch.ts | 0 .../src/server => ssr}/client/lib/helper.ts | 0 .../server => ssr}/client/lib/query-client.ts | 0 .../src/server => ssr}/client/lib/store.ts | 0 .../client/modules/login/index.tsx | 0 .../client/pages/(login)/forget-password.tsx | 0 .../client/pages/(login)/layout.tsx | 0 .../client/pages/(login)/login/index.tsx | 0 .../client/pages/(login)/login/metadata.ts | 0 .../client/pages/(login)/register.tsx | 0 .../client/pages/(login)/reset-password.tsx | 0 .../client/pages/(main)/index.tsx | 0 .../client/pages/(main)/layout.tsx | 0 .../pages/(main)/share/feeds/[id]/index.tsx | 0 .../pages/(main)/share/feeds/[id]/metadata.ts | 0 .../client/pages/(main)/share/layout.tsx | 0 .../pages/(main)/share/lists/[id]/index.tsx | 0 .../pages/(main)/share/lists/[id]/metadata.ts | 0 .../pages/(main)/share/users/[id]/index.tsx | 0 .../pages/(main)/share/users/[id]/metadata.ts | 0 .../client/providers/open-in-app-provider.tsx | 0 .../client/providers/root-providers.tsx | 0 .../client/providers/user-provider.tsx | 0 .../src/server => ssr}/client/query/auth.ts | 0 .../server => ssr}/client/query/entries.ts | 0 .../src/server => ssr}/client/query/feed.ts | 0 .../src/server => ssr}/client/query/list.ts | 0 .../src/server => ssr}/client/query/users.ts | 0 .../src/server => ssr}/client/router.tsx | 0 .../server => ssr}/client/styles/index.css | 0 .../src/server => ssr}/helper/meta-map.ts | 0 apps/{desktop/src/server => ssr}/index.html | 0 apps/{desktop/src/server => ssr}/index.ts | 0 apps/{desktop/src/server => ssr}/note.md | 0 apps/{desktop/src/server => ssr}/package.json | 2 +- .../src/server => ssr}/postcss.config.cjs | 0 .../src/server => ssr}/public/favicon.ico | Bin .../server => ssr}/public/icon-192x192.png | Bin .../server => ssr}/public/icon-512x512.png | Bin .../src/server => ssr}/public/icon.svg | 0 .../src/server => ssr}/public/manifest.json | 0 .../scripts/cleanup-vercel-build.ts | 0 .../scripts/prepare-vercel-build.ts | 0 .../scripts/skip-ssr-app-vercel-build.sh | 2 +- .../src/server => ssr}/src/global.d.ts | 0 .../src/server => ssr}/src/lib/api-client.ts | 2 +- .../src/server => ssr}/src/lib/dev-vite.ts | 0 .../src/server => ssr}/src/lib/env.ts | 0 .../src/server => ssr}/src/lib/load-env.ts | 0 .../src/server => ssr}/src/lib/og/fonts.ts | 0 .../src/lib/og/render-to-image.ts | 0 .../src/server => ssr}/src/lib/seo.ts | 0 apps/ssr/src/meta-handler.map.ts | 12 + .../src/server => ssr}/src/meta-handler.ts | 0 .../src/server => ssr}/src/router/global.ts | 0 .../server => ssr}/src/router/og/__base.tsx | 0 .../src/server => ssr}/src/router/og/feed.tsx | 0 .../src/server => ssr}/src/router/og/index.ts | 0 .../src/server => ssr}/src/router/og/list.tsx | 0 .../src/server => ssr}/src/router/og/user.tsx | 0 .../src/server => ssr}/tailwind.config.ts | 2 +- .../{desktop/src/server => ssr}/tsconfig.json | 0 .../src/server => ssr}/tsup.config.ts | 0 apps/{desktop/src/server => ssr}/vercel.json | 0 .../src/server => ssr}/vite.config.mts | 4 +- bump.hotfix.config.js | 4 +- eslint.config.mjs | 4 +- package.json | 11 +- pnpm-lock.yaml | 834 +++++++++--------- scripts/skip-main-app-vercel-build.sh | 2 +- turbo.json | 2 +- 110 files changed, 544 insertions(+), 698 deletions(-) delete mode 100644 apps/desktop/src/server/client/@types/default-resource.ts delete mode 100644 apps/desktop/src/server/src/meta-handler.map.ts delete mode 100644 apps/mobile/src/components/common/FollowWebView.tsx rename apps/{desktop/src/server => ssr}/api/index.ts (100%) rename apps/{desktop/src/server => ssr}/client/@types/constants.ts (100%) create mode 100644 apps/ssr/client/@types/default-resource.ts rename apps/{desktop/src/server => ssr}/client/@types/i18next.d.ts (100%) rename apps/{desktop/src/server => ssr}/client/App.tsx (100%) rename apps/{desktop/src/server => ssr}/client/atoms/app.ts (100%) rename apps/{desktop/src/server => ssr}/client/atoms/settings/general.ts (100%) rename apps/{desktop/src/server => ssr}/client/atoms/settings/helper.ts (100%) rename apps/{desktop/src/server => ssr}/client/atoms/user.ts (100%) rename apps/{desktop/src/server => ssr}/client/components/common/NotFound.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/items/grid.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/items/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/items/normal.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/items/picture.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/items/types.ts (100%) rename apps/{desktop/src/server => ssr}/client/components/layout/header/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/layout/main/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/layout/main/teleportal.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/ui/feed-certification.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/ui/image.tsx (100%) rename apps/{desktop/src/server => ssr}/client/components/ui/user-avatar.tsx (100%) rename apps/{desktop/src/server => ssr}/client/configs.ts (100%) rename apps/{desktop/src/server => ssr}/client/global.d.ts (100%) rename apps/{desktop/src/server => ssr}/client/i18n.ts (100%) rename apps/{desktop/src/server => ssr}/client/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/initialize/analytics.ts (100%) rename apps/{desktop/src/server => ssr}/client/initialize/helper.ts (100%) rename apps/{desktop/src/server => ssr}/client/initialize/index.ts (100%) rename apps/{desktop/src/server => ssr}/client/initialize/op.ts (100%) rename apps/{desktop/src/server => ssr}/client/initialize/sentry.ts (100%) rename apps/{desktop/src/server => ssr}/client/lib/api-fetch.ts (100%) rename apps/{desktop/src/server => ssr}/client/lib/helper.ts (100%) rename apps/{desktop/src/server => ssr}/client/lib/query-client.ts (100%) rename apps/{desktop/src/server => ssr}/client/lib/store.ts (100%) rename apps/{desktop/src/server => ssr}/client/modules/login/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/forget-password.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/layout.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/login/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/login/metadata.ts (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/register.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(login)/reset-password.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/layout.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/feeds/[id]/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/feeds/[id]/metadata.ts (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/layout.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/lists/[id]/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/lists/[id]/metadata.ts (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/users/[id]/index.tsx (100%) rename apps/{desktop/src/server => ssr}/client/pages/(main)/share/users/[id]/metadata.ts (100%) rename apps/{desktop/src/server => ssr}/client/providers/open-in-app-provider.tsx (100%) rename apps/{desktop/src/server => ssr}/client/providers/root-providers.tsx (100%) rename apps/{desktop/src/server => ssr}/client/providers/user-provider.tsx (100%) rename apps/{desktop/src/server => ssr}/client/query/auth.ts (100%) rename apps/{desktop/src/server => ssr}/client/query/entries.ts (100%) rename apps/{desktop/src/server => ssr}/client/query/feed.ts (100%) rename apps/{desktop/src/server => ssr}/client/query/list.ts (100%) rename apps/{desktop/src/server => ssr}/client/query/users.ts (100%) rename apps/{desktop/src/server => ssr}/client/router.tsx (100%) rename apps/{desktop/src/server => ssr}/client/styles/index.css (100%) rename apps/{desktop/src/server => ssr}/helper/meta-map.ts (100%) rename apps/{desktop/src/server => ssr}/index.html (100%) rename apps/{desktop/src/server => ssr}/index.ts (100%) rename apps/{desktop/src/server => ssr}/note.md (100%) rename apps/{desktop/src/server => ssr}/package.json (98%) rename apps/{desktop/src/server => ssr}/postcss.config.cjs (100%) rename apps/{desktop/src/server => ssr}/public/favicon.ico (100%) rename apps/{desktop/src/server => ssr}/public/icon-192x192.png (100%) rename apps/{desktop/src/server => ssr}/public/icon-512x512.png (100%) rename apps/{desktop/src/server => ssr}/public/icon.svg (100%) rename apps/{desktop/src/server => ssr}/public/manifest.json (100%) rename apps/{desktop/src/server => ssr}/scripts/cleanup-vercel-build.ts (100%) rename apps/{desktop/src/server => ssr}/scripts/prepare-vercel-build.ts (100%) rename apps/{desktop/src/server => ssr}/scripts/skip-ssr-app-vercel-build.sh (87%) rename apps/{desktop/src/server => ssr}/src/global.d.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/api-client.ts (98%) rename apps/{desktop/src/server => ssr}/src/lib/dev-vite.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/env.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/load-env.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/og/fonts.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/og/render-to-image.ts (100%) rename apps/{desktop/src/server => ssr}/src/lib/seo.ts (100%) create mode 100644 apps/ssr/src/meta-handler.map.ts rename apps/{desktop/src/server => ssr}/src/meta-handler.ts (100%) rename apps/{desktop/src/server => ssr}/src/router/global.ts (100%) rename apps/{desktop/src/server => ssr}/src/router/og/__base.tsx (100%) rename apps/{desktop/src/server => ssr}/src/router/og/feed.tsx (100%) rename apps/{desktop/src/server => ssr}/src/router/og/index.ts (100%) rename apps/{desktop/src/server => ssr}/src/router/og/list.tsx (100%) rename apps/{desktop/src/server => ssr}/src/router/og/user.tsx (100%) rename apps/{desktop/src/server => ssr}/tailwind.config.ts (96%) rename apps/{desktop/src/server => ssr}/tsconfig.json (100%) rename apps/{desktop/src/server => ssr}/tsup.config.ts (100%) rename apps/{desktop/src/server => ssr}/vercel.json (100%) rename apps/{desktop/src/server => ssr}/vite.config.mts (87%) diff --git a/.github/workflows/build-web.yml b/.github/workflows/build-web.yml index 77f619546..a7d3ce4e1 100644 --- a/.github/workflows/build-web.yml +++ b/.github/workflows/build-web.yml @@ -42,4 +42,4 @@ jobs: run: pnpm install - name: Build web and SSR server run: | - npm exec turbo run @follow/desktop#build:web @follow/server#build + npm exec turbo run @follow/desktop#build:web @follow/ssr#build diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 9ee38763b..f824fa7d9 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -24,7 +24,7 @@ jobs: const execSync = require("child_process").execSync; const fs = require("fs"); const commitMessage = execSync("git log -1 --pretty=%B").toString("utf-8"); - const semverRegex = /chore: Release (v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-.]+)?)/; + const semverRegex = /release\(desktop\): Release (v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-.]+)?)/; const match = commitMessage.match(semverRegex); if (match) { fs.appendFileSync(process.env.GITHUB_ENV, `tag_version=${match[1]}\n`); diff --git a/.gitignore b/.gitignore index ea9dbaa88..fcdb8204e 100644 --- a/.gitignore +++ b/.gitignore @@ -15,9 +15,6 @@ stats.html electron.vite.config.*.mjs vite.config.*.mjs -# apps/server/**/fonts-data.ts -# apps/server/**/index.template.ts - .generated .turbo diff --git a/.vscode/settings.json b/.vscode/settings.json index 1a334f58f..a107f48f3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,8 +18,8 @@ ], "tailwindCSS.experimental.configFile": { "apps/mobile/tailwind.config.ts": "apps/mobile/**", - "apps/desktop/src/server/tailwind.config.ts": "apps/desktop/src/server/**", - "apps/desktop/tailwind.config.ts": ["!apps/mobile/**", "!apps/desktop/src/server/**", "**"] + "apps/ssr/tailwind.config.ts": "apps/ssr/**", + "apps/desktop/tailwind.config.ts": ["!apps/mobile/**", "!apps/ssr/**", "**"] }, "typescript.tsserver.maxTsServerMemory": 8096, "typescript.tsserver.nodePath": "node", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 0a70db2e7..36759666f 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -17,14 +17,13 @@ "build:macos": "electron-vite build && electron-forge make --arch=x64 --platform=darwin && electron-forge make --arch=arm64 --platform=darwin && tsx scripts/merge-yml.ts", "build:mas": "electron-vite build && electron-forge make --arch=universal --platform=mas", "build:render": "vite build -c vite.config.electron-render.ts", - "build:rn-web": "rm -rf out/rn-web && cross-env RN_BUILD=1 vite build", "build:web": "rm -rf out/web && cross-env WEB_BUILD=1 vite build", "dedupe:locales": "eslint --fix locales/**/*.json", "depcheck": "npx depcheck --quiet", - "dev": "turbo run @follow/web#dev @follow/server#dev", + "dev": "turbo run @follow/web#dev @follow/ssr#dev", "dev:debug": "export DEBUG=true && vite --debug", "dev:electron": "electron-vite dev", - "dev:server": "pnpm run --filter=server dev", + "dev:server": "pnpm run --filter=ssr dev", "dev:web": "cross-env WEB_BUILD=1 vite", "generator:i18n-template": "tsx scripts/generate-i18n-locale.ts", "publish": "electron-vite build && electron-forge publish", diff --git a/apps/desktop/src/server/client/@types/default-resource.ts b/apps/desktop/src/server/client/@types/default-resource.ts deleted file mode 100644 index b9e9a0c77..000000000 --- a/apps/desktop/src/server/client/@types/default-resource.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file is auto-generated by scripts/generate-i18n-locale.ts -// DONT EDIT THIS FILE MANUALLY -import common_ardz from "../../../../locales/common/ar-DZ.json" -import common_ariq from "../../../../locales/common/ar-IQ.json" -import common_arkw from "../../../../locales/common/ar-KW.json" -import common_arma from "../../../../locales/common/ar-MA.json" -import common_arsa from "../../../../locales/common/ar-SA.json" -import common_artn from "../../../../locales/common/ar-TN.json" -import common_de from "../../../../locales/common/de.json" -import common_en from "../../../../locales/common/en.json" -import common_es from "../../../../locales/common/es.json" -import common_fi from "../../../../locales/common/fi.json" -import common_fr from "../../../../locales/common/fr.json" -import common_it from "../../../../locales/common/it.json" -import common_ja from "../../../../locales/common/ja.json" -import common_ko from "../../../../locales/common/ko.json" -import common_pt from "../../../../locales/common/pt.json" -import common_ru from "../../../../locales/common/ru.json" -import common_tr from "../../../../locales/common/tr.json" -import common_zhCN from "../../../../locales/common/zh-CN.json" -import common_zhHK from "../../../../locales/common/zh-HK.json" -import common_zhTW from "../../../../locales/common/zh-TW.json" -import errors_en from "../../../../locales/errors/en.json" -import external_en from "../../../../locales/external/en.json" -import lang_ardz from "../../../../locales/lang/ar-DZ.json" -import lang_ariq from "../../../../locales/lang/ar-IQ.json" -import lang_arkw from "../../../../locales/lang/ar-KW.json" -import lang_arma from "../../../../locales/lang/ar-MA.json" -import lang_arsa from "../../../../locales/lang/ar-SA.json" -import lang_artn from "../../../../locales/lang/ar-TN.json" -import lang_de from "../../../../locales/lang/de.json" -import lang_en from "../../../../locales/lang/en.json" -import lang_es from "../../../../locales/lang/es.json" -import lang_fi from "../../../../locales/lang/fi.json" -import lang_fr from "../../../../locales/lang/fr.json" -import lang_it from "../../../../locales/lang/it.json" -import lang_ja from "../../../../locales/lang/ja.json" -import lang_ko from "../../../../locales/lang/ko.json" -import lang_pt from "../../../../locales/lang/pt.json" -import lang_ru from "../../../../locales/lang/ru.json" -import lang_tr from "../../../../locales/lang/tr.json" -import lang_zhCN from "../../../../locales/lang/zh-CN.json" -import lang_zhHK from "../../../../locales/lang/zh-HK.json" -import lang_zhTW from "../../../../locales/lang/zh-TW.json" -/** - * This file is the language resource that is loaded in full when the app is initialized. - * When switching languages, the app will automatically download the required language resources, - * we will not load all the language resources to minimize the first screen loading time of the app. - * Generally, we only load english resources synchronously by default. - * In addition, we attach common resources for other languages, and the size of the common resources must be controlled. - */ -export const defaultResources = { - en: { - lang: lang_en, - common: common_en, - external: external_en, - errors: errors_en, - }, - "zh-CN": { - lang: lang_zhCN, - common: common_zhCN, - }, - "zh-HK": { - lang: lang_zhHK, - common: common_zhHK, - }, - - ja: { - lang: lang_ja, - common: common_ja, - }, - ru: { lang: lang_ru, common: common_ru }, - fi: { lang: lang_fi, common: common_fi }, - it: { lang: lang_it, common: common_it }, - "ar-DZ": { lang: lang_ardz, common: common_ardz }, - "ar-SA": { lang: lang_arsa, common: common_arsa }, - "ar-MA": { lang: lang_arma, common: common_arma }, - "zh-TW": { lang: lang_zhTW, common: common_zhTW }, - es: { lang: lang_es, common: common_es }, - fr: { lang: lang_fr, common: common_fr }, - pt: { lang: lang_pt, common: common_pt }, - "ar-IQ": { lang: lang_ariq, common: common_ariq }, - "ar-KW": { lang: lang_arkw, common: common_arkw }, - "ar-TN": { lang: lang_artn, common: common_artn }, - de: { lang: lang_de, common: common_de }, - ko: { lang: lang_ko, common: common_ko }, - tr: { lang: lang_tr, common: common_tr }, -} diff --git a/apps/desktop/src/server/src/meta-handler.map.ts b/apps/desktop/src/server/src/meta-handler.map.ts deleted file mode 100644 index 5ba72ad65..000000000 --- a/apps/desktop/src/server/src/meta-handler.map.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file is generated by `pnpm run meta` -import i0 from ".././client/pages/(login)/login/metadata" -import i3 from ".././client/pages/(main)/share/feeds/[id]/metadata" -import i2 from ".././client/pages/(main)/share/lists/[id]/metadata" -import i1 from ".././client/pages/(main)/share/users/[id]/metadata" - -export default { - "/login": i0, - "/share/users/:id": i1, - "/share/lists/:id": i2, - "/share/feeds/:id": i3, -} diff --git a/apps/desktop/vite.config.ts b/apps/desktop/vite.config.ts index 7f6b4869a..9c4f2b04d 100644 --- a/apps/desktop/vite.config.ts +++ b/apps/desktop/vite.config.ts @@ -44,10 +44,9 @@ const devPrint = (): PluginOption => ({ }, }) -const isRNBuild = process.env.RN_BUILD === "1" const isWebBuild = process.env.WEB_BUILD === "1" // eslint-disable-next-line no-console -console.log(green("Build type:"), isRNBuild ? "RN" : isWebBuild ? "Web" : "Unknown") +console.log(green("Build type:"), isWebBuild ? "Web" : "Unknown") export default ({ mode }) => { const env = loadEnv(mode, process.cwd()) @@ -56,10 +55,10 @@ export default ({ mode }) => { return defineConfig({ ...viteRenderBaseConfig, root: ROOT, - base: isRNBuild ? "./" : "/", + base: "/", envDir: resolve(__dirname, "."), build: { - outDir: resolve(__dirname, isRNBuild ? "out/rn-web" : "out/web"), + outDir: resolve(__dirname, "out/web"), target: "ES2022", sourcemap: isCI, rollupOptions: { diff --git a/apps/mobile/src/components/common/FollowWebView.tsx b/apps/mobile/src/components/common/FollowWebView.tsx deleted file mode 100644 index 3caf6a1bd..000000000 --- a/apps/mobile/src/components/common/FollowWebView.tsx +++ /dev/null @@ -1,150 +0,0 @@ -import { callWebviewExpose } from "@follow/shared" -import * as Linking from "expo-linking" -import type { RefObject } from "react" -import { useCallback, useEffect, useState } from "react" -import { Platform } from "react-native" -import type { WebViewProps } from "react-native-webview" -import { WebView } from "react-native-webview" - -import { useWebViewNavigation } from "@/src/hooks/useWebViewNavigation" -import { signOut } from "@/src/lib/auth" - -/** - * @deprecated - */ -const presetUri = Platform.select({ - ios: "rn-web/index.html", - android: "file:///android_asset/raw/index.html", - default: "https://app.follow.is", -}) - -interface FollowWebViewProps extends WebViewProps { - customUrl?: string -} - -const injectedJavaScript = [ - `window.__RN__ = true`, - // TODO use more reliable way to detect the page is ready - `window.setTimeout(() => window.ReactNativeWebView.postMessage("ready"), 2000)`, -].join(";") - -const styles = { - // https://github.com/react-native-webview/react-native-webview/issues/318#issuecomment-503979211 - webview: { backgroundColor: "transparent" }, - webviewContainer: { width: "100%" }, -} as const - -export const FollowWebView = ({ - webViewRef, - customUrl, - ...props -}: { webViewRef: RefObject } & FollowWebViewProps) => { - const { onNavigationStateChange } = useWebViewNavigation({ webViewRef }) - const [ready, setReady] = useState(false) - useDeepLink({ webViewRef, ready }) - - return ( - setReady(false)} - // onLoadProgress={({ nativeEvent }) => setProgress(nativeEvent.progress)} - onError={(e) => { - console.error("WebView error:", e) - }} - onContentProcessDidTerminate={() => webViewRef.current?.reload()} - onMessage={(e) => { - const message = e.nativeEvent.data - if (message === "sign-out") { - signOut() - return - } - if (message === "ready") { - setReady(true) - return - } - }} - {...props} - /> - ) -} - -// We only need to handle deep link at the first time the app is opened -let lastInitialUrl: string | null = null -const useDeepLink = ({ - webViewRef, - ready = true, -}: { - webViewRef: RefObject - ready?: boolean -}) => { - const handleDeepLink = useCallback( - async (url: string) => { - const { queryParams, path, hostname } = Linking.parse(url) - - const pathname = (hostname || "") + (path || "") - const pathnameTrimmed = pathname?.endsWith("/") ? pathname.slice(0, -1) : pathname - - switch (pathnameTrimmed) { - case "/add": - case "/follow": { - if (!queryParams) { - console.error("Invalid URL! queryParams is not available", url) - return - } - - const id = queryParams["id"] ?? undefined - const isList = queryParams["type"] === "list" - // const urlParam = queryParams["url"] ?? undefined - if (!id || typeof id !== "string") { - console.error("Invalid URL! id is not a string", url) - return - } - const injectJavaScript = webViewRef.current?.injectJavaScript - if (!injectJavaScript) { - console.error("injectJavaScript is not available") - return - } - callWebviewExpose(injectJavaScript).follow({ id, isList }) - return - } - } - }, - [webViewRef], - ) - - // https://reactnative.dev/docs/linking#handling-deep-links - // - // The handler added with Linking.addEventListener() is only triggered when app is already open. - // - // When the app is not already open and the deep link triggered app launch, - // the URL can be obtained with Linking.getInitialURL(). - useEffect(() => { - if (!ready) return - - const getUrlAsync = async () => { - const initialUrl = await Linking.getInitialURL() - if (!initialUrl) return - if (initialUrl === lastInitialUrl) return - lastInitialUrl = initialUrl - handleDeepLink(initialUrl) - } - getUrlAsync() - // eslint-disable-next-line @eslint-react/web-api/no-leaked-event-listener - const deepLinkListener = Linking.addEventListener("url", (event: { url: string }) => { - handleDeepLink(event.url) - }) - return () => deepLinkListener.remove() - }, [handleDeepLink, ready]) -} diff --git a/apps/desktop/src/server/api/index.ts b/apps/ssr/api/index.ts similarity index 100% rename from apps/desktop/src/server/api/index.ts rename to apps/ssr/api/index.ts diff --git a/apps/desktop/src/server/client/@types/constants.ts b/apps/ssr/client/@types/constants.ts similarity index 100% rename from apps/desktop/src/server/client/@types/constants.ts rename to apps/ssr/client/@types/constants.ts diff --git a/apps/ssr/client/@types/default-resource.ts b/apps/ssr/client/@types/default-resource.ts new file mode 100644 index 000000000..a41f778c5 --- /dev/null +++ b/apps/ssr/client/@types/default-resource.ts @@ -0,0 +1,88 @@ +// This file is auto-generated by scripts/generate-i18n-locale.ts +// DONT EDIT THIS FILE MANUALLY +import common_ardz from "../../../desktop/locales/common/ar-DZ.json" +import common_ariq from "../../../desktop/locales/common/ar-IQ.json" +import common_arkw from "../../../desktop/locales/common/ar-KW.json" +import common_arma from "../../../desktop/locales/common/ar-MA.json" +import common_arsa from "../../../desktop/locales/common/ar-SA.json" +import common_artn from "../../../desktop/locales/common/ar-TN.json" +import common_de from "../../../desktop/locales/common/de.json" +import common_en from "../../../desktop/locales/common/en.json" +import common_es from "../../../desktop/locales/common/es.json" +import common_fi from "../../../desktop/locales/common/fi.json" +import common_fr from "../../../desktop/locales/common/fr.json" +import common_it from "../../../desktop/locales/common/it.json" +import common_ja from "../../../desktop/locales/common/ja.json" +import common_ko from "../../../desktop/locales/common/ko.json" +import common_pt from "../../../desktop/locales/common/pt.json" +import common_ru from "../../../desktop/locales/common/ru.json" +import common_tr from "../../../desktop/locales/common/tr.json" +import common_zhCN from "../../../desktop/locales/common/zh-CN.json" +import common_zhHK from "../../../desktop/locales/common/zh-HK.json" +import common_zhTW from "../../../desktop/locales/common/zh-TW.json" +import errors_en from "../../../desktop/locales/errors/en.json" +import external_en from "../../../desktop/locales/external/en.json" +import lang_ardz from "../../../desktop/locales/lang/ar-DZ.json" +import lang_ariq from "../../../desktop/locales/lang/ar-IQ.json" +import lang_arkw from "../../../desktop/locales/lang/ar-KW.json" +import lang_arma from "../../../desktop/locales/lang/ar-MA.json" +import lang_arsa from "../../../desktop/locales/lang/ar-SA.json" +import lang_artn from "../../../desktop/locales/lang/ar-TN.json" +import lang_de from "../../../desktop/locales/lang/de.json" +import lang_en from "../../../desktop/locales/lang/en.json" +import lang_es from "../../../desktop/locales/lang/es.json" +import lang_fi from "../../../desktop/locales/lang/fi.json" +import lang_fr from "../../../desktop/locales/lang/fr.json" +import lang_it from "../../../desktop/locales/lang/it.json" +import lang_ja from "../../../desktop/locales/lang/ja.json" +import lang_ko from "../../../desktop/locales/lang/ko.json" +import lang_pt from "../../../desktop/locales/lang/pt.json" +import lang_ru from "../../../desktop/locales/lang/ru.json" +import lang_tr from "../../../desktop/locales/lang/tr.json" +import lang_zhCN from "../../../desktop/locales/lang/zh-CN.json" +import lang_zhHK from "../../../desktop/locales/lang/zh-HK.json" +import lang_zhTW from "../../../desktop/locales/lang/zh-TW.json" +/** + * This file is the language resource that is loaded in full when the app is initialized. + * When switching languages, the app will automatically download the required language resources, + * we will not load all the language resources to minimize the first screen loading time of the app. + * Generally, we only load english resources synchronously by default. + * In addition, we attach common resources for other languages, and the size of the common resources must be controlled. + */ +export const defaultResources = { + en: { + lang: lang_en, + common: common_en, + external: external_en, + errors: errors_en, + }, + "zh-CN": { + lang: lang_zhCN, + common: common_zhCN, + }, + "zh-HK": { + lang: lang_zhHK, + common: common_zhHK, + }, + + ja: { + lang: lang_ja, + common: common_ja, + }, + ru: { lang: lang_ru, common: common_ru }, + fi: { lang: lang_fi, common: common_fi }, + it: { lang: lang_it, common: common_it }, + "ar-DZ": { lang: lang_ardz, common: common_ardz }, + "ar-SA": { lang: lang_arsa, common: common_arsa }, + "ar-MA": { lang: lang_arma, common: common_arma }, + "zh-TW": { lang: lang_zhTW, common: common_zhTW }, + es: { lang: lang_es, common: common_es }, + fr: { lang: lang_fr, common: common_fr }, + pt: { lang: lang_pt, common: common_pt }, + "ar-IQ": { lang: lang_ariq, common: common_ariq }, + "ar-KW": { lang: lang_arkw, common: common_arkw }, + "ar-TN": { lang: lang_artn, common: common_artn }, + de: { lang: lang_de, common: common_de }, + ko: { lang: lang_ko, common: common_ko }, + tr: { lang: lang_tr, common: common_tr }, +} diff --git a/apps/desktop/src/server/client/@types/i18next.d.ts b/apps/ssr/client/@types/i18next.d.ts similarity index 100% rename from apps/desktop/src/server/client/@types/i18next.d.ts rename to apps/ssr/client/@types/i18next.d.ts diff --git a/apps/desktop/src/server/client/App.tsx b/apps/ssr/client/App.tsx similarity index 100% rename from apps/desktop/src/server/client/App.tsx rename to apps/ssr/client/App.tsx diff --git a/apps/desktop/src/server/client/atoms/app.ts b/apps/ssr/client/atoms/app.ts similarity index 100% rename from apps/desktop/src/server/client/atoms/app.ts rename to apps/ssr/client/atoms/app.ts diff --git a/apps/desktop/src/server/client/atoms/settings/general.ts b/apps/ssr/client/atoms/settings/general.ts similarity index 100% rename from apps/desktop/src/server/client/atoms/settings/general.ts rename to apps/ssr/client/atoms/settings/general.ts diff --git a/apps/desktop/src/server/client/atoms/settings/helper.ts b/apps/ssr/client/atoms/settings/helper.ts similarity index 100% rename from apps/desktop/src/server/client/atoms/settings/helper.ts rename to apps/ssr/client/atoms/settings/helper.ts diff --git a/apps/desktop/src/server/client/atoms/user.ts b/apps/ssr/client/atoms/user.ts similarity index 100% rename from apps/desktop/src/server/client/atoms/user.ts rename to apps/ssr/client/atoms/user.ts diff --git a/apps/desktop/src/server/client/components/common/NotFound.tsx b/apps/ssr/client/components/common/NotFound.tsx similarity index 100% rename from apps/desktop/src/server/client/components/common/NotFound.tsx rename to apps/ssr/client/components/common/NotFound.tsx diff --git a/apps/desktop/src/server/client/components/items/grid.tsx b/apps/ssr/client/components/items/grid.tsx similarity index 100% rename from apps/desktop/src/server/client/components/items/grid.tsx rename to apps/ssr/client/components/items/grid.tsx diff --git a/apps/desktop/src/server/client/components/items/index.tsx b/apps/ssr/client/components/items/index.tsx similarity index 100% rename from apps/desktop/src/server/client/components/items/index.tsx rename to apps/ssr/client/components/items/index.tsx diff --git a/apps/desktop/src/server/client/components/items/normal.tsx b/apps/ssr/client/components/items/normal.tsx similarity index 100% rename from apps/desktop/src/server/client/components/items/normal.tsx rename to apps/ssr/client/components/items/normal.tsx diff --git a/apps/desktop/src/server/client/components/items/picture.tsx b/apps/ssr/client/components/items/picture.tsx similarity index 100% rename from apps/desktop/src/server/client/components/items/picture.tsx rename to apps/ssr/client/components/items/picture.tsx diff --git a/apps/desktop/src/server/client/components/items/types.ts b/apps/ssr/client/components/items/types.ts similarity index 100% rename from apps/desktop/src/server/client/components/items/types.ts rename to apps/ssr/client/components/items/types.ts diff --git a/apps/desktop/src/server/client/components/layout/header/index.tsx b/apps/ssr/client/components/layout/header/index.tsx similarity index 100% rename from apps/desktop/src/server/client/components/layout/header/index.tsx rename to apps/ssr/client/components/layout/header/index.tsx diff --git a/apps/desktop/src/server/client/components/layout/main/index.tsx b/apps/ssr/client/components/layout/main/index.tsx similarity index 100% rename from apps/desktop/src/server/client/components/layout/main/index.tsx rename to apps/ssr/client/components/layout/main/index.tsx diff --git a/apps/desktop/src/server/client/components/layout/main/teleportal.tsx b/apps/ssr/client/components/layout/main/teleportal.tsx similarity index 100% rename from apps/desktop/src/server/client/components/layout/main/teleportal.tsx rename to apps/ssr/client/components/layout/main/teleportal.tsx diff --git a/apps/desktop/src/server/client/components/ui/feed-certification.tsx b/apps/ssr/client/components/ui/feed-certification.tsx similarity index 100% rename from apps/desktop/src/server/client/components/ui/feed-certification.tsx rename to apps/ssr/client/components/ui/feed-certification.tsx diff --git a/apps/desktop/src/server/client/components/ui/image.tsx b/apps/ssr/client/components/ui/image.tsx similarity index 100% rename from apps/desktop/src/server/client/components/ui/image.tsx rename to apps/ssr/client/components/ui/image.tsx diff --git a/apps/desktop/src/server/client/components/ui/user-avatar.tsx b/apps/ssr/client/components/ui/user-avatar.tsx similarity index 100% rename from apps/desktop/src/server/client/components/ui/user-avatar.tsx rename to apps/ssr/client/components/ui/user-avatar.tsx diff --git a/apps/desktop/src/server/client/configs.ts b/apps/ssr/client/configs.ts similarity index 100% rename from apps/desktop/src/server/client/configs.ts rename to apps/ssr/client/configs.ts diff --git a/apps/desktop/src/server/client/global.d.ts b/apps/ssr/client/global.d.ts similarity index 100% rename from apps/desktop/src/server/client/global.d.ts rename to apps/ssr/client/global.d.ts diff --git a/apps/desktop/src/server/client/i18n.ts b/apps/ssr/client/i18n.ts similarity index 100% rename from apps/desktop/src/server/client/i18n.ts rename to apps/ssr/client/i18n.ts diff --git a/apps/desktop/src/server/client/index.tsx b/apps/ssr/client/index.tsx similarity index 100% rename from apps/desktop/src/server/client/index.tsx rename to apps/ssr/client/index.tsx diff --git a/apps/desktop/src/server/client/initialize/analytics.ts b/apps/ssr/client/initialize/analytics.ts similarity index 100% rename from apps/desktop/src/server/client/initialize/analytics.ts rename to apps/ssr/client/initialize/analytics.ts diff --git a/apps/desktop/src/server/client/initialize/helper.ts b/apps/ssr/client/initialize/helper.ts similarity index 100% rename from apps/desktop/src/server/client/initialize/helper.ts rename to apps/ssr/client/initialize/helper.ts diff --git a/apps/desktop/src/server/client/initialize/index.ts b/apps/ssr/client/initialize/index.ts similarity index 100% rename from apps/desktop/src/server/client/initialize/index.ts rename to apps/ssr/client/initialize/index.ts diff --git a/apps/desktop/src/server/client/initialize/op.ts b/apps/ssr/client/initialize/op.ts similarity index 100% rename from apps/desktop/src/server/client/initialize/op.ts rename to apps/ssr/client/initialize/op.ts diff --git a/apps/desktop/src/server/client/initialize/sentry.ts b/apps/ssr/client/initialize/sentry.ts similarity index 100% rename from apps/desktop/src/server/client/initialize/sentry.ts rename to apps/ssr/client/initialize/sentry.ts diff --git a/apps/desktop/src/server/client/lib/api-fetch.ts b/apps/ssr/client/lib/api-fetch.ts similarity index 100% rename from apps/desktop/src/server/client/lib/api-fetch.ts rename to apps/ssr/client/lib/api-fetch.ts diff --git a/apps/desktop/src/server/client/lib/helper.ts b/apps/ssr/client/lib/helper.ts similarity index 100% rename from apps/desktop/src/server/client/lib/helper.ts rename to apps/ssr/client/lib/helper.ts diff --git a/apps/desktop/src/server/client/lib/query-client.ts b/apps/ssr/client/lib/query-client.ts similarity index 100% rename from apps/desktop/src/server/client/lib/query-client.ts rename to apps/ssr/client/lib/query-client.ts diff --git a/apps/desktop/src/server/client/lib/store.ts b/apps/ssr/client/lib/store.ts similarity index 100% rename from apps/desktop/src/server/client/lib/store.ts rename to apps/ssr/client/lib/store.ts diff --git a/apps/desktop/src/server/client/modules/login/index.tsx b/apps/ssr/client/modules/login/index.tsx similarity index 100% rename from apps/desktop/src/server/client/modules/login/index.tsx rename to apps/ssr/client/modules/login/index.tsx diff --git a/apps/desktop/src/server/client/pages/(login)/forget-password.tsx b/apps/ssr/client/pages/(login)/forget-password.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/forget-password.tsx rename to apps/ssr/client/pages/(login)/forget-password.tsx diff --git a/apps/desktop/src/server/client/pages/(login)/layout.tsx b/apps/ssr/client/pages/(login)/layout.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/layout.tsx rename to apps/ssr/client/pages/(login)/layout.tsx diff --git a/apps/desktop/src/server/client/pages/(login)/login/index.tsx b/apps/ssr/client/pages/(login)/login/index.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/login/index.tsx rename to apps/ssr/client/pages/(login)/login/index.tsx diff --git a/apps/desktop/src/server/client/pages/(login)/login/metadata.ts b/apps/ssr/client/pages/(login)/login/metadata.ts similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/login/metadata.ts rename to apps/ssr/client/pages/(login)/login/metadata.ts diff --git a/apps/desktop/src/server/client/pages/(login)/register.tsx b/apps/ssr/client/pages/(login)/register.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/register.tsx rename to apps/ssr/client/pages/(login)/register.tsx diff --git a/apps/desktop/src/server/client/pages/(login)/reset-password.tsx b/apps/ssr/client/pages/(login)/reset-password.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(login)/reset-password.tsx rename to apps/ssr/client/pages/(login)/reset-password.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/index.tsx b/apps/ssr/client/pages/(main)/index.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/index.tsx rename to apps/ssr/client/pages/(main)/index.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/layout.tsx b/apps/ssr/client/pages/(main)/layout.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/layout.tsx rename to apps/ssr/client/pages/(main)/layout.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/share/feeds/[id]/index.tsx b/apps/ssr/client/pages/(main)/share/feeds/[id]/index.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/feeds/[id]/index.tsx rename to apps/ssr/client/pages/(main)/share/feeds/[id]/index.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/share/feeds/[id]/metadata.ts b/apps/ssr/client/pages/(main)/share/feeds/[id]/metadata.ts similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/feeds/[id]/metadata.ts rename to apps/ssr/client/pages/(main)/share/feeds/[id]/metadata.ts diff --git a/apps/desktop/src/server/client/pages/(main)/share/layout.tsx b/apps/ssr/client/pages/(main)/share/layout.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/layout.tsx rename to apps/ssr/client/pages/(main)/share/layout.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/share/lists/[id]/index.tsx b/apps/ssr/client/pages/(main)/share/lists/[id]/index.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/lists/[id]/index.tsx rename to apps/ssr/client/pages/(main)/share/lists/[id]/index.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/share/lists/[id]/metadata.ts b/apps/ssr/client/pages/(main)/share/lists/[id]/metadata.ts similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/lists/[id]/metadata.ts rename to apps/ssr/client/pages/(main)/share/lists/[id]/metadata.ts diff --git a/apps/desktop/src/server/client/pages/(main)/share/users/[id]/index.tsx b/apps/ssr/client/pages/(main)/share/users/[id]/index.tsx similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/users/[id]/index.tsx rename to apps/ssr/client/pages/(main)/share/users/[id]/index.tsx diff --git a/apps/desktop/src/server/client/pages/(main)/share/users/[id]/metadata.ts b/apps/ssr/client/pages/(main)/share/users/[id]/metadata.ts similarity index 100% rename from apps/desktop/src/server/client/pages/(main)/share/users/[id]/metadata.ts rename to apps/ssr/client/pages/(main)/share/users/[id]/metadata.ts diff --git a/apps/desktop/src/server/client/providers/open-in-app-provider.tsx b/apps/ssr/client/providers/open-in-app-provider.tsx similarity index 100% rename from apps/desktop/src/server/client/providers/open-in-app-provider.tsx rename to apps/ssr/client/providers/open-in-app-provider.tsx diff --git a/apps/desktop/src/server/client/providers/root-providers.tsx b/apps/ssr/client/providers/root-providers.tsx similarity index 100% rename from apps/desktop/src/server/client/providers/root-providers.tsx rename to apps/ssr/client/providers/root-providers.tsx diff --git a/apps/desktop/src/server/client/providers/user-provider.tsx b/apps/ssr/client/providers/user-provider.tsx similarity index 100% rename from apps/desktop/src/server/client/providers/user-provider.tsx rename to apps/ssr/client/providers/user-provider.tsx diff --git a/apps/desktop/src/server/client/query/auth.ts b/apps/ssr/client/query/auth.ts similarity index 100% rename from apps/desktop/src/server/client/query/auth.ts rename to apps/ssr/client/query/auth.ts diff --git a/apps/desktop/src/server/client/query/entries.ts b/apps/ssr/client/query/entries.ts similarity index 100% rename from apps/desktop/src/server/client/query/entries.ts rename to apps/ssr/client/query/entries.ts diff --git a/apps/desktop/src/server/client/query/feed.ts b/apps/ssr/client/query/feed.ts similarity index 100% rename from apps/desktop/src/server/client/query/feed.ts rename to apps/ssr/client/query/feed.ts diff --git a/apps/desktop/src/server/client/query/list.ts b/apps/ssr/client/query/list.ts similarity index 100% rename from apps/desktop/src/server/client/query/list.ts rename to apps/ssr/client/query/list.ts diff --git a/apps/desktop/src/server/client/query/users.ts b/apps/ssr/client/query/users.ts similarity index 100% rename from apps/desktop/src/server/client/query/users.ts rename to apps/ssr/client/query/users.ts diff --git a/apps/desktop/src/server/client/router.tsx b/apps/ssr/client/router.tsx similarity index 100% rename from apps/desktop/src/server/client/router.tsx rename to apps/ssr/client/router.tsx diff --git a/apps/desktop/src/server/client/styles/index.css b/apps/ssr/client/styles/index.css similarity index 100% rename from apps/desktop/src/server/client/styles/index.css rename to apps/ssr/client/styles/index.css diff --git a/apps/desktop/src/server/helper/meta-map.ts b/apps/ssr/helper/meta-map.ts similarity index 100% rename from apps/desktop/src/server/helper/meta-map.ts rename to apps/ssr/helper/meta-map.ts diff --git a/apps/desktop/src/server/index.html b/apps/ssr/index.html similarity index 100% rename from apps/desktop/src/server/index.html rename to apps/ssr/index.html diff --git a/apps/desktop/src/server/index.ts b/apps/ssr/index.ts similarity index 100% rename from apps/desktop/src/server/index.ts rename to apps/ssr/index.ts diff --git a/apps/desktop/src/server/note.md b/apps/ssr/note.md similarity index 100% rename from apps/desktop/src/server/note.md rename to apps/ssr/note.md diff --git a/apps/desktop/src/server/package.json b/apps/ssr/package.json similarity index 98% rename from apps/desktop/src/server/package.json rename to apps/ssr/package.json index adf7b8929..947688d08 100644 --- a/apps/desktop/src/server/package.json +++ b/apps/ssr/package.json @@ -1,5 +1,5 @@ { - "name": "@follow/server", + "name": "@follow/ssr", "private": true, "scripts": { "build": "cross-env NODE_ENV=production vite build && tsx scripts/prepare-vercel-build.ts && tsup && tsx scripts/cleanup-vercel-build.ts", diff --git a/apps/desktop/src/server/postcss.config.cjs b/apps/ssr/postcss.config.cjs similarity index 100% rename from apps/desktop/src/server/postcss.config.cjs rename to apps/ssr/postcss.config.cjs diff --git a/apps/desktop/src/server/public/favicon.ico b/apps/ssr/public/favicon.ico similarity index 100% rename from apps/desktop/src/server/public/favicon.ico rename to apps/ssr/public/favicon.ico diff --git a/apps/desktop/src/server/public/icon-192x192.png b/apps/ssr/public/icon-192x192.png similarity index 100% rename from apps/desktop/src/server/public/icon-192x192.png rename to apps/ssr/public/icon-192x192.png diff --git a/apps/desktop/src/server/public/icon-512x512.png b/apps/ssr/public/icon-512x512.png similarity index 100% rename from apps/desktop/src/server/public/icon-512x512.png rename to apps/ssr/public/icon-512x512.png diff --git a/apps/desktop/src/server/public/icon.svg b/apps/ssr/public/icon.svg similarity index 100% rename from apps/desktop/src/server/public/icon.svg rename to apps/ssr/public/icon.svg diff --git a/apps/desktop/src/server/public/manifest.json b/apps/ssr/public/manifest.json similarity index 100% rename from apps/desktop/src/server/public/manifest.json rename to apps/ssr/public/manifest.json diff --git a/apps/desktop/src/server/scripts/cleanup-vercel-build.ts b/apps/ssr/scripts/cleanup-vercel-build.ts similarity index 100% rename from apps/desktop/src/server/scripts/cleanup-vercel-build.ts rename to apps/ssr/scripts/cleanup-vercel-build.ts diff --git a/apps/desktop/src/server/scripts/prepare-vercel-build.ts b/apps/ssr/scripts/prepare-vercel-build.ts similarity index 100% rename from apps/desktop/src/server/scripts/prepare-vercel-build.ts rename to apps/ssr/scripts/prepare-vercel-build.ts diff --git a/apps/desktop/src/server/scripts/skip-ssr-app-vercel-build.sh b/apps/ssr/scripts/skip-ssr-app-vercel-build.sh similarity index 87% rename from apps/desktop/src/server/scripts/skip-ssr-app-vercel-build.sh rename to apps/ssr/scripts/skip-ssr-app-vercel-build.sh index 8980654d9..9390d8b10 100644 --- a/apps/desktop/src/server/scripts/skip-ssr-app-vercel-build.sh +++ b/apps/ssr/scripts/skip-ssr-app-vercel-build.sh @@ -5,7 +5,7 @@ LAST_DEPLOY_COMMIT=$(git rev-parse HEAD^) CHANGED_FILES=$(git diff --name-only $LAST_DEPLOY_COMMIT HEAD) # Define an array of paths and files to check -CHECK_PATHS_AND_FILES=("apps/desktop/src/server/" "packages/" "package.json" "pnpm-lock.yaml") +CHECK_PATHS_AND_FILES=("apps/ssr/" "packages/" "package.json" "pnpm-lock.yaml") ONLY_SERVER_OR_PACKAGES_CHANGES=true for file in $CHANGED_FILES; do diff --git a/apps/desktop/src/server/src/global.d.ts b/apps/ssr/src/global.d.ts similarity index 100% rename from apps/desktop/src/server/src/global.d.ts rename to apps/ssr/src/global.d.ts diff --git a/apps/desktop/src/server/src/lib/api-client.ts b/apps/ssr/src/lib/api-client.ts similarity index 98% rename from apps/desktop/src/server/src/lib/api-client.ts rename to apps/ssr/src/lib/api-client.ts index 0280f436d..b0b3efdbb 100644 --- a/apps/desktop/src/server/src/lib/api-client.ts +++ b/apps/ssr/src/lib/api-client.ts @@ -6,7 +6,7 @@ import type { AppType } from "@follow/shared/hono" import { hc } from "hono/client" import { ofetch } from "ofetch" -import PKG from "../../../../package.json" +import PKG from "../../../desktop/package.json" import { isDev } from "./env" const getBaseURL = () => { diff --git a/apps/desktop/src/server/src/lib/dev-vite.ts b/apps/ssr/src/lib/dev-vite.ts similarity index 100% rename from apps/desktop/src/server/src/lib/dev-vite.ts rename to apps/ssr/src/lib/dev-vite.ts diff --git a/apps/desktop/src/server/src/lib/env.ts b/apps/ssr/src/lib/env.ts similarity index 100% rename from apps/desktop/src/server/src/lib/env.ts rename to apps/ssr/src/lib/env.ts diff --git a/apps/desktop/src/server/src/lib/load-env.ts b/apps/ssr/src/lib/load-env.ts similarity index 100% rename from apps/desktop/src/server/src/lib/load-env.ts rename to apps/ssr/src/lib/load-env.ts diff --git a/apps/desktop/src/server/src/lib/og/fonts.ts b/apps/ssr/src/lib/og/fonts.ts similarity index 100% rename from apps/desktop/src/server/src/lib/og/fonts.ts rename to apps/ssr/src/lib/og/fonts.ts diff --git a/apps/desktop/src/server/src/lib/og/render-to-image.ts b/apps/ssr/src/lib/og/render-to-image.ts similarity index 100% rename from apps/desktop/src/server/src/lib/og/render-to-image.ts rename to apps/ssr/src/lib/og/render-to-image.ts diff --git a/apps/desktop/src/server/src/lib/seo.ts b/apps/ssr/src/lib/seo.ts similarity index 100% rename from apps/desktop/src/server/src/lib/seo.ts rename to apps/ssr/src/lib/seo.ts diff --git a/apps/ssr/src/meta-handler.map.ts b/apps/ssr/src/meta-handler.map.ts new file mode 100644 index 000000000..68a211497 --- /dev/null +++ b/apps/ssr/src/meta-handler.map.ts @@ -0,0 +1,12 @@ +// This file is generated by `pnpm run meta` +import i0 from "../client/pages/(login)/login/metadata" +import i3 from "../client/pages/(main)/share/feeds/[id]/metadata" +import i2 from "../client/pages/(main)/share/lists/[id]/metadata" +import i1 from "../client/pages/(main)/share/users/[id]/metadata" + +export default { + "/login": i0, + "/share/users/:id": i1, + "/share/lists/:id": i2, + "/share/feeds/:id": i3, +} diff --git a/apps/desktop/src/server/src/meta-handler.ts b/apps/ssr/src/meta-handler.ts similarity index 100% rename from apps/desktop/src/server/src/meta-handler.ts rename to apps/ssr/src/meta-handler.ts diff --git a/apps/desktop/src/server/src/router/global.ts b/apps/ssr/src/router/global.ts similarity index 100% rename from apps/desktop/src/server/src/router/global.ts rename to apps/ssr/src/router/global.ts diff --git a/apps/desktop/src/server/src/router/og/__base.tsx b/apps/ssr/src/router/og/__base.tsx similarity index 100% rename from apps/desktop/src/server/src/router/og/__base.tsx rename to apps/ssr/src/router/og/__base.tsx diff --git a/apps/desktop/src/server/src/router/og/feed.tsx b/apps/ssr/src/router/og/feed.tsx similarity index 100% rename from apps/desktop/src/server/src/router/og/feed.tsx rename to apps/ssr/src/router/og/feed.tsx diff --git a/apps/desktop/src/server/src/router/og/index.ts b/apps/ssr/src/router/og/index.ts similarity index 100% rename from apps/desktop/src/server/src/router/og/index.ts rename to apps/ssr/src/router/og/index.ts diff --git a/apps/desktop/src/server/src/router/og/list.tsx b/apps/ssr/src/router/og/list.tsx similarity index 100% rename from apps/desktop/src/server/src/router/og/list.tsx rename to apps/ssr/src/router/og/list.tsx diff --git a/apps/desktop/src/server/src/router/og/user.tsx b/apps/ssr/src/router/og/user.tsx similarity index 100% rename from apps/desktop/src/server/src/router/og/user.tsx rename to apps/ssr/src/router/og/user.tsx diff --git a/apps/desktop/src/server/tailwind.config.ts b/apps/ssr/tailwind.config.ts similarity index 96% rename from apps/desktop/src/server/tailwind.config.ts rename to apps/ssr/tailwind.config.ts index a6918b06b..5b7960e67 100644 --- a/apps/desktop/src/server/tailwind.config.ts +++ b/apps/ssr/tailwind.config.ts @@ -2,7 +2,7 @@ import daisyui from "daisyui" import { omit } from "es-toolkit/compat" import resolveConfig from "tailwindcss/resolveConfig" -import { baseTwConfig } from "../../../../configs/tailwind.base.config" +import { baseTwConfig } from "../../configs/tailwind.base.config" /** @type {import('tailwindcss').Config} */ export default resolveConfig({ ...baseTwConfig, diff --git a/apps/desktop/src/server/tsconfig.json b/apps/ssr/tsconfig.json similarity index 100% rename from apps/desktop/src/server/tsconfig.json rename to apps/ssr/tsconfig.json diff --git a/apps/desktop/src/server/tsup.config.ts b/apps/ssr/tsup.config.ts similarity index 100% rename from apps/desktop/src/server/tsup.config.ts rename to apps/ssr/tsup.config.ts diff --git a/apps/desktop/src/server/vercel.json b/apps/ssr/vercel.json similarity index 100% rename from apps/desktop/src/server/vercel.json rename to apps/ssr/vercel.json diff --git a/apps/desktop/src/server/vite.config.mts b/apps/ssr/vite.config.mts similarity index 87% rename from apps/desktop/src/server/vite.config.mts rename to apps/ssr/vite.config.mts index 1489b428e..6f17ceb24 100644 --- a/apps/desktop/src/server/vite.config.mts +++ b/apps/ssr/vite.config.mts @@ -3,8 +3,8 @@ import { resolve } from "node:path" import react from "@vitejs/plugin-react" import { defineConfig } from "vite" -import { viteRenderBaseConfig } from "../../configs/vite.render.config" -import { astPlugin } from "../../plugins/vite/ast" +import { viteRenderBaseConfig } from "../desktop/configs/vite.render.config" +import { astPlugin } from "../desktop/plugins/vite/ast" export default () => { return defineConfig({ diff --git a/bump.hotfix.config.js b/bump.hotfix.config.js index 217838f5f..e1792dea6 100644 --- a/bump.hotfix.config.js +++ b/bump.hotfix.config.js @@ -8,9 +8,9 @@ const currentBranch = execSync("git rev-parse --abbrev-ref HEAD").toString().tri export default defineConfig({ before: ["git pull --rebase"], after: [ - `gh pr create --title 'chore: Release v\${NEW_VERSION} for hotfix' --body 'v\${NEW_VERSION}' --base main --head ${currentBranch}`, + `gh pr create --title 'chore(desktop): Release v\${NEW_VERSION} for hotfix' --body 'v\${NEW_VERSION}' --base main --head ${currentBranch}`, ], - commit_message: "chore(release): hotfix to release v${NEW_VERSION}", + commit_message: "release(desktop): hotfix to release v${NEW_VERSION}", tag: false, changelog: true, allowedBranches: ["hotfix/*"], diff --git a/eslint.config.mjs b/eslint.config.mjs index f7959cfc2..003b5405e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -65,10 +65,10 @@ export default defineConfig( }, }, { - files: ["apps/desktop/src/server/**/*"], + files: ["apps/ssr/**/*"], settings: { tailwindcss: { - config: path.join(import.meta.dirname, "apps/desktop/src/server/tailwind.config.ts"), + config: path.join(import.meta.dirname, "apps/ssr/tailwind.config.ts"), }, }, }, diff --git a/package.json b/package.json index b58c7aa2a..9e01d9a43 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@follow/monorepo", "type": "module", "private": true, - "packageManager": "pnpm@9.12.3", + "packageManager": "pnpm@10.5.2", "description": "Follow everything in one place", "author": "Follow Team", "license": "GPL-3.0-only", @@ -12,11 +12,12 @@ "type": "git" }, "scripts": { + "build:all": "turbo run @follow/desktop#build @follow/ssr#build", "build:electron": "turbo run @follow/desktop#build", "build:macos": "turbo run @follow/desktop#build:macos", "build:mas": "turbo run @follow/desktop#build:mas", "build:render": "turbo run @follow/desktop#build:render", - "build:rn-web": "turbo run @follow/desktop#build:rn-web", + "build:ssr": "turbo run @follow/ssr#build", "build:web": "turbo run @follow/desktop#build:web", "bump": "vv", "dedupe:locales": "eslint --fix apps/desktop/locales/**/*.json", @@ -29,7 +30,7 @@ "lint:tsl": "tsslint --project apps/*/tsconfig.json", "mitproxy": "bash scripts/run-proxy.sh", "polyfill-optimize": "pnpx nolyfill install", - "prepare": "simple-git-hooks", + "prepare": "simple-git-hooks && corepack prepare", "reinstall": "rm -rf node_modules && rm -rf apps/**/node_modules && rm -rf packages/**/node_modules && pnpm install", "sync:icons": "tsx scripts/svg-to-rn.ts && prettier --write apps/mobile/src/icons/**/*.tsx && eslint --fix apps/mobile/src/icons/**/*.tsx", "test": "cross-env CI=1 pnpm --recursive run test", @@ -140,9 +141,9 @@ "git add apps/desktop/package.json" ], "after": [ - "gh pr create --title 'chore: Release v${NEW_VERSION}' --body 'v${NEW_VERSION}' --base main --head dev" + "gh pr create --title 'release(desktop): Release v${NEW_VERSION}' --body 'v${NEW_VERSION}' --base main --head dev" ], - "commit_message": "chore(release): release v${NEW_VERSION}", + "commit_message": "release(desktop): release v${NEW_VERSION}", "tag": false, "changelog": true, "allowed_branches": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 53ebebe18..cee8f8db9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,46 +18,46 @@ overrides: patchedDependencies: '@microflash/remark-callout-directives': - hash: bl6uhe4vs4xm3d2jmecdpzbh2m + hash: 6160b1cf0eab6deca36415693dda703746edcd42e0e64b9174294e2210481396 path: patches/@microflash__remark-callout-directives.patch '@mozilla/readability': - hash: 43niildbdafdxi7qfcwhpkkxwa + hash: b3cfe10b464e980acbe8cc8bbeeab3e1b468381e75d161005192ea3c994eef56 path: patches/@mozilla__readability.patch '@pengx17/electron-forge-maker-appimage': - hash: vov3v67fgv3lrfz3n24bnubw4m + hash: 5b5ab1ba36e8c0d7ffee912ebf29c1a18bc101c9c661ceb1bb0bda3deaf4c667 path: patches/@pengx17__electron-forge-maker-appimage.patch '@tanstack/react-virtual': - hash: 44veyovhgqddxy4cx3biv6jmoa + hash: 0db4f6dc38be5e94d953967e34f8bdb6a08d3091a8b80ba3964fdd396c73b33c path: patches/@tanstack__react-virtual.patch daisyui: - hash: igsntdatmoaxzwxof4bkkh35fy + hash: 3a8f5f7ef76a29355b99bb425ff894e55ccab4335656eedbce80ef95f3e2e3f8 path: patches/daisyui.patch devlop: - hash: xzgzapu45daboiid4fiusduvwa + hash: 85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295 path: patches/devlop.patch electron-context-menu: - hash: c53at4t5fflixuwjz35hmcqdu4 + hash: c02f44f34d5af2bce9cc9df045523cf9802abd17ae9477959e950f48e370ddfe path: patches/electron-context-menu.patch hono: - hash: qptujxncoai6tukc4qaqsrqk24 + hash: 6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7 path: patches/hono.patch immer@10.1.1: - hash: og7mbnoo5vh43tjlw5rbmrdbvu + hash: 594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c path: patches/immer@10.1.1.patch jsonpointer: - hash: prxuhlhyjugus5tiew4vc3pahu + hash: ad796d54956ca5a7e9e5232503e5f22d4ffa732fc4552a7e53121ea5fa81d6c1 path: patches/jsonpointer.patch re-resizable: - hash: yitcmpfwcomg2fky72uc3lhk2i + hash: 3ade7aa99a03addf6dd453360e3cebfbaa12c907b138352110ad38cd65495c0d path: patches/re-resizable@6.9.17.patch react-native-sheet-transitions: - hash: xmkq4ssu3mefxtr2e65xl27hxi + hash: eea5876801b0aa7bd33f0ddfe1a350a37e2bf54a1d4e78537713693db7c79265 path: patches/react-native-sheet-transitions.patch react-native-track-player: - hash: ul2ym56izpf2mkfucn2nug6afu + hash: debcf90daeaf7d38c744ecb11cded73b5bfc671b8d0937865ec21307414761b3 path: patches/react-native-track-player.patch workbox-precaching: - hash: frtipzgil4wle57aliuhcr746e + hash: 51e57c78af317e292b43fca4b72f57b247b7b1a1faa8b03c8881ddb798c7c52f path: patches/workbox-precaching.patch importers: @@ -261,7 +261,7 @@ importers: version: link:../../packages/utils '@pengx17/electron-forge-maker-appimage': specifier: 1.2.1 - version: 1.2.1(patch_hash=vov3v67fgv3lrfz3n24bnubw4m)(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + version: 1.2.1(patch_hash=5b5ab1ba36e8c0d7ffee912ebf29c1a18bc101c9c661ceb1bb0bda3deaf4c667)(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) '@sentry/vite-plugin': specifier: 3.1.2 version: 3.1.2(encoding@0.1.13) @@ -312,7 +312,7 @@ importers: version: 17.1.1 hono: specifier: 4.7.2 - version: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) + version: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) html-minifier-terser: specifier: 7.2.0 version: 7.2.0 @@ -363,7 +363,7 @@ importers: version: link:../../../../packages/utils '@mozilla/readability': specifier: 0.5.0 - version: 0.5.0(patch_hash=43niildbdafdxi7qfcwhpkkxwa) + version: 0.5.0(patch_hash=b3cfe10b464e980acbe8cc8bbeeab3e1b468381e75d161005192ea3c994eef56) '@openpanel/web': specifier: 1.0.1 version: 1.0.1 @@ -384,7 +384,7 @@ importers: version: 3.2.4 electron-context-menu: specifier: 4.0.5 - version: 4.0.5(patch_hash=c53at4t5fflixuwjz35hmcqdu4) + version: 4.0.5(patch_hash=c02f44f34d5af2bce9cc9df045523cf9802abd17ae9477959e950f48e370ddfe) electron-log: specifier: 5.3.0 version: 5.3.0 @@ -454,7 +454,7 @@ importers: version: 4.0.0 hono: specifier: 4.7.2 - version: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) + version: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) apps/desktop/src/renderer: dependencies: @@ -538,7 +538,7 @@ importers: version: 5.66.7(@tanstack/react-query@5.66.7(react@18.3.1))(react@18.3.1) '@tanstack/react-virtual': specifier: 3.13.0 - version: 3.13.0(patch_hash=44veyovhgqddxy4cx3biv6jmoa)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.13.0(patch_hash=0db4f6dc38be5e94d953967e34f8bdb6a08d3091a8b80ba3964fdd396c73b33c)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@use-gesture/react': specifier: 10.3.1 version: 10.3.1(react@18.3.1) @@ -613,7 +613,7 @@ importers: version: 6.2.1 immer: specifier: 10.1.1 - version: 10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu) + version: 10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c) jotai: specifier: 2.12.1 version: 2.12.1(@types/react@18.3.12)(react@18.3.1) @@ -640,7 +640,7 @@ importers: version: 0.1.1(shiki@3.0.0) re-resizable: specifier: 6.10.3 - version: 6.10.3(patch_hash=yitcmpfwcomg2fky72uc3lhk2i)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.10.3(patch_hash=3ade7aa99a03addf6dd453360e3cebfbaa12c907b138352110ad38cd65495c0d)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-blurhash: specifier: 0.3.0 version: 0.3.0(blurhash@2.0.5)(react@18.3.1) @@ -700,7 +700,7 @@ importers: version: 3.24.2 zustand: specifier: 5.0.3 - version: 5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + version: 5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) devDependencies: '@follow/atoms': specifier: workspace:* @@ -742,7 +742,317 @@ importers: specifier: 0.1.3 version: 0.1.3(react-dom@18.3.1(react@18.3.1))(react-router@7.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.34.8) - apps/desktop/src/server: + apps/mobile: + dependencies: + '@better-auth/expo': + specifier: 1.1.18 + version: 1.1.18(better-auth@1.1.18) + '@expo/react-native-action-sheet': + specifier: 4.1.0 + version: 4.1.0(react@18.3.1) + '@expo/vector-icons': + specifier: 14.0.4 + version: 14.0.4 + '@follow/components': + specifier: workspace:* + version: link:../../packages/components + '@follow/constants': + specifier: workspace:* + version: link:../../packages/constants + '@follow/hooks': + specifier: workspace:* + version: link:../../packages/hooks + '@follow/models': + specifier: workspace:* + version: link:../../packages/models + '@follow/shared': + specifier: workspace:* + version: link:../../packages/shared + '@follow/utils': + specifier: workspace:* + version: link:../../packages/utils + '@hookform/resolvers': + specifier: 4.1.0 + version: 4.1.0(react-hook-form@7.54.2(react@18.3.1)) + '@react-native-community/image-editor': + specifier: 4.3.0 + version: 4.3.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + '@react-native-picker/picker': + specifier: 2.11.0 + version: 2.11.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + '@react-navigation/bottom-tabs': + specifier: 7.2.0 + version: 7.2.0(@react-navigation/native@7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-screens@4.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + '@react-navigation/drawer': + specifier: 7.1.1 + version: 7.1.1(d7f613461f24e2c40a6cc568f02bb648) + '@react-navigation/native': + specifier: 7.0.14 + version: 7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + '@shopify/flash-list': + specifier: 1.7.3 + version: 1.7.3(@babel/runtime@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + '@tanstack/query-sync-storage-persister': + specifier: 5.66.4 + version: 5.66.4 + '@tanstack/react-query': + specifier: 5.66.7 + version: 5.66.7(react@18.3.1) + '@tanstack/react-query-persist-client': + specifier: 5.66.7 + version: 5.66.7(@tanstack/react-query@5.66.7(react@18.3.1))(react@18.3.1) + better-auth: + specifier: 1.1.18 + version: 1.1.18 + cookie-es: + specifier: 1.2.2 + version: 1.2.2 + dayjs: + specifier: 1.11.13 + version: 1.11.13 + dnum: + specifier: 2.14.0 + version: 2.14.0 + es-toolkit: + specifier: 1.32.0 + version: 1.32.0 + expo: + specifier: 52.0.35 + version: 52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5) + expo-apple-authentication: + specifier: 7.1.3 + version: 7.1.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + expo-av: + specifier: 15.0.2 + version: 15.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-blur: + specifier: 14.0.3 + version: 14.0.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-build-properties: + specifier: 0.13.2 + version: 0.13.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-clipboard: + specifier: 7.0.1 + version: 7.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-constants: + specifier: 17.0.6 + version: 17.0.6(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + expo-dev-client: + specifier: 5.0.12 + version: 5.0.12(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-document-picker: + specifier: 13.0.3 + version: 13.0.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-file-system: + specifier: 18.0.10 + version: 18.0.10(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + expo-haptics: + specifier: 14.0.1 + version: 14.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-image: + specifier: 2.0.5 + version: 2.0.5(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-linear-gradient: + specifier: 14.0.2 + version: 14.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-linking: + specifier: 7.0.5 + version: 7.0.5(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-localization: + specifier: 16.0.1 + version: 16.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-media-library: + specifier: 17.0.6 + version: 17.0.6(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + expo-router: + specifier: 4.0.17 + version: 4.0.17(30f303d6cb73ff19a9afec936d8c1f1a) + expo-secure-store: + specifier: 14.0.1 + version: 14.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-sharing: + specifier: 13.0.1 + version: 13.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-splash-screen: + specifier: 0.29.22 + version: 0.29.22(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-sqlite: + specifier: 15.1.2 + version: 15.1.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-status-bar: + specifier: 2.0.1 + version: 2.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-symbols: + specifier: 0.2.2 + version: 0.2.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) + expo-system-ui: + specifier: 4.0.8 + version: 4.0.8(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + expo-updates: + specifier: 0.26.18 + version: 0.26.18(encoding@0.1.13)(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + expo-web-browser: + specifier: 14.0.2 + version: 14.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) + hono: + specifier: 4.7.2 + version: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) + immer: + specifier: 10.1.1 + version: 10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c) + jotai: + specifier: 2.12.1 + version: 2.12.1(@types/react@18.3.12)(react@18.3.1) + lru-cache: + specifier: 11.0.2 + version: 11.0.2 + nanoid: + specifier: 5.1.0 + version: 5.1.0 + nativewind: + specifier: 4.1.23 + version: 4.1.23(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-svg@15.11.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3))) + ofetch: + specifier: 1.4.1 + version: 1.4.1 + react: + specifier: 18.3.1 + version: 18.3.1 + react-dom: + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) + react-hook-form: + specifier: 7.54.2 + version: 7.54.2(react@18.3.1) + react-native: + specifier: 0.77.0 + version: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) + react-native-awesome-slider: + specifier: 2.9.0 + version: 2.9.0(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-bouncy-checkbox: + specifier: 4.1.2 + version: 4.1.2 + react-native-color-matrix-image-filters: + specifier: 7.0.2 + version: 7.0.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-gesture-handler: + specifier: 2.23.1 + version: 2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-image-colors: + specifier: 2.4.0 + version: 2.4.0(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-ios-context-menu: + specifier: 3.1.0 + version: 3.1.0(react-native-ios-utilities@5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-ios-utilities: + specifier: 5.1.1 + version: 5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-keyboard-controller: + specifier: 1.16.3 + version: 1.16.3(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-otp-entry: + specifier: 1.8.2 + version: 1.8.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-pager-view: + specifier: 6.7.0 + version: 6.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-reanimated: + specifier: 3.16.7 + version: 3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-root-siblings: + specifier: 5.0.1 + version: 5.0.1 + react-native-safe-area-context: + specifier: 5.2.0 + version: 5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-screens: + specifier: 4.7.0 + version: 4.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-sheet-transitions: + specifier: 0.1.2 + version: 0.1.2(patch_hash=eea5876801b0aa7bd33f0ddfe1a350a37e2bf54a1d4e78537713693db7c79265)(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-svg: + specifier: 15.11.1 + version: 15.11.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-track-player: + specifier: 4.1.1 + version: 4.1.1(patch_hash=debcf90daeaf7d38c744ecb11cded73b5bfc671b8d0937865ec21307414761b3)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-uikit-colors: + specifier: 0.3.8 + version: 0.3.8(ed15ab00377db288d93141a3c7941664) + react-native-volume-manager: + specifier: 2.0.8 + version: 2.0.8(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + react-native-web: + specifier: 0.19.13 + version: 0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-native-webview: + specifier: 13.13.2 + version: 13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + shiki: + specifier: 3.0.0 + version: 3.0.0 + tailwindcss: + specifier: 3.4.16 + version: 3.4.16(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3)) + usehooks-ts: + specifier: 3.1.1 + version: 3.1.1(react@18.3.1) + zeego: + specifier: 2.0.4 + version: 2.0.4(@react-native-menu/menu@1.2.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react-native-ios-context-menu@3.1.0(react-native-ios-utilities@5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + zod: + specifier: 3.24.2 + version: 3.24.2 + zustand: + specifier: 5.0.3 + version: 5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + devDependencies: + '@babel/core': + specifier: 7.26.9 + version: 7.26.9 + '@types/react': + specifier: 18.3.12 + version: 18.3.12 + babel-plugin-inline-import: + specifier: 3.0.0 + version: 3.0.0 + babel-plugin-module-resolver: + specifier: 5.0.2 + version: 5.0.2 + drizzle-kit: + specifier: 0.30.4 + version: 0.30.4 + eas-cli: + specifier: 15.0.10 + version: 15.0.10(@types/node@22.13.4)(encoding@0.1.13)(typescript@5.7.3) + expo-drizzle-studio-plugin: + specifier: 0.1.1 + version: 0.1.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) + postcss: + specifier: 8.5.2 + version: 8.5.2 + + apps/mobile/native: + dependencies: + expo: + specifier: 52.0.35 + version: 52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5) + react: + specifier: 18.3.1 + version: 18.3.1 + react-native: + specifier: 0.77.0 + version: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) + devDependencies: + expo-module-scripts: + specifier: 4.0.4 + version: 4.0.4(25514b866b587ff076b66a9baf82537e) + + apps/mobile/web-app: {} + + apps/ssr: dependencies: '@fastify/middie': specifier: 9.0.3 @@ -834,25 +1144,25 @@ importers: devDependencies: '@follow/components': specifier: workspace:* - version: link:../../../../packages/components + version: link:../../packages/components '@follow/constants': specifier: workspace:* - version: link:../../../../packages/constants + version: link:../../packages/constants '@follow/hooks': specifier: workspace:* - version: link:../../../../packages/hooks + version: link:../../packages/hooks '@follow/models': specifier: workspace:* - version: link:../../../../packages/models + version: link:../../packages/models '@follow/shared': specifier: workspace:* - version: link:../../../../packages/shared + version: link:../../packages/shared '@follow/types': specifier: workspace:* - version: link:../../../../packages/types + version: link:../../packages/types '@follow/utils': specifier: workspace:* - version: link:../../../../packages/utils + version: link:../../packages/utils '@radix-ui/react-avatar': specifier: 1.1.3 version: 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -864,7 +1174,7 @@ importers: version: 4.0.3 daisyui: specifier: 4.12.23 - version: 4.12.23(patch_hash=igsntdatmoaxzwxof4bkkh35fy)(postcss@8.5.2) + version: 4.12.23(patch_hash=3a8f5f7ef76a29355b99bb425ff894e55ccab4335656eedbce80ef95f3e2e3f8)(postcss@8.5.2) dotenv-flow: specifier: 4.1.0 version: 4.1.0 @@ -902,316 +1212,6 @@ importers: specifier: 6.1.0 version: 6.1.0(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.7.0) - apps/mobile: - dependencies: - '@better-auth/expo': - specifier: 1.1.18 - version: 1.1.18(better-auth@1.1.18) - '@expo/react-native-action-sheet': - specifier: 4.1.0 - version: 4.1.0(react@18.3.1) - '@expo/vector-icons': - specifier: 14.0.4 - version: 14.0.4 - '@follow/components': - specifier: workspace:* - version: link:../../packages/components - '@follow/constants': - specifier: workspace:* - version: link:../../packages/constants - '@follow/hooks': - specifier: workspace:* - version: link:../../packages/hooks - '@follow/models': - specifier: workspace:* - version: link:../../packages/models - '@follow/shared': - specifier: workspace:* - version: link:../../packages/shared - '@follow/utils': - specifier: workspace:* - version: link:../../packages/utils - '@hookform/resolvers': - specifier: 4.1.0 - version: 4.1.0(react-hook-form@7.54.2(react@18.3.1)) - '@react-native-community/image-editor': - specifier: 4.3.0 - version: 4.3.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - '@react-native-picker/picker': - specifier: 2.11.0 - version: 2.11.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - '@react-navigation/bottom-tabs': - specifier: 7.2.0 - version: 7.2.0(@react-navigation/native@7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-screens@4.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - '@react-navigation/drawer': - specifier: 7.1.1 - version: 7.1.1(dn4ugkyn452xw2pin3a3e5hzee) - '@react-navigation/native': - specifier: 7.0.14 - version: 7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - '@shopify/flash-list': - specifier: 1.7.3 - version: 1.7.3(@babel/runtime@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - '@tanstack/query-sync-storage-persister': - specifier: 5.66.4 - version: 5.66.4 - '@tanstack/react-query': - specifier: 5.66.7 - version: 5.66.7(react@18.3.1) - '@tanstack/react-query-persist-client': - specifier: 5.66.7 - version: 5.66.7(@tanstack/react-query@5.66.7(react@18.3.1))(react@18.3.1) - better-auth: - specifier: 1.1.18 - version: 1.1.18 - cookie-es: - specifier: 1.2.2 - version: 1.2.2 - dayjs: - specifier: 1.11.13 - version: 1.11.13 - dnum: - specifier: 2.14.0 - version: 2.14.0 - es-toolkit: - specifier: 1.32.0 - version: 1.32.0 - expo: - specifier: 52.0.35 - version: 52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5) - expo-apple-authentication: - specifier: 7.1.3 - version: 7.1.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - expo-av: - specifier: 15.0.2 - version: 15.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-blur: - specifier: 14.0.3 - version: 14.0.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-build-properties: - specifier: 0.13.2 - version: 0.13.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-clipboard: - specifier: 7.0.1 - version: 7.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-constants: - specifier: 17.0.6 - version: 17.0.6(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - expo-dev-client: - specifier: 5.0.12 - version: 5.0.12(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-document-picker: - specifier: 13.0.3 - version: 13.0.3(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-file-system: - specifier: 18.0.10 - version: 18.0.10(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - expo-haptics: - specifier: 14.0.1 - version: 14.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-image: - specifier: 2.0.5 - version: 2.0.5(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-linear-gradient: - specifier: 14.0.2 - version: 14.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-linking: - specifier: 7.0.5 - version: 7.0.5(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-localization: - specifier: 16.0.1 - version: 16.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-media-library: - specifier: 17.0.6 - version: 17.0.6(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - expo-router: - specifier: 4.0.17 - version: 4.0.17(sx2rg5pf3yaycbspmpqenw3xmi) - expo-secure-store: - specifier: 14.0.1 - version: 14.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-sharing: - specifier: 13.0.1 - version: 13.0.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-splash-screen: - specifier: 0.29.22 - version: 0.29.22(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-sqlite: - specifier: 15.1.2 - version: 15.1.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-status-bar: - specifier: 2.0.1 - version: 2.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-symbols: - specifier: 0.2.2 - version: 0.2.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5)) - expo-system-ui: - specifier: 4.0.8 - version: 4.0.8(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native-web@0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - expo-updates: - specifier: 0.26.18 - version: 0.26.18(encoding@0.1.13)(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - expo-web-browser: - specifier: 14.0.2 - version: 14.0.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) - hono: - specifier: 4.7.2 - version: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) - immer: - specifier: 10.1.1 - version: 10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu) - jotai: - specifier: 2.12.1 - version: 2.12.1(@types/react@18.3.12)(react@18.3.1) - lru-cache: - specifier: 11.0.2 - version: 11.0.2 - nanoid: - specifier: 5.1.0 - version: 5.1.0 - nativewind: - specifier: 4.1.23 - version: 4.1.23(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-svg@15.11.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3))) - ofetch: - specifier: 1.4.1 - version: 1.4.1 - react: - specifier: 18.3.1 - version: 18.3.1 - react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) - react-hook-form: - specifier: 7.54.2 - version: 7.54.2(react@18.3.1) - react-native: - specifier: 0.77.0 - version: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) - react-native-awesome-slider: - specifier: 2.9.0 - version: 2.9.0(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-bouncy-checkbox: - specifier: 4.1.2 - version: 4.1.2 - react-native-color-matrix-image-filters: - specifier: 7.0.2 - version: 7.0.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-gesture-handler: - specifier: 2.23.1 - version: 2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-image-colors: - specifier: 2.4.0 - version: 2.4.0(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-ios-context-menu: - specifier: 3.1.0 - version: 3.1.0(react-native-ios-utilities@5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-ios-utilities: - specifier: 5.1.1 - version: 5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-keyboard-controller: - specifier: 1.16.3 - version: 1.16.3(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-otp-entry: - specifier: 1.8.2 - version: 1.8.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-pager-view: - specifier: 6.7.0 - version: 6.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-reanimated: - specifier: 3.16.7 - version: 3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-root-siblings: - specifier: 5.0.1 - version: 5.0.1 - react-native-safe-area-context: - specifier: 5.2.0 - version: 5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-screens: - specifier: 4.7.0 - version: 4.7.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-sheet-transitions: - specifier: 0.1.2 - version: 0.1.2(patch_hash=xmkq4ssu3mefxtr2e65xl27hxi)(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-svg: - specifier: 15.11.1 - version: 15.11.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-track-player: - specifier: 4.1.1 - version: 4.1.1(patch_hash=ul2ym56izpf2mkfucn2nug6afu)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-uikit-colors: - specifier: 0.3.8 - version: 0.3.8(fe3lmks7adwcuf5fbpjna3wt2m) - react-native-volume-manager: - specifier: 2.0.8 - version: 2.0.8(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - react-native-web: - specifier: 0.19.13 - version: 0.19.13(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-native-webview: - specifier: 13.13.2 - version: 13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - shiki: - specifier: 3.0.0 - version: 3.0.0 - tailwindcss: - specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3)) - usehooks-ts: - specifier: 3.1.1 - version: 3.1.1(react@18.3.1) - zeego: - specifier: 2.0.4 - version: 2.0.4(@react-native-menu/menu@1.2.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react-native-ios-context-menu@3.1.0(react-native-ios-utilities@5.1.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - zod: - specifier: 3.24.2 - version: 3.24.2 - zustand: - specifier: 5.0.3 - version: 5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) - devDependencies: - '@babel/core': - specifier: 7.26.9 - version: 7.26.9 - '@types/react': - specifier: 18.3.12 - version: 18.3.12 - babel-plugin-inline-import: - specifier: 3.0.0 - version: 3.0.0 - babel-plugin-module-resolver: - specifier: 5.0.2 - version: 5.0.2 - drizzle-kit: - specifier: 0.30.4 - version: 0.30.4 - eas-cli: - specifier: 15.0.10 - version: 15.0.10(@types/node@22.13.4)(encoding@0.1.13)(typescript@5.7.3) - expo-drizzle-studio-plugin: - specifier: 0.1.1 - version: 0.1.1(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) - postcss: - specifier: 8.5.2 - version: 8.5.2 - - apps/mobile/native: - dependencies: - expo: - specifier: 52.0.35 - version: 52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5) - react: - specifier: 18.3.1 - version: 18.3.1 - react-native: - specifier: 0.77.0 - version: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) - devDependencies: - expo-module-scripts: - specifier: 4.0.4 - version: 4.0.4(v6ktukj2nf4iuhjuuz6cntfrdu) - - apps/mobile/web-app: {} - packages/atoms: dependencies: '@follow/hooks': @@ -1252,7 +1252,7 @@ importers: version: 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@microflash/remark-callout-directives': specifier: 4.3.3 - version: 4.3.3(patch_hash=bl6uhe4vs4xm3d2jmecdpzbh2m) + version: 4.3.3(patch_hash=6160b1cf0eab6deca36415693dda703746edcd42e0e64b9174294e2210481396) '@radix-ui/react-avatar': specifier: 1.1.3 version: 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1463,7 +1463,7 @@ importers: version: link:../utils hono: specifier: 4.7.2 - version: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) + version: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) packages/shared: dependencies: @@ -1475,7 +1475,7 @@ importers: version: 1.0.1(@types/node@22.13.4) '@hono/node-server': specifier: 1.13.8 - version: 1.13.8(hono@4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24)) + version: 1.13.8(hono@4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7)) '@t3-oss/env-core': specifier: 0.12.0 version: 0.12.0(typescript@5.7.3)(zod@3.24.2) @@ -1487,7 +1487,7 @@ importers: version: 0.39.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.1.2(expo@52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(kysely@0.27.5) hono: specifier: 4.7.2 - version: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) + version: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) sonner: specifier: 2.0.0 version: 2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -2379,7 +2379,7 @@ packages: resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} peerDependencies: '@dnd-kit/core': ^6.3.0 - react: 18.3.1 + react: '>=16.8.0' '@dnd-kit/utilities@3.2.2': resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} @@ -3302,8 +3302,8 @@ packages: resolution: {integrity: sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ==} engines: {node: '>=10'} peerDependencies: - react: 18.3.1 - react-dom: 18.3.1 + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc '@hexagon/base64@1.1.28': resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} @@ -3364,8 +3364,8 @@ packages: '@innei/react-resizable-layout@0.7.3-fork.1': resolution: {integrity: sha512-xBgY0+prk58+Hq235dmdi9AI60xYxqGEYxP44t2+3IqZoa/MUNC3FbGz1ICFGhaQurY/hUPQGOawZNVmcw8tNw==} peerDependencies: - react: 18.3.1 - react-dom: 18.3.1 + react: '>=17.0.0' + react-dom: '>=17.0.0' '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -3531,7 +3531,7 @@ packages: '@lottiefiles/dotlottie-react@0.13.0': resolution: {integrity: sha512-zSOqA/P6MAOjHWTBiQd2T/NAbIFDVM2rsCSVHjjBHvYZ1yB5ehdggUBVnj83Fb99xAgCdcHYWTC1c9Yl70zxMg==} peerDependencies: - react: 18.3.1 + react: ^17 || ^18 || ^19 '@lottiefiles/dotlottie-web@0.40.1': resolution: {integrity: sha512-iNz1rr8zRTSJ0xCZEPeoCX6YnaNhBdkF7gJWhSa8bwB4NTrYZm0vAuC0jF/aLLhU7q9nf6ykxffrz0Sf4JPSPg==} @@ -4053,10 +4053,10 @@ packages: '@radix-ui/react-checkbox@1.1.4': resolution: {integrity: sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw==} peerDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - react: 18.3.1 - react-dom: 18.3.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -4084,7 +4084,7 @@ packages: '@radix-ui/react-compose-refs@1.1.1': resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} peerDependencies: - '@types/react': npm:@types/react@18.3.12 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -4106,7 +4106,7 @@ packages: '@radix-ui/react-context@1.1.1': resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} peerDependencies: - '@types/react': npm:@types/react@18.3.12 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -4163,7 +4163,7 @@ packages: '@radix-ui/react-focus-guards@1.1.1': resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: - '@types/react': npm:@types/react@18.3.12 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -4451,7 +4451,7 @@ packages: '@radix-ui/react-use-controllable-state@1.1.0': resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: - '@types/react': npm:@types/react@18.3.12 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -5655,7 +5655,7 @@ packages: '@use-gesture/react@10.3.1': resolution: {integrity: sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==} peerDependencies: - react: 18.3.1 + react: '>= 16.8.0' '@vercel/build-utils@10.1.0': resolution: {integrity: sha512-JPff3brfZx0mTl+0Cmzz220MmnTSYnBgVqVvT6a8lVALJHr75sKaNxZy0/hWZe8ev+w2JwLGMmJwP2TKHtKeHA==} @@ -5785,7 +5785,7 @@ packages: '@welldone-software/why-did-you-render@10.0.1': resolution: {integrity: sha512-tMgGkt30iVYeLMUKExNmtm019QgyjLtA7lwB0QAizYNEuihlCG2eoAWBBaz/bDeI7LeqAJ9msC6hY3vX+JB97g==} peerDependencies: - react: 18.3.1 + react: ^19 '@xmldom/xmldom@0.7.13': resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} @@ -8902,7 +8902,7 @@ packages: foxact@0.2.44: resolution: {integrity: sha512-+dBx0dXnfTDuYrDIDXYVeQw+Dw6YEDwyZwvmkycCuzP78rWfE7xBSzlEIX46ge14hD4DZ3i2tTEE3SoDTAVihA==} peerDependencies: - react: 18.3.1 + react: '*' peerDependenciesMeta: react: optional: true @@ -15165,7 +15165,7 @@ snapshots: dependencies: ajv: 8.17.1 json-schema: 0.4.0 - jsonpointer: 5.0.1(patch_hash=prxuhlhyjugus5tiew4vc3pahu) + jsonpointer: 5.0.1(patch_hash=ad796d54956ca5a7e9e5232503e5f22d4ffa732fc4552a7e53121ea5fa81d6c1) leven: 3.1.0 '@auth/core@0.37.4': @@ -17807,15 +17807,15 @@ snapshots: '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/focus': 3.19.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-virtual': 3.13.0(patch_hash=44veyovhgqddxy4cx3biv6jmoa)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-virtual': 3.13.0(patch_hash=0db4f6dc38be5e94d953967e34f8bdb6a08d3091a8b80ba3964fdd396c73b33c)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) '@hexagon/base64@1.1.28': {} - '@hono/node-server@1.13.8(hono@4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24))': + '@hono/node-server@1.13.8(hono@4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7))': dependencies: - hono: 4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24) + hono: 4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7) '@hookform/resolvers@4.1.0(react-hook-form@7.54.2(react@18.3.1))': dependencies: @@ -18219,7 +18219,7 @@ snapshots: - encoding - supports-color - '@microflash/remark-callout-directives@4.3.3(patch_hash=bl6uhe4vs4xm3d2jmecdpzbh2m)': + '@microflash/remark-callout-directives@4.3.3(patch_hash=6160b1cf0eab6deca36415693dda703746edcd42e0e64b9174294e2210481396)': dependencies: defu: 6.1.4 hastscript: 9.0.0 @@ -18228,7 +18228,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@mozilla/readability@0.5.0(patch_hash=43niildbdafdxi7qfcwhpkkxwa)': {} + '@mozilla/readability@0.5.0(patch_hash=b3cfe10b464e980acbe8cc8bbeeab3e1b468381e75d161005192ea3c994eef56)': {} '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': optional: true @@ -18818,7 +18818,7 @@ snapshots: pvtsutils: 1.3.6 tslib: 2.8.1 - '@pengx17/electron-forge-maker-appimage@1.2.1(patch_hash=vov3v67fgv3lrfz3n24bnubw4m)(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8)': + '@pengx17/electron-forge-maker-appimage@1.2.1(patch_hash=5b5ab1ba36e8c0d7ffee912ebf29c1a18bc101c9c661ceb1bb0bda3deaf4c667)(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8)': dependencies: '@electron-forge/maker-base': 7.7.0 '@electron-forge/shared-types': 7.7.0 @@ -19769,7 +19769,7 @@ snapshots: use-latest-callback: 0.2.3(react@18.3.1) use-sync-external-store: 1.4.0(react@18.3.1) - '@react-navigation/drawer@7.1.1(dn4ugkyn452xw2pin3a3e5hzee)': + '@react-navigation/drawer@7.1.1(d7f613461f24e2c40a6cc568f02bb648)': dependencies: '@react-navigation/elements': 2.2.5(@react-navigation/native@7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) '@react-navigation/native': 7.0.14(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) @@ -20414,7 +20414,7 @@ snapshots: '@tanstack/query-core': 5.66.4 react: 18.3.1 - '@tanstack/react-virtual@3.13.0(patch_hash=44veyovhgqddxy4cx3biv6jmoa)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.13.0(patch_hash=0db4f6dc38be5e94d953967e34f8bdb6a08d3091a8b80ba3964fdd396c73b33c)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/virtual-core': 3.13.0 react: 18.3.1 @@ -22838,7 +22838,7 @@ snapshots: culori@3.3.0: {} - daisyui@4.12.23(patch_hash=igsntdatmoaxzwxof4bkkh35fy)(postcss@8.5.2): + daisyui@4.12.23(patch_hash=3a8f5f7ef76a29355b99bb425ff894e55ccab4335656eedbce80ef95f3e2e3f8)(postcss@8.5.2): dependencies: css-selector-tokenizer: 0.8.0 culori: 3.3.0 @@ -23040,7 +23040,7 @@ snapshots: detect-node@2.1.0: optional: true - devlop@1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa): + devlop@1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295): dependencies: dequal: 2.0.3 @@ -23331,7 +23331,7 @@ snapshots: - dmg-builder - supports-color - electron-context-menu@4.0.5(patch_hash=c53at4t5fflixuwjz35hmcqdu4): + electron-context-menu@4.0.5(patch_hash=c02f44f34d5af2bce9cc9df045523cf9802abd17ae9477959e950f48e370ddfe): dependencies: cli-truncate: 4.0.0 electron-dl: 4.0.0 @@ -24468,7 +24468,7 @@ snapshots: expo: 52.0.35(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@expo/metro-runtime@4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)))(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.8.1)(react-native-webview@13.13.2(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(utf-8-validate@6.0.5) react-native: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) - expo-module-scripts@4.0.4(v6ktukj2nf4iuhjuuz6cntfrdu): + expo-module-scripts@4.0.4(25514b866b587ff076b66a9baf82537e): dependencies: '@babel/cli': 7.26.4(@babel/core@7.26.9) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.9) @@ -24483,7 +24483,7 @@ snapshots: commander: 12.1.0 eslint-config-universe: 14.0.0(@types/eslint@9.6.1)(eslint@9.20.1(jiti@2.4.2))(prettier@3.5.1)(typescript@5.7.3) glob: 10.4.5 - jest-expo: 52.0.4(2en54dacn5jatfqxv77ym5375i) + jest-expo: 52.0.4(5937d57bbb55980896a92c1ef7b3e587) jest-snapshot-prettier: prettier@2.8.8 jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3))) resolve-workspace-root: 2.0.0 @@ -24529,7 +24529,7 @@ snapshots: dependencies: invariant: 2.2.4 - expo-router@4.0.17(sx2rg5pf3yaycbspmpqenw3xmi): + expo-router@4.0.17(30f303d6cb73ff19a9afec936d8c1f1a): dependencies: '@expo/metro-runtime': 4.0.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5)) '@expo/server': 0.5.1(typescript@5.7.3) @@ -24550,7 +24550,7 @@ snapshots: semver: 7.6.3 server-only: 0.0.1 optionalDependencies: - '@react-navigation/drawer': 7.1.1(dn4ugkyn452xw2pin3a3e5hzee) + '@react-navigation/drawer': 7.1.1(d7f613461f24e2c40a6cc568f02bb648) react-native-reanimated: 3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1) transitivePeerDependencies: - '@react-native-masked-view/masked-view' @@ -25462,7 +25462,7 @@ snapshots: hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) hast-util-from-parse5: 8.0.2 parse5: 7.2.1 vfile: 5.3.7 @@ -25472,7 +25472,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) hastscript: 9.0.0 property-information: 6.5.0 vfile: 5.3.7 @@ -25524,7 +25524,7 @@ snapshots: bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 css-selector-parser: 3.0.5 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) direction: 2.0.1 hast-util-has-property: 3.0.0 hast-util-to-string: 3.0.1 @@ -25555,7 +25555,7 @@ snapshots: '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.1 @@ -25639,7 +25639,7 @@ snapshots: dependencies: react-is: 16.13.1 - hono@4.7.2(patch_hash=qptujxncoai6tukc4qaqsrqk24): {} + hono@4.7.2(patch_hash=6047bef19d376e1a11e462a082e491d7320d00056c604b105cb9a04be4657bb7): {} hosted-git-info@2.8.9: {} @@ -25809,7 +25809,7 @@ snapshots: immediate@3.0.6: {} - immer@10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu): {} + immer@10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c): {} import-fresh@2.0.0: dependencies: @@ -26026,7 +26026,7 @@ snapshots: generate-function: 2.3.1 generate-object-property: 1.2.0 is-my-ip-valid: 1.0.1 - jsonpointer: 5.0.1(patch_hash=prxuhlhyjugus5tiew4vc3pahu) + jsonpointer: 5.0.1(patch_hash=ad796d54956ca5a7e9e5232503e5f22d4ffa732fc4552a7e53121ea5fa81d6c1) xtend: 4.0.2 optional: true @@ -26321,7 +26321,7 @@ snapshots: jest-mock: 29.7.0 jest-util: 29.7.0 - jest-expo@52.0.4(2en54dacn5jatfqxv77ym5375i): + jest-expo@52.0.4(5937d57bbb55980896a92c1ef7b3e587): dependencies: '@expo/config': 10.0.10 '@expo/json-file': 9.0.2 @@ -26778,7 +26778,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonpointer@5.0.1(patch_hash=prxuhlhyjugus5tiew4vc3pahu): {} + jsonpointer@5.0.1(patch_hash=ad796d54956ca5a7e9e5232503e5f22d4ffa732fc4552a7e53121ea5fa81d6c1): {} jsonwebtoken@9.0.0: dependencies: @@ -27259,7 +27259,7 @@ snapshots: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 ccount: 2.0.1 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.2 @@ -27280,7 +27280,7 @@ snapshots: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 decode-named-character-reference: 1.0.2 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-to-string: 4.0.0 micromark: 4.0.1 micromark-util-decode-numeric-character-reference: 2.0.2 @@ -27296,14 +27296,14 @@ snapshots: dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-find-and-replace: 3.0.2 micromark-util-character: 2.1.1 mdast-util-gfm-footnote@2.1.0: dependencies: '@types/mdast': 4.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 @@ -27321,7 +27321,7 @@ snapshots: mdast-util-gfm-table@2.0.0: dependencies: '@types/mdast': 4.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) markdown-table: 3.0.4 mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 @@ -27331,7 +27331,7 @@ snapshots: mdast-util-gfm-task-list-item@2.0.0: dependencies: '@types/mdast': 4.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: @@ -27354,7 +27354,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: @@ -27367,7 +27367,7 @@ snapshots: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 ccount: 2.0.1 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.2 @@ -27382,7 +27382,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: @@ -27398,7 +27398,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 '@ungap/structured-clone': 1.3.0 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 @@ -27618,7 +27618,7 @@ snapshots: micromark-core-commonmark@2.0.2: dependencies: decode-named-character-reference: 1.0.2 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 micromark-factory-space: 2.0.1 @@ -27636,7 +27636,7 @@ snapshots: micromark-extension-directive@3.0.2: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-factory-space: 2.0.1 micromark-factory-whitespace: 2.0.1 micromark-util-character: 2.1.1 @@ -27653,7 +27653,7 @@ snapshots: micromark-extension-gfm-footnote@2.1.0: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-core-commonmark: 2.0.2 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -27664,7 +27664,7 @@ snapshots: micromark-extension-gfm-strikethrough@2.1.0: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-util-chunked: 2.0.1 micromark-util-classify-character: 2.0.1 micromark-util-resolve-all: 2.0.1 @@ -27673,7 +27673,7 @@ snapshots: micromark-extension-gfm-table@2.1.1: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 @@ -27685,7 +27685,7 @@ snapshots: micromark-extension-gfm-task-list-item@2.1.0: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 @@ -27710,7 +27710,7 @@ snapshots: micromark-factory-label@2.0.1: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -27785,7 +27785,7 @@ snapshots: micromark-util-subtokenize@2.0.4: dependencies: - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-util-chunked: 2.0.1 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -27799,7 +27799,7 @@ snapshots: '@types/debug': 4.1.12 debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) micromark-core-commonmark: 2.0.2 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -29173,7 +29173,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - re-resizable@6.10.3(patch_hash=yitcmpfwcomg2fky72uc3lhk2i)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + re-resizable@6.10.3(patch_hash=3ade7aa99a03addf6dd453360e3cebfbaa12c907b138352110ad38cd65495c0d)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -29389,7 +29389,7 @@ snapshots: react-native: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) warn-once: 0.1.1 - react-native-sheet-transitions@0.1.2(patch_hash=xmkq4ssu3mefxtr2e65xl27hxi)(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1): + react-native-sheet-transitions@0.1.2(patch_hash=eea5876801b0aa7bd33f0ddfe1a350a37e2bf54a1d4e78537713693db7c79265)(react-native-gesture-handler@2.23.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1): dependencies: react: 18.3.1 react-native: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) @@ -29404,12 +29404,12 @@ snapshots: react-native: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) warn-once: 0.1.1 - react-native-track-player@4.1.1(patch_hash=ul2ym56izpf2mkfucn2nug6afu)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1): + react-native-track-player@4.1.1(patch_hash=debcf90daeaf7d38c744ecb11cded73b5bfc671b8d0937865ec21307414761b3)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1): dependencies: react: 18.3.1 react-native: 0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5) - react-native-uikit-colors@0.3.8(fe3lmks7adwcuf5fbpjna3wt2m): + react-native-uikit-colors@0.3.8(ed15ab00377db288d93141a3c7941664): dependencies: apple-uikit-colors: 0.3.8 nativewind: 4.1.23(react-native-reanimated@3.16.7(@babel/core@7.26.9)(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-safe-area-context@5.2.0(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native-svg@15.11.1(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1))(react-native@0.77.0(@babel/core@7.26.9)(@babel/preset-env@7.26.9(@babel/core@7.26.9))(@types/react@18.3.12)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@6.0.5))(react@18.3.1)(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.13.4)(typescript@5.7.3))) @@ -31439,7 +31439,7 @@ snapshots: dependencies: '@types/unist': 3.0.3 bail: 2.0.2 - devlop: 1.1.0(patch_hash=xzgzapu45daboiid4fiusduvwa) + devlop: 1.1.0(patch_hash=85f2288a0e6d458382af88dcb0cc3faa8a122712c1c5eddda2b9a75379176295) extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 @@ -32068,7 +32068,7 @@ snapshots: workbox-expiration: 7.3.0 workbox-google-analytics: 7.3.0 workbox-navigation-preload: 7.3.0 - workbox-precaching: 7.3.0(patch_hash=frtipzgil4wle57aliuhcr746e) + workbox-precaching: 7.3.0(patch_hash=51e57c78af317e292b43fca4b72f57b247b7b1a1faa8b03c8881ddb798c7c52f) workbox-range-requests: 7.3.0 workbox-recipes: 7.3.0 workbox-routing: 7.3.0 @@ -32102,7 +32102,7 @@ snapshots: dependencies: workbox-core: 7.3.0 - workbox-precaching@7.3.0(patch_hash=frtipzgil4wle57aliuhcr746e): + workbox-precaching@7.3.0(patch_hash=51e57c78af317e292b43fca4b72f57b247b7b1a1faa8b03c8881ddb798c7c52f): dependencies: workbox-core: 7.3.0 workbox-routing: 7.3.0 @@ -32117,7 +32117,7 @@ snapshots: workbox-cacheable-response: 7.3.0 workbox-core: 7.3.0 workbox-expiration: 7.3.0 - workbox-precaching: 7.3.0(patch_hash=frtipzgil4wle57aliuhcr746e) + workbox-precaching: 7.3.0(patch_hash=51e57c78af317e292b43fca4b72f57b247b7b1a1faa8b03c8881ddb798c7c52f) workbox-routing: 7.3.0 workbox-strategies: 7.3.0 @@ -32302,10 +32302,10 @@ snapshots: zod@3.24.2: {} - zustand@5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.3(@types/react@18.3.12)(immer@10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c))(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): optionalDependencies: '@types/react': 18.3.12 - immer: 10.1.1(patch_hash=og7mbnoo5vh43tjlw5rbmrdbvu) + immer: 10.1.1(patch_hash=594c60b929bc0a3b56576f1a1787da1aec2a1fba51e3c21ec09c0ed38280af6c) react: 18.3.1 use-sync-external-store: 1.4.0(react@18.3.1) diff --git a/scripts/skip-main-app-vercel-build.sh b/scripts/skip-main-app-vercel-build.sh index 0d5c90d09..9e152418c 100644 --- a/scripts/skip-main-app-vercel-build.sh +++ b/scripts/skip-main-app-vercel-build.sh @@ -6,7 +6,7 @@ CHANGED_FILES=$(git diff --name-only $LAST_DEPLOY_COMMIT HEAD) ONLY_SERVER_CHANGES=true for file in $CHANGED_FILES; do - if [[ $file != apps/desktop/src/server/* ]]; then + if [[ $file != apps/ssr/* ]]; then ONLY_SERVER_CHANGES=false break fi diff --git a/turbo.json b/turbo.json index 085df874d..e7e089d80 100644 --- a/turbo.json +++ b/turbo.json @@ -26,7 +26,7 @@ "typecheck": { "dependsOn": ["@follow/electron-main#build"] }, - "@follow/server#build": { + "@follow/ssr#build": { "outputs": ["dist/**"] }, "dev": {