From edd92acb3db3694e70ac3c061584b89ce18c1422 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 24 Apr 2026 02:13:09 +0700 Subject: [PATCH] chore(lint): memoize inline styles in agent-list --- packages/app/src/components/agent-list.tsx | 82 ++++++++++++---------- 1 file changed, 45 insertions(+), 37 deletions(-) diff --git a/packages/app/src/components/agent-list.tsx b/packages/app/src/components/agent-list.tsx index dc03e26a7..e2bcafa1f 100644 --- a/packages/app/src/components/agent-list.tsx +++ b/packages/app/src/components/agent-list.tsx @@ -150,24 +150,26 @@ function SessionBadge({ icon?: ReactElement; tone?: "neutral" | "warning" | "danger"; }) { + const badgeStyle = useMemo( + () => [ + styles.badge, + tone === "warning" && styles.badgeWarning, + tone === "danger" && styles.badgeDanger, + ], + [tone], + ); + const badgeTextStyle = useMemo( + () => [ + styles.badgeText, + tone === "warning" && styles.badgeTextWarning, + tone === "danger" && styles.badgeTextDanger, + ], + [tone], + ); return ( - + {icon} - - {label} - + {label} ); } @@ -208,6 +210,11 @@ function SessionRow({ const handlePress = useCallback(() => onPress(agent), [onPress, agent]); const handleLongPress = useCallback(() => onLongPress(agent), [onLongPress, agent]); + const sessionTitleStyle = useMemo( + () => [styles.sessionTitle, isSelected && styles.sessionTitleHighlighted], + [isSelected], + ); + return ( - + {agent.title || "New session"} {agent.archivedAt ? ( @@ -411,6 +415,19 @@ export function AgentList({ const keyExtractor = useCallback((item: FlatListItem) => item.key, []); + const refreshColors = useMemo( + () => [theme.colors.foregroundMuted], + [theme.colors.foregroundMuted], + ); + const sheetContainerStyle = useMemo( + () => [styles.sheetContainer, { paddingBottom: Math.max(insets.bottom, theme.spacing[6]) }], + [insets.bottom, theme.spacing], + ); + const sheetArchiveTextStyle = useMemo( + () => [styles.sheetArchiveText, isActionDaemonUnavailable && styles.sheetArchiveTextDisabled], + [isActionDaemonUnavailable], + ); + return ( <> ) : undefined } @@ -442,12 +459,7 @@ export function AgentList({ > - + {isActionDaemonUnavailable @@ -456,7 +468,7 @@ export function AgentList({ @@ -464,18 +476,11 @@ export function AgentList({ - - Archive - + Archive @@ -686,3 +691,6 @@ const styles = StyleSheet.create((theme) => ({ fontSize: theme.fontSize.base, }, })); + +const SHEET_CANCEL_BUTTON_STYLE = [styles.sheetButton, styles.sheetCancelButton]; +const SHEET_ARCHIVE_BUTTON_STYLE = [styles.sheetButton, styles.sheetArchiveButton];