diff --git a/lib/pangea/onboarding/onboarding.dart b/lib/pangea/onboarding/onboarding.dart index 7393e88d9..bf2f0979c 100644 --- a/lib/pangea/onboarding/onboarding.dart +++ b/lib/pangea/onboarding/onboarding.dart @@ -25,6 +25,15 @@ class Onboarding extends StatefulWidget { class OnboardingController extends State { static final GetStorage _onboardingStorage = GetStorage('onboarding_storage'); + @override + void initState() { + super.initState(); + // Initialize the storage if needed + GetStorage.init('onboarding_storage').then((_) { + if (mounted) setState(() {}); + }); + } + static bool get isClosed => _onboardingStorage.read('closed') ?? false; static bool get isComplete => OnboardingStepsEnum.values.every( diff --git a/lib/pangea/onboarding/onboarding_complete.dart b/lib/pangea/onboarding/onboarding_complete.dart index 5dcb3d3cc..cbc3c821b 100644 --- a/lib/pangea/onboarding/onboarding_complete.dart +++ b/lib/pangea/onboarding/onboarding_complete.dart @@ -14,31 +14,34 @@ class OnboardingComplete extends StatelessWidget { @override Widget build(BuildContext context) { - return FluffyThemes.isColumnMode(context) - ? Text( - L10n.of(context).getStartedComplete, - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 32.0, + final isColumnMode = FluffyThemes.isColumnMode(context); + return Stack( + children: [ + Container( + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.onSurface.withAlpha(20), + borderRadius: BorderRadius.circular( + 10.0, ), - ) - : Stack( - children: [ - Container( - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.onSurface.withAlpha(20), - borderRadius: BorderRadius.circular( - 10.0, - ), - ), - margin: const EdgeInsets.all(12.0), - padding: const EdgeInsets.fromLTRB( + ), + margin: const EdgeInsets.all(12.0), + padding: isColumnMode + ? const EdgeInsets.all(48.0) + : const EdgeInsets.fromLTRB( 48.0, 8.0, 48.0, 0.0, ), - child: Column( + child: isColumnMode + ? Text( + L10n.of(context).getStartedComplete, + textAlign: TextAlign.center, + style: const TextStyle( + fontSize: 32.0, + ), + ) + : Column( mainAxisSize: MainAxisSize.min, spacing: 24.0, children: [ @@ -56,16 +59,16 @@ class OnboardingComplete extends StatelessWidget { ), ], ), - ), - Positioned( - right: 16.0, - top: 16.0, - child: IconButton( - icon: const Icon(Icons.close), - onPressed: controller.closeCompletedMessage, - ), - ), - ], - ); + ), + Positioned( + right: 16.0, + top: 16.0, + child: IconButton( + icon: const Icon(Icons.close), + onPressed: controller.closeCompletedMessage, + ), + ), + ], + ); } } diff --git a/lib/pangea/onboarding/onboarding_view.dart b/lib/pangea/onboarding/onboarding_view.dart index d23a1262d..e598ee624 100644 --- a/lib/pangea/onboarding/onboarding_view.dart +++ b/lib/pangea/onboarding/onboarding_view.dart @@ -12,6 +12,7 @@ import 'package:fluffychat/pangea/onboarding/onboarding_constants.dart'; import 'package:fluffychat/pangea/onboarding/onboarding_step.dart'; import 'package:fluffychat/pangea/onboarding/onboarding_steps_enum.dart'; import 'package:fluffychat/utils/stream_extension.dart'; +import 'package:fluffychat/widgets/layouts/empty_page.dart'; import 'package:fluffychat/widgets/layouts/max_width_body.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -28,6 +29,10 @@ class OnboardingView extends StatelessWidget { final client = Matrix.of(context).client; final isColumnMode = FluffyThemes.isColumnMode(context); + if (OnboardingController.isClosed && isColumnMode) { + return const EmptyPage(); + } + final screenheight = MediaQuery.of(context).size.height; return Material(