import React from 'react'; import dynamic from 'next/dynamic'; import { GrowiThemes } from '~/interfaces/theme'; import { Themes } from '~/stores/use-next-themes'; const ThemeAntarctic = dynamic(() => import('../ThemeAntarctic')); const ThemeBlackboard = dynamic(() => import('../ThemeBlackboard')); const ThemeChristmas = dynamic(() => import('../ThemeChristmas')); const ThemeDefault = dynamic(() => import('../ThemeDefault')); const ThemeFireRed = dynamic(() => import('../ThemeFireRed')); const ThemeFuture = dynamic(() => import('../ThemeFuture')); const ThemeHalloween = dynamic(() => import('../ThemeHalloween')); const ThemeHufflepuff = dynamic(() => import('../ThemeHufflepuff')); const ThemeIsland = dynamic(() => import('../ThemeIsland')); const ThemeJadeGreen = dynamic(() => import('../ThemeJadeGreen')); const ThemeKibela = dynamic(() => import('../ThemeKibela')); const ThemeMonoBlue = dynamic(() => import('../ThemeMonoBlue')); const ThemeNature = dynamic(() => import('../ThemeNature')); const ThemeSpring = dynamic(() => import('../ThemeSpring')); const ThemeWood = dynamic(() => import('../ThemeWood')); type Props = { children: JSX.Element, theme?: GrowiThemes, colorScheme?: Themes, } export const ThemeProvider = ({ theme, children, colorScheme }: Props): JSX.Element => { switch (theme) { case GrowiThemes.ANTARCTIC: return {children}; case GrowiThemes.BLACKBOARD: return {children}; case GrowiThemes.CHRISTMAS: return {children}; case GrowiThemes.FIRE_RED: return {children}; case GrowiThemes.FUTURE: return {children}; case GrowiThemes.HALLOWEEN: return {children}; case GrowiThemes.HUFFLEPUFF: return {children}; case GrowiThemes.ISLAND: return {children}; case GrowiThemes.JADE_GREEN: return {children}; case GrowiThemes.KIBELA: return {children}; case GrowiThemes.MONO_BLUE: return {children}; case GrowiThemes.NATURE: return {children}; case GrowiThemes.SPRING: return {children}; case GrowiThemes.WOOD: return {children}; default: return {children}; } };