128 lines
3.5 KiB
Dart
128 lines
3.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
|
|
final ThemeData laserTheme = ThemeData(
|
|
colorScheme: ColorScheme.fromSeed(
|
|
seedColor: const Color(0xFF00245D),
|
|
primary: const Color(0xFF00245D),
|
|
brightness: Brightness.dark,
|
|
),
|
|
|
|
textTheme: TextTheme(
|
|
displayLarge: GoogleFonts.aldrich(
|
|
fontSize: 57,
|
|
fontWeight: FontWeight.w700,
|
|
),
|
|
displayMedium: GoogleFonts.aldrich(
|
|
fontSize: 45,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
displaySmall: GoogleFonts.aldrich(
|
|
fontSize: 36,
|
|
fontWeight: FontWeight.w500,
|
|
),
|
|
|
|
titleLarge: GoogleFonts.openSans(
|
|
fontSize: 22,
|
|
fontWeight: FontWeight.w700,
|
|
),
|
|
titleMedium: GoogleFonts.openSans(
|
|
fontSize: 16,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
titleSmall: GoogleFonts.openSans(
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.w500,
|
|
),
|
|
|
|
bodyLarge: GoogleFonts.openSans(
|
|
fontSize: 16,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
bodyMedium: GoogleFonts.openSans(
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
bodySmall: GoogleFonts.openSans(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
|
|
labelLarge: GoogleFonts.openSans(
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
labelMedium: GoogleFonts.openSans(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w500,
|
|
),
|
|
labelSmall: GoogleFonts.openSans(
|
|
fontSize: 11,
|
|
fontWeight: FontWeight.w500,
|
|
),
|
|
),
|
|
|
|
appBarTheme: AppBarTheme(
|
|
titleTextStyle: GoogleFonts.aldrich(
|
|
fontSize: 36,
|
|
fontWeight: FontWeight.w500,
|
|
color: Colors.white
|
|
),
|
|
backgroundColor: const Color(0xFF00245D),
|
|
elevation: 4,
|
|
centerTitle: false,
|
|
iconTheme: const IconThemeData(color: Colors.white),
|
|
),
|
|
|
|
inputDecorationTheme: const InputDecorationTheme(
|
|
focusedBorder: OutlineInputBorder(
|
|
borderSide: BorderSide(color: Color(0xFF00245D), width: 2.0),
|
|
),
|
|
floatingLabelStyle: TextStyle(color: Colors.white),
|
|
hintStyle: TextStyle(color: Colors.white54),
|
|
),
|
|
|
|
sliderTheme: SliderThemeData(
|
|
activeTrackColor: const Color(0xFF00245D),
|
|
thumbColor: const Color(0xFF00245D),
|
|
inactiveTrackColor: Colors.grey.shade800,
|
|
),
|
|
|
|
checkboxTheme: CheckboxThemeData(
|
|
fillColor: WidgetStateProperty.resolveWith((states) {
|
|
if (states.contains(WidgetState.selected)) {
|
|
return const Color(0xFF00245D);
|
|
}
|
|
return null;
|
|
}),
|
|
checkColor: WidgetStateProperty.all(Colors.white),
|
|
),
|
|
|
|
switchTheme: SwitchThemeData(
|
|
thumbColor: WidgetStateProperty.resolveWith((states) {
|
|
if (states.contains(WidgetState.selected)) {
|
|
return const Color(0xFF00245D);
|
|
}
|
|
return null;
|
|
}),
|
|
trackColor: WidgetStateProperty.resolveWith((states) {
|
|
if (states.contains(WidgetState.selected)) {
|
|
return const Color(0xFF00245D).withValues(alpha: 0.5);
|
|
}
|
|
return null;
|
|
}),
|
|
),
|
|
|
|
textButtonTheme: TextButtonThemeData(
|
|
style: TextButton.styleFrom(
|
|
foregroundColor: Colors.white,
|
|
backgroundColor: Colors.white,
|
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
|
),
|
|
),
|
|
elevatedButtonTheme: ElevatedButtonThemeData(
|
|
style: ElevatedButton.styleFrom(
|
|
foregroundColor: Colors.white,
|
|
backgroundColor: Colors.grey.shade800),
|
|
)
|
|
);
|