mirror of
				https://github.com/AppFlowy-IO/AppFlowy.git
				synced 2025-11-04 03:54:44 +00:00 
			
		
		
		
	fix: filter out the space when opening new tab (#7152)
* fix: filter out the space when opening tab * test: filter out the space when opening tab
This commit is contained in:
		
							parent
							
								
									91236006d4
								
							
						
					
					
						commit
						a33cf1f488
					
				@ -1,4 +1,5 @@
 | 
			
		||||
import 'package:appflowy/env/cloud_env.dart';
 | 
			
		||||
import 'package:appflowy/plugins/document/presentation/editor_page.dart';
 | 
			
		||||
import 'package:appflowy/shared/loading.dart';
 | 
			
		||||
import 'package:appflowy/workspace/presentation/home/menu/sidebar/workspace/_sidebar_workspace_menu.dart';
 | 
			
		||||
import 'package:appflowy/workspace/presentation/home/tabs/flowy_tab.dart';
 | 
			
		||||
@ -71,5 +72,16 @@ void main() {
 | 
			
		||||
 | 
			
		||||
      expect(find.byType(FlowyTab), findsNothing);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    testWidgets('the space view should not be opened', (tester) async {
 | 
			
		||||
      await tester.initializeAppFlowy(
 | 
			
		||||
        cloudType: AuthenticatorType.appflowyCloudSelfHost,
 | 
			
		||||
      );
 | 
			
		||||
      await tester.tapGoogleLoginInButton();
 | 
			
		||||
      await tester.expectToSeeHomePageWithGetStartedPage();
 | 
			
		||||
 | 
			
		||||
      expect(find.byType(AppFlowyEditorPage), findsNothing);
 | 
			
		||||
      expect(find.text('Blank page'), findsOne);
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
import 'package:appflowy/user/application/user_listener.dart';
 | 
			
		||||
import 'package:appflowy/workspace/application/view/view_ext.dart';
 | 
			
		||||
import 'package:appflowy_backend/log.dart';
 | 
			
		||||
import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart';
 | 
			
		||||
import 'package:appflowy_backend/protobuf/flowy-folder/workspace.pb.dart'
 | 
			
		||||
@ -48,10 +49,17 @@ class HomeBloc extends Bloc<HomeEvent, HomeState> {
 | 
			
		||||
            emit(state.copyWith(isLoading: e.isLoading));
 | 
			
		||||
          },
 | 
			
		||||
          didReceiveWorkspaceSetting: (_DidReceiveWorkspaceSetting value) {
 | 
			
		||||
            // the latest view is shared across all the members of the workspace.
 | 
			
		||||
 | 
			
		||||
            final latestView = value.setting.hasLatestView()
 | 
			
		||||
                ? value.setting.latestView
 | 
			
		||||
                : state.latestView;
 | 
			
		||||
 | 
			
		||||
            if (latestView != null && latestView.isSpace) {
 | 
			
		||||
              // If the latest view is a space, we don't need to open it.
 | 
			
		||||
              return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            emit(
 | 
			
		||||
              state.copyWith(
 | 
			
		||||
                workspaceSetting: value.setting,
 | 
			
		||||
 | 
			
		||||
@ -70,6 +70,10 @@ class TabsBloc extends Bloc<TabsEvent, TabsState> {
 | 
			
		||||
              ..setSecondaryPlugin(BlankPagePlugin());
 | 
			
		||||
            emit(state.openPlugin(plugin: plugin, setLatest: setLatest));
 | 
			
		||||
            if (setLatest) {
 | 
			
		||||
              // the space view should be filtered out.
 | 
			
		||||
              if (view != null && view.isSpace) {
 | 
			
		||||
                return;
 | 
			
		||||
              }
 | 
			
		||||
              _setLatestOpenView(view);
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user