import 'package:flutter/material.dart'; class TabloTheme extends ThemeExtension { final Color? titleTextColor; final Color? titleBackgroundColor; final Color? dataTextColor; final Color? dataErrorTextColor; final Color? dataSuccesTextColor; final Color? veriArkaRengi; final Color? bilgiArkaRengi; final Color? bilgiYaziRengi; TabloTheme({ this.titleTextColor, this.dataTextColor, this.titleBackgroundColor, this.veriArkaRengi, this.dataSuccesTextColor, this.dataErrorTextColor, this.bilgiArkaRengi, this.bilgiYaziRengi, }); @override ThemeExtension copyWith({ Color? baslikYaziRengi, Color? baslikArkaRengi, Color? veriYaziRengi, Color? veriGecerliYaziRengi, Color? veriHataliYaziRengi, Color? veriArkaRengi, Color? bilgiArkaRengi, Color? bilgiYaziRengi, }) { return TabloTheme( titleTextColor: baslikYaziRengi ?? this.titleTextColor, titleBackgroundColor: baslikArkaRengi ?? this.titleBackgroundColor, dataTextColor: veriYaziRengi ?? this.dataTextColor, dataSuccesTextColor: veriGecerliYaziRengi ?? this.dataSuccesTextColor, dataErrorTextColor: veriHataliYaziRengi ?? this.dataErrorTextColor, veriArkaRengi: veriArkaRengi ?? this.veriArkaRengi, bilgiArkaRengi: bilgiArkaRengi ?? this.bilgiArkaRengi, bilgiYaziRengi: bilgiYaziRengi ?? this.bilgiYaziRengi, ); } @override ThemeExtension lerp(covariant ThemeExtension? other, double t) { if (other is! TabloTheme) { return this; } return TabloTheme( titleTextColor: Color.lerp(titleTextColor, other.titleTextColor, t), titleBackgroundColor: Color.lerp(titleBackgroundColor, other.titleBackgroundColor, t), dataTextColor: Color.lerp(dataTextColor, other.dataTextColor, t), dataSuccesTextColor: Color.lerp(dataSuccesTextColor, other.dataSuccesTextColor, t), dataErrorTextColor: Color.lerp(dataErrorTextColor, other.dataErrorTextColor, t), veriArkaRengi: Color.lerp(veriArkaRengi, other.veriArkaRengi, t), bilgiArkaRengi: Color.lerp(bilgiArkaRengi, other.bilgiArkaRengi, t), bilgiYaziRengi: Color.lerp(bilgiYaziRengi, other.bilgiYaziRengi, t), ); } }