import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'steps/step_admin_user.dart'; import 'steps/step_floor_plan.dart'; import 'steps/step_sensors.dart'; import 'steps/step_tags.dart'; import 'steps/step_done.dart'; class OnboardingScreen extends ConsumerStatefulWidget { const OnboardingScreen({super.key}); @override ConsumerState createState() => _OnboardingScreenState(); } class _OnboardingScreenState extends ConsumerState { int _step = 0; void _advance() => setState(() => _step++); @override Widget build(BuildContext context) { final steps = [ StepAdminUser(onComplete: _advance), StepFloorPlan(onComplete: _advance), StepSensors(onComplete: _advance), StepTags(onComplete: _advance), StepDone(onComplete: () => context.go('/floorplan')), ]; return Scaffold( appBar: AppBar( title: const Text('Setup'), bottom: PreferredSize( preferredSize: const Size.fromHeight(4), child: LinearProgressIndicator( value: (_step + 1) / steps.length, ), ), ), body: steps[_step], ); } }