tsacdop-podcast-app-android/lib/widgets/feature_discovery.dart

56 lines
1.9 KiB
Dart
Raw Normal View History

2020-10-30 13:35:02 +01:00
import 'package:feature_discovery/feature_discovery.dart';
import 'package:flutter/material.dart';
import '../util/extension_helper.dart';
const String addFeature = 'addFeature';
const String menuFeature = 'menuFeature';
const String playlistFeature = 'playlistFeature';
const String longTapFeature = 'longTapFeature';
const String groupsFeature = 'groupsFeature';
const String podcastFeature = 'podcastFeature';
const String addGroupFeature = 'addGroupFeature';
const String configureGroup = 'configureFeature';
const String configurePodcast = 'configurePodcast';
Widget featureDiscoveryOverlay(BuildContext context,
2022-04-30 17:16:19 +02:00
{required String featureId,
Color? buttonColor,
Color? backgroundColor,
required Widget child,
required Widget tapTarget,
required String title,
required String description}) {
2022-06-03 16:03:21 +02:00
final s = context.s;
2020-10-30 13:35:02 +01:00
return DescribedFeatureOverlay(
featureId: featureId,
tapTarget: tapTarget,
title: Text(title),
backgroundColor: backgroundColor,
overflowMode: OverflowMode.clipContent,
onDismiss: () {
return Future.value(true);
},
description: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(description),
TextButton(
style: TextButton.styleFrom(primary: buttonColor),
2020-10-30 13:35:02 +01:00
child: Text(s.understood,
2022-04-30 17:16:19 +02:00
style: context.textTheme.button!.copyWith(color: Colors.white)),
2020-10-30 13:35:02 +01:00
onPressed: () async =>
FeatureDiscovery.completeCurrentStep(context),
),
TextButton(
style: TextButton.styleFrom(primary: buttonColor),
2020-10-30 13:35:02 +01:00
child: Text(s.dismiss,
2022-04-30 17:16:19 +02:00
style: context.textTheme.button!.copyWith(color: Colors.white)),
2020-10-30 13:35:02 +01:00
onPressed: () => FeatureDiscovery.dismissAll(context),
),
],
),
child: child);
}