mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: only open the last opened view if plugin is blank
This commit is contained in:
parent
bc5f0c206b
commit
510fd11680
@ -144,11 +144,24 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
collapsedNotifier: getIt<HomeStackManager>().collapsedNotifier,
|
||||
);
|
||||
|
||||
final latestView =
|
||||
workspaceSetting.hasLatestView() ? workspaceSetting.latestView : null;
|
||||
if (getIt<MenuSharedState>().latestOpenView == null) {
|
||||
/// AppFlowy will open the view that the last time the user opened it. The _buildHomeMenu will get called when AppFlowy's screen resizes. So we only set the latestOpenView when it's null.
|
||||
getIt<MenuSharedState>().latestOpenView = latestView;
|
||||
// Only open the last opened view if the [HomeStackManager] current opened
|
||||
// plugin is blank and the last opened view is not null.
|
||||
//
|
||||
// All opened widgets that display on the home screen are in the form
|
||||
// of plugins. There is a list of built-in plugins defined in the
|
||||
// [PluginType] enum, including board, grid and trash.
|
||||
|
||||
if (getIt<HomeStackManager>().plugin.ty == PluginType.blank) {
|
||||
// Open the last opened view.
|
||||
if (workspaceSetting.hasLatestView()) {
|
||||
final view = workspaceSetting.latestView;
|
||||
final plugin = makePlugin(
|
||||
pluginType: view.pluginType,
|
||||
data: view,
|
||||
);
|
||||
getIt<HomeStackManager>().setPlugin(plugin);
|
||||
getIt<MenuSharedState>().latestOpenView = view;
|
||||
}
|
||||
}
|
||||
|
||||
return FocusTraversalGroup(child: RepaintBoundary(child: homeMenu));
|
||||
|
@ -144,6 +144,7 @@ class HomeStackManager {
|
||||
}
|
||||
|
||||
PublishNotifier<bool> get collapsedNotifier => _notifier.collapsedNotifier;
|
||||
Plugin get plugin => _notifier.plugin;
|
||||
|
||||
void setPlugin(Plugin newPlugin) {
|
||||
_notifier.plugin = newPlugin;
|
||||
|
Loading…
Reference in New Issue
Block a user