whenTheme<T> method

T whenTheme<T>({
  1. required T light(),
  2. T dark()?,
})

When the theme is in light mode, return light function, else return dark function

Implementation

// ignore: avoid_shadowing_type_parameters
T whenTheme<T>({required T Function() light, T Function()? dark}) {
  bool isDarkModeEnabled = NyThemeManager.instance.isDark;

  // Also check device dark mode as fallback
  if (!isDarkModeEnabled && context.isDeviceInDarkMode) {
    isDarkModeEnabled = true;
  }

  if (isDarkModeEnabled) {
    if (dark != null) {
      return dark();
    }
  }

  return light();
}