mirror of
https://github.com/jeffvli/feishin.git
synced 2026-07-04 09:39:56 +02:00
84 lines
4.3 KiB
TypeScript
84 lines
4.3 KiB
TypeScript
import merge from 'lodash/merge';
|
|
|
|
import { AppThemeConfiguration } from './app-theme-types';
|
|
import { AppTheme } from './app-theme-types';
|
|
|
|
import { ayuDark } from '/@/shared/themes/ayu-dark/ayu-dark';
|
|
import { ayuLight } from '/@/shared/themes/ayu-light/ayu-light';
|
|
import { catppuccinLatte } from '/@/shared/themes/catppuccin-latte/catppuccin-latte';
|
|
import { catppuccinMocha } from '/@/shared/themes/catppuccin-mocha/catppuccin-mocha';
|
|
import { defaultTheme } from '/@/shared/themes/default';
|
|
import { defaultDark } from '/@/shared/themes/default-dark/default-dark';
|
|
import { defaultLight } from '/@/shared/themes/default-light/default-light';
|
|
import { dracula } from '/@/shared/themes/dracula/dracula';
|
|
import { everforestDark } from '/@/shared/themes/everforest-dark/everforest-dark';
|
|
import { everforestLight } from '/@/shared/themes/everforest-light/everforest-light';
|
|
import { githubDark } from '/@/shared/themes/github-dark/github-dark';
|
|
import { githubLight } from '/@/shared/themes/github-light/github-light';
|
|
import { glassyDark } from '/@/shared/themes/glassy-dark/glassy-dark';
|
|
import { gruvboxDark } from '/@/shared/themes/gruvbox-dark/gruvbox-dark';
|
|
import { gruvboxLight } from '/@/shared/themes/gruvbox-light/gruvbox-light';
|
|
import { highContrastDark } from '/@/shared/themes/high-contrast-dark/high-contrast-dark';
|
|
import { highContrastLight } from '/@/shared/themes/high-contrast-light/high-contrast-light';
|
|
import { materialDark } from '/@/shared/themes/material-dark/material-dark';
|
|
import { materialLight } from '/@/shared/themes/material-light/material-light';
|
|
import { monokai } from '/@/shared/themes/monokai/monokai';
|
|
import { nightOwl } from '/@/shared/themes/night-owl/night-owl';
|
|
import { nord } from '/@/shared/themes/nord/nord';
|
|
import { oneDark } from '/@/shared/themes/one-dark/one-dark';
|
|
import { rosePineDawn } from '/@/shared/themes/rose-pine-dawn/rose-pine-dawn';
|
|
import { rosePineMoon } from '/@/shared/themes/rose-pine-moon/rose-pine-moon';
|
|
import { rosePine } from '/@/shared/themes/rose-pine/rose-pine';
|
|
import { shadesOfPurple } from '/@/shared/themes/shades-of-purple/shades-of-purple';
|
|
import { solarizedDark } from '/@/shared/themes/solarized-dark/solarized-dark';
|
|
import { solarizedLight } from '/@/shared/themes/solarized-light/solarized-light';
|
|
import { tokyoNight } from '/@/shared/themes/tokyo-night/tokyo-night';
|
|
import { vscodeDarkPlus } from '/@/shared/themes/vscode-dark-plus/vscode-dark-plus';
|
|
import { vscodeLightPlus } from '/@/shared/themes/vscode-light-plus/vscode-light-plus';
|
|
import { zenburn } from '/@/shared/themes/zenburn/zenburn';
|
|
|
|
export const appTheme: Record<AppTheme, AppThemeConfiguration> = {
|
|
[AppTheme.AYU_DARK]: ayuDark,
|
|
[AppTheme.AYU_LIGHT]: ayuLight,
|
|
[AppTheme.CATPPUCCIN_LATTE]: catppuccinLatte,
|
|
[AppTheme.CATPPUCCIN_MOCHA]: catppuccinMocha,
|
|
[AppTheme.DEFAULT_DARK]: defaultDark,
|
|
[AppTheme.DEFAULT_LIGHT]: defaultLight,
|
|
[AppTheme.DRACULA]: dracula,
|
|
[AppTheme.EVERFOREST_DARK]: everforestDark,
|
|
[AppTheme.EVERFOREST_LIGHT]: everforestLight,
|
|
[AppTheme.GITHUB_DARK]: githubDark,
|
|
[AppTheme.GITHUB_LIGHT]: githubLight,
|
|
[AppTheme.GLASSY_DARK]: glassyDark,
|
|
[AppTheme.GRUVBOX_DARK]: gruvboxDark,
|
|
[AppTheme.GRUVBOX_LIGHT]: gruvboxLight,
|
|
[AppTheme.HIGH_CONTRAST_DARK]: highContrastDark,
|
|
[AppTheme.HIGH_CONTRAST_LIGHT]: highContrastLight,
|
|
[AppTheme.MATERIAL_DARK]: materialDark,
|
|
[AppTheme.MATERIAL_LIGHT]: materialLight,
|
|
[AppTheme.MONOKAI]: monokai,
|
|
[AppTheme.NIGHT_OWL]: nightOwl,
|
|
[AppTheme.NORD]: nord,
|
|
[AppTheme.ONE_DARK]: oneDark,
|
|
[AppTheme.ROSE_PINE]: rosePine,
|
|
[AppTheme.ROSE_PINE_DAWN]: rosePineDawn,
|
|
[AppTheme.ROSE_PINE_MOON]: rosePineMoon,
|
|
[AppTheme.SHADES_OF_PURPLE]: shadesOfPurple,
|
|
[AppTheme.SOLARIZED_DARK]: solarizedDark,
|
|
[AppTheme.SOLARIZED_LIGHT]: solarizedLight,
|
|
[AppTheme.TOKYO_NIGHT]: tokyoNight,
|
|
[AppTheme.VSCODE_DARK_PLUS]: vscodeDarkPlus,
|
|
[AppTheme.VSCODE_LIGHT_PLUS]: vscodeLightPlus,
|
|
[AppTheme.ZENBURN]: zenburn,
|
|
};
|
|
|
|
export const getAppTheme = (theme: AppTheme): AppThemeConfiguration => {
|
|
return {
|
|
app: merge({}, defaultTheme.app, appTheme[theme].app),
|
|
colors: merge({}, defaultTheme.colors, appTheme[theme].colors),
|
|
mantineOverride: merge({}, defaultTheme.mantineOverride, appTheme[theme].mantineOverride),
|
|
mode: appTheme[theme].mode,
|
|
stylesheets: appTheme[theme].stylesheets,
|
|
};
|
|
};
|