mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-04 12:24:47 +00:00
Project inicialization and base configuration
This commit is contained in:
commit
2d3a0f3244
76 changed files with 2386 additions and 0 deletions
254
lib/config/theme.dart
Normal file
254
lib/config/theme.dart
Normal file
|
@ -0,0 +1,254 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
const MaterialColor primaryColorLight = Colors.blue;
|
||||
const MaterialColor primaryColorDark = Colors.lightBlue;
|
||||
|
||||
ThemeData lightTheme(ColorScheme? dynamicColorScheme) => ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: dynamicColorScheme ?? ColorScheme.fromSwatch(primarySwatch: primaryColorLight),
|
||||
primaryColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight,
|
||||
scaffoldBackgroundColor: dynamicColorScheme != null ? dynamicColorScheme.background : Colors.white,
|
||||
snackBarTheme: SnackBarThemeData(
|
||||
behavior: SnackBarBehavior.floating,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(5)
|
||||
),
|
||||
elevation: 4,
|
||||
),
|
||||
brightness: Brightness.light,
|
||||
dialogBackgroundColor: dynamicColorScheme != null ? dynamicColorScheme.surface : Colors.white,
|
||||
textTheme: const TextTheme(
|
||||
bodyText1: TextStyle(
|
||||
color: Colors.black54
|
||||
),
|
||||
bodyText2: TextStyle(
|
||||
color: Colors.black
|
||||
),
|
||||
),
|
||||
floatingActionButtonTheme: FloatingActionButtonThemeData(
|
||||
foregroundColor: Colors.white,
|
||||
backgroundColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight
|
||||
),
|
||||
overlayColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary.withOpacity(0.1) : primaryColorLight.withOpacity(0.1)
|
||||
),
|
||||
),
|
||||
),
|
||||
dividerColor: Colors.black12,
|
||||
listTileTheme: const ListTileThemeData(
|
||||
tileColor: Colors.transparent
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
checkColor: MaterialStateProperty.all(Colors.white),
|
||||
fillColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight
|
||||
),
|
||||
),
|
||||
tabBarTheme: TabBarTheme(
|
||||
unselectedLabelColor: Colors.black,
|
||||
labelColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight,
|
||||
indicator: UnderlineTabIndicator(
|
||||
borderSide: BorderSide(
|
||||
color: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorLight,
|
||||
width: 2
|
||||
)
|
||||
)
|
||||
),
|
||||
androidOverscrollIndicator: AndroidOverscrollIndicator.stretch,
|
||||
);
|
||||
|
||||
ThemeData darkTheme(ColorScheme? dynamicColorScheme) => ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: dynamicColorScheme ?? ColorScheme.fromSwatch(primarySwatch: primaryColorDark).copyWith(
|
||||
brightness: Brightness.dark
|
||||
),
|
||||
primaryColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark,
|
||||
scaffoldBackgroundColor: dynamicColorScheme != null ? dynamicColorScheme.background :const Color.fromRGBO(18, 18, 18, 1),
|
||||
dialogBackgroundColor: dynamicColorScheme != null ? dynamicColorScheme.background : const Color.fromRGBO(44, 44, 44, 1),
|
||||
navigationBarTheme: NavigationBarThemeData(
|
||||
indicatorColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark,
|
||||
),
|
||||
snackBarTheme: SnackBarThemeData(
|
||||
contentTextStyle: const TextStyle(
|
||||
color: Colors.white
|
||||
),
|
||||
behavior: SnackBarBehavior.floating,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(5)
|
||||
),
|
||||
elevation: 4,
|
||||
),
|
||||
floatingActionButtonTheme: FloatingActionButtonThemeData(
|
||||
foregroundColor: Colors.white,
|
||||
backgroundColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark
|
||||
),
|
||||
overlayColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary.withOpacity(0.1) : primaryColorDark.withOpacity(0.1)
|
||||
),
|
||||
),
|
||||
),
|
||||
brightness: Brightness.dark,
|
||||
textTheme: const TextTheme(
|
||||
bodyText1: TextStyle(
|
||||
color: Colors.white70
|
||||
),
|
||||
bodyText2: TextStyle(
|
||||
color: Colors.white
|
||||
),
|
||||
),
|
||||
dividerColor: Colors.white12,
|
||||
listTileTheme: const ListTileThemeData(
|
||||
tileColor: Colors.transparent
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
checkColor: MaterialStateProperty.all(Colors.white),
|
||||
fillColor: MaterialStateProperty.all(
|
||||
dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark
|
||||
),
|
||||
),
|
||||
tabBarTheme: TabBarTheme(
|
||||
unselectedLabelColor: Colors.white,
|
||||
labelColor: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark,
|
||||
indicator: UnderlineTabIndicator(
|
||||
borderSide: BorderSide(
|
||||
color: dynamicColorScheme != null ? dynamicColorScheme.primary : primaryColorDark,
|
||||
width: 2
|
||||
)
|
||||
)
|
||||
),
|
||||
androidOverscrollIndicator: AndroidOverscrollIndicator.stretch
|
||||
);
|
||||
|
||||
ThemeData lightThemeOldVersions() => ThemeData(
|
||||
useMaterial3: true,
|
||||
primaryColor: primaryColorLight,
|
||||
appBarTheme: const AppBarTheme(
|
||||
color: Colors.white,
|
||||
foregroundColor: Colors.black,
|
||||
elevation: 0
|
||||
),
|
||||
snackBarTheme: SnackBarThemeData(
|
||||
behavior: SnackBarBehavior.floating,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(5)
|
||||
),
|
||||
elevation: 4,
|
||||
),
|
||||
brightness: Brightness.light,
|
||||
scaffoldBackgroundColor: Colors.white,
|
||||
dialogBackgroundColor: Colors.white,
|
||||
textTheme: const TextTheme(
|
||||
bodyText1: TextStyle(
|
||||
color: Colors.black54
|
||||
),
|
||||
bodyText2: TextStyle(
|
||||
color: Colors.black
|
||||
),
|
||||
),
|
||||
floatingActionButtonTheme: const FloatingActionButtonThemeData(
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.all(primaryColorLight),
|
||||
overlayColor: MaterialStateProperty.all(primaryColorLight.withOpacity(0.1))
|
||||
),
|
||||
),
|
||||
dividerColor: Colors.black12,
|
||||
listTileTheme: const ListTileThemeData(
|
||||
tileColor: Colors.transparent
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
checkColor: MaterialStateProperty.all(Colors.white),
|
||||
fillColor: MaterialStateProperty.all(primaryColorLight),
|
||||
),
|
||||
tabBarTheme: const TabBarTheme(
|
||||
unselectedLabelColor: Colors.black,
|
||||
labelColor: primaryColorLight,
|
||||
indicator: UnderlineTabIndicator(
|
||||
borderSide: BorderSide(
|
||||
color: primaryColorLight,
|
||||
width: 2
|
||||
)
|
||||
)
|
||||
),
|
||||
androidOverscrollIndicator: AndroidOverscrollIndicator.stretch,
|
||||
);
|
||||
|
||||
ThemeData darkThemeOldVersions() => ThemeData(
|
||||
useMaterial3: true,
|
||||
primaryColor: primaryColorDark,
|
||||
scaffoldBackgroundColor: const Color.fromRGBO(18, 18, 18, 1),
|
||||
navigationBarTheme: const NavigationBarThemeData(
|
||||
indicatorColor: primaryColorDark,
|
||||
),
|
||||
dialogTheme: DialogTheme(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(30)
|
||||
)
|
||||
),
|
||||
appBarTheme: const AppBarTheme(
|
||||
color: Color.fromRGBO(18, 18, 18, 1),
|
||||
foregroundColor: Colors.white,
|
||||
elevation: 0
|
||||
),
|
||||
dialogBackgroundColor: const Color.fromRGBO(44, 44, 44, 1),
|
||||
snackBarTheme: SnackBarThemeData(
|
||||
contentTextStyle: const TextStyle(
|
||||
color: Colors.white
|
||||
),
|
||||
behavior: SnackBarBehavior.floating,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(5)
|
||||
),
|
||||
elevation: 4,
|
||||
),
|
||||
floatingActionButtonTheme: const FloatingActionButtonThemeData(
|
||||
foregroundColor: Colors.white,
|
||||
backgroundColor: primaryColorDark
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.all(primaryColorDark),
|
||||
overlayColor: MaterialStateProperty.all(primaryColorDark.withOpacity(0.1))
|
||||
),
|
||||
),
|
||||
brightness: Brightness.dark,
|
||||
textTheme: const TextTheme(
|
||||
bodyText1: TextStyle(
|
||||
color: Colors.white70
|
||||
),
|
||||
bodyText2: TextStyle(
|
||||
color: Colors.white
|
||||
),
|
||||
),
|
||||
dividerColor: Colors.white12,
|
||||
listTileTheme: const ListTileThemeData(
|
||||
tileColor: Colors.transparent
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
checkColor: MaterialStateProperty.all(Colors.white),
|
||||
fillColor: MaterialStateProperty.all(Colors.blue),
|
||||
),
|
||||
tabBarTheme: const TabBarTheme(
|
||||
unselectedLabelColor: Colors.white,
|
||||
labelColor: primaryColorDark,
|
||||
indicator: UnderlineTabIndicator(
|
||||
borderSide: BorderSide(
|
||||
color: primaryColorDark,
|
||||
width: 2
|
||||
)
|
||||
)
|
||||
),
|
||||
androidOverscrollIndicator: AndroidOverscrollIndicator.stretch
|
||||
);
|
Loading…
Add table
Add a link
Reference in a new issue