import { isLightColorTheme, parseColor } from "./color";
import { globalSetting } from "./global";

export function setDefaultCss() {
    // 改变默认颜色
    document.body.style.setProperty('--el-color-primary', 'var(--main-color)');
    document.body.style.setProperty('--el-color-primary-light-9', 'var(--main-color)');
    document.body.style.setProperty('--el-color-primary-light-3', 'var(--main-color)');
    document.body.style.setProperty('--el-text-color-secondary', 'var(--foreground)');
    document.body.style.setProperty('--el-text-color-regular', 'var(--foreground)');
    document.body.style.setProperty('--el-border-color', 'var(--main-color)');
    document.body.style.setProperty('--el-fill-color-blank', 'var(--sidebar)');
    document.body.style.setProperty('--el-fill-color-light', 'var(--vscode-button-hoverBackground)');
    document.body.style.setProperty('--el-switch-on-color', 'var(--main-color)');
    document.body.style.setProperty('--el-border', 'var(--sidebar)');
    document.body.style.setProperty('--el-border-color-light', 'var(--sidebar)');
    document.body.style.setProperty('--el-border-color-lighter', 'var(--sidebar)');
    document.body.style.setProperty('--el-bg-color-overlay', 'var(--sidebar)');
    document.body.style.setProperty('--el-color-info-light-9', 'var(--main-color)');
    document.body.style.setProperty('--el-color-info', 'var(--foreground)');
    document.body.style.setProperty('--el-color-info-light-8', 'var(--main-color)');
    document.body.style.setProperty('--el-fill-color-light', 'var(--sidebar-item-selected)');

    // document.body.style.setProperty('--el-color-white', 'var(--background)');
    
    // 设置全局宏
    document.body.style.setProperty('--netlist-render-padding', '30px');
    document.body.style.setProperty('--sidebar-width', '330px');
    document.body.style.setProperty('--toolbar-height', '60px');

    // 下面是 get style
    const style = getComputedStyle(document.documentElement);
    // 根据颜色亮度来设置额外的宏
    const bgColorString = style.getPropertyValue('--background');
    
    const { r, g, b } = parseColor(bgColorString);
    if (isLightColorTheme(r, g, b)) {
        setExtraLightColorCss();
    } else {
        setExtraDarkColorCss();
    }
}

function setExtraLightColorCss() {
    document.body.style.setProperty('--vline-stroke-color', '#ddd');
}

function setExtraDarkColorCss() {
    document.body.style.setProperty('--vline-stroke-color', '#333');
}