produceSlimWidget static method

Widget produceSlimWidget(
  1. Trait trait, {
  2. dynamic backgroundColor = Colors.white,
})

Implementation

static Widget produceSlimWidget(Trait trait,
    {backgroundColor = Colors.white}) {
  switch (trait.runtimeType) {
    case LockTrait:
      return Consumer<LockProvider>(builder: (_, lockProvider, __) {
        return LockSlimWidget(lockProvider, backgroundColor: backgroundColor);
      });
    case PowerTrait:
      return Consumer<PowerTraitProvider>(builder: (_, powerProvider, __) {
        return PowerSlimWidget(powerProvider,
            backgroundColor: backgroundColor);
      });
    case BatteryLevelTrait:
      return Consumer<BatteryLevelProvider>(
          builder: (_, batteryLevelProvider, __) {
        return BatterySlimWidget(batteryLevelProvider,
            backgroundColor: backgroundColor,
            createContent: (context) => BatteryWidget(
                  batteryLevelProvider,
                  iconSize: 100.0,
                  textColor: WidgetStyleConstants.darkTextColor,
                  iconColor: WidgetStyleConstants.deviceDetailIconColorActive,
                ));
      });
    case ThermostatTrait:
      return Consumer<ThermostatProvider>(
          builder: (_, thermostatProvider, __) {
        return ThermostatSlimWidget(
          thermostatProvider,
          backgroundColor: backgroundColor,
        );
      });
    case BrightnessTrait:
      return Consumer<BrightnessProvider>(
          builder: (_, brightnessProvider, __) {
        return BrightnessSlimWidget(
          brightnessProvider,
          backgroundColor: backgroundColor,
        );
      });
    case ColorTrait:
      return Consumer<ColorProvider>(builder: (_, colorTraitProvider, __) {
        return ColorSlimWidget(
          colorTraitProvider,
          backgroundColor: backgroundColor,
        );
      });
    case ColorTemperatureTrait:
      return Consumer<ColorTemperatureProvider>(
          builder: (_, ColorTemperatureProvider, __) {
        return ColorTemperatureSlimWidget(
          ColorTemperatureProvider,
          backgroundColor: backgroundColor,
        );
      });
    case PinCodeTrait:
      return Consumer<PinCodeProvider>(builder: (_, pinCodeProvider, __) {
        return PinCodeSlimWidget(
          pinCodeProvider,
          backgroundColor: backgroundColor,
        );
      });
    default:
      return UnknownSlimWidget(trait.name, backgroundColor: backgroundColor);
  }
}