import { createTheme } from "@mui/material";
import themePublic from "./genericPublication";
import theme from "../generic";

import type { QuizTheme } from "@model/quizSettings";

const StandardTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#7E2AEA",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#7E2AEA",
    },

    background: {
      default: "#FFFFFF",
    },
  },
});

const StandardDarkTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#7E2AEA",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#7E2AEA",
    },

    background: {
      default: "#333647",
    },
  },
});

const PinkTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#D34085",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#D34085",
    },

    background: {
      default: "#FFF9FC",
    },
  },
});

const PinkDarkTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#D34085",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#D34085",
    },

    background: {
      default: "#333647",
    },
  },
});

const BlackWhiteTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#4E4D51",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#FFF9FC",
    },

    background: {
      default: "#FFFFFF",
    },
  },
});

const OliveTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#758E4F",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#758E4F",
    },

    background: {
      default: "#F9FBF1",
    },
  },
});

const PurpleTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#7E2AEA",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#7E2AEA",
    },

    background: {
      default: "#FBF8FF",
    },
  },
});

const YellowTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#F2B133",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#F2B133",
    },

    background: {
      default: "#FFFCF6",
    },
  },
});

const GoldDarkTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#E6AA37",
    },
    secondary: {
      main: "#FFFCF6",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#F2B133",
    },

    background: {
      default: "#333647",
    },
  },
});

const BlueTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#4964ED",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#333647",
      secondary: "#4964ED",
    },

    background: {
      default: "#F5F7FF",
    },
  },
});

const BlueDarkTheme = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#07A0C3",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#07A0C3",
    },

    background: {
      default: "#333647",
    },
  },
});

const Design1 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#F2B133",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#F2B133",
    },

    background: {
      default: "#FFFCF6",
    },
  },
});

const Design2 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#758E4F",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#758E4F",
    },

    background: {
      default: "#F9FBF1",
    },
  },
});

const Design3 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#07A0C3",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#07A0C3",
    },

    background: {
      default: "#333647",
    },
  },
});

const Design4 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#F2B133",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#F2B133",
    },

    background: {
      default: "#FFFCF6",
    },
  },
});

const Design5 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#07A0C3",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#07A0C3",
    },

    background: {
      default: "#333647",
    },
  },
});

const Design6 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#D34085",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#D34085",
    },

    background: {
      default: "#333647",
    },
  },
});

const Design8 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#D34085",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#D34085",
    },

    background: {
      default: "#333647",
    },
  },
});

const Design7 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#F2B133",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#F2B133",
    },

    background: {
      default: "#FFFCF6",
    },
  },
});

const Design9 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#758E4F",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#758E4F",
    },

    background: {
      default: "#F9FBF1",
    },
  },
});

const Design10 = createTheme({
  ...themePublic,
  palette: {
    primary: {
      main: "#07A0C3",
    },
    secondary: {
      main: "#252734",
    },
    text: {
      primary: "#FFFFFF",
      secondary: "#07A0C3",
    },

    background: {
      default: "#333647",
    },
  },
});

export const modes = {
  StandardTheme: true,
  StandardDarkTheme: false,
  PinkTheme: true,
  PinkDarkTheme: false,
  BlackWhiteTheme: true,
  OliveTheme: true,
  YellowTheme: true,
  GoldDarkTheme: false,
  PurpleTheme: true,
  BlueTheme: true,
  BlueDarkTheme: false,
  Design1: false,
  Design2: false,
  Design3: true,
  Design4: false,
  Design5: false,
  Design6: false,
  Design7: false,
  Design8: false,
  Design9: false,
  Design10: false,
};

export const themesPublication: Record<QuizTheme, any> = {
  StandardTheme,
  StandardDarkTheme,
  PinkTheme,
  PinkDarkTheme,
  BlackWhiteTheme,
  OliveTheme,
  YellowTheme,
  GoldDarkTheme,
  PurpleTheme,
  BlueTheme,
  BlueDarkTheme,
  Design1,
  Design2,
  Design3,
  Design4,
  Design5,
  Design6,
  Design7,
  Design8,
  Design9,
  Design10,
};
