diff --git a/src/ui/flutter_app/lib/common/config.dart b/src/ui/flutter_app/lib/common/config.dart index 2f52b03b..8b1446a7 100644 --- a/src/ui/flutter_app/lib/common/config.dart +++ b/src/ui/flutter_app/lib/common/config.dart @@ -17,7 +17,7 @@ */ import 'package:sanmill/mill/rule.dart'; -import 'package:sanmill/style/colors.dart'; +import 'package:sanmill/style/app_theme.dart'; import 'settings.dart'; @@ -42,11 +42,11 @@ class Config { static double boardInnerLineWidth = 2.0; // Color - static int boardLineColor = UIColors.boardLineColor.value; - static int darkBackgroundColor = UIColors.darkBackgroundColor.value; - static int boardBackgroundColor = UIColors.boardBackgroundColor.value; - static int blackPieceColor = UIColors.blackPieceColor.value; - static int whitePieceColor = UIColors.whitePieceColor.value; + static int boardLineColor = AppTheme.boardLineColor.value; + static int darkBackgroundColor = AppTheme.darkBackgroundColor.value; + static int boardBackgroundColor = AppTheme.boardBackgroundColor.value; + static int blackPieceColor = AppTheme.blackPieceColor.value; + static int whitePieceColor = AppTheme.whitePieceColor.value; // Rules static int piecesCount = 9; @@ -87,15 +87,15 @@ class Config { // Color Config.boardLineColor = - settings['BoardLineColor'] ?? UIColors.boardLineColor.value; + settings['BoardLineColor'] ?? AppTheme.boardLineColor.value; Config.darkBackgroundColor = - settings['DarkBackgroundColor'] ?? UIColors.darkBackgroundColor.value; + settings['DarkBackgroundColor'] ?? AppTheme.darkBackgroundColor.value; Config.boardBackgroundColor = - settings['BoardBackgroundColor'] ?? UIColors.boardBackgroundColor.value; + settings['BoardBackgroundColor'] ?? AppTheme.boardBackgroundColor.value; Config.blackPieceColor = - settings['BlackPieceColor'] ?? UIColors.blackPieceColor.value; + settings['BlackPieceColor'] ?? AppTheme.blackPieceColor.value; Config.whitePieceColor = - settings['WhitePieceColor'] ?? UIColors.whitePieceColor.value; + settings['WhitePieceColor'] ?? AppTheme.whitePieceColor.value; // Rules rule.piecesCount = Config.piecesCount = settings['PiecesCount'] ?? 9; diff --git a/src/ui/flutter_app/lib/main.dart b/src/ui/flutter_app/lib/main.dart index a779b18d..47990f7c 100644 --- a/src/ui/flutter_app/lib/main.dart +++ b/src/ui/flutter_app/lib/main.dart @@ -25,7 +25,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:path_provider/path_provider.dart'; import 'package:sanmill/generated/l10n.dart'; -import 'package:sanmill/style/colors.dart'; +import 'package:sanmill/style/app_theme.dart'; import 'package:sanmill/widgets/navigation_home_screen.dart'; import 'package:stack_trace/stack_trace.dart'; @@ -157,7 +157,7 @@ class _SanmillAppState extends State { languageCode: 'zh'), // Chinese *See Advanced Locales below* // ... other locales the app supports ], - theme: ThemeData(primarySwatch: UIColors.appBarColor), + theme: ThemeData(primarySwatch: AppTheme.appPrimaryColor), debugShowCheckedModeBanner: false, home: WillPopScope( onWillPop: () async { diff --git a/src/ui/flutter_app/lib/painting/board_painter.dart b/src/ui/flutter_app/lib/painting/board_painter.dart index 34921257..de96b21f 100644 --- a/src/ui/flutter_app/lib/painting/board_painter.dart +++ b/src/ui/flutter_app/lib/painting/board_painter.dart @@ -21,7 +21,6 @@ import 'package:sanmill/common/config.dart'; import 'package:sanmill/mill/game.dart'; import 'package:sanmill/mill/mill.dart'; import 'package:sanmill/mill/types.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:sanmill/style/app_theme.dart'; import 'painter_base.dart'; @@ -74,7 +73,7 @@ class BoardPainter extends PiecesBasePainter { TextSpan textSpan = TextSpan( style: - TextStyle(fontSize: 48, color: UIColors.boardLineColor), // TODO + TextStyle(fontSize: 48, color: AppTheme.boardLineColor), // TODO text: pieceInHandCountStr); TextPainter textPainter = TextPainter( diff --git a/src/ui/flutter_app/lib/painting/pieces_painter.dart b/src/ui/flutter_app/lib/painting/pieces_painter.dart index 2fed2b86..5189df29 100644 --- a/src/ui/flutter_app/lib/painting/pieces_painter.dart +++ b/src/ui/flutter_app/lib/painting/pieces_painter.dart @@ -20,7 +20,6 @@ import 'package:flutter/material.dart'; import 'package:sanmill/common/config.dart'; import 'package:sanmill/mill/mill.dart'; import 'package:sanmill/mill/position.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:sanmill/style/app_theme.dart'; import 'painter_base.dart'; @@ -133,14 +132,14 @@ class PiecesPainter extends PiecesBasePainter { // Draw Border of Piece switch (pps.piece) { case Piece.blackStone: - paint.color = UIColors.blackPieceBorderColor; + paint.color = AppTheme.blackPieceBorderColor; canvas.drawCircle(pps.pos!, pieceRadius, paint); // For debugging paint.color = Color(Config.blackPieceColor); canvas.drawCircle(pps.pos!, pieceInnerRadius, paint); blurPositionColor = Color(Config.blackPieceColor).withOpacity(0.1); break; case Piece.whiteStone: - paint.color = UIColors.whitePieceBorderColor; + paint.color = AppTheme.whitePieceBorderColor; canvas.drawCircle(pps.pos!, pieceRadius, paint); // For debugging paint.color = Color(Config.whitePieceColor); canvas.drawCircle(pps.pos!, pieceInnerRadius, paint); diff --git a/src/ui/flutter_app/lib/style/app_theme.dart b/src/ui/flutter_app/lib/style/app_theme.dart index 6342806a..684d19f5 100644 --- a/src/ui/flutter_app/lib/style/app_theme.dart +++ b/src/ui/flutter_app/lib/style/app_theme.dart @@ -4,125 +4,99 @@ import 'package:sanmill/style/colors.dart'; class AppTheme { AppTheme._(); - static const Color notWhite = Color(0xFFEDF0F2); - static const Color nearlyWhite = Color(0xFFFEFEFE); - static const Color white = Color(0xFFFFFFFF); - static const Color nearlyBlack = Color(0xFF213333); - static const Color grey = Color(0xFF3A5160); - static const Color dark_grey = Color(0xFF313A44); + // Color - static const Color darkText = Color(0xFF253840); - static const Color darkerText = Color(0xFF17262A); - static const Color lightText = Color(0xFF4A6572); - static const Color deactivatedText = Color(0xFF767676); - static const Color dismissibleBackground = Color(0xFF364A54); - static const Color chipBackground = Color(0xFFEEF1F3); - static const Color spacer = Color(0xFFF2F2F2); - static const String fontName = 'WorkSans'; + static var appPrimaryColor = Colors.green; // Appbar & Dialog button + static var dialogTitleColor = appPrimaryColor; - static const TextTheme textTheme = TextTheme( - headline4: display1, - headline5: headline, - headline6: title, - subtitle2: subtitle, - bodyText2: body2, - bodyText1: body1, - caption: caption, - ); + /// Game page + static var gamePageHeaderIconColor = Colors.white; + static var tipTextColor = Colors.white; + static var boardBackgroundColor = UIColors.burlyWood; + static var boardLineColor = Color(0x996D000D); + static var blackPieceColor = Color.fromARGB(0xFF, 0x00, 0x00, 0x00); + static var blackPieceBorderColor = Color.fromARGB(0xFF, 0x22, 0x22, 0x22); + static var whitePieceColor = Color.fromARGB(0xFF, 0xFF, 0xFF, 0xFF); + static var whitePieceBorderColor = Color.fromARGB(0xFF, 0x66, 0x00, 0x00); + static var banColor = Color.fromARGB(0xFF, 0xFF, 0x00, 0x00); // unused + static var banBorderColor = Color.fromARGB(0x80, 0xFF, 0x00, 0x00); // unused + static var toolbarIconColor = listTileSubtitleColor; + static var toolbarTextColor = toolbarIconColor; + static var moveHistoryTextColor = Colors.yellow; + static var moveHistoryDialogBackgroundColor = Colors.transparent; + static var hintDialogackgroundColor = moveHistoryDialogBackgroundColor; + static var hintTextColor = moveHistoryTextColor; - static const TextStyle display1 = TextStyle( - // h4 -> display1 - fontFamily: fontName, - fontWeight: FontWeight.bold, - fontSize: 36, - letterSpacing: 0.4, - height: 0.9, - color: darkerText, - ); + /// Settings page + static var darkBackgroundColor = UIColors.crusoe; + static var lightBackgroundColor = UIColors.papayaWhip; + static var listTileSubtitleColor = Color(0x99461220); + static var listItemDividerColor = Color(0x336D000D); - static const TextStyle headline = TextStyle( - // h5 -> headline - fontFamily: fontName, - fontWeight: FontWeight.bold, - fontSize: 24, - letterSpacing: 0.27, - color: darkerText, - ); + /// Help page + static var helpBackgroundColor = boardBackgroundColor; + static var helpTextColor = boardBackgroundColor; - static const TextStyle title = TextStyle( - // h6 -> title - fontFamily: fontName, - fontWeight: FontWeight.bold, - fontSize: 16, - letterSpacing: 0.18, - color: darkerText, - ); + /// Drawer + static var drawerColor = Colors.white; + static var drawerBackgroundColor = UIColors.notWhite.withOpacity(0.5); // TODO + static var drawerHighlightItemColor = + drawerHighlightTextColor.withOpacity(0.2); + static var drawerDividerColor = UIColors.grey.withOpacity(0.6); + static var drawerBoxerShadowColor = UIColors.grey.withOpacity(0.6); + static var drawerTextColor = UIColors.nearlyBlack; + static var drawerHighlightTextColor = Colors.blue; + static var exitTextColor = UIColors.nearlyBlack; + static var drawerIconColor = drawerTextColor; + static var drawerHighlightIconColor = drawerHighlightTextColor; + static var drawerAnimationIconColor = Colors.white; + static var exitIconColor = Colors.red; + static var drawerSplashColor = Colors.grey.withOpacity(0.1); // TODO: no use? + static var drawerHightlightColor = Colors.transparent; // TODO: no use? + static var navigationHomeScreenBackgroundColor = + UIColors.nearlyWhite; // TODO: no use? - static const TextStyle subtitle = TextStyle( - // subtitle2 -> subtitle - fontFamily: fontName, - fontWeight: FontWeight.w400, - fontSize: 14, - letterSpacing: -0.04, - color: darkText, - ); + static const animatedTextsColors = [ + Colors.black, + Colors.blue, + Colors.yellow, + Colors.red, + ]; - static const TextStyle body2 = TextStyle( - // body1 -> body2 - fontFamily: fontName, - fontWeight: FontWeight.w400, - fontSize: 14, - letterSpacing: 0.2, - color: darkText, - ); + // Style - static const TextStyle body1 = TextStyle( - // body2 -> body1 - fontFamily: fontName, - fontWeight: FontWeight.w400, - fontSize: 16, - letterSpacing: -0.05, - color: darkText, - ); + static var gamePageTipStyle = TextStyle(fontSize: 16, color: tipTextColor); - static const TextStyle caption = TextStyle( - // Caption -> caption - fontFamily: fontName, - fontWeight: FontWeight.w400, - fontSize: 12, - letterSpacing: 0.2, - color: lightText, // was lightText - ); - - static const SizedBox sizedBox = SizedBox(height: 16); - - static const cardColor = UIColors.floralWhiteColor; + static const cardColor = UIColors.floralWhite; static const cardMargin = const EdgeInsets.symmetric(vertical: 4.0, horizontal: 0); static const settingsHeaderStyle = - TextStyle(color: UIColors.crusoeColor, fontSize: 20.0); + TextStyle(color: UIColors.crusoe, fontSize: 20.0); - static const switchListTileActiveColor = UIColors.primaryColor; - static const switchListTileTitleStyle = - TextStyle(color: UIColors.crusoeColor); + static var switchListTileActiveColor = dialogTitleColor; + static var switchListTileTitleStyle = TextStyle(color: UIColors.crusoe); - static const aboutPageBackgroundColor = UIColors.lightBackgroundColor; + static var moveHistoryTextStyle = + TextStyle(fontSize: 18, height: 1.5, color: moveHistoryTextColor); - static const double copyrightFontSize = 12; - static const versionDialogAppNameTextStyle = - TextStyle(color: UIColors.primaryColor); - static const versionDialogCopyrightTextStyle = TextStyle( + static var aboutPageBackgroundColor = lightBackgroundColor; + + static double copyrightFontSize = 12; + static var versionDialogAppNameTextStyle = TextStyle(color: dialogTitleColor); + static var versionDialogCopyrightTextStyle = TextStyle( fontSize: AppTheme.copyrightFontSize, ); - static const double boardBorderRadius = 5; - static const boardPadding = 5.0; + static double boardBorderRadius = 5; + static var boardPadding = 5.0; static const double drawerWidth = 250; - static const double boardMargin = 10.0; - static const boardScreenPaddingH = 10.0; + static double boardMargin = 10.0; + static var boardScreenPaddingH = 10.0; + + // Theme static const sliderThemeData = SliderThemeData( trackHeight: 20, @@ -144,4 +118,7 @@ class AppTheme { tickMarkShape: RoundSliderTickMarkShape(tickMarkRadius: 2.0), valueIndicatorTextStyle: TextStyle(fontSize: 24), ); + + // Misc + static const SizedBox sizedBox = SizedBox(height: 16); } diff --git a/src/ui/flutter_app/lib/style/colors.dart b/src/ui/flutter_app/lib/style/colors.dart index 41b307f9..5f45d12d 100644 --- a/src/ui/flutter_app/lib/style/colors.dart +++ b/src/ui/flutter_app/lib/style/colors.dart @@ -19,41 +19,19 @@ import 'package:flutter/material.dart'; class UIColors { - static const floralWhiteColor = Color(0xFFFFFAF0); - static const crusoeColor = Color(0xFF165B31); - static const burlyWoodColor = Color(0xFFDEB887); - static const papayaWhipColor = Color(0xFFFFEFD5); - static const forestGreenColor = Color(0xFF228B22); - static const turmericColor = Color.fromARGB(0xFF, 186, 202, 68); + static const white = Color(0xFFFFFFFF); + static const notWhite = Color(0xFFEDF0F2); + static const nearlyWhite = Color(0xFFFEFEFE); + static const floralWhite = Color(0xFFFFFAF0); - static const logoColor = Color(0xFF6D000D); + static const nearlyBlack = Color(0xFF213333); - static const primaryColor = Colors.green; - static const secondaryColor = Color(0x99461220); + static const grey = Color(0xFF3A5160); + static const darkGrey = Color(0xFF313A44); - static var darkBackgroundColor = crusoeColor; - static const lightBackgroundColor = papayaWhipColor; - - static var appBarColor = UIColors.primaryColor; - - static var boardBackgroundColor = burlyWoodColor; - - static const darkTextPrimaryColor = Colors.white; - static const darkTextSecondaryColor = Colors.white; - - static var boardLineColor = Color(0x996D000D); - static const boardTipsColor = Color(0x666D000D); - - static const lightLineColor = Color(0x336D000D); - - static const blackPieceColor = Color.fromARGB(0xFF, 0x00, 0x00, 0x00); - static const blackPieceBorderColor = Color.fromARGB(0xFF, 0x22, 0x22, 0x22); - - static const whitePieceColor = Color.fromARGB(0xFF, 0xFF, 0xFF, 0xFF); - static const whitePieceBorderColor = Color.fromARGB(0xFF, 0x66, 0x00, 0x00); - - static const banColor = Color.fromARGB(0xFF, 0xFF, 0x00, 0x00); - static const banBorderColor = Color.fromARGB(0x80, 0xFF, 0x00, 0x00); - - static const pieceTextColor = Color.fromARGB(0xCC, 0xFF, 0xFF, 0xFF); + static const papayaWhip = Color(0xFFFFEFD5); + static const turmeric = Color.fromARGB(0xFF, 186, 202, 68); + static const burlyWood = Color(0xFFDEB887); + static const forestGreen = Color(0xFF228B22); + static const crusoe = Color(0xFF165B31); } diff --git a/src/ui/flutter_app/lib/widgets/drawer_user_controller.dart b/src/ui/flutter_app/lib/widgets/drawer_user_controller.dart index 7df9b7f1..2f7efb74 100644 --- a/src/ui/flutter_app/lib/widgets/drawer_user_controller.dart +++ b/src/ui/flutter_app/lib/widgets/drawer_user_controller.dart @@ -106,7 +106,7 @@ class _DrawerUserControllerState extends State ? widget.menuView : AnimatedIcon( icon: widget.animatedIconData, - color: Colors.white, + color: AppTheme.drawerAnimationIconColor, progress: iconAnimationController), ), onTap: () { @@ -186,9 +186,9 @@ class _DrawerUserControllerState extends State //full-screen Width with widget.screenView child: Container( decoration: BoxDecoration( - color: AppTheme.white, + color: AppTheme.drawerColor, boxShadow: [ - BoxShadow(color: AppTheme.grey.withOpacity(0.6), blurRadius: 24), + BoxShadow(color: AppTheme.drawerBoxerShadowColor, blurRadius: 24), ], ), child: Stack( @@ -199,7 +199,7 @@ class _DrawerUserControllerState extends State ]; return Scaffold( - backgroundColor: AppTheme.white, + backgroundColor: AppTheme.drawerColor, body: SingleChildScrollView( controller: scrollController, scrollDirection: Axis.horizontal, diff --git a/src/ui/flutter_app/lib/widgets/game_page.dart b/src/ui/flutter_app/lib/widgets/game_page.dart index 708b1981..585be955 100644 --- a/src/ui/flutter_app/lib/widgets/game_page.dart +++ b/src/ui/flutter_app/lib/widgets/game_page.dart @@ -27,7 +27,6 @@ import 'package:sanmill/mill/game.dart'; import 'package:sanmill/mill/mill.dart'; import 'package:sanmill/mill/types.dart'; import 'package:sanmill/services/audios.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:stack_trace/stack_trace.dart'; import 'package:sanmill/style/app_theme.dart'; @@ -292,7 +291,7 @@ class _GamePageState extends State with RouteAware { builder: (BuildContext context) { return AlertDialog( title: Text(S.of(context).newGame, - style: TextStyle(color: UIColors.primaryColor)), + style: TextStyle(color: AppTheme.dialogTitleColor)), content: SingleChildScrollView(child: Text(S.of(context).restartGame)), actions: [ @@ -408,7 +407,7 @@ class _GamePageState extends State with RouteAware { builder: (BuildContext context) { return AlertDialog( title: Text(dialogTitle, - style: TextStyle(color: UIColors.primaryColor)), + style: TextStyle(color: AppTheme.dialogTitleColor)), content: Text(getGameOverReasonString( Game.instance.position.gameOverReason, Game.instance.position.winner) + @@ -435,7 +434,7 @@ class _GamePageState extends State with RouteAware { builder: (BuildContext context) { return AlertDialog( title: Text(dialogTitle, - style: TextStyle(color: UIColors.primaryColor)), + style: TextStyle(color: AppTheme.dialogTitleColor)), content: Text(getGameOverReasonString( Game.instance.position.gameOverReason, Game.instance.position.winner)), @@ -496,10 +495,7 @@ class _GamePageState extends State with RouteAware { IconData iconArrow = getIconArrow(); - final subTitleStyle = - TextStyle(fontSize: 16, color: UIColors.darkTextSecondaryColor); - - var iconColor = UIColors.darkTextPrimaryColor; + var iconColor = AppTheme.gamePageHeaderIconColor; var iconRow = Row( children: [ @@ -527,7 +523,8 @@ class _GamePageState extends State with RouteAware { ), Container( padding: EdgeInsets.symmetric(horizontal: 16), - child: Text(_status!, maxLines: 1, style: subTitleStyle), + child: + Text(_status!, maxLines: 1, style: AppTheme.gamePageTipStyle), ), ], ), @@ -609,19 +606,16 @@ class _GamePageState extends State with RouteAware { Game.instance.position.pieceOnBoardCount[PieceColor.white].toString() + " pieces on board\n"; - final manualStyle = - TextStyle(fontSize: 18, height: 1.5, color: Colors.yellow); - var newGameButton = TextButton( child: Column( // Replace with a Row for horizontal icon + text children: [ Icon( Icons.motion_photos_on, - color: UIColors.secondaryColor, + color: AppTheme.toolbarIconColor, ), Text(S.of(context).newGame, - style: TextStyle(color: UIColors.secondaryColor)), + style: TextStyle(color: AppTheme.toolbarTextColor)), ], ), onPressed: newGame, @@ -633,10 +627,10 @@ class _GamePageState extends State with RouteAware { children: [ Icon( Icons.restore, - color: UIColors.secondaryColor, + color: AppTheme.toolbarIconColor, ), Text(S.of(context).regret, - style: TextStyle(color: UIColors.secondaryColor)), + style: TextStyle(color: AppTheme.toolbarTextColor)), ], ), onPressed: () { @@ -651,10 +645,10 @@ class _GamePageState extends State with RouteAware { children: [ Icon( Icons.list_alt, - color: UIColors.secondaryColor, + color: AppTheme.toolbarIconColor, ), Text(S.of(context).gameRecord, - style: TextStyle(color: UIColors.secondaryColor)), + style: TextStyle(color: AppTheme.toolbarTextColor)), ], ), onPressed: () => showDialog( @@ -662,14 +656,15 @@ class _GamePageState extends State with RouteAware { barrierDismissible: false, builder: (BuildContext context) { return AlertDialog( - backgroundColor: Colors.transparent, + backgroundColor: AppTheme.moveHistoryDialogBackgroundColor, title: Text(S.of(context).gameRecord, - style: TextStyle(color: Colors.yellow)), + style: TextStyle(color: AppTheme.moveHistoryTextColor)), content: SingleChildScrollView( - child: Text(manualText, style: manualStyle)), + child: Text(manualText, style: AppTheme.moveHistoryTextStyle)), actions: [ TextButton( - child: Text(S.of(context).copy, style: manualStyle), + child: Text(S.of(context).copy, + style: AppTheme.moveHistoryTextStyle), onPressed: () => Clipboard.setData(ClipboardData(text: manualText)) .then((_) { @@ -677,7 +672,8 @@ class _GamePageState extends State with RouteAware { }), ), TextButton( - child: Text(S.of(context).cancel, style: manualStyle), + child: Text(S.of(context).cancel, + style: AppTheme.moveHistoryTextStyle), onPressed: () => Navigator.of(context).pop(), ), ], @@ -692,10 +688,10 @@ class _GamePageState extends State with RouteAware { children: [ Icon( Icons.lightbulb_outline, - color: UIColors.secondaryColor, + color: AppTheme.toolbarIconColor, ), Text(S.of(context).hint, - style: TextStyle(color: UIColors.secondaryColor)), + style: TextStyle(color: AppTheme.toolbarTextColor)), ], ), onPressed: () => showDialog( @@ -703,14 +699,15 @@ class _GamePageState extends State with RouteAware { barrierDismissible: false, builder: (BuildContext context) { return AlertDialog( - backgroundColor: Colors.transparent, + backgroundColor: AppTheme.hintDialogackgroundColor, title: Text(S.of(context).analyze, - style: TextStyle(color: Colors.yellow)), + style: TextStyle(color: AppTheme.hintTextColor)), content: SingleChildScrollView( - child: Text(analyzeText, style: manualStyle)), + child: Text(analyzeText, style: AppTheme.moveHistoryTextStyle)), actions: [ TextButton( - child: Text(S.of(context).ok, style: manualStyle), + child: Text(S.of(context).ok, + style: AppTheme.moveHistoryTextStyle), onPressed: () => Navigator.of(context).pop(), ), ], @@ -741,16 +738,11 @@ class _GamePageState extends State with RouteAware { } Widget buildMoveHistoryPanel(String text) { - final manualStyle = TextStyle( - fontSize: 18, - color: UIColors.darkTextSecondaryColor, - height: 1.5, - ); - return Expanded( child: Container( margin: EdgeInsets.symmetric(vertical: 16), - child: SingleChildScrollView(child: Text(text, style: manualStyle)), + child: SingleChildScrollView( + child: Text(text, style: AppTheme.moveHistoryTextStyle)), ), ); } diff --git a/src/ui/flutter_app/lib/widgets/game_settings_page.dart b/src/ui/flutter_app/lib/widgets/game_settings_page.dart index fa65934a..ffb1f64f 100644 --- a/src/ui/flutter_app/lib/widgets/game_settings_page.dart +++ b/src/ui/flutter_app/lib/widgets/game_settings_page.dart @@ -23,7 +23,6 @@ import 'package:sanmill/common/config.dart'; import 'package:sanmill/common/settings.dart'; import 'package:sanmill/generated/l10n.dart'; import 'package:sanmill/style/app_theme.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:sanmill/widgets/settings_card.dart'; import 'package:sanmill/widgets/settings_list_tile.dart'; import 'package:sanmill/widgets/settings_switch_list_tile.dart'; @@ -82,7 +81,7 @@ class _GameSettingsPageState extends State { builder: (BuildContext context) { return AlertDialog( title: Text(S.of(context).restore, - style: TextStyle(color: UIColors.primaryColor)), + style: TextStyle(color: AppTheme.dialogTitleColor)), content: SingleChildScrollView( child: Text(S.of(context).restoreDefaultSettings + "?\n" + @@ -100,7 +99,7 @@ class _GameSettingsPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: UIColors.lightBackgroundColor, + backgroundColor: AppTheme.lightBackgroundColor, appBar: AppBar( centerTitle: true, title: Text(S.of(context).settings), diff --git a/src/ui/flutter_app/lib/widgets/help_screen.dart b/src/ui/flutter_app/lib/widgets/help_screen.dart index 0fafd315..91158585 100644 --- a/src/ui/flutter_app/lib/widgets/help_screen.dart +++ b/src/ui/flutter_app/lib/widgets/help_screen.dart @@ -18,7 +18,7 @@ class _HelpScreenState extends State { @override Widget build(BuildContext context) { return Container( - color: AppTheme.nearlyWhite, + color: UIColors.nearlyWhite, child: SafeArea( top: false, child: Scaffold( @@ -34,7 +34,7 @@ class _HelpScreenState extends State { style: TextStyle( fontSize: 20, fontWeight: FontWeight.bold, - color: UIColors.burlyWoodColor, + color: AppTheme.helpTextColor, ), ), ), @@ -46,7 +46,7 @@ class _HelpScreenState extends State { textAlign: TextAlign.left, style: TextStyle( fontSize: 16, - color: UIColors.burlyWoodColor, + color: AppTheme.helpTextColor, ), ), ), diff --git a/src/ui/flutter_app/lib/widgets/home_drawer.dart b/src/ui/flutter_app/lib/widgets/home_drawer.dart index 147ee877..b586dac0 100644 --- a/src/ui/flutter_app/lib/widgets/home_drawer.dart +++ b/src/ui/flutter_app/lib/widgets/home_drawer.dart @@ -95,12 +95,7 @@ class _HomeDrawerState extends State { Widget build(BuildContext context) { setDrawerListArray(); - const colorizeColors = [ - Colors.black, - Colors.blue, - Colors.yellow, - Colors.red, - ]; + const colorizeColors = AppTheme.animatedTextsColors; const colorizeTextStyle = TextStyle( fontSize: 24.0, @@ -142,7 +137,7 @@ class _HomeDrawerState extends State { ); return Scaffold( - backgroundColor: AppTheme.notWhite.withOpacity(0.5), + backgroundColor: AppTheme.drawerBackgroundColor, body: Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisAlignment: MainAxisAlignment.start, @@ -170,7 +165,7 @@ class _HomeDrawerState extends State { ), Divider( height: 1, - color: AppTheme.grey.withOpacity(0.6), + color: AppTheme.drawerDividerColor, ), Expanded( child: ListView.builder( @@ -184,7 +179,7 @@ class _HomeDrawerState extends State { ), Divider( height: 1, - color: AppTheme.grey.withOpacity(0.6), + color: AppTheme.drawerDividerColor, ), Column( children: [ @@ -192,16 +187,15 @@ class _HomeDrawerState extends State { title: Text( S.of(context).exit, style: TextStyle( - fontFamily: AppTheme.fontName, fontWeight: FontWeight.w600, fontSize: 16, - color: AppTheme.darkText, + color: AppTheme.exitTextColor, ), textAlign: TextAlign.left, ), trailing: Icon( Icons.power_settings_new, - color: Colors.red, + color: AppTheme.exitIconColor, ), onTap: () async { await SystemChannels.platform @@ -234,7 +228,7 @@ class _HomeDrawerState extends State { width: MediaQuery.of(context).size.width * 0.75 - 64, height: 46, decoration: BoxDecoration( - color: Colors.blue.withOpacity(0.2), + color: AppTheme.drawerHighlightItemColor, borderRadius: new BorderRadius.only( topLeft: Radius.circular(0), topRight: Radius.circular(28), @@ -254,44 +248,33 @@ class _HomeDrawerState extends State { fontWeight: FontWeight.w500, fontSize: 16, color: widget.screenIndex == listData.index - ? Colors.blue - : AppTheme.nearlyBlack, + ? AppTheme.drawerHighlightTextColor + : AppTheme.drawerTextColor, ), textAlign: TextAlign.left, ); var listDataIcon = Icon(listData.icon!.icon, color: widget.screenIndex == listData.index - ? Colors.blue - : AppTheme.nearlyBlack); + ? AppTheme.drawerHighlightIconColor + : AppTheme.drawerIconColor); var children3 = [ Container( width: 6.0, height: 46.0, - // decoration: BoxDecoration( - // color: widget.screenIndex == listData.index - // ? Colors.blue - // : Colors.transparent, - // borderRadius: new BorderRadius.only( - // topLeft: Radius.circular(0), - // topRight: Radius.circular(16), - // bottomLeft: Radius.circular(0), - // bottomRight: Radius.circular(16), - // ), - // ), ), const Padding( padding: EdgeInsets.all(4.0), ), - listData.isAssetsImage + listData.isAssetsImage // TODO ? Container( width: 24, height: 24, child: Image.asset(listData.imageName, color: widget.screenIndex == listData.index - ? Colors.blue - : AppTheme.nearlyBlack), + ? AppTheme.drawerHighlightIconColor + : AppTheme.drawerIconColor), ) : listDataIcon, const Padding( @@ -313,8 +296,8 @@ class _HomeDrawerState extends State { return Material( color: Colors.transparent, child: InkWell( - splashColor: Colors.grey.withOpacity(0.1), - highlightColor: Colors.transparent, + splashColor: AppTheme.drawerSplashColor, + highlightColor: AppTheme.drawerHightlightColor, onTap: () { navigationToScreen(listData.index); }, diff --git a/src/ui/flutter_app/lib/widgets/list_item_divider.dart b/src/ui/flutter_app/lib/widgets/list_item_divider.dart index 973a020c..ede01300 100644 --- a/src/ui/flutter_app/lib/widgets/list_item_divider.dart +++ b/src/ui/flutter_app/lib/widgets/list_item_divider.dart @@ -17,7 +17,7 @@ */ import 'package:flutter/material.dart'; -import 'package:sanmill/style/colors.dart'; +import 'package:sanmill/style/app_theme.dart'; class ListItemDivider extends StatelessWidget { const ListItemDivider({ @@ -30,7 +30,7 @@ class ListItemDivider extends StatelessWidget { margin: const EdgeInsets.symmetric(horizontal: 16), width: double.infinity, height: 1.0, - color: UIColors.lightLineColor, + color: AppTheme.listItemDividerColor, ); } } diff --git a/src/ui/flutter_app/lib/widgets/navigation_home_screen.dart b/src/ui/flutter_app/lib/widgets/navigation_home_screen.dart index ca675c46..2bd4fd40 100644 --- a/src/ui/flutter_app/lib/widgets/navigation_home_screen.dart +++ b/src/ui/flutter_app/lib/widgets/navigation_home_screen.dart @@ -6,6 +6,7 @@ import 'package:sanmill/widgets/about_page.dart'; import 'package:sanmill/widgets/drawer_user_controller.dart'; import 'package:sanmill/widgets/help_screen.dart'; import 'package:sanmill/widgets/home_drawer.dart'; +import 'package:sanmill/style/colors.dart'; import 'game_page.dart'; import 'game_settings_page.dart'; @@ -31,12 +32,12 @@ class _NavigationHomeScreenState extends State { @override Widget build(BuildContext context) { return Container( - color: AppTheme.nearlyWhite, + color: UIColors.nearlyWhite, child: SafeArea( top: false, bottom: false, child: Scaffold( - backgroundColor: AppTheme.nearlyWhite, + backgroundColor: AppTheme.navigationHomeScreenBackgroundColor, body: DrawerUserController( screenIndex: drawerIndex, drawerWidth: MediaQuery.of(context).size.width * 0.75, diff --git a/src/ui/flutter_app/lib/widgets/personalization_settings_page.dart b/src/ui/flutter_app/lib/widgets/personalization_settings_page.dart index 93f01c09..6ac6435b 100644 --- a/src/ui/flutter_app/lib/widgets/personalization_settings_page.dart +++ b/src/ui/flutter_app/lib/widgets/personalization_settings_page.dart @@ -21,7 +21,6 @@ import 'package:flutter_colorpicker/flutter_colorpicker.dart'; import 'package:sanmill/common/config.dart'; import 'package:sanmill/generated/l10n.dart'; import 'package:sanmill/style/app_theme.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:sanmill/widgets/settings_card.dart'; import 'package:sanmill/widgets/settings_list_tile.dart'; import 'package:sanmill/widgets/settings_switch_list_tile.dart'; @@ -173,7 +172,7 @@ class _PersonalizationSettingsPageState @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: UIColors.lightBackgroundColor, + backgroundColor: AppTheme.lightBackgroundColor, appBar: AppBar( centerTitle: true, title: Text(S.of(context).personalization), diff --git a/src/ui/flutter_app/lib/widgets/rule_settings_page.dart b/src/ui/flutter_app/lib/widgets/rule_settings_page.dart index 8921062a..ff01e013 100644 --- a/src/ui/flutter_app/lib/widgets/rule_settings_page.dart +++ b/src/ui/flutter_app/lib/widgets/rule_settings_page.dart @@ -21,7 +21,6 @@ import 'package:sanmill/common/config.dart'; import 'package:sanmill/generated/l10n.dart'; import 'package:sanmill/mill/rule.dart'; import 'package:sanmill/style/app_theme.dart'; -import 'package:sanmill/style/colors.dart'; import 'package:sanmill/widgets/settings_card.dart'; import 'package:sanmill/widgets/settings_list_tile.dart'; import 'package:sanmill/widgets/settings_switch_list_tile.dart'; @@ -171,7 +170,7 @@ class _RuleSettingsPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: UIColors.lightBackgroundColor, + backgroundColor: AppTheme.lightBackgroundColor, appBar: AppBar(centerTitle: true, title: Text(S.of(context).ruleSettings)), body: SingleChildScrollView( diff --git a/src/ui/flutter_app/lib/widgets/settings_list_tile.dart b/src/ui/flutter_app/lib/widgets/settings_list_tile.dart index 970d4d3c..abfaf1a9 100644 --- a/src/ui/flutter_app/lib/widgets/settings_list_tile.dart +++ b/src/ui/flutter_app/lib/widgets/settings_list_tile.dart @@ -18,7 +18,6 @@ import 'package:flutter/material.dart'; import 'package:sanmill/style/app_theme.dart'; -import 'package:sanmill/style/colors.dart'; class SettingsListTile extends StatelessWidget { const SettingsListTile({ @@ -46,7 +45,7 @@ class SettingsListTile extends StatelessWidget { ? null : Text( subtitleString!, - style: TextStyle(color: UIColors.secondaryColor), + style: TextStyle(color: AppTheme.listTileSubtitleColor), ), trailing: Row( mainAxisSize: MainAxisSize.min, @@ -60,7 +59,8 @@ class SettingsListTile extends StatelessWidget { trailingColor == null ? null : Color(trailingColor!), ), ), - Icon(Icons.keyboard_arrow_right, color: UIColors.secondaryColor), + Icon(Icons.keyboard_arrow_right, + color: AppTheme.listTileSubtitleColor), ], ), onTap: onTap, diff --git a/src/ui/flutter_app/lib/widgets/settings_switch_list_tile.dart b/src/ui/flutter_app/lib/widgets/settings_switch_list_tile.dart index d591d3a6..41897928 100644 --- a/src/ui/flutter_app/lib/widgets/settings_switch_list_tile.dart +++ b/src/ui/flutter_app/lib/widgets/settings_switch_list_tile.dart @@ -18,7 +18,6 @@ import 'package:flutter/material.dart'; import 'package:sanmill/style/app_theme.dart'; -import 'package:sanmill/style/colors.dart'; class SettingsSwitchListTile extends StatelessWidget { const SettingsSwitchListTile({ @@ -47,7 +46,7 @@ class SettingsSwitchListTile extends StatelessWidget { ? null : Text( subtitleString!, - style: TextStyle(color: UIColors.secondaryColor), + style: TextStyle(color: AppTheme.listTileSubtitleColor), ), ); }