From ec646d767527e09165421b15ce77c7f60bf1571d Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:54:21 -0400 Subject: [PATCH] fix: fix scrolling in delete space dialog (#4436) --- .../widgets/delete_space_dialog.dart | 89 +++++++++---------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/lib/pangea/chat_settings/widgets/delete_space_dialog.dart b/lib/pangea/chat_settings/widgets/delete_space_dialog.dart index 3b3db0800..d1e7473a4 100644 --- a/lib/pangea/chat_settings/widgets/delete_space_dialog.dart +++ b/lib/pangea/chat_settings/widgets/delete_space_dialog.dart @@ -179,48 +179,47 @@ class DeleteSpaceDialogState extends State { style: TextStyle(color: Theme.of(context).colorScheme.error), ), ), - Flexible( - child: SingleChildScrollView( - child: Builder( - builder: (context) { - if (_loadingRooms) { - return const Center( - child: SizedBox( - height: 20, - width: 20, - child: CircularProgressIndicator.adaptive(), - ), - ); - } + Builder( + builder: (context) { + if (_loadingRooms) { + return const Center( + child: SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator.adaptive(), + ), + ); + } - if (_roomLoadError != null) { - return Center( - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 16.0), - child: ErrorIndicator(message: _roomLoadError!), - ), - ); - } - - return Padding( + if (_roomLoadError != null) { + return Center( + child: Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - if (_selectableRooms.length > 1) - CheckboxListTile( - value: _roomsToDelete.length == - _selectableRooms.length, - onChanged: (_) => _toggleSelectAll(), - title: Text( - _roomsToDelete.length == _selectableRooms.length - ? L10n.of(context).deselectAll - : L10n.of(context).selectAll, - ), - controlAffinity: ListTileControlAffinity.leading, + child: ErrorIndicator(message: _roomLoadError!), + ), + ); + } + + return Expanded( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + if (_selectableRooms.length > 1) + CheckboxListTile( + value: _roomsToDelete.length == + _selectableRooms.length, + onChanged: (_) => _toggleSelectAll(), + title: Text( + _roomsToDelete.length == _selectableRooms.length + ? L10n.of(context).deselectAll + : L10n.of(context).selectAll, ), - ListView.builder( - shrinkWrap: true, + controlAffinity: ListTileControlAffinity.leading, + ), + Expanded( + child: ListView.builder( itemCount: _rooms.length, itemBuilder: (context, index) { final chunk = _rooms[index]; @@ -250,12 +249,12 @@ class DeleteSpaceDialogState extends State { ); }, ), - ], - ), - ); - }, - ), - ), + ), + ], + ), + ), + ); + }, ), Padding( padding: const EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),