From 817306ea2a790dc6cb343ef1c8ed229db1f1dad3 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Fri, 6 Sep 2024 11:41:18 +0000 Subject: [PATCH] chore: sort font weight options (#8151) close PD-1684 --- .../setting-modal/general-setting/editor/edgeless/shape.tsx | 5 ++--- .../setting-modal/general-setting/editor/edgeless/text.tsx | 5 ++--- .../affine/setting-modal/general-setting/editor/utils.ts | 5 +++++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx index 2aa008f033..f961968fbc 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx @@ -19,7 +19,6 @@ import { FontFamily, FontFamilyMap, FontStyle, - FontWeight, FontWeightMap, getShapeName, LineColor, @@ -41,7 +40,7 @@ import { settingWrapper, shapeIndicator, } from '../style.css'; -import { useColor } from '../utils'; +import { sortedFontWeightEntries, useColor } from '../utils'; import type { DocName } from './docs'; import { Point } from './point'; import { EdgelessSnapshot } from './snapshot'; @@ -285,7 +284,7 @@ export const ShapeSettings = () => { const fontWeightItems = useMemo(() => { const { fontWeight } = settings[`shape:${currentShape}`]; - return Object.entries(FontWeight).map(([name, value]) => { + return sortedFontWeightEntries.map(([name, value]) => { const handler = () => { editorSetting.set(`shape:${currentShape}`, { fontWeight: value }); }; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/text.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/text.tsx index 9a8a1a16db..723533505c 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/text.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/text.tsx @@ -11,7 +11,6 @@ import { FontFamily, FontFamilyMap, FontStyle, - FontWeight, FontWeightMap, LineColor, LineColorMap, @@ -23,7 +22,7 @@ import { useCallback, useMemo } from 'react'; import { DropdownMenu } from '../menu'; import { menuTrigger, settingWrapper } from '../style.css'; -import { useColor } from '../utils'; +import { sortedFontWeightEntries, useColor } from '../utils'; import { Point } from './point'; import { EdgelessSnapshot } from './snapshot'; @@ -123,7 +122,7 @@ export const TextSettings = () => { const fontWeightItems = useMemo(() => { const { fontWeight } = settings['affine:edgeless-text']; - return Object.entries(FontWeight).map(([name, value]) => { + return sortedFontWeightEntries.map(([name, value]) => { const handler = () => { editorSetting.set('affine:edgeless-text', { fontWeight: value }); }; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/utils.ts b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/utils.ts index 25a9f93cb8..66431d2814 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/utils.ts +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/utils.ts @@ -1,3 +1,4 @@ +import { FontWeight } from '@blocksuite/blocks'; import { useTheme } from 'next-themes'; function getColorFromMap( @@ -43,3 +44,7 @@ export const useColor = () => { resolvedTheme as 'light' | 'dark' | undefined ); }; + +export const sortedFontWeightEntries = Object.entries(FontWeight).sort( + (a, b) => Number(a[1]) - Number(b[1]) +);