All files / theme theme.ts

75% Statements 3/4
100% Branches 0/0
50% Functions 1/2
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112                                            4x                                                                                         4x                                                                                        
import { createTheme, Theme } from '@mui/material/styles';
import { FontSize } from '@/enums/settings';
 
declare module '@mui/material/styles' {
  interface Palette {
    navigation: {
      background: string;
      text: string;
      hover: string;
      active: string;
    };
  }
  interface PaletteOptions {
    navigation?: {
      background?: string;
      text?: string;
      hover?: string;
      active?: string;
    };
  }
}
 
export const createLightTheme = (fontSize: FontSize): Theme =>
  createTheme({
    spacing: 10,
    palette: {
      mode: 'light',
      primary: {
        main: '#1976d2',
        light: '#42a5f5',
        dark: '#1565c0',
        contrastText: '#ffffff',
      },
      background: {
        default: '#f5f5f5',
        paper: '#ffffff',
      },
      text: {
        primary: '#212121',
        secondary: '#757575',
      },
      navigation: {
        background: '#1976d2',
        text: '#ffffff',
        hover: '#1565c0',
        active: '#42a5f5',
      },
    },
    typography: {
      fontFamily: '"Roboto Mono", "Courier New", monospace',
      fontSize: fontSize,
    },
    components: {
      MuiCssBaseline: {
        styleOverrides: {
          a: {
            color: '#1976d2',
            textDecoration: 'none',
            '&:hover': {
              textDecoration: 'underline',
            },
          },
        },
      },
    },
  });
 
export const createDarkTheme = (fontSize: FontSize): Theme =>
  createTheme({
    spacing: 10,
    palette: {
      mode: 'dark',
      primary: {
        main: '#00e676',
        light: '#66ffa6',
        dark: '#00b248',
        contrastText: '#000000',
      },
      background: {
        default: '#0d1117',
        paper: '#161b22',
      },
      text: {
        primary: '#c9d1d9',
        secondary: '#8b949e',
      },
      navigation: {
        background: '#010409',
        text: '#00e676',
        hover: '#161b22',
        active: '#00e676',
      },
    },
    typography: {
      fontFamily: '"Roboto Mono", "Courier New", monospace',
      fontSize: fontSize,
    },
    components: {
      MuiCssBaseline: {
        styleOverrides: {
          a: {
            color: '#00e676',
            textDecoration: 'none',
            '&:hover': {
              textDecoration: 'underline',
            },
          },
        },
      },
    },
  });