diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md
index 9b6da56..83abb56 100644
--- a/GETTING_STARTED.md
+++ b/GETTING_STARTED.md
@@ -373,4 +373,4 @@ If you encounter any issues during setup:
4. Try running `pnpm install` again from the root directory
5. Review the error messages carefully - they often contain helpful debugging information
-For project-specific questions, refer to [CLAUDE.md](CLAUDE.md) or open an issue on GitHub.
\ No newline at end of file
+For project-specific questions, refer to [CLAUDE.md](CLAUDE.md) or open an issue on GitHub.
diff --git a/apps/landing/next.config.ts b/apps/landing/next.config.ts
index 7329063..eb90e14 100644
--- a/apps/landing/next.config.ts
+++ b/apps/landing/next.config.ts
@@ -1,7 +1,44 @@
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
- /* config options here */
+ async headers() {
+ return [
+ {
+ source: '/:path*',
+ headers: [
+ {
+ key: 'X-DNS-Prefetch-Control',
+ value: 'on',
+ },
+ {
+ key: 'Strict-Transport-Security',
+ value: 'max-age=63072000; includeSubDomains; preload',
+ },
+ {
+ key: 'X-Content-Type-Options',
+ value: 'nosniff',
+ },
+ {
+ key: 'X-Frame-Options',
+ value: 'DENY',
+ },
+ {
+ key: 'Content-Security-Policy',
+ value:
+ "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' fonts.googleapis.com; font-src 'self' fonts.gstatic.com data:; img-src 'self' data: https:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self';",
+ },
+ {
+ key: 'Referrer-Policy',
+ value: 'strict-origin-when-cross-origin',
+ },
+ {
+ key: 'Permissions-Policy',
+ value: 'camera=(), microphone=(), geolocation=()',
+ },
+ ],
+ },
+ ]
+ },
}
export default nextConfig
diff --git a/apps/landing/src/app/globals.css b/apps/landing/src/app/globals.css
index 0390a2f..7bf057b 100644
--- a/apps/landing/src/app/globals.css
+++ b/apps/landing/src/app/globals.css
@@ -1,21 +1,22 @@
@import 'tailwindcss';
-@import '@superpool/design/tokens.css';
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&family=Geist:wght@300;400;500;600;700&display=swap');
-@theme inline {
+@custom-variant dark (&:where(.dark, .dark *));
+
+@theme {
/* SuperPool Design System Colors */
--color-primary: #2563eb;
- --color-secondary: #0f172a;
--color-accent: #06b6d4;
--color-success: #10b981;
--color-warning: #f59e0b;
--color-error: #ef4444;
- /* Background Colors */
+ /* Background/Foreground colors */
--color-background: #ffffff;
- --color-background-dark: #0f172a;
+ --color-secondary: #f8f9fa;
--color-foreground: #0f172a;
--color-foreground-muted: #64748b;
+ --color-inverted: #0f172a;
/* Typography - SuperPool Contemporary Tech */
--font-primary: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
@@ -34,12 +35,17 @@
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
-@media (prefers-color-scheme: dark) {
- @theme inline {
- --color-background: var(--color-background-dark);
- --color-foreground: #ffffff;
- --color-foreground-muted: #94a3b8;
- }
+/* Dark theme */
+.dark {
+ --color-background: #0f172a;
+ --color-secondary: #1e293b;
+ --color-foreground: #ffffff;
+ --color-foreground-muted: #94a3b8;
+ --color-inverted: #ffffff;
+}
+
+html {
+ scroll-behavior: smooth;
}
body {
diff --git a/apps/landing/src/app/layout.tsx b/apps/landing/src/app/layout.tsx
index 9533389..4197f10 100644
--- a/apps/landing/src/app/layout.tsx
+++ b/apps/landing/src/app/layout.tsx
@@ -1,6 +1,7 @@
import type { Metadata } from 'next'
import { Geist, Geist_Mono } from 'next/font/google'
import './globals.css'
+import { ThemeProvider } from '@/contexts/ThemeContext'
const geistSans = Geist({
variable: '--font-geist-sans',
@@ -24,7 +25,9 @@ export default function RootLayout({
}>) {
return (
-
{children}
+
+ {children}
+
)
}
diff --git a/apps/landing/src/app/page.tsx b/apps/landing/src/app/page.tsx
index 50fee74..7ffc3c4 100644
--- a/apps/landing/src/app/page.tsx
+++ b/apps/landing/src/app/page.tsx
@@ -1,189 +1,19 @@
-import { Button } from '@superpool/ui'
-import Image from 'next/image'
+'use client'
-const features = [
- {
- icon: '🔐',
- title: 'Secure Wallet Authentication',
- description:
- 'Connect with 100+ wallets including MetaMask, WalletConnect, and Coinbase. Secure signature-based login with no passwords required.',
- image: '/images/illustrations/feature_1.png',
- },
- {
- icon: '🏊',
- title: 'Create & Join Lending Pools',
- description:
- 'Start your own micro-lending community or join existing pools. Each pool has its own members and lending parameters managed by administrators.',
- image: '/images/illustrations/feature_2.png',
- },
- {
- icon: '💰',
- title: 'Contribute & Borrow Funds',
- description:
- 'Pool members can contribute POL to provide liquidity and request loans from their trusted community with AI-assisted approval.',
- image: '/images/illustrations/feature_3.png',
- },
- {
- icon: '🛡️',
- title: 'Multi-Sig Security',
- description:
- 'Enhanced security through multi-signature wallet controls for all critical protocol actions, ensuring decentralized governance and protection.',
- image: '/images/illustrations/feature_4.png',
- },
-]
+import { Navigation } from '@/components/Navigation'
+import { HeroSection } from '@/components/HeroSection'
+import { FeaturesSection } from '@/components/FeaturesSection'
+import { CTASection } from '@/components/CTASection'
+import { Footer } from '@/components/Footer'
export default function Home() {
return (
-
- {/* Navigation */}
-
-
-
-
-
-
-
- Features
- About
-
- Launch App
-
-
-
-
-
-
- {/* Hero Section */}
-
-
-
- Decentralized
- Micro-Lending
-
- on Polygon
-
-
- Create trusted lending pools with your community. Secure, transparent, and governed by multi-signature wallets for maximum
- security.
-
-
-
- Launch App
-
-
- View on GitHub
-
-
-
-
-
- {/* Features Section */}
-
-
-
-
How SuperPool Works
-
Four simple steps to decentralized lending
-
-
-
- {features.map((feature, index) => (
-
-
-
{feature.icon}
-
{feature.title}
-
{feature.description}
-
-
-
- ))}
-
-
-
-
- {/* CTA Section */}
-
-
-
Ready to Start Lending?
-
Join the decentralized lending revolution on Polygon
-
- Launch SuperPool App
-
-
-
-
- {/* Footer */}
-
-
-
-
-
-
-
-
Decentralized micro-lending platform built on Polygon with multi-signature security.
-
-
- GitHub
-
-
- Twitter
-
-
- Discord
-
-
-
-
-
-
-
-
© 2025 SuperPool. Built with ❤️ for the DeFi community.
-
-
-
+
+
+
+
+
+
)
}
diff --git a/apps/landing/src/components/CTASection.tsx b/apps/landing/src/components/CTASection.tsx
new file mode 100644
index 0000000..78f7749
--- /dev/null
+++ b/apps/landing/src/components/CTASection.tsx
@@ -0,0 +1,17 @@
+import { Button } from '@superpool/ui'
+
+export function CTASection() {
+ return (
+
+ )
+}
diff --git a/apps/landing/src/components/FeaturesSection.tsx b/apps/landing/src/components/FeaturesSection.tsx
new file mode 100644
index 0000000..36859c2
--- /dev/null
+++ b/apps/landing/src/components/FeaturesSection.tsx
@@ -0,0 +1,61 @@
+import Image from 'next/image'
+
+const features = [
+ {
+ title: 'Secure Wallet Authentication',
+ description:
+ 'Secure signature-based login system supporting 500+ wallet providers through WalletConnect protocol. No passwords required.',
+ image: '/images/illustrations/feature_1.png',
+ },
+ {
+ title: 'Create & Join Lending Pools',
+ description:
+ 'Start your own micro-lending community or join existing pools. Each pool has its own members and lending parameters managed by administrators.',
+ image: '/images/illustrations/feature_2.png',
+ },
+ {
+ title: 'Contribute & Borrow Funds',
+ description: 'Pool members can contribute liquidity and request loans from their trusted community with AI-assisted approval.',
+ image: '/images/illustrations/feature_3.png',
+ },
+ {
+ title: 'Multi-Sig Security',
+ description:
+ 'Enhanced security through multi-signature wallet controls for all critical protocol actions, ensuring decentralized governance and protection.',
+ image: '/images/illustrations/feature_4.png',
+ },
+]
+
+export function FeaturesSection() {
+ return (
+
+
+
+
+ Decentralized micro-lending for your community
+
+
+ SuperPool empowers communities to create trusted lending pools on the blockchain. Secure, transparent, and governed by
+ multi-signature wallets for maximum security.
+
+
+
+
+ {features.map((feature, index) => (
+
+
+
+
+
+
+
{feature.title}
+
{feature.description}
+
+
+
+ ))}
+
+
+
+ )
+}
diff --git a/apps/landing/src/components/Footer.tsx b/apps/landing/src/components/Footer.tsx
new file mode 100644
index 0000000..d03ccb1
--- /dev/null
+++ b/apps/landing/src/components/Footer.tsx
@@ -0,0 +1,42 @@
+import Image from 'next/image'
+
+export function Footer() {
+ return (
+
+
+
+
+
+
+
+
+
+ Multi-chain micro-lending platform with multi-signature security across Ethereum, Polygon, Arbitrum, Base, and BSC.
+
+
+
+
+
Security Disclaimer
+
+
+ This project is a proof-of-concept under active development. It is
+ NOT intended for production use with real funds. The smart contracts have{' '}
+ NOT been audited and may contain vulnerabilities. Only use testnet
+ deployments with test funds.
+
+
+
+
+
+
+
+ © 2025 SuperPool. Built with ❤️ for the DeFi community by
+
+ RM30
+
+
+
+
+
+ )
+}
diff --git a/apps/landing/src/components/HeroSection.tsx b/apps/landing/src/components/HeroSection.tsx
new file mode 100644
index 0000000..6533d08
--- /dev/null
+++ b/apps/landing/src/components/HeroSection.tsx
@@ -0,0 +1,30 @@
+import { Button } from '@superpool/ui'
+
+export function HeroSection() {
+ return (
+
+
+
+ Decentralized
+ Micro-Lending
+
+ Multi-Chain
+
+
+ Create trusted lending pools with your community. Secure, transparent, and governed by multi-signature wallets for maximum
+ security.
+
+
+
+
+ )
+}
diff --git a/apps/landing/src/components/Navigation.tsx b/apps/landing/src/components/Navigation.tsx
new file mode 100644
index 0000000..0e80bbd
--- /dev/null
+++ b/apps/landing/src/components/Navigation.tsx
@@ -0,0 +1,26 @@
+import { ThemeToggle } from '@/components/ThemeToggle'
+import Image from 'next/image'
+
+export function Navigation() {
+ return (
+
+
+
+ )
+}
diff --git a/apps/landing/src/components/ThemeToggle.tsx b/apps/landing/src/components/ThemeToggle.tsx
new file mode 100644
index 0000000..a40676c
--- /dev/null
+++ b/apps/landing/src/components/ThemeToggle.tsx
@@ -0,0 +1,40 @@
+'use client'
+
+import { useTheme } from '@/contexts/ThemeContext'
+
+export function ThemeToggle() {
+ const { theme, setTheme } = useTheme()
+
+ return (
+
+
setTheme('light')}
+ className={`p-2 rounded-full transition-all ${theme === 'light' ? 'bg-white dark:bg-gray-800 shadow-sm' : ''}`}
+ aria-label="Light mode"
+ >
+
+
+
+
+
setTheme('dark')}
+ className={`p-2 rounded-full transition-all ${theme === 'dark' ? 'bg-white dark:bg-gray-800 shadow-sm' : ''}`}
+ aria-label="Dark mode"
+ >
+
+
+
+
+
+ )
+}
diff --git a/apps/landing/src/contexts/ThemeContext.tsx b/apps/landing/src/contexts/ThemeContext.tsx
new file mode 100644
index 0000000..0022af9
--- /dev/null
+++ b/apps/landing/src/contexts/ThemeContext.tsx
@@ -0,0 +1,54 @@
+'use client'
+
+import React, { createContext, useContext, useEffect, useState } from 'react'
+
+type Theme = 'light' | 'dark'
+
+interface ThemeContextType {
+ theme: Theme
+ toggleTheme: () => void
+ setTheme: (theme: Theme) => void
+}
+
+const ThemeContext = createContext
(undefined)
+
+export function ThemeProvider({ children }: { children: React.ReactNode }) {
+ const [theme, setTheme] = useState(() => {
+ // Lazy initialization to prevent flash
+ if (typeof window !== 'undefined') {
+ const savedTheme = window.localStorage.getItem('theme')
+ // Validate savedTheme before using it
+ if (savedTheme === 'light' || savedTheme === 'dark') {
+ return savedTheme
+ }
+
+ // Fallback to system preference
+ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
+ return prefersDark ? 'dark' : 'light'
+ }
+ return 'dark' // SSR fallback
+ })
+
+ useEffect(() => {
+ if (typeof window !== 'undefined') {
+ // Update document class and localStorage
+ window.document.documentElement.classList.remove('light', 'dark')
+ window.document.documentElement.classList.add(theme)
+ window.localStorage.setItem('theme', theme)
+ }
+ }, [theme])
+
+ const toggleTheme = () => {
+ setTheme((prevTheme) => (prevTheme === 'light' ? 'dark' : 'light'))
+ }
+
+ return {children}
+}
+
+export function useTheme() {
+ const context = useContext(ThemeContext)
+ if (context === undefined) {
+ throw new Error('useTheme must be used within a ThemeProvider')
+ }
+ return context
+}
diff --git a/apps/mobile/package.json b/apps/mobile/package.json
index c7e3e7a..45da886 100644
--- a/apps/mobile/package.json
+++ b/apps/mobile/package.json
@@ -59,4 +59,4 @@
"typescript": "~5.9.2"
},
"private": true
-}
+}
\ No newline at end of file
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 1b728d1..0b5e92e 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -84,6 +84,7 @@ export default [
},
globals: {
...globals.node,
+ ...globals.browser,
...globals.es2022,
__DEV__: 'readonly',
NodeJS: 'readonly',
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dae31c1..03449dd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -152,7 +152,7 @@ importers:
version: 4.1.0(mobx@6.13.7)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)
nativewind:
specifier: ^4.2.0
- version: 4.2.0(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2)))
+ version: 4.2.1(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2)))
react:
specifier: 19.1.0
version: 19.1.0
@@ -7980,8 +7980,8 @@ packages:
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
hasBin: true
- nativewind@4.2.0:
- resolution: {integrity: sha512-FjH4mu474tdEQRGfE5PwhPLmM3ldp5XLAEQN7yciOMF2ZEMHw6Qm3gmRwzRbhpOOefxAnjkZ5c9NY3ZWvKFx5w==}
+ nativewind@4.2.1:
+ resolution: {integrity: sha512-10uUB2Dlli3MH3NDL5nMHqJHz1A3e/E6mzjTj6cl7hHECClJ7HpE6v+xZL+GXdbwQSnWE+UWMIMsNz7yOQkAJQ==}
engines: {node: '>=16'}
peerDependencies:
tailwindcss: '>3.3.0'
@@ -8784,8 +8784,8 @@ packages:
react-native-animatable@1.4.0:
resolution: {integrity: sha512-DZwaDVWm2NBvBxf7I0wXKXLKb/TxDnkV53sWhCvei1pRyTX3MVFpkvdYBknNBqPrxYuAIlPxEp7gJOidIauUkw==}
- react-native-css-interop@0.2.0:
- resolution: {integrity: sha512-16eCBhbUwgux5hk0Awm2A6GaMkiIBO+ynh+Yqfoy9a/huNJTfEMSCeg409mNiD4oYqC2CVaOjg5t6lbKPEPaUw==}
+ react-native-css-interop@0.2.1:
+ resolution: {integrity: sha512-B88f5rIymJXmy1sNC/MhTkb3xxBej1KkuAt7TiT9iM7oXz3RM8Bn+7GUrfR02TvSgKm4cg2XiSuLEKYfKwNsjA==}
engines: {node: '>=18'}
peerDependencies:
react: '>=18'
@@ -21408,11 +21408,11 @@ snapshots:
napi-postinstall@0.3.3: {}
- nativewind@4.2.0(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2))):
+ nativewind@4.2.1(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2))):
dependencies:
comment-json: 4.2.5
debug: 4.4.3(supports-color@8.1.1)
- react-native-css-interop: 0.2.0(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2)))
+ react-native-css-interop: 0.2.1(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2)))
tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2))
transitivePeerDependencies:
- react
@@ -22228,7 +22228,7 @@ snapshots:
dependencies:
prop-types: 15.8.1
- react-native-css-interop@0.2.0(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2))):
+ react-native-css-interop@0.2.1(react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.3)(typescript@5.9.2))):
dependencies:
'@babel/helper-module-imports': 7.27.1
'@babel/traverse': 7.28.4