chore: add close button to onboarding page on web

pull/2245/head
ggurdin 5 months ago
parent 5946ab533c
commit 8f7cd542a5
No known key found for this signature in database
GPG Key ID: A01CB41737CBB478

@ -25,6 +25,15 @@ class Onboarding extends StatefulWidget {
class OnboardingController extends State<Onboarding> {
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(

@ -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,
),
),
],
);
}
}

@ -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(

Loading…
Cancel
Save