import client from 'webpack-theme-color-replacer/client';

import { generate } from '@ant-design/colors';

import pkg from '../../../package.json';

export default {
  getAntdSerials(color) {
    // 淡化（即less的tint）
    const lightens = new Array(9)
      .fill()
      .map((t, i) => client.varyColor.lighten(color, i / 10));
    // colorPalette变换得到颜色值
    const colorPalettes = generate(color);
    const rgb = client.varyColor.toNum3(color.replace('#', '')).join(',');
    return lightens.concat(colorPalettes).concat(rgb);
  },
  changeColor(newColor) {
    const options = {
      newColors: this.getAntdSerials(newColor), // new colors array, one-to-one corresponde with `matchColors`
      changeUrl(cssUrl) {
        console.log("cssUrl", cssUrl);
        return `/${pkg.name.toLowerCase()}/${cssUrl}`; // while router is not `hash` mode, it needs absolute path
      },
    };
    return client.changer.changeColor(options, Promise);
  },
};
