applyTheme method
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);
// Rest state colors
restSoundNameColorLight = colors.restTextColorLight;
restSoundNameColorDark = colors.restTextColorDark;
restTimerColorLight = colors.restTextColorLight;
restTimerColorDark = colors.restTextColorDark;
restControlColorLight = colors.accentColorLight;
restControlColorDark = colors.accentColorDark;
// Hover state colors
hoverSoundNameColorLight = colors.hoverTextColorLight;
hoverSoundNameColorDark = colors.hoverTextColorDark;
hoverTimerColorLight = colors.hoverTextColorLight;
hoverTimerColorDark = colors.hoverTextColorDark;
hoverControlColorLight = colors.accentColorLight;
hoverControlColorDark = colors.accentColorDark;
// Pressed state colors
pressedSoundNameColorLight = colors.pressedTextColorLight;
pressedSoundNameColorDark = colors.pressedTextColorDark;
pressedTimerColorLight = colors.pressedTextColorLight;
pressedTimerColorDark = colors.pressedTextColorDark;
pressedControlColorLight = colors.accentColorLight;
pressedControlColorDark = colors.accentColorDark;
// Disabled state colors
disabledSoundNameColorLight = colors.disabledTextColorLight;
disabledSoundNameColorDark = colors.disabledTextColorDark;
disabledTimerColorLight = colors.disabledTextColorLight;
disabledTimerColorDark = colors.disabledTextColorDark;
disabledControlColorLight = colors.disabledIconColorLight;
disabledControlColorDark = colors.disabledIconColorDark;
// Update border color
borderColor = colors.accentColorLight;
}