perf(renderer): isolate kanban log activity updates
This commit is contained in:
parent
583bb5f26a
commit
0924a35682
1 changed files with 13 additions and 4 deletions
|
|
@ -916,6 +916,7 @@ type TeamMemberDetailDialogBridgeProps = Omit<
|
||||||
ComponentProps<typeof MemberDetailDialog>,
|
ComponentProps<typeof MemberDetailDialog>,
|
||||||
'leadActivity' | 'spawnEntry' | 'runtimeEntry'
|
'leadActivity' | 'spawnEntry' | 'runtimeEntry'
|
||||||
>;
|
>;
|
||||||
|
type TeamKanbanBoardBridgeProps = Omit<ComponentProps<typeof KanbanBoard>, 'activeTaskLogActivity'>;
|
||||||
type TeamSidebarRailBridgeProps = Omit<
|
type TeamSidebarRailBridgeProps = Omit<
|
||||||
ComponentProps<typeof TeamSidebarRail>,
|
ComponentProps<typeof TeamSidebarRail>,
|
||||||
'messagesPanelProps'
|
'messagesPanelProps'
|
||||||
|
|
@ -1682,6 +1683,17 @@ const TeamMemberDetailDialogBridge = memo(function TeamMemberDetailDialogBridge(
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const TeamKanbanBoardBridge = memo(function TeamKanbanBoardBridge({
|
||||||
|
teamName,
|
||||||
|
...props
|
||||||
|
}: TeamKanbanBoardBridgeProps): React.JSX.Element {
|
||||||
|
const activeTaskLogActivity = useStore((s) => s.activeTaskLogActivityByTeam[teamName]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<KanbanBoard {...props} teamName={teamName} activeTaskLogActivity={activeTaskLogActivity} />
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
export const TeamDetailView = memo(function TeamDetailView({
|
export const TeamDetailView = memo(function TeamDetailView({
|
||||||
teamName,
|
teamName,
|
||||||
isActive = true,
|
isActive = true,
|
||||||
|
|
@ -1859,7 +1871,6 @@ export const TeamDetailView = memo(function TeamDetailView({
|
||||||
restoreTask,
|
restoreTask,
|
||||||
fetchDeletedTasks,
|
fetchDeletedTasks,
|
||||||
deletedTasks,
|
deletedTasks,
|
||||||
activeTaskLogActivity,
|
|
||||||
launchParams,
|
launchParams,
|
||||||
messagesPanelMode,
|
messagesPanelMode,
|
||||||
messagesPanelWidth,
|
messagesPanelWidth,
|
||||||
|
|
@ -1918,7 +1929,6 @@ export const TeamDetailView = memo(function TeamDetailView({
|
||||||
restoreTask: s.restoreTask,
|
restoreTask: s.restoreTask,
|
||||||
fetchDeletedTasks: s.fetchDeletedTasks,
|
fetchDeletedTasks: s.fetchDeletedTasks,
|
||||||
deletedTasks: s.deletedTasks,
|
deletedTasks: s.deletedTasks,
|
||||||
activeTaskLogActivity: teamName ? s.activeTaskLogActivityByTeam[teamName] : undefined,
|
|
||||||
launchParams: teamName ? s.launchParamsByTeam[teamName] : undefined,
|
launchParams: teamName ? s.launchParamsByTeam[teamName] : undefined,
|
||||||
messagesPanelMode: s.messagesPanelMode,
|
messagesPanelMode: s.messagesPanelMode,
|
||||||
messagesPanelWidth: s.messagesPanelWidth,
|
messagesPanelWidth: s.messagesPanelWidth,
|
||||||
|
|
@ -3461,7 +3471,7 @@ export const TeamDetailView = memo(function TeamDetailView({
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<KanbanBoard
|
<TeamKanbanBoardBridge
|
||||||
tasks={kanbanDisplayTasks}
|
tasks={kanbanDisplayTasks}
|
||||||
teamName={teamName}
|
teamName={teamName}
|
||||||
kanbanState={data.kanbanState}
|
kanbanState={data.kanbanState}
|
||||||
|
|
@ -3470,7 +3480,6 @@ export const TeamDetailView = memo(function TeamDetailView({
|
||||||
sessions={teamSessions}
|
sessions={teamSessions}
|
||||||
leadSessionId={data.config.leadSessionId}
|
leadSessionId={data.config.leadSessionId}
|
||||||
members={activeMembers}
|
members={activeMembers}
|
||||||
activeTaskLogActivity={activeTaskLogActivity}
|
|
||||||
forceShowAllTasks={isKanbanSearchActive}
|
forceShowAllTasks={isKanbanSearchActive}
|
||||||
onFilterChange={setKanbanFilter}
|
onFilterChange={setKanbanFilter}
|
||||||
onSortChange={setKanbanSort}
|
onSortChange={setKanbanSort}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue