VThemeProvider constructor

VThemeProvider({
  1. Key? key,
  2. ThemeData? appThemeData,
  3. required Widget child,
})

Implementation

VThemeProvider({
  Key? key,
  ThemeData? appThemeData,
  required Widget child,
}) : super(key: key, child: child) {

  List<ThemeExtension<dynamic>> extensions = <ThemeExtension<dynamic>>[defaultThemeExtension];

  themeData = ThemeData(extensions: extensions);

  if (appThemeData != null) {
    VCustomColors? appThemeExtension = appThemeData.extension<VCustomColors>();

    themeData = ThemeData(
        appBarTheme: appThemeData.appBarTheme,
        primaryColor: appThemeData.primaryColor,
        primaryColorLight: appThemeData.primaryColorLight,
        primaryColorDark: appThemeData.primaryColorDark,
        dividerColor: appThemeData.dividerColor,
        // iconTheme: appThemeData.,

        dividerTheme: appThemeData.dividerTheme.color == null ? DividerThemeData(color: ColorsUtil.hex2Color("#dcdcdc"), thickness: 0.8) : appThemeData.dividerTheme,
        extensions: [
          VCustomColors(
              inputCursorColor: appThemeExtension?.inputCursorColor ?? defaultThemeExtension.inputCursorColor,
              hintStyle: appThemeExtension?.hintStyle ?? defaultThemeExtension.hintStyle,
              iconTheme: appThemeExtension?.iconTheme ?? defaultThemeExtension.iconTheme,
              requiredStarStyle: appThemeExtension?.requiredStarStyle ?? defaultThemeExtension.requiredStarStyle,
              labelStyle: appThemeExtension?.labelStyle ?? defaultThemeExtension.labelStyle,
              valueStyle: appThemeExtension?.valueStyle ?? defaultThemeExtension.valueStyle,
            arrowIconTheme: appThemeExtension?.arrowIconTheme ?? defaultThemeExtension.arrowIconTheme,

          )
        ]);
  }
}