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