getThemeTransition method

Transition? getThemeTransition()

Implementation

Transition? getThemeTransition() {
  // On web, use lightweight fade transitions by default to avoid
  // heavy GPU-intensive animations that can cause jank in browsers.
  if (kIsWeb) return Transition.fade;

  final platform = context.theme.platform;
  final matchingTransition =
      Sint.theme.pageTransitionsTheme.builders[platform];
  switch (matchingTransition) {
    case CupertinoPageTransitionsBuilder():
      return Transition.cupertino;
    case ZoomPageTransitionsBuilder():
      return Transition.zoom;
    case FadeUpwardsPageTransitionsBuilder():
      return Transition.fade;
    case OpenUpwardsPageTransitionsBuilder():
      return Transition.native;
    default:
      return null;
  }
}