调整Q Scheme构造组件对于已记录值的获取和处理。
This commit is contained in:
parent
853b9b6b75
commit
f9f855e818
|
@ -11,7 +11,7 @@ import { FloatColorPicker } from '../../../components/FloatcolorPicker';
|
||||||
import { ScrollArea } from '../../../components/ScrollArea';
|
import { ScrollArea } from '../../../components/ScrollArea';
|
||||||
import { VSegmentedControl } from '../../../components/VSegmentedControl';
|
import { VSegmentedControl } from '../../../components/VSegmentedControl';
|
||||||
import { SchemeContent } from '../../../models';
|
import { SchemeContent } from '../../../models';
|
||||||
import { QSchemeSource, QSchemeStorage } from '../../../q-scheme';
|
import { QSchemeSetting, QSchemeSource, QSchemeStorage } from '../../../q-scheme';
|
||||||
import { useUpdateScheme } from '../../../stores/schemes';
|
import { useUpdateScheme } from '../../../stores/schemes';
|
||||||
import { defaultEmptyFormData } from '../../../utls';
|
import { defaultEmptyFormData } from '../../../utls';
|
||||||
import styles from './Builder.module.css';
|
import styles from './Builder.module.css';
|
||||||
|
@ -28,50 +28,35 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
||||||
try {
|
try {
|
||||||
if (!colorFn) throw 'Web Assembly functions is not available';
|
if (!colorFn) throw 'Web Assembly functions is not available';
|
||||||
const defaultValues = colorFn.q_scheme_default_settings();
|
const defaultValues = colorFn.q_scheme_default_settings();
|
||||||
if (!scheme.schemeStorage.source?.setting)
|
if (scheme.schemeStorage.source?.setting)
|
||||||
return {
|
return new SchemeSetting(
|
||||||
hover: {
|
new ColorShifting(
|
||||||
chroma:
|
scheme.schemeStorage.source?.setting?.hover.chroma ?? defaultValues.hover.chroma,
|
||||||
scheme.schemeStorage.source?.setting?.hover.chroma ?? defaultValues.hover.chroma,
|
scheme.schemeStorage.source?.setting?.hover.lightness ?? defaultValues.hover.lightness,
|
||||||
lightness:
|
),
|
||||||
scheme.schemeStorage.source?.setting?.hover.lightness ??
|
new ColorShifting(
|
||||||
defaultValues.hover.lightness,
|
scheme.schemeStorage.source?.setting?.active.chroma ?? defaultValues.active.chroma,
|
||||||
},
|
scheme.schemeStorage.source?.setting?.active.lightness ??
|
||||||
active: {
|
|
||||||
chroma:
|
|
||||||
scheme.schemeStorage.source?.setting?.active.chroma ?? defaultValues.active.chroma,
|
|
||||||
lightness:
|
|
||||||
scheme.schemeStorage.source?.setting?.active.lightness ??
|
|
||||||
defaultValues.active.lightness,
|
defaultValues.active.lightness,
|
||||||
},
|
),
|
||||||
focus: {
|
new ColorShifting(
|
||||||
chroma:
|
scheme.schemeStorage.source?.setting?.focus.chroma ?? defaultValues.focus.chroma,
|
||||||
scheme.schemeStorage.source?.setting?.focus.chroma ?? defaultValues.focus.chroma,
|
scheme.schemeStorage.source?.setting?.focus.lightness ?? defaultValues.focus.lightness,
|
||||||
lightness:
|
),
|
||||||
scheme.schemeStorage.source?.setting?.focus.lightness ??
|
new ColorShifting(
|
||||||
defaultValues.focus.lightness,
|
scheme.schemeStorage.source?.setting?.disabled.chroma ?? defaultValues.disabled.chroma,
|
||||||
},
|
scheme.schemeStorage.source?.setting?.disabled.lightness ??
|
||||||
disabled: {
|
|
||||||
chroma:
|
|
||||||
scheme.schemeStorage.source?.setting?.disabled.chroma ??
|
|
||||||
defaultValues.disabled.chroma,
|
|
||||||
lightness:
|
|
||||||
scheme.schemeStorage.source?.setting?.disabled.lightness ??
|
|
||||||
defaultValues.disabled.lightness,
|
defaultValues.disabled.lightness,
|
||||||
},
|
),
|
||||||
dark_convert: {
|
new ColorShifting(
|
||||||
chroma:
|
scheme.schemeStorage.source?.setting?.dark_convert.chroma ??
|
||||||
scheme.schemeStorage.source?.setting?.dark_convert.chroma ??
|
|
||||||
defaultValues.dark_convert.chroma,
|
defaultValues.dark_convert.chroma,
|
||||||
lightness:
|
scheme.schemeStorage.source?.setting?.dark_convert.lightness ??
|
||||||
scheme.schemeStorage.source?.setting?.dark_convert.lightness ??
|
|
||||||
defaultValues.dark_convert.lightness,
|
defaultValues.dark_convert.lightness,
|
||||||
},
|
),
|
||||||
expand_method:
|
scheme.schemeStorage.source?.setting?.expand_method ?? defaultValues.expand_method,
|
||||||
scheme.schemeStorage.source?.setting?.expand_method ?? defaultValues.expand_method,
|
scheme.schemeStorage.source?.setting?.wacg_follows ?? defaultValues.wacg_follows,
|
||||||
wacg_follows:
|
);
|
||||||
scheme.schemeStorage.source?.setting?.wacg_follows ?? defaultValues.wacg_follows,
|
|
||||||
} as SchemeSetting;
|
|
||||||
return defaultValues;
|
return defaultValues;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('[Q scheme builder]', e);
|
console.error('[Q scheme builder]', e);
|
||||||
|
@ -139,6 +124,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
||||||
Number(formData.get('expanding')) as ColorExpand,
|
Number(formData.get('expanding')) as ColorExpand,
|
||||||
Number(formData.get('wacg')) as WACGSetting,
|
Number(formData.get('wacg')) as WACGSetting,
|
||||||
);
|
);
|
||||||
|
const dumpedSetting = schemeSetting.toJsValue() as QSchemeSetting;
|
||||||
|
|
||||||
const source: QSchemeSource = {
|
const source: QSchemeSource = {
|
||||||
primary: defaultEmptyFormData(formData, 'primary', null),
|
primary: defaultEmptyFormData(formData, 'primary', null),
|
||||||
|
@ -151,7 +137,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
||||||
info: defaultEmptyFormData(formData, 'info', null),
|
info: defaultEmptyFormData(formData, 'info', null),
|
||||||
foreground: defaultEmptyFormData(formData, 'foreground', null),
|
foreground: defaultEmptyFormData(formData, 'foreground', null),
|
||||||
background: defaultEmptyFormData(formData, 'background', null),
|
background: defaultEmptyFormData(formData, 'background', null),
|
||||||
setting: schemeSetting,
|
setting: dumpedSetting,
|
||||||
};
|
};
|
||||||
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(
|
||||||
|
@ -162,7 +148,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
||||||
source.info,
|
source.info,
|
||||||
source.foreground,
|
source.foreground,
|
||||||
source.background,
|
source.background,
|
||||||
source.setting,
|
schemeSetting,
|
||||||
)
|
)
|
||||||
: colorFn?.generate_q_scheme_manually(
|
: colorFn?.generate_q_scheme_manually(
|
||||||
source.primary,
|
source.primary,
|
||||||
|
@ -175,7 +161,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
|
||||||
source.info,
|
source.info,
|
||||||
source.foreground,
|
source.foreground,
|
||||||
source.background,
|
source.background,
|
||||||
source.setting,
|
schemeSetting,
|
||||||
);
|
);
|
||||||
updateScheme((prev) => {
|
updateScheme((prev) => {
|
||||||
prev.schemeStorage.source = source;
|
prev.schemeStorage.source = source;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user