Skip to content

Commit a43af2c

Browse files
committed
feat(fonts): memoize webview props
1 parent 79d5d07 commit a43af2c

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/core/ui/settings/pages/Fonts/FontCard.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import { createStyles, TextStyleSheet } from "@lib/ui/styles";
1010
import { NavigationNative, tokens } from "@metro/common";
1111
import { Button, Card, IconButton, Stack, Text } from "@metro/common/components";
1212
import { findByProps } from "@metro";
13+
import { useMemo, useState } from "react";
1314
import { PixelRatio, View } from "react-native";
1415
import { WebView } from "react-native-webview";
1516
import previewHtml from "./preview.html";
1617

1718
import FontEditor from "./FontEditor";
18-
import { useMemo, useState } from "react";
1919

2020
const { useToken } = lazyDestructure(() => findByProps("useToken"));
2121

@@ -36,12 +36,13 @@ function FontPreview({ font }: { font: FontDefinition; }) {
3636
const { fontFamily: fontFamilyList, fontSize } = TextStyleSheet["text-md/medium"];
3737
const fontFamily = fontFamilyList!.split(/,/g)[0];
3838

39-
const props = {
39+
const props = useMemo(() => ({
4040
family: font.main[fontFamily],
4141
size: fontSize! * PixelRatio.getFontScale(),
4242
color: TEXT_DEFAULT,
43-
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
44-
};
43+
text:
44+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
45+
}), [font.main, fontFamily, fontSize, TEXT_DEFAULT]);
4546

4647
return <View style={{ width: "100%", height: 64 }}>
4748
<WebView

0 commit comments

Comments
 (0)