perf(renderer): mount team dialogs on demand

This commit is contained in:
777genius 2026-05-31 02:42:48 +03:00
parent b6139d8558
commit 12c578a44d

View file

@ -3403,8 +3403,9 @@ export const TeamDetailView = memo(function TeamDetailView({
<TeamMessagesPanelBridge position="inline" {...sharedMessagesPanelProps} /> <TeamMessagesPanelBridge position="inline" {...sharedMessagesPanelProps} />
)} )}
{requestChangesTaskId !== null && (
<ReviewDialog <ReviewDialog
open={requestChangesTaskId !== null} open={true}
teamName={teamName} teamName={teamName}
taskId={requestChangesTaskId} taskId={requestChangesTaskId}
members={members} members={members}
@ -3427,6 +3428,7 @@ export const TeamDetailView = memo(function TeamDetailView({
})(); })();
}} }}
/> />
)}
<TeamMemberDetailDialogBridge <TeamMemberDetailDialogBridge
open={selectedMember !== null} open={selectedMember !== null}
@ -3511,6 +3513,7 @@ export const TeamDetailView = memo(function TeamDetailView({
</Suspense> </Suspense>
)} )}
{editDialogOpen && (
<EditTeamDialog <EditTeamDialog
open={editDialogOpen} open={editDialogOpen}
teamName={teamName} teamName={teamName}
@ -3527,7 +3530,9 @@ export const TeamDetailView = memo(function TeamDetailView({
onChangeLeadRuntime={handleChangeLeadRuntime} onChangeLeadRuntime={handleChangeLeadRuntime}
onSaved={() => void selectTeam(teamName)} onSaved={() => void selectTeam(teamName)}
/> />
)}
{addMemberDialogOpen && (
<AddMemberDialog <AddMemberDialog
open={addMemberDialogOpen} open={addMemberDialogOpen}
teamName={teamName} teamName={teamName}
@ -3561,9 +3566,11 @@ export const TeamDetailView = memo(function TeamDetailView({
})(); })();
}} }}
/> />
)}
{removeMemberConfirm !== null && (
<Dialog <Dialog
open={removeMemberConfirm !== null} open={true}
onOpenChange={(open) => { onOpenChange={(open) => {
if (!open) setRemoveMemberConfirm(null); if (!open) setRemoveMemberConfirm(null);
}} }}
@ -3576,7 +3583,11 @@ export const TeamDetailView = memo(function TeamDetailView({
</DialogDescription> </DialogDescription>
</DialogHeader> </DialogHeader>
<DialogFooter> <DialogFooter>
<Button variant="ghost" size="sm" onClick={() => setRemoveMemberConfirm(null)}> <Button
variant="ghost"
size="sm"
onClick={() => setRemoveMemberConfirm(null)}
>
{t('detail.actions.cancel')} {t('detail.actions.cancel')}
</Button> </Button>
<Button <Button
@ -3594,7 +3605,9 @@ export const TeamDetailView = memo(function TeamDetailView({
</DialogFooter> </DialogFooter>
</DialogContent> </DialogContent>
</Dialog> </Dialog>
)}
{deleteConfirmOpen && (
<Dialog open={deleteConfirmOpen} onOpenChange={setDeleteConfirmOpen}> <Dialog open={deleteConfirmOpen} onOpenChange={setDeleteConfirmOpen}>
<DialogContent className="max-w-sm"> <DialogContent className="max-w-sm">
<DialogHeader> <DialogHeader>
@ -3613,6 +3626,7 @@ export const TeamDetailView = memo(function TeamDetailView({
</DialogFooter> </DialogFooter>
</DialogContent> </DialogContent>
</Dialog> </Dialog>
)}
{launchDialogOpen && ( {launchDialogOpen && (
<Suspense <Suspense
@ -3711,6 +3725,7 @@ export const TeamDetailView = memo(function TeamDetailView({
onDeleteTask={handleDeleteTask} onDeleteTask={handleDeleteTask}
/> />
{trashOpen && (
<TrashDialog <TrashDialog
open={trashOpen} open={trashOpen}
tasks={deletedTasks} tasks={deletedTasks}
@ -3725,6 +3740,7 @@ export const TeamDetailView = memo(function TeamDetailView({
})(); })();
}} }}
/> />
)}
{reviewDialogState.open && ( {reviewDialogState.open && (
<Suspense fallback={null}> <Suspense fallback={null}>