diff --git a/lib/pages/spaces_management/all_spaces/view/spaces_management_page.dart b/lib/pages/spaces_management/all_spaces/view/spaces_management_page.dart index 00b2cf44..291e6235 100644 --- a/lib/pages/spaces_management/all_spaces/view/spaces_management_page.dart +++ b/lib/pages/spaces_management/all_spaces/view/spaces_management_page.dart @@ -53,6 +53,9 @@ class SpaceManagementPageState extends State { builder: (context, state) { if (state is SpaceManagementLoading) { return const Center(child: CircularProgressIndicator()); + } + if (state is SpaceManagementInitial) { + return const Center(child: CircularProgressIndicator()); } else if (state is BlankState) { return LoadedSpaceView( communities: state.communities, diff --git a/lib/pages/spaces_management/all_spaces/widgets/loaded_space_widget.dart b/lib/pages/spaces_management/all_spaces/widgets/loaded_space_widget.dart index 40876dd8..d2c72fa7 100644 --- a/lib/pages/spaces_management/all_spaces/widgets/loaded_space_widget.dart +++ b/lib/pages/spaces_management/all_spaces/widgets/loaded_space_widget.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; -import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart'; import 'package:syncrow_web/pages/space_tree/view/space_tree_view.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_event.dart'; diff --git a/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart b/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart index db93be4a..6149dbda 100644 --- a/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart +++ b/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart @@ -2,10 +2,10 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:syncrow_web/common/widgets/empty_search_result_widget.dart'; import 'package:syncrow_web/common/widgets/search_bar.dart'; import 'package:syncrow_web/common/widgets/sidebar_communities_list.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; +import 'package:syncrow_web/pages/space_tree/bloc/space_tree_state.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_event.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart'; @@ -114,46 +114,48 @@ class _SidebarWidgetState extends State { return Container( width: _width, decoration: subSectionContainerDecoration, - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SidebarHeader(onAddCommunity: _onAddCommunity), - CustomSearchBar( - onSearchChanged: _onSearchChanged, - ), - const SizedBox(height: 16), - Expanded( - child: Builder( - builder: (_) { - return SidebarCommunitiesList( - scrollController: _scrollController, - onScrollToEnd: () {}, - communities: filteredCommunities, - itemBuilder: (context, index) { - if (index == filteredCommunities.length) { - final spaceTreeState = context.read().state; - if (spaceTreeState.paginationIsLoading) { - return const Padding( - padding: EdgeInsets.all(8.0), - child: Center(child: CircularProgressIndicator()), - ); - } else { - return const SizedBox.shrink(); - } - } - return _buildCommunityTile(context, filteredCommunities[index]); - }, - ); - }, + child: spaceTreeState is SpaceTreeLoadingState + ? const Center(child: CircularProgressIndicator()) + : Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SidebarHeader(onAddCommunity: _onAddCommunity), + CustomSearchBar( + onSearchChanged: _onSearchChanged, + ), + const SizedBox(height: 16), + Expanded( + child: Builder( + builder: (_) { + return SidebarCommunitiesList( + scrollController: _scrollController, + onScrollToEnd: () {}, + communities: filteredCommunities, + itemBuilder: (context, index) { + if (index == filteredCommunities.length) { + final spaceTreeState = context.read().state; + if (spaceTreeState.paginationIsLoading) { + return const Padding( + padding: EdgeInsets.all(8.0), + child: Center(child: CircularProgressIndicator()), + ); + } else { + return const SizedBox.shrink(); + } + } + return _buildCommunityTile(context, filteredCommunities[index]); + }, + ); + }, + ), + ), + if (spaceTreeState.paginationIsLoading || spaceTreeState.isSearching) + Center( + child: CircularProgressIndicator(), + ) + ], ), - ), - if (spaceTreeState.paginationIsLoading) - Center( - child: CircularProgressIndicator(), - ) - ], - ), ); }