applyTheme method

  1. @override
void applyTheme(
  1. GeneratedPalette palette
)
override

Apply colors from a GeneratedPalette to this component's state.

This method is called when the theme changes or when a new palette is generated. It should update all color properties based on the palette's values.

Implementation should use ThemeColorMapper.forComponent() for component-specific color resolution.

Implementation

@override
void applyTheme(GeneratedPalette palette) {
  super.applyTheme(palette);

  final colors = ThemeColorMapper.forComponent(palette, componentName);

  // Title colors (secondary text)
  restTitleColorLight =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
  restTitleColorDark =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
  hoverTitleColorLight =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
  hoverTitleColorDark =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
  pressedTitleColorLight =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
  pressedTitleColorDark =
      ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
  disabledTitleColorLight = colors.disabledTextColorLight;
  disabledTitleColorDark = colors.disabledTextColorDark;

  // Value colors (primary text)
  restValueColorLight = colors.restTextColorLight;
  restValueColorDark = colors.restTextColorDark;
  hoverValueColorLight = colors.hoverTextColorLight;
  hoverValueColorDark = colors.hoverTextColorDark;
  pressedValueColorLight = colors.pressedTextColorLight;
  pressedValueColorDark = colors.pressedTextColorDark;
  disabledValueColorLight = colors.disabledTextColorLight;
  disabledValueColorDark = colors.disabledTextColorDark;

  // Status colors kept semantic (green for "Normal")
  // Icon colors kept semantic (red for heart)

  // Disabled icon colors from theme
  disabledIconColorLight = colors.disabledIconColorLight;
  disabledIconColorDark = colors.disabledIconColorDark;

  // Disabled status colors from theme
  disabledStatusColorLight = colors.disabledTextColorLight;
  disabledStatusColorDark = colors.disabledTextColorDark;
}