Files
pp-tcms/frontend/src/app/[locale]/providers.tsx
2024-05-19 20:25:09 +09:00

29 lines
824 B
TypeScript

"use client";
import * as React from "react";
import { NextUIProvider } from "@nextui-org/react";
import { useRouter } from "next/navigation";
import { ThemeProvider as NextThemesProvider } from "next-themes";
import { ThemeProviderProps } from "next-themes/dist/types";
import TokenProvider from "./TokenProvider";
import { TokenProps } from "@/types/user";
export interface ProvidersProps {
children: React.ReactNode;
themeProps?: ThemeProviderProps;
tokenProps?: TokenProps;
}
export function Providers({ children, themeProps, tokenProps }: ProvidersProps) {
const router = useRouter();
return (
<NextUIProvider navigate={router.push}>
<NextThemesProvider {...themeProps}>
<TokenProvider {...tokenProps}>{children}</TokenProvider>
</NextThemesProvider>
</NextUIProvider>
);
}