Skip to content

Commit 36dc554

Browse files
committed
memoize markdownOptions
1 parent a3e2f76 commit 36dc554

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

cli/src/components/message-renderer.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { TextAttributes } from '@opentui/core'
2-
import { memo, useCallback, type ReactNode } from 'react'
2+
import { memo, useCallback, useMemo, type ReactNode } from 'react'
33
import React from 'react'
44

55
import { MessageBlock } from './message-block'
@@ -194,11 +194,17 @@ const MessageWithAgents = memo(
194194
const timestampColor = isError ? 'red' : isAi ? theme.muted : theme.muted
195195
const estimatedMessageWidth = availableWidth
196196
const codeBlockWidth = Math.max(10, estimatedMessageWidth - 8)
197-
const paletteForMessage: MarkdownPalette = {
198-
...markdownPalette,
199-
codeTextFg: textColor,
200-
}
201-
const markdownOptions = { codeBlockWidth, palette: paletteForMessage }
197+
const paletteForMessage: MarkdownPalette = useMemo(
198+
() => ({
199+
...markdownPalette,
200+
codeTextFg: textColor,
201+
}),
202+
[markdownPalette, textColor],
203+
)
204+
const markdownOptions = useMemo(
205+
() => ({ codeBlockWidth, palette: paletteForMessage }),
206+
[codeBlockWidth, paletteForMessage],
207+
)
202208

203209
const isLoading =
204210
isAi && message.content === '' && !message.blocks && isWaitingForResponse

0 commit comments

Comments
 (0)