Refactor provider composition with DataProviders wrapper
Encapsulated `EventsProvider` and `EventThemesProvider` into a new `DataProviders` component to simplify and modularize provider structure. Updated the root provider hierarchy to use `DataProviders`, improving maintainability and readability.
This commit is contained in:
11
frontend/src/providers/data.tsx
Normal file
11
frontend/src/providers/data.tsx
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { EventsProvider } from "@/context/event-context";
|
||||||
|
import { EventThemesProvider } from "@/context/event-theme-context";
|
||||||
|
|
||||||
|
export function DataProviders({ children }: { children: React.ReactNode }) {
|
||||||
|
return (
|
||||||
|
<EventThemesProvider>
|
||||||
|
<EventsProvider>{children}</EventsProvider>;
|
||||||
|
</EventThemesProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||||
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
|
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
|
||||||
import { AuthProvider } from "@/context/auth-context";
|
import { AuthProvider } from "@/context/auth-context";
|
||||||
import { EventsProvider } from "@/context/event-context";
|
|
||||||
import { ThemeProvider } from "next-themes";
|
import { ThemeProvider } from "next-themes";
|
||||||
|
import { DataProviders } from "@/providers/data";
|
||||||
|
|
||||||
// Create a client
|
// Create a client
|
||||||
const queryClient = new QueryClient({
|
const queryClient = new QueryClient({
|
||||||
@@ -28,7 +28,7 @@ export function Providers({ children }: { children: React.ReactNode }) {
|
|||||||
disableTransitionOnChange
|
disableTransitionOnChange
|
||||||
>
|
>
|
||||||
<AuthProvider>
|
<AuthProvider>
|
||||||
<EventsProvider>{children}</EventsProvider>
|
<DataProviders>{children}</DataProviders>
|
||||||
</AuthProvider>
|
</AuthProvider>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
<ReactQueryDevtools initialIsOpen={false} />
|
<ReactQueryDevtools initialIsOpen={false} />
|
||||||
|
|||||||
Reference in New Issue
Block a user