53 lines
1.3 KiB
Dart
53 lines
1.3 KiB
Dart
import 'dart:developer';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'theme_type.dart';
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
|
|
class AppThemes {
|
|
static ThemeData getLightTheme(ThemeType type) {
|
|
final Color seedColor = _getSeedColor(type);
|
|
final colorScheme = ColorScheme.fromSeed(
|
|
seedColor: seedColor,
|
|
brightness: Brightness.light,
|
|
);
|
|
return ThemeData.from(
|
|
colorScheme: colorScheme,
|
|
useMaterial3: true,
|
|
textTheme: GoogleFonts.rubikTextTheme(),
|
|
);
|
|
}
|
|
|
|
static ThemeData getDarkTheme(ThemeType type) {
|
|
final Color seedColor = _getSeedColor(type);
|
|
log(seedColor.toString());
|
|
final colorScheme = ColorScheme.fromSeed(
|
|
seedColor: seedColor,
|
|
brightness: Brightness.dark,
|
|
);
|
|
|
|
return ThemeData.from(
|
|
colorScheme: colorScheme,
|
|
useMaterial3: true,
|
|
textTheme: GoogleFonts.rubikTextTheme(
|
|
ThemeData(brightness: Brightness.dark).textTheme,
|
|
),
|
|
);
|
|
}
|
|
|
|
static Color _getSeedColor(ThemeType type) {
|
|
switch (type) {
|
|
case ThemeType.green:
|
|
return Colors.green;
|
|
case ThemeType.orange:
|
|
return Colors.orange;
|
|
case ThemeType.blue:
|
|
return Colors.blue;
|
|
case ThemeType.violet:
|
|
return Colors.deepPurple;
|
|
case ThemeType.yellow:
|
|
return Colors.yellow;
|
|
}
|
|
}
|
|
}
|