Ad and purchases enabled (still need actual testing)
This commit is contained in:
parent
2fcc6dcab7
commit
faf319322a
35 changed files with 1676 additions and 34 deletions
|
|
@ -24,6 +24,12 @@ class OnboardingTourOverlay extends StatelessWidget {
|
|||
final VoidCallback onNext;
|
||||
final VoidCallback onSkip;
|
||||
|
||||
/// Label for the [onSkip] button — defaults to the multi-step tour's own
|
||||
/// wording. A standalone, single-step spotlight (e.g. the "back up your
|
||||
/// data" reminder in lib/widgets/backup_reminder.dart) isn't a "tour", so
|
||||
/// it passes something more fitting like 'Close' instead.
|
||||
final String skipLabel;
|
||||
|
||||
const OnboardingTourOverlay({
|
||||
super.key,
|
||||
required this.targetKeys,
|
||||
|
|
@ -33,6 +39,7 @@ class OnboardingTourOverlay extends StatelessWidget {
|
|||
required this.totalSteps,
|
||||
required this.onNext,
|
||||
required this.onSkip,
|
||||
this.skipLabel = 'Skip Tour',
|
||||
});
|
||||
|
||||
List<Rect> _targetRects() {
|
||||
|
|
@ -126,14 +133,16 @@ class OnboardingTourOverlay extends StatelessWidget {
|
|||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Step $stepNumber of $totalSteps',
|
||||
style: Theme.of(context).textTheme.labelMedium?.copyWith(
|
||||
color: colorScheme.primary,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 6),
|
||||
if (totalSteps > 1) ...[
|
||||
Text(
|
||||
'Step $stepNumber of $totalSteps',
|
||||
style: Theme.of(context).textTheme.labelMedium?.copyWith(
|
||||
color: colorScheme.primary,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 6),
|
||||
],
|
||||
Text(title, style: Theme.of(context).textTheme.titleLarge),
|
||||
const SizedBox(height: 8),
|
||||
Text(description, style: Theme.of(context).textTheme.bodyMedium),
|
||||
|
|
@ -141,7 +150,7 @@ class OnboardingTourOverlay extends StatelessWidget {
|
|||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
TextButton(onPressed: onSkip, child: const Text('Skip Tour')),
|
||||
TextButton(onPressed: onSkip, child: Text(skipLabel)),
|
||||
FilledButton(onPressed: onNext, child: Text(isLastStep ? 'Got It' : 'Next')),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue