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";
|
||||
|
||||
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 { AuthProvider } from "@/context/auth-context";
|
||||
import { EventsProvider } from "@/context/event-context";
|
||||
import { ThemeProvider } from "next-themes";
|
||||
import { DataProviders } from "@/providers/data";
|
||||
|
||||
// Create a client
|
||||
const queryClient = new QueryClient({
|
||||
@@ -28,7 +28,7 @@ export function Providers({ children }: { children: React.ReactNode }) {
|
||||
disableTransitionOnChange
|
||||
>
|
||||
<AuthProvider>
|
||||
<EventsProvider>{children}</EventsProvider>
|
||||
<DataProviders>{children}</DataProviders>
|
||||
</AuthProvider>
|
||||
</ThemeProvider>
|
||||
<ReactQueryDevtools initialIsOpen={false} />
|
||||
|
||||
Reference in New Issue
Block a user