| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import React from 'react'; |
| import MessageContent from './MessageContent'; |
| import MessageActions from './MessageActions'; |
| import SettingsPanel from './SettingsPanel'; |
| import DebugPanel from './DebugPanel'; |
|
|
| |
| export const OptimizedMessageContent = React.memo( |
| MessageContent, |
| (prevProps, nextProps) => { |
| |
| return ( |
| prevProps.message.id === nextProps.message.id && |
| prevProps.message.content === nextProps.message.content && |
| prevProps.message.status === nextProps.message.status && |
| prevProps.message.role === nextProps.message.role && |
| prevProps.message.reasoningContent === |
| nextProps.message.reasoningContent && |
| prevProps.message.isReasoningExpanded === |
| nextProps.message.isReasoningExpanded && |
| prevProps.isEditing === nextProps.isEditing && |
| prevProps.editValue === nextProps.editValue && |
| prevProps.styleState.isMobile === nextProps.styleState.isMobile |
| ); |
| }, |
| ); |
|
|
| |
| export const OptimizedMessageActions = React.memo( |
| MessageActions, |
| (prevProps, nextProps) => { |
| return ( |
| prevProps.message.id === nextProps.message.id && |
| prevProps.message.role === nextProps.message.role && |
| prevProps.isAnyMessageGenerating === nextProps.isAnyMessageGenerating && |
| prevProps.isEditing === nextProps.isEditing && |
| prevProps.onMessageReset === nextProps.onMessageReset |
| ); |
| }, |
| ); |
|
|
| |
| export const OptimizedSettingsPanel = React.memo( |
| SettingsPanel, |
| (prevProps, nextProps) => { |
| return ( |
| JSON.stringify(prevProps.inputs) === JSON.stringify(nextProps.inputs) && |
| JSON.stringify(prevProps.parameterEnabled) === |
| JSON.stringify(nextProps.parameterEnabled) && |
| JSON.stringify(prevProps.models) === JSON.stringify(nextProps.models) && |
| JSON.stringify(prevProps.groups) === JSON.stringify(nextProps.groups) && |
| prevProps.customRequestMode === nextProps.customRequestMode && |
| prevProps.customRequestBody === nextProps.customRequestBody && |
| prevProps.showDebugPanel === nextProps.showDebugPanel && |
| prevProps.showSettings === nextProps.showSettings && |
| JSON.stringify(prevProps.previewPayload) === |
| JSON.stringify(nextProps.previewPayload) && |
| JSON.stringify(prevProps.messages) === JSON.stringify(nextProps.messages) |
| ); |
| }, |
| ); |
|
|
| |
| export const OptimizedDebugPanel = React.memo( |
| DebugPanel, |
| (prevProps, nextProps) => { |
| return ( |
| prevProps.show === nextProps.show && |
| prevProps.activeTab === nextProps.activeTab && |
| JSON.stringify(prevProps.debugData) === |
| JSON.stringify(nextProps.debugData) && |
| JSON.stringify(prevProps.previewPayload) === |
| JSON.stringify(nextProps.previewPayload) && |
| prevProps.customRequestMode === nextProps.customRequestMode && |
| prevProps.showDebugPanel === nextProps.showDebugPanel |
| ); |
| }, |
| ); |
|
|