ThemeImageProvider.tsx 1.0 KB

12345678910111213141516171819202122232425
  1. import { GrowiThemes } from '~/interfaces/theme';
  2. import { Themes } from '~/stores/use-next-themes';
  3. import { getBackgroundImageSrc as getHuffulePuffBackgroundImageSrc } from '../ThemeHufflepuff';
  4. import { getBackgroundImageSrc as getIslandBackgroundImageSrc } from '../ThemeIsland';
  5. import { getBackgroundImageSrc as getSpringBackgroundImageSrc } from '../ThemeSpring';
  6. import { getBackgroundImageSrc as getWoodBackgroundImageSrc } from '../ThemeWood';
  7. export const getBackgroundImageSrc = (theme: GrowiThemes | undefined, colorScheme: Themes | undefined): string | undefined => {
  8. if (theme == null || colorScheme == null) {
  9. return undefined;
  10. }
  11. switch (theme) {
  12. case GrowiThemes.ISLAND:
  13. return getIslandBackgroundImageSrc(colorScheme);
  14. case GrowiThemes.HUFFLEPUFF:
  15. return getHuffulePuffBackgroundImageSrc(colorScheme);
  16. case GrowiThemes.SPRING:
  17. return getSpringBackgroundImageSrc(colorScheme);
  18. case GrowiThemes.WOOD:
  19. return getWoodBackgroundImageSrc(colorScheme);
  20. default:
  21. return undefined;
  22. }
  23. };