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) {
  // Call base implementation to set common colors and palette
  super.applyTheme(palette);

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

  // Rest state
  restTitleColorLight = colors.restTextColorLight;
  restSubtitleColorLight = colors.restIconColorLight;
  restIconColorCardLight = colors.accentColorLight;
  restTitleColorDark = colors.restTextColorDark;
  restSubtitleColorDark = colors.restIconColorDark;
  restIconColorCardDark = colors.accentColorDark;

  // Hover state
  hoverTitleColorLight = colors.hoverTextColorLight;
  hoverSubtitleColorLight = colors.hoverIconColorLight;
  hoverIconColorCardLight = colors.accentColorLight;
  hoverTitleColorDark = colors.hoverTextColorDark;
  hoverSubtitleColorDark = colors.hoverIconColorDark;
  hoverIconColorCardDark = colors.accentColorDark;

  // Pressed state
  pressedTitleColorLight = colors.pressedTextColorLight;
  pressedSubtitleColorLight = colors.pressedIconColorLight;
  pressedIconColorCardLight = colors.accentColorLight;
  pressedTitleColorDark = colors.pressedTextColorDark;
  pressedSubtitleColorDark = colors.pressedIconColorDark;
  pressedIconColorCardDark = colors.accentColorDark;

  // Disabled state
  disabledTitleColorLight = colors.disabledTextColorLight;
  disabledSubtitleColorLight = colors.disabledIconColorLight;
  disabledIconColorCardLight = colors.disabledIconColorLight;
  disabledTitleColorDark = colors.disabledTextColorDark;
  disabledSubtitleColorDark = colors.disabledIconColorDark;
  disabledIconColorCardDark = colors.disabledIconColorDark;
}