import colors from 'vuetify/es5/util/colors';
import Depth3rdBulletDark from '~/components/icons/Depth3rdBulletDark';
import icoDarkDashCharge from '~/components/icons/icoDarkDashCharge';
import icoDarkDashChargeWidget from '~/components/icons/icoDarkDashChargeWidget';
import icoDarkDashPeak from '~/components/icons/icoDarkDashPeak';
import icoDarkDashPeakWidget from '~/components/icons/icoDarkDashPeakWidget';
import icoCalendar from '~/components/icons/icoCalendar';
import icoAdminMenu from '~/components/icons/icoAdminMenu';
import icoBulletPoint from '~/components/icons/icoBulletPoint';
import icoChevronDown from '~/components/icons/icoChevronDown';
import icoSearch from '~/components/icons/icoSearch';
import icoSend from '~/components/icons/icoSend';
import icoExpandAlt from '~/components/icons/icoExpandAlt';
import '@mdi/font/css/materialdesignicons.css'; // Ensure you are using css-loader
import 'material-design-icons-iconfont/dist/material-design-icons.css';
import Vue from 'vue';
import Vuetify from 'vuetify/lib';

import anticonAppStore from '~/components/icons/anticonAppStore';
import anticonBulb from '~/components/icons/anticonBulb';
import anticonDesktop from '~/components/icons/anticonDesktop';
import anticonDrag from '~/components/icons/anticonDrag';
import anticonFileText from '~/components/icons/anticonFileText';
import anticonLineChart from '~/components/icons/anticonLineChart';
import anticonMessage from '~/components/icons/anticonMessage';
import anticonNoteExpand from '~/components/icons/anticonNoteExpand';
import anticonPieChart from '~/components/icons/anticonPieChart';
import anticonSearch from '~/components/icons/anticonSearch';
import anticonSetting from '~/components/icons/anticonSetting';

const anticons = {
	anticonAppStore,
	anticonBulb,
	anticonDesktop,
	anticonDrag,
	anticonFileText,
	anticonLineChart,
	anticonMessage,
	anticonNoteExpand,
	anticonPieChart,
	anticonSearch,
	anticonSetting,
};

const anticonVal = {};
Object.keys(anticons).forEach(key => {
	anticonVal[`${key}`] = {
		component: anticons[key]
	}
});

Vue.use(Vuetify);

export default new Vuetify({
	theme: {
		dark: true,
		themes: {
			dark: {
				primary: '#1668DC',
				accent: colors.grey.darken3,
				secondary: colors.amber.darken3,
				info: colors.teal.lighten1,
				warning: colors.amber.base,
				error: colors.deepOrange.accent4,
				success: colors.green.accent3,
			},
			light: {
				primary: '#1677FF',
			},
		},
	},
	icons: {
		iconfont: 'md', // default - only for display purposes
		values: {
			depth3rdBulletDark: {
				component: Depth3rdBulletDark,
			},
			darkDashCharge: {
				component: icoDarkDashCharge,
			},
			darkDashPeak: {
				component: icoDarkDashPeak,
			},
			icoCalendar: {
				component: icoCalendar,
			},
			icoAdminMenu: {
				component: icoAdminMenu,
			},
			darkDashPeakWidget: {
				component: icoDarkDashPeakWidget,
			},
			darkDashChargeWidget: {
				component: icoDarkDashChargeWidget,
			},
			icoBulletPoint: {
				component: icoBulletPoint,
			},
			icoChevronDown: {
				component: icoChevronDown,
			},
			icoSearch: {
				component: icoSearch,
			},
			icoSend: {
				component: icoSend,
			},
			icoExpandAlt: {
				component: icoExpandAlt,
			},
			...anticonVal,
		},
	},
});
