yohei0125 3 лет назад
Родитель
Сommit
daed057759

+ 20 - 2
packages/app/src/components/Theme/ThemeSpring.tsx

@@ -1,3 +1,5 @@
+import Image from 'next/image';
+
 import { Themes } from '~/stores/use-next-themes';
 import { Themes } from '~/stores/use-next-themes';
 
 
 import { ThemeInjector } from './utils/ThemeInjector';
 import { ThemeInjector } from './utils/ThemeInjector';
@@ -11,7 +13,23 @@ export const getBackgroundImageSrc = (colorScheme: Themes): string => {
   }
   }
 };
 };
 
 
-const ThemeSpring = ({ children }: { children: JSX.Element }): JSX.Element => {
-  return <ThemeInjector className={styles.theme}>{children}</ThemeInjector>;
+type Props = {
+  children: JSX.Element,
+  colorScheme?: Themes,
+}
+
+const ThemeSpring = ({ children, colorScheme }: Props): JSX.Element => {
+  const newChildren = (
+    <>
+      {colorScheme != null && (
+        <div className='grw-bg-image-wrapper'>
+          <Image className='grw-bg-image' alt='background-image' src={getBackgroundImageSrc(colorScheme)} layout='fill' quality="100" />
+        </div>
+      )}
+      {children}
+    </>
+  );
+  return <ThemeInjector className={styles.theme}>{newChildren}</ThemeInjector>;
 };
 };
+
 export default ThemeSpring;
 export default ThemeSpring;

+ 0 - 3
packages/app/src/components/Theme/utils/ThemeImageProvider.tsx

@@ -1,7 +1,6 @@
 import { GrowiThemes } from '~/interfaces/theme';
 import { GrowiThemes } from '~/interfaces/theme';
 import { Themes } from '~/stores/use-next-themes';
 import { Themes } from '~/stores/use-next-themes';
 
 
-import { getBackgroundImageSrc as getSpringBackgroundImageSrc } from '../ThemeSpring';
 import { getBackgroundImageSrc as getWoodBackgroundImageSrc } from '../ThemeWood';
 import { getBackgroundImageSrc as getWoodBackgroundImageSrc } from '../ThemeWood';
 
 
 export const getBackgroundImageSrc = (theme: GrowiThemes | undefined, colorScheme: Themes | undefined): string | undefined => {
 export const getBackgroundImageSrc = (theme: GrowiThemes | undefined, colorScheme: Themes | undefined): string | undefined => {
@@ -9,8 +8,6 @@ export const getBackgroundImageSrc = (theme: GrowiThemes | undefined, colorSchem
     return undefined;
     return undefined;
   }
   }
   switch (theme) {
   switch (theme) {
-    case GrowiThemes.SPRING:
-      return getSpringBackgroundImageSrc(colorScheme);
     case GrowiThemes.WOOD:
     case GrowiThemes.WOOD:
       return getWoodBackgroundImageSrc(colorScheme);
       return getWoodBackgroundImageSrc(colorScheme);
     default:
     default:

+ 1 - 1
packages/app/src/components/Theme/utils/ThemeProvider.tsx

@@ -57,7 +57,7 @@ export const ThemeProvider = ({ theme, children, colorScheme }: Props): JSX.Elem
     case GrowiThemes.NATURE:
     case GrowiThemes.NATURE:
       return <ThemeNature>{children}</ThemeNature>;
       return <ThemeNature>{children}</ThemeNature>;
     case GrowiThemes.SPRING:
     case GrowiThemes.SPRING:
-      return <ThemeSpring>{children}</ThemeSpring>;
+      return <ThemeSpring colorScheme={colorScheme}>{children}</ThemeSpring>;
     case GrowiThemes.WOOD:
     case GrowiThemes.WOOD:
       return <ThemeWood>{children}</ThemeWood>;
       return <ThemeWood>{children}</ThemeWood>;
     default:
     default: