import { Token } from '../themes/Token';

export const APP_ID = 'Apphouse';

/**
 * Default text color when all else fails
 */
export const DEFAULT_TEXT_COLOR = '#000000';

export const LayoutPaddings = {
  appContainer: {
    marginLeft: 200
  },
  appContainerContracted: {
    marginLeft: 80
  }
};

export const DEFAULT_SAMPLE_TEMPLATE_ID =
  '188ae9bc-da33-4686-80dc-fbaaf1f3eb8b';
const HEADER_HEIGHT = 62;
const APP_BAR_HEIGHT = 30;
const APP_HEADER = HEADER_HEIGHT + APP_BAR_HEIGHT;

export const LayoutHeights = {
  header: HEADER_HEIGHT,
  appBar: APP_BAR_HEIGHT,
  appHeader: APP_HEADER,
  mobileHeader: 140
};

export const DEFAULT_APP_TITLE = 'Apphouse App';

export enum ApphousePaletteModeOptions {
  dark = 'dark',
  light = 'light',
  base = 'base'
}

const COMMON_FW_1 = 'light';
const COMMON_FW_2 = 'regular';
const COMMON_FW_3 = 'medium';
const COMMON_FW_4 = 'bold';

const CommonFontWeightsOptions = [
  COMMON_FW_1,
  COMMON_FW_2,
  COMMON_FW_3,
  COMMON_FW_4
];

export const CommonFontWeights: { [fontWeight: string]: number } = {
  [COMMON_FW_1]: 300,
  [COMMON_FW_2]: 400,
  [COMMON_FW_3]: 500,
  [COMMON_FW_4]: 700
};

const FONT_WEIGHT_TOKEN_TYPE = 'fontWeight';

export const CommonFontWeightTokens = CommonFontWeightsOptions.map(
  (option) =>
    new Token({
      type: FONT_WEIGHT_TOKEN_TYPE,
      value: CommonFontWeights[option],
      key: option
    })
);
