initial checkin

This commit is contained in:
tim
2025-10-12 19:17:51 -04:00
commit bb2f7c9ce8
44 changed files with 10741 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
'use client';
import * as React from 'react';
import { ThemeProvider as NextThemesProvider } from 'next-themes';
import { type ThemeProviderProps } from 'next-themes/dist/types';
export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
return <NextThemesProvider {...props}>{children}</NextThemesProvider>;
}

View File

@@ -0,0 +1,26 @@
'use client';
import { ReactNode, useEffect, useState } from 'react';
import { I18nextProvider } from 'react-i18next';
import i18n from '@/lib/i18n';
export function TranslationsProvider({ children }: { children: ReactNode }) {
const [isInitialized, setIsInitialized] = useState(false);
useEffect(() => {
// Ensure i18n is initialized on the client side
if (!isInitialized) {
setIsInitialized(true);
}
}, [isInitialized]);
if (!isInitialized) {
return null;
}
return (
<I18nextProvider i18n={i18n}>
{children}
</I18nextProvider>
);
}

View File

@@ -0,0 +1,26 @@
'use client';
import '@rainbow-me/rainbowkit/styles.css';
import { getDefaultConfig, RainbowKitProvider } from '@rainbow-me/rainbowkit';
import { WagmiProvider } from 'wagmi';
import { mainnet, polygon, optimism, arbitrum, base } from 'wagmi/chains';
import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
const config = getDefaultConfig({
appName: 'Liquidity Party',
projectId: 'YOUR_PROJECT_ID', // Get this from https://cloud.walletconnect.com
chains: [mainnet, polygon, optimism, arbitrum, base],
ssr: false,
});
const queryClient = new QueryClient();
export function Web3Provider({ children }: { children: React.ReactNode }) {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<RainbowKitProvider>{children}</RainbowKitProvider>
</QueryClientProvider>
</WagmiProvider>
);
}