showTour static method

Future<void> showTour({
  1. required BuildContext context,
  2. required List<SubZeroCoachMarkStep> steps,
  3. VoidCallback? onComplete,
})

Show a series of coachmark steps sequentially.

Implementation

static Future<void> showTour({
  required BuildContext context,
  required List<SubZeroCoachMarkStep> steps,
  VoidCallback? onComplete,
}) async {
  for (int i = 0; i < steps.length; i++) {
    final step = steps[i];
    final completer = Completer<void>();

    show(
      context: context,
      targetKey: step.targetKey,
      title: step.title,
      description: step.description,
      leadingWidget: step.leadingWidget,
      position: step.position,
      onDismiss: () => completer.complete(),
    );

    await completer.future;
    await Future.delayed(const Duration(milliseconds: 200));
  }

  onComplete?.call();
}