import type { ReactNode } from "react"
import { localStorageColorSchemeManager, MantineProvider } from "@mantine/core"
import { MANTINE_COLOR_SCHEME_STORAGE_KEY } from "@/shared/constants/color-scheme"
import { mantineTheme } from "./mantine-theme"

type Props = {
  children: ReactNode
}

const colorSchemeManager = localStorageColorSchemeManager({
  key: MANTINE_COLOR_SCHEME_STORAGE_KEY,
})

export function AppProviders({ children }: Props) {
  return (
    <MantineProvider
      theme={mantineTheme}
      defaultColorScheme="dark"
      colorSchemeManager={colorSchemeManager}
    >
      {children}
    </MantineProvider>
  )
}
