Made SpaceSubSpacesDialog scrollable, for a better UX, and to account for a very long list of subspaces.

This commit is contained in:
Faris Armoush
2025-07-27 11:01:22 +03:00
parent cd8ffc99ea
commit 2d69e3c72f

View File

@ -89,28 +89,35 @@ class _SpaceSubSpacesDialogState extends State<SpaceSubSpacesDialog> {
), ),
child: const SelectableText('Create Sub-Space'), child: const SelectableText('Create Sub-Space'),
), ),
content: Column( content: ConstrainedBox(
spacing: 12, constraints: BoxConstraints(
mainAxisSize: MainAxisSize.min, maxHeight: context.screenHeight * 0.4,
children: [ ),
SubSpacesInput( child: SingleChildScrollView(
subSpaces: _subspaces, child: Column(
onSubspaceAdded: _handleSubspaceAdded, spacing: 12,
onSubspaceDeleted: _handleSubspaceDeleted, mainAxisSize: MainAxisSize.min,
controller: _subspaceNameController, children: [
), SubSpacesInput(
AnimatedSwitcher( subSpaces: _subspaces,
duration: const Duration(milliseconds: 100), onSubspaceAdded: _handleSubspaceAdded,
child: Visibility( onSubspaceDeleted: _handleSubspaceDeleted,
key: ValueKey(_hasDuplicateNames), controller: _subspaceNameController,
visible: _hasDuplicateNames,
child: const SelectableText(
'Error: Duplicate subspace names are not allowed.',
style: TextStyle(color: Colors.red),
), ),
), AnimatedSwitcher(
duration: const Duration(milliseconds: 100),
child: Visibility(
key: ValueKey(_hasDuplicateNames),
visible: _hasDuplicateNames,
child: const SelectableText(
'Error: Duplicate subspace names are not allowed.',
style: TextStyle(color: Colors.red),
),
),
),
],
), ),
], ),
), ),
actions: [ actions: [
SpaceDetailsActionButtons( SpaceDetailsActionButtons(