修复Q Builder中SchemeSetting初始化的问题。
This commit is contained in:
parent
efb2237135
commit
cb9a01109e
@ -79,7 +79,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
|||||||
return [];
|
return [];
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const collectSchemeSource = (formData: FormData): QSchemeSource => {
|
const collectSchemeSource = (formData: FormData): [QSchemeSource, SchemeSetting] => {
|
||||||
const schemeSetting = new SchemeSetting(
|
const schemeSetting = new SchemeSetting(
|
||||||
new ColorShifting(
|
new ColorShifting(
|
||||||
Number(formData.get('hover_chroma')) / 100,
|
Number(formData.get('hover_chroma')) / 100,
|
||||||
@ -105,26 +105,29 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
|||||||
Number(formData.get('wacg')) as WACGSetting,
|
Number(formData.get('wacg')) as WACGSetting,
|
||||||
);
|
);
|
||||||
const dumpedSetting = schemeSetting.toJsValue() as QSchemeSetting;
|
const dumpedSetting = schemeSetting.toJsValue() as QSchemeSetting;
|
||||||
return {
|
return [
|
||||||
primary: defaultEmptyFormData(formData, 'primary', null),
|
{
|
||||||
secondary: defaultEmptyFormData(formData, 'secondary', null),
|
primary: defaultEmptyFormData(formData, 'primary', null),
|
||||||
tertiary: defaultEmptyFormData(formData, 'tertiary', null),
|
secondary: defaultEmptyFormData(formData, 'secondary', null),
|
||||||
accent: defaultEmptyFormData(formData, 'accent', null),
|
tertiary: defaultEmptyFormData(formData, 'tertiary', null),
|
||||||
danger: defaultEmptyFormData(formData, 'danger', null),
|
accent: defaultEmptyFormData(formData, 'accent', null),
|
||||||
success: defaultEmptyFormData(formData, 'success', null),
|
danger: defaultEmptyFormData(formData, 'danger', null),
|
||||||
warning: defaultEmptyFormData(formData, 'warn', null),
|
success: defaultEmptyFormData(formData, 'success', null),
|
||||||
info: defaultEmptyFormData(formData, 'info', null),
|
warning: defaultEmptyFormData(formData, 'warn', null),
|
||||||
foreground: defaultEmptyFormData(formData, 'foreground', null),
|
info: defaultEmptyFormData(formData, 'info', null),
|
||||||
background: defaultEmptyFormData(formData, 'background', null),
|
foreground: defaultEmptyFormData(formData, 'foreground', null),
|
||||||
setting: dumpedSetting,
|
background: defaultEmptyFormData(formData, 'background', null),
|
||||||
};
|
setting: dumpedSetting,
|
||||||
|
},
|
||||||
|
schemeSetting,
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
const [, handleDraftAction] = useActionState<Map<string, string>, FormData>(
|
const [, handleDraftAction] = useActionState<Map<string, string>, FormData>(
|
||||||
(_state, formData) => {
|
(_state, formData) => {
|
||||||
const errMsg = new Map<string, string>();
|
const errMsg = new Map<string, string>();
|
||||||
|
|
||||||
const source = collectSchemeSource(formData);
|
const [source] = collectSchemeSource(formData);
|
||||||
updateScheme((prev) => {
|
updateScheme((prev) => {
|
||||||
prev.schemeStorage.source = source;
|
prev.schemeStorage.source = source;
|
||||||
return prev;
|
return prev;
|
||||||
@ -154,7 +157,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
|||||||
}
|
}
|
||||||
if (!isEmpty(errMsg)) return errMsg;
|
if (!isEmpty(errMsg)) return errMsg;
|
||||||
try {
|
try {
|
||||||
const source = collectSchemeSource(formData);
|
const [source, setting] = collectSchemeSource(formData);
|
||||||
const generatedScheme = every([source.secondary, source.tertiary, source.accent], isNil)
|
const generatedScheme = every([source.secondary, source.tertiary, source.accent], isNil)
|
||||||
? colorFn?.generate_q_scheme_automatically(
|
? colorFn?.generate_q_scheme_automatically(
|
||||||
source.primary ?? '',
|
source.primary ?? '',
|
||||||
@ -164,7 +167,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
|||||||
source.info ?? '',
|
source.info ?? '',
|
||||||
source.foreground ?? '',
|
source.foreground ?? '',
|
||||||
source.background ?? '',
|
source.background ?? '',
|
||||||
schemeSetting,
|
setting,
|
||||||
)
|
)
|
||||||
: colorFn?.generate_q_scheme_manually(
|
: colorFn?.generate_q_scheme_manually(
|
||||||
source.primary ?? '',
|
source.primary ?? '',
|
||||||
@ -177,7 +180,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
|||||||
source.info ?? '',
|
source.info ?? '',
|
||||||
source.foreground ?? '',
|
source.foreground ?? '',
|
||||||
source.background ?? '',
|
source.background ?? '',
|
||||||
schemeSetting,
|
setting,
|
||||||
);
|
);
|
||||||
updateScheme((prev) => {
|
updateScheme((prev) => {
|
||||||
prev.schemeStorage.source = source;
|
prev.schemeStorage.source = source;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user