优化体验
This commit is contained in:
parent
439d21e3e6
commit
ce89729bac
|
|
@ -0,0 +1,7 @@
|
|||
export const useDebounce = (fn: Function, delay: number) => {
|
||||
let timeout: any;
|
||||
return (...args: any[]) => {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => fn(...args), delay);
|
||||
};
|
||||
};
|
||||
|
|
@ -7,6 +7,7 @@ import {
|
|||
UpdateThemeColor,
|
||||
} from "../../../typings";
|
||||
import { themeColorSchema } from "../../data/colors";
|
||||
import { useDebounce } from "../function";
|
||||
|
||||
export function updateThemeColor({
|
||||
themeClass,
|
||||
|
|
@ -224,101 +225,6 @@ export const setTailwindExtendProps = (colors: Record<string, string>) => {
|
|||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
// primary: {
|
||||
// 1: "var(--primary-1)",
|
||||
// 2: "var(--primary-2)",
|
||||
// 3: "var(--primary-3)",
|
||||
// 4: "var(--primary-4)",
|
||||
// 5: "var(--primary-5)",
|
||||
// 6: "var(--primary-6)",
|
||||
// 7: "var(--primary-7)",
|
||||
// },
|
||||
// success: {
|
||||
// 1: "var(--success-1)",
|
||||
// 2: "var(--success-2)",
|
||||
// 3: "var(--success-3)",
|
||||
// 4: "var(--success-4)",
|
||||
// 5: "var(--success-5)",
|
||||
// 6: "var(--success-6)",
|
||||
// 7: "var(--success-7)",
|
||||
// },
|
||||
// warning: {
|
||||
// 1: "var(--warning-1)",
|
||||
// 2: "var(--warning-2)",
|
||||
// 3: "var(--warning-3)",
|
||||
// 4: "var(--warning-4)",
|
||||
// 5: "var(--warning-5)",
|
||||
// 6: "var(--warning-6)",
|
||||
// 7: "var(--warning-7)",
|
||||
// },
|
||||
// danger: {
|
||||
// 1: "var(--danger-1)",
|
||||
// 2: "var(--danger-2)",
|
||||
// 3: "var(--danger-3)",
|
||||
// 4: "var(--danger-4)",
|
||||
// 5: "var(--danger-5)",
|
||||
// 6: "var(--danger-6)",
|
||||
// 7: "var(--danger-7)",
|
||||
// },
|
||||
// link: {
|
||||
// 1: "var(--link-1)",
|
||||
// 2: "var(--link-2)",
|
||||
// 3: "var(--link-3)",
|
||||
// 4: "var(--link-4)",
|
||||
// 5: "var(--link-5)",
|
||||
// 6: "var(--link-6)",
|
||||
// 7: "var(--link-7)",
|
||||
// },
|
||||
// background: {
|
||||
// 1: "var(--color-bg-1)",
|
||||
// 2: "var(--color-bg-2)",
|
||||
// 3: "var(--color-bg-3)",
|
||||
// 4: "var(--color-bg-4)",
|
||||
// 5: "var(--color-bg-5)",
|
||||
// white: "var(--color-bg-white)",
|
||||
// },
|
||||
// text: {
|
||||
// 1: "var(--color-text-1)",
|
||||
// 2: "var(--color-text-2)",
|
||||
// 3: "var(--color-text-3)",
|
||||
// 4: "var(--color-text-4)",
|
||||
// },
|
||||
// border: {
|
||||
// 1: "var(--color-border-1)",
|
||||
// 2: "var(--color-border-2)",
|
||||
// 3: "var(--color-border-3)",
|
||||
// 4: "var(--color-border-4)",
|
||||
// },
|
||||
// fill: {
|
||||
// 1: "var(--color-fill-1)",
|
||||
// 2: "var(--color-fill-2)",
|
||||
// 3: "var(--color-fill-3)",
|
||||
// 4: "var(--color-fill-4)",
|
||||
// },
|
||||
// data: {
|
||||
// 1: "var(--data-1)",
|
||||
// 2: "var(--data-2)",
|
||||
// 3: "var(--data-3)",
|
||||
// 4: "var(--data-4)",
|
||||
// 5: "var(--data-5)",
|
||||
// 6: "var(--data-6)",
|
||||
// 7: "var(--data-7)",
|
||||
// 8: "var(--data-8)",
|
||||
// 9: "var(--data-9)",
|
||||
// 10: "var(--data-10)",
|
||||
// 11: "var(--data-11)",
|
||||
// 12: "var(--data-12)",
|
||||
// 13: "var(--data-13)",
|
||||
// 14: "var(--data-14)",
|
||||
// 15: "var(--data-15)",
|
||||
// 16: "var(--data-16)",
|
||||
// 17: "var(--data-17)",
|
||||
// 18: "var(--data-18)",
|
||||
// 19: "var(--data-19)",
|
||||
// 20: "var(--data-20)",
|
||||
// },
|
||||
// shadow: "--color-shadow",
|
||||
// TODO: 这里使用传入的颜色
|
||||
...colors,
|
||||
},
|
||||
},
|
||||
|
|
@ -333,17 +239,21 @@ const themeMap = {
|
|||
} as const;
|
||||
|
||||
export const createLightTheme = (themeVariables: ThemeVariables) => {
|
||||
if (themeLightId) {
|
||||
document.getElementById(themeLightId)?.remove();
|
||||
}
|
||||
themeLightId = createTheme(themeMap.light, themeVariables);
|
||||
return useDebounce(() => {
|
||||
if (themeLightId) {
|
||||
document.getElementById(themeLightId)?.remove();
|
||||
}
|
||||
themeLightId = createTheme(themeMap.light, themeVariables);
|
||||
}, 50)();
|
||||
};
|
||||
|
||||
export const createDarkTheme = (themeVariables: ThemeVariables) => {
|
||||
if (themeDarkId) {
|
||||
document.getElementById(themeDarkId)?.remove();
|
||||
}
|
||||
themeDarkId = createTheme(themeMap.dark, themeVariables);
|
||||
return useDebounce(() => {
|
||||
if (themeDarkId) {
|
||||
document.getElementById(themeDarkId)?.remove();
|
||||
}
|
||||
themeDarkId = createTheme(themeMap.dark, themeVariables);
|
||||
}, 50)();
|
||||
};
|
||||
|
||||
export const getColorAsync = async () => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue