✨ Background image & appearance settings
This commit is contained in:
@ -1,4 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
const kMaterialYouToggleStoreKey = 'app_theme_material_you';
|
||||
|
||||
class ThemeSet {
|
||||
ThemeData light;
|
||||
@ -7,21 +10,28 @@ class ThemeSet {
|
||||
ThemeSet({required this.light, required this.dark});
|
||||
}
|
||||
|
||||
ThemeSet createAppThemeSet() {
|
||||
Future<ThemeSet> createAppThemeSet({bool? useMaterial3}) async {
|
||||
return ThemeSet(
|
||||
light: createAppTheme(Brightness.light),
|
||||
dark: createAppTheme(Brightness.dark),
|
||||
light: await createAppTheme(Brightness.light, useMaterial3: useMaterial3),
|
||||
dark: await createAppTheme(Brightness.dark, useMaterial3: useMaterial3),
|
||||
);
|
||||
}
|
||||
|
||||
ThemeData createAppTheme(Brightness brightness) {
|
||||
Future<ThemeData> createAppTheme(
|
||||
Brightness brightness, {
|
||||
bool? useMaterial3,
|
||||
}) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
|
||||
return ThemeData(
|
||||
useMaterial3: false,
|
||||
useMaterial3:
|
||||
useMaterial3 ?? (prefs.getBool(kMaterialYouToggleStoreKey) ?? false),
|
||||
colorScheme: ColorScheme.fromSeed(
|
||||
seedColor: Colors.indigo,
|
||||
brightness: brightness,
|
||||
),
|
||||
brightness: brightness,
|
||||
iconTheme: const IconThemeData(fill: 0, weight: 400, opticalSize: 20),
|
||||
scaffoldBackgroundColor: Colors.transparent,
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user