Skip to content

Commit 4686e13

Browse files
authored
feat: add animation for floating toolbar (#7623)
1 parent 584f762 commit 4686e13

4 files changed

Lines changed: 12 additions & 5 deletions

File tree

frontend/appflowy_flutter/lib/plugins/document/presentation/editor_page.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,9 +443,11 @@ class _AppFlowyEditorPageState extends State<AppFlowyEditorPage>
443443
color: Theme.of(context).cardColor,
444444
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)),
445445
),
446-
toolbarBuilder: (context, child, onDismiss) => DesktopFloatingToolbar(
446+
toolbarBuilder: (context, child, onDismiss, isMetricsChanged) =>
447+
DesktopFloatingToolbar(
447448
editorState: editorState,
448449
onDismiss: onDismiss,
450+
enableAnimation: !isMetricsChanged,
449451
child: child,
450452
),
451453
placeHolderBuilder: (_) => customPlaceholderItem,

frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/desktop_toolbar/desktop_floating_toolbar.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:appflowy_editor/appflowy_editor.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44

5+
import 'toolbar_animation.dart';
56
import 'toolbar_cubit.dart';
67

78
class DesktopFloatingToolbar extends StatefulWidget {
@@ -10,11 +11,13 @@ class DesktopFloatingToolbar extends StatefulWidget {
1011
required this.editorState,
1112
required this.child,
1213
required this.onDismiss,
14+
this.enableAnimation = true,
1315
});
1416

1517
final EditorState editorState;
1618
final Widget child;
1719
final VoidCallback onDismiss;
20+
final bool enableAnimation;
1821

1922
@override
2023
State<DesktopFloatingToolbar> createState() => _DesktopFloatingToolbarState();
@@ -46,7 +49,9 @@ class _DesktopFloatingToolbarState extends State<DesktopFloatingToolbar> {
4649
left: position!.left,
4750
top: position!.top,
4851
right: position!.right,
49-
child: widget.child,
52+
child: widget.enableAnimation
53+
? ToolbarAnimationWidget(child: widget.child)
54+
: widget.child,
5055
),
5156
);
5257
}

frontend/appflowy_flutter/pubspec.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ packages:
9090
dependency: "direct main"
9191
description:
9292
path: "."
93-
ref: f46e991
94-
resolved-ref: f46e991d0a9c5a95bd14be4cc96e68171c9ed9bc
93+
ref: "8f314fd"
94+
resolved-ref: "8f314fda5981e650a52ba522ba7915e13940d837"
9595
url: "https://github.com/AppFlowy-IO/appflowy-editor.git"
9696
source: git
9797
version: "5.1.0"

frontend/appflowy_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ dependency_overrides:
180180
appflowy_editor:
181181
git:
182182
url: https://github.com/AppFlowy-IO/appflowy-editor.git
183-
ref: "f46e991"
183+
ref: "8f314fd"
184184

185185
appflowy_editor_plugins:
186186
git:

0 commit comments

Comments
 (0)