diff --git a/src/page-components/scheme/q-2-scheme/Builder.tsx b/src/page-components/scheme/q-2-scheme/Builder.tsx index 3825e9f..4ab4eee 100644 --- a/src/page-components/scheme/q-2-scheme/Builder.tsx +++ b/src/page-components/scheme/q-2-scheme/Builder.tsx @@ -1,4 +1,4 @@ -import { ColorExpand, ColorShifting, SchemeSetting, WACGSetting } from 'color-module'; +import { ColorExpand, ColorShifting, SchemeSelect, SchemeSetting, WACGSetting } from 'color-module'; import { includes, isEmpty, isNil } from 'lodash-es'; import { useActionState, useCallback, useMemo, useState } from 'react'; import { useColorFunction } from '../../../ColorFunctionContext'; @@ -58,6 +58,7 @@ export function Q2SchemeBuilder({ scheme, onBuildCompleted }: Q2SchemeBuilderPro ), scheme.schemeStorage.source?.setting?.expand_method ?? defaultValues.expand_method, scheme.schemeStorage.source?.setting?.wacg_follows ?? defaultValues.wacg_follows, + scheme.schemeStorage.source?.setting?.scheme_select ?? defaultValues.scheme_select, ); } return defaultValues; @@ -150,6 +151,7 @@ export function Q2SchemeBuilder({ scheme, onBuildCompleted }: Q2SchemeBuilderPro ), Number(formData.get('expanding')) as ColorExpand, Number(formData.get('wacg')) as WACGSetting, + Number(formData.get('scheme_select')) as SchemeSelect, ); const dumpedSetting = schemeSetting.toJsValue() as QSchemeSetting; @@ -222,14 +224,18 @@ export function Q2SchemeBuilder({ scheme, onBuildCompleted }: Q2SchemeBuilderPro updateScheme((prev) => { prev.schemeStorage.source = source; prev.schemeStorage.scheme = { - light: { - ...generatedScheme[0].light, - customColors: mapToObject(generatedScheme[0].light.customColors), - }, - dark: { - ...generatedScheme[0].dark, - customColors: mapToObject(generatedScheme[0].dark.customColors), - }, + light: isNil(generatedScheme[0].light) + ? null + : { + ...generatedScheme[0].light, + customColors: mapToObject(generatedScheme[0].light.customColors), + }, + dark: isNil(generatedScheme[0].dark) + ? null + : { + ...generatedScheme[0].dark, + customColors: mapToObject(generatedScheme[0].dark.customColors), + }, }; prev.schemeStorage.cssVariables = generatedScheme[1]; prev.schemeStorage.cssAutoSchemeVariables = generatedScheme[2]; diff --git a/src/page-components/scheme/q-2-scheme/Preview.tsx b/src/page-components/scheme/q-2-scheme/Preview.tsx index 62487c5..4975d99 100644 --- a/src/page-components/scheme/q-2-scheme/Preview.tsx +++ b/src/page-components/scheme/q-2-scheme/Preview.tsx @@ -162,10 +162,10 @@ const Q2SchemePreview: FC = ({ scheme }) => {
- {scheme.schemeStorage.scheme?.light && ( + {scheme.schemeStorage.scheme?.light !== null && ( )} - {scheme.schemeStorage.scheme?.dark && ( + {scheme.schemeStorage.scheme?.dark !== null && ( )}
diff --git a/src/q-2-scheme.ts b/src/q-2-scheme.ts index c402be2..4f59184 100644 --- a/src/q-2-scheme.ts +++ b/src/q-2-scheme.ts @@ -36,8 +36,8 @@ export type Q2Baseline = { }; export type Q2Scheme = { - light: Q2Baseline; - dark: Q2Baseline; + light: Q2Baseline | null; + dark: Q2Baseline | null; }; export type Q2SchemeSource = {