uLightTheme method
Implementation
ThemeData uLightTheme(UThemeData data) => ThemeData(
disabledColor: data.disabledColor,
fontFamily: data.fontFamily,
highlightColor: Colors.green,
colorScheme: ColorScheme.fromSeed(
seedColor: data.primaryColor,
primary: data.primaryColor,
secondary: data.secondaryColor,
error: data.errorColor,
surface: data.surface,
surfaceContainer: data.surfaceContainer,
),
cardTheme: CardThemeData(
elevation: data.cardElevation,
shadowColor: data.primaryColor.withValues(alpha: 0.2),
color: data.cardColor,
clipBehavior: Clip.antiAlias,
),
tabBarTheme: TabBarThemeData(
indicatorSize: TabBarIndicatorSize.tab,
labelStyle: TextStyle(fontFamily: data.fontFamily, fontSize: 18),
labelPadding: const EdgeInsets.symmetric(vertical: 12),
unselectedLabelStyle: TextStyle(fontFamily: data.fontFamily, fontSize: 18),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ButtonStyle(
foregroundColor: const WidgetStatePropertyAll<Color>(Colors.white),
textStyle: WidgetStatePropertyAll<TextStyle>(
TextStyle(fontFamily: data.fontFamily, color: Colors.white, fontSize: 16),
),
shape: WidgetStatePropertyAll<OutlinedBorder>(
RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
),
padding: const WidgetStatePropertyAll<EdgeInsets>(
EdgeInsets.symmetric(vertical: 12, horizontal: 8),
),
backgroundColor: WidgetStateProperty.resolveWith((
final Set<WidgetState> states,
) {
if (states.contains(WidgetState.disabled)) {
return data.disabledColor;
} else {
return data.secondaryColor;
}
}),
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: ButtonStyle(
shape: WidgetStatePropertyAll<OutlinedBorder>(
RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
),
padding: const WidgetStatePropertyAll<EdgeInsets>(
EdgeInsets.symmetric(vertical: 12, horizontal: 8),
),
),
),
drawerTheme: DrawerThemeData(
shape: Border.all(color: Colors.transparent, width: 0.1),
),
listTileTheme: const ListTileThemeData(contentPadding: EdgeInsets.zero),
inputDecorationTheme: InputDecorationTheme(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
borderSide: BorderSide(color: data.primaryColor),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
borderSide: BorderSide(color: data.disabledColor.withValues(alpha: 0.5)),
),
labelStyle: TextStyle(fontFamily: data.fontFamily, color: data.disabledColor),
filled: true,
fillColor: Colors.white,
contentPadding: const EdgeInsets.symmetric(vertical: 16, horizontal: 12),
),
scrollbarTheme: ScrollbarThemeData(
thumbColor: WidgetStateProperty.all(data.primaryColor),
),
navigationRailTheme: NavigationRailThemeData(
unselectedLabelTextStyle: TextStyle(
fontFamily: data.fontFamily,
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.white60,
),
selectedLabelTextStyle: TextStyle(
fontFamily: data.fontFamily,
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.white,
),
selectedIconTheme: const IconThemeData(color: Colors.black),
unselectedIconTheme: const IconThemeData(color: Colors.white60),
backgroundColor: data.primaryColor,
indicatorColor: Colors.white,
),
);