diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart index 88ecdb79e..1f04d4d69 100644 --- a/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart @@ -322,7 +322,8 @@ class BackgroundPush { ?.content .tryGet('type') == ClientStoriesExtension.storiesRoomType; - FluffyChatApp.router.go('/${isStory ? 'rooms/stories' : 'rooms'}/$roomId'); + FluffyChatApp.router + .go('/${isStory ? 'rooms/stories' : 'rooms'}/$roomId'); } catch (e, s) { Logs().e('[Push] Failed to open room', e, s); } diff --git a/lib/widgets/app_lock.dart b/lib/widgets/app_lock.dart index 6a094084a..2e25f95e2 100644 --- a/lib/widgets/app_lock.dart +++ b/lib/widgets/app_lock.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:animations/animations.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:matrix/matrix.dart'; import 'package:provider/provider.dart'; @@ -61,8 +62,6 @@ class AppLock extends State with WidgetsBindingObserver { } bool get isLocked => _isLocked; - CrossFadeState get _crossFadeState => - _isLocked ? CrossFadeState.showSecond : CrossFadeState.showFirst; Future changePincode(String? pincode) async { await const FlutterSecureStorage().write( @@ -95,11 +94,22 @@ class AppLock extends State with WidgetsBindingObserver { @override Widget build(BuildContext context) => Provider( create: (_) => this, - child: AnimatedCrossFade( - firstChild: widget.child, - secondChild: const LockScreen(), - crossFadeState: _crossFadeState, + child: PageTransitionSwitcher( + transitionBuilder: ( + Widget child, + Animation primaryAnimation, + Animation secondaryAnimation, + ) { + return SharedAxisTransition( + animation: primaryAnimation, + secondaryAnimation: secondaryAnimation, + transitionType: SharedAxisTransitionType.vertical, + fillColor: Theme.of(context).scaffoldBackgroundColor, + child: child, + ); + }, duration: FluffyThemes.animationDuration, + child: _isLocked ? const LockScreen() : widget.child, ), ); }