Compare commits

..

2 Commits

Author SHA1 Message Date
徐涛
672e0e7c63 fix(preview): 添加对 baseline.surface 的数组检查以避免潜在错误 2026-01-15 11:46:45 +08:00
徐涛
d91a8eb341 feat(builder): 添加 SchemeSelect 支持并更新默认设置
fix(preview): 更新 PreviewBlock 组件的前景色属性
2026-01-15 10:56:14 +08:00
2 changed files with 12 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import { capitalize, keys } from 'lodash-es';
import { capitalize, isArray, keys } from 'lodash-es';
import { FC, ReactNode, useMemo } from 'react';
import { useColorFunction } from '../../../ColorFunctionContext';
import { ScrollArea } from '../../../components/ScrollArea';
@@ -127,7 +127,8 @@ const PreviewBlock: FC<PreviewBlockProps> = ({ baseline, title }) => {
<PreviewLine name="Neutral Variant" unit={baseline.neutralVariant} />
</div>
<div className={styles.preview_surface}>
{baseline.surface.map((surfaceSet, index) => (
{isArray(baseline.surface) &&
baseline.surface.map((surfaceSet, index) => (
<div className={styles.surface_block} key={index}>
<PreviewLine key={index} name={`Surface ${index + 1}`} unit={surfaceSet} />
</div>
@@ -140,10 +141,10 @@ const PreviewBlock: FC<PreviewBlockProps> = ({ baseline, title }) => {
<PreviewCell bg={baseline.overlay} fg={baseline.neutralVariant.onRoot}>
Overlay
</PreviewCell>
<PreviewCell bg={baseline.outline} fg={baseline.surface.onRoot}>
<PreviewCell bg={baseline.outline} fg={baseline.foreground}>
Outline
</PreviewCell>
<PreviewCell bg={baseline.outlineVariant} fg={baseline.surface.onRoot}>
<PreviewCell bg={baseline.outlineVariant} fg={baseline.foreground}>
Outline Variant
</PreviewCell>
</div>

View File

@@ -1,4 +1,4 @@
import { ColorExpand, ColorShifting, SchemeSetting, WACGSetting } from 'color-module';
import { ColorExpand, ColorShifting, SchemeSelect, SchemeSetting, WACGSetting } from 'color-module';
import { every, isEmpty, isNil } from 'lodash-es';
import { useActionState, useMemo } from 'react';
import { useColorFunction } from '../../../ColorFunctionContext';
@@ -53,6 +53,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
),
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;
} catch (e) {
@@ -103,6 +104,7 @@ export function QSchemeBuilder({ scheme, onBuildCompleted }: QSchemeBuilderProps
),
Number(formData.get('expanding')) as ColorExpand,
Number(formData.get('wacg')) as WACGSetting,
SchemeSelect.Both,
);
const dumpedSetting = schemeSetting.toJsValue() as QSchemeSetting;
return [