mirror of
https://gitlab.com/soapbox-pub/mkstack.git
synced 2025-08-27 21:19:23 +00:00
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { createHead, UnheadProvider } from '@unhead/react/client';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { NostrLoginProvider } from '@nostrify/react/login';
|
|
import NostrProvider from '@/components/NostrProvider';
|
|
import { AppProvider } from '@/components/AppProvider';
|
|
import { AppConfig } from '@/contexts/AppContext';
|
|
|
|
interface TestAppProps {
|
|
children: React.ReactNode;
|
|
}
|
|
|
|
export function TestApp({ children }: TestAppProps) {
|
|
const head = createHead();
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: { retry: false },
|
|
mutations: { retry: false },
|
|
},
|
|
});
|
|
|
|
const defaultConfig: AppConfig = {
|
|
theme: 'light',
|
|
relayUrl: 'wss://relay.nostr.band',
|
|
};
|
|
|
|
return (
|
|
<UnheadProvider head={head}>
|
|
<AppProvider storageKey='test-app-config' defaultConfig={defaultConfig}>
|
|
<QueryClientProvider client={queryClient}>
|
|
<NostrLoginProvider storageKey='test-login'>
|
|
<NostrProvider>
|
|
<BrowserRouter>
|
|
{children}
|
|
</BrowserRouter>
|
|
</NostrProvider>
|
|
</NostrLoginProvider>
|
|
</QueryClientProvider>
|
|
</AppProvider>
|
|
</UnheadProvider>
|
|
);
|
|
}
|
|
|
|
export default TestApp; |