responsiveWidget method

Widget responsiveWidget({
  1. required Widget forUnInitialDevices,
  2. Widget? forPortraitMobileScreen,
  3. Widget? forLandscapeMobileScreen,
  4. Widget? forPortraitTabletScreen,
  5. Widget? forLandscapeTabletScreen,
  6. Widget? forDesktopScreen,
  7. Widget? forTVScreen,
})

return a responsive widget depending on screen type

Implementation

Widget responsiveWidget(
    {required Widget forUnInitialDevices,
    Widget? forPortraitMobileScreen,
    Widget? forLandscapeMobileScreen,
    Widget? forPortraitTabletScreen,
    Widget? forLandscapeTabletScreen,
    Widget? forDesktopScreen,
    Widget? forTVScreen}) {
  if (_responsiveHandler._screenType == ScreenType.phone)
    return (_responsiveHandler._deviceInfo.orientation == Orientation.portrait
            ? forPortraitMobileScreen
            : forLandscapeMobileScreen) ??
        forUnInitialDevices;
  else if (_responsiveHandler._screenType == ScreenType.tabletOrIpad)
    return (_responsiveHandler._deviceInfo.orientation == Orientation.portrait
            ? forPortraitTabletScreen
            : forLandscapeTabletScreen) ??
        forUnInitialDevices;
  else if (_responsiveHandler._screenType == ScreenType.desktop ||
      _responsiveHandler._screenType == ScreenType.website)
    return forDesktopScreen ?? forUnInitialDevices;
  else
    return forTVScreen ?? forUnInitialDevices;
}