mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-09-09 16:48:56 +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