This repository has been archived on 2026-03-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HealthTest/lib/screens/onboarding/bloc/onboarding_bloc.dart

37 lines
926 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'onboarding_event.dart';
import 'onboarding_state.dart';
class OnboardingBloc extends Bloc<OnboardingEvent, OnboardingState> {
OnboardingBloc() : super(OnboardingInitial());
int pageIndex = 0;
final pageController = PageController(initialPage: 0);
@override
Stream<OnboardingState> mapEventToState(
OnboardingEvent event,
) async* {
if (event is PageChangedEvent) {
if (pageIndex == 2) {
yield NextScreenState();
return;
}
pageIndex += 1;
pageController.animateToPage(
pageIndex,
duration: Duration(milliseconds: 500),
curve: Curves.ease,
);
yield PageChangedState(counter: pageIndex);
} else if (event is PageSwipedEvent) {
pageIndex = event.index;
yield PageChangedState(counter: pageIndex);
}
}
}