From 64e80148a3f5c23d50023aa02bde8a60b9bbf4c4 Mon Sep 17 00:00:00 2001 From: asif Date: Wed, 3 Sep 2025 23:49:30 +0530 Subject: [PATCH] changed primary color usage to fix the color bug in dark mode Changed Theme.of(context).primaryColor to Theme.of(contex).colorScheme.primary to make dark mode work properly. --- lib/app.dart | 50 ++++++------ lib/config/theme_type.dart | 1 + lib/config/themes.dart | 62 +++++++------- .../screens/account_statement_screen.dart | 32 ++++---- .../screens/beneficiary_details_screen.dart | 2 +- .../screens/manage_beneficiaries_screen.dart | 4 +- .../screens/customer_info_screen.dart | 4 +- .../dashboard/screens/dashboard_screen.dart | 16 ++-- .../dashboard/widgets/account_card.dart | 13 +-- .../enquiry/screens/enquiry_screen.dart | 18 ++--- .../screens/fund_transfer_amount_screen.dart | 10 ++- .../fund_transfer_beneficiary_screen.dart | 2 +- .../screens/transaction_pin_screen.dart | 8 +- .../quick_pay_outside_bank_screen.dart | 80 ++++++++++++------- .../screens/quick_pay_within_bank_screen.dart | 48 ++++++----- lib/widgets/bank_logos.dart | 6 +- pubspec.lock | 80 +++++++++---------- 17 files changed, 234 insertions(+), 202 deletions(-) diff --git a/lib/app.dart b/lib/app.dart index fa904d4..a00d909 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -85,29 +85,28 @@ class _KMobileState extends State { child: BlocBuilder( builder: (context, themeState) { return BlocBuilder( - builder: (context, modeState) { - return MaterialApp( - debugShowCheckedModeBanner: false, - locale: _locale ?? const Locale('en'), - supportedLocales: const [ - Locale('en'), - Locale('hi'), - ], - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - title: 'kMobile', - theme: themeState.getLightThemeData(), - darkTheme: themeState.getDarkThemeData(), - themeMode: context.watch().state.mode, - onGenerateRoute: AppRoutes.generateRoute, - initialRoute: AppRoutes.splash, - home: showSplash ? const SplashScreen() : const AuthGate(), - ); - + builder: (context, modeState) { + return MaterialApp( + debugShowCheckedModeBanner: false, + locale: _locale ?? const Locale('en'), + supportedLocales: const [ + Locale('en'), + Locale('hi'), + ], + localizationsDelegates: const [ + AppLocalizations.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + title: 'kMobile', + theme: themeState.getLightThemeData(), + darkTheme: themeState.getDarkThemeData(), + themeMode: context.watch().state.mode, + onGenerateRoute: AppRoutes.generateRoute, + initialRoute: AppRoutes.splash, + home: showSplash ? const SplashScreen() : const AuthGate(), + ); }, ); }, @@ -344,8 +343,9 @@ class _NavigationScaffoldState extends State { currentIndex: _selectedIndex, type: BottomNavigationBarType.fixed, backgroundColor: Theme.of(context).scaffoldBackgroundColor, - selectedItemColor: Theme.of(context).primaryColor, - unselectedItemColor: Theme.of(context).colorScheme.onSurface.withOpacity(0.6), + selectedItemColor: Theme.of(context).colorScheme.primary, + unselectedItemColor: + Theme.of(context).colorScheme.onSurface.withValues(alpha: 0.7), onTap: (index) { setState(() { _selectedIndex = index; diff --git a/lib/config/theme_type.dart b/lib/config/theme_type.dart index cbe414b..0330451 100644 --- a/lib/config/theme_type.dart +++ b/lib/config/theme_type.dart @@ -3,4 +3,5 @@ enum ThemeType { green, orange, blue, + yellow, } diff --git a/lib/config/themes.dart b/lib/config/themes.dart index e65d3d4..072b0d8 100644 --- a/lib/config/themes.dart +++ b/lib/config/themes.dart @@ -38,16 +38,17 @@ class AppThemes { } }*/ - import 'dart:developer'; -import 'package:flutter/material.dart';import 'theme_type.dart'; +import 'package:flutter/material.dart'; +import 'theme_type.dart'; import 'package:google_fonts/google_fonts.dart'; -class AppThemes { - static ThemeData getLightTheme(ThemeType type) { + +class AppThemes { + static ThemeData getLightTheme(ThemeType type) { print('inside get light theme'); - final Color seedColor = _getSeedColor(type); - final colorScheme = ColorScheme.fromSeed( + final Color seedColor = _getSeedColor(type); + final colorScheme = ColorScheme.fromSeed( seedColor: seedColor, brightness: Brightness.light, ); @@ -64,27 +65,28 @@ class AppThemes { // ), // ); } - static ThemeData getDarkTheme(ThemeType type) { - print('inside get dark theme'); - final Color seedColor = _getSeedColor(type); - log(seedColor.toString()); - final colorScheme = ColorScheme.fromSeed( - seedColor: seedColor, - brightness: Brightness.dark, - // Define custom background and surface colors for better contrast - // background: const Color(0xFF121212), // A common dark theme background c - // surface: const Color(0xFF1E1E1E), // A slightly lighter surface color - ); - return ThemeData.from( - colorScheme: colorScheme, - useMaterial3: true, - textTheme: GoogleFonts.rubikTextTheme( - ThemeData(brightness: Brightness.dark).textTheme, - ), - ); - - // .copyWith( + static ThemeData getDarkTheme(ThemeType type) { + print('inside get dark theme'); + final Color seedColor = _getSeedColor(type); + log(seedColor.toString()); + final colorScheme = ColorScheme.fromSeed( + seedColor: seedColor, + brightness: Brightness.dark, + // Define custom background and surface colors for better contrast + // background: const Color(0xFF121212), // A common dark theme background c + // surface: const Color(0xFF1E1E1E), // A slightly lighter surface color + ); + + return ThemeData.from( + colorScheme: colorScheme, + useMaterial3: true, + textTheme: GoogleFonts.rubikTextTheme( + ThemeData(brightness: Brightness.dark).textTheme, + ), + ); + + // .copyWith( // Explicitly set scaffold background color // scaffoldBackgroundColor: colorScheme.background, // // Customize card theme for dark mode @@ -114,8 +116,9 @@ class AppThemes { // selectedItemColor: colorScheme.primary, // unselectedItemColor: colorScheme.onSurface.withOpacity(0.6), // ), - // ); -} + // ); + } + static Color _getSeedColor(ThemeType type) { switch (type) { case ThemeType.green: @@ -125,8 +128,9 @@ class AppThemes { case ThemeType.blue: return Colors.blue; case ThemeType.violet: - default: return Colors.deepPurple; + case ThemeType.yellow: + return Colors.yellow; } } } diff --git a/lib/features/accounts/screens/account_statement_screen.dart b/lib/features/accounts/screens/account_statement_screen.dart index de0f02c..26dd65a 100644 --- a/lib/features/accounts/screens/account_statement_screen.dart +++ b/lib/features/accounts/screens/account_statement_screen.dart @@ -120,8 +120,6 @@ class _AccountStatementScreen extends State { appBar: AppBar( title: Text( AppLocalizations.of(context).accountStatement, - style: - const TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, ), @@ -190,19 +188,20 @@ class _AccountStatementScreen extends State { child: ElevatedButton( onPressed: _loadTransactions, style: ElevatedButton.styleFrom( - backgroundColor: Theme.of(context).primaryColor, + backgroundColor: + Theme.of(context).colorScheme.primaryContainer, padding: const EdgeInsets.symmetric(vertical: 16), ), child: Text( AppLocalizations.of(context).search, style: TextStyle( - color: Theme.of(context).scaffoldBackgroundColor, + color: Theme.of(context).colorScheme.onPrimaryContainer, fontSize: 16, ), ), ), ), - const SizedBox(height: 35), + const SizedBox(height: 15), if (!_txLoading && _transactions.isNotEmpty && fromDate == null && @@ -214,7 +213,7 @@ class _AccountStatementScreen extends State { style: TextStyle( fontSize: 16, fontWeight: FontWeight.w500, - color: Colors.grey[700], + color: Theme.of(context).colorScheme.onSurfaceVariant, ), ), ), @@ -255,10 +254,11 @@ class _AccountStatementScreen extends State { : _transactions.isEmpty ? Center( child: Text( - AppLocalizations.of(context).noTransactions, - style: TextStyle( - fontSize: 16, color: Colors.grey[600]), - ), + AppLocalizations.of(context).noTransactions, + style: TextStyle( + fontSize: 16, + color: Theme.of(context).colorScheme.onSurface, + )), ) : ListView.separated( itemCount: _transactions.length, @@ -269,8 +269,9 @@ class _AccountStatementScreen extends State { tx.type == 'CR' ? Symbols.call_received : Symbols.call_made, - color: - tx.type == 'CR' ? Colors.green : Colors.red, + color: tx.type == 'CR' + ? Colors.green + : Theme.of(context).colorScheme.error, ), title: Text( tx.date ?? '', @@ -314,7 +315,8 @@ class _AccountStatementScreen extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 16), decoration: BoxDecoration( - border: Border.all(color: Colors.grey), + border: + Border.all(color: Theme.of(context).colorScheme.onSurfaceVariant), borderRadius: BorderRadius.circular(6), ), child: Row( @@ -324,7 +326,9 @@ class _AccountStatementScreen extends State { date != null ? _formatDate(date) : label, style: TextStyle( fontSize: 16, - color: date != null ? Colors.black : Colors.grey, + color: date != null + ? Theme.of(context).colorScheme.onSurface + : Theme.of(context).colorScheme.onSurfaceVariant, ), ), const Icon(Icons.arrow_drop_down), diff --git a/lib/features/beneficiaries/screens/beneficiary_details_screen.dart b/lib/features/beneficiaries/screens/beneficiary_details_screen.dart index 492f892..afa9d7d 100644 --- a/lib/features/beneficiaries/screens/beneficiary_details_screen.dart +++ b/lib/features/beneficiaries/screens/beneficiary_details_screen.dart @@ -91,7 +91,7 @@ class BeneficiaryDetailsScreen extends StatelessWidget { CircleAvatar( radius: 24, backgroundColor: Colors.transparent, - child: getBankLogo(beneficiary.bankName), + child: getBankLogo(beneficiary.bankName, context), ), const SizedBox(width: 16), Text( diff --git a/lib/features/beneficiaries/screens/manage_beneficiaries_screen.dart b/lib/features/beneficiaries/screens/manage_beneficiaries_screen.dart index ecfe2cc..9c7a21e 100644 --- a/lib/features/beneficiaries/screens/manage_beneficiaries_screen.dart +++ b/lib/features/beneficiaries/screens/manage_beneficiaries_screen.dart @@ -75,7 +75,7 @@ class _ManageBeneficiariesScreen extends State { leading: CircleAvatar( radius: 24, backgroundColor: Colors.transparent, - child: getBankLogo(item.bankName), + child: getBankLogo(item.bankName, context), ), title: Text(item.name), subtitle: Column( @@ -122,8 +122,6 @@ class _ManageBeneficiariesScreen extends State { ), ); }, - backgroundColor: Theme.of(context).scaffoldBackgroundColor, - foregroundColor: Theme.of(context).primaryColor, elevation: 5, child: const Icon(Icons.add), ), diff --git a/lib/features/customer_info/screens/customer_info_screen.dart b/lib/features/customer_info/screens/customer_info_screen.dart index ebb7aa7..117e753 100644 --- a/lib/features/customer_info/screens/customer_info_screen.dart +++ b/lib/features/customer_info/screens/customer_info_screen.dart @@ -19,7 +19,9 @@ class _CustomerInfoScreenState extends State { return Scaffold( appBar: AppBar( title: Text( - AppLocalizations.of(context).customerInfo, + AppLocalizations.of(context) + .customerInfo + .replaceFirst(RegExp('\n'), ''), ), ), body: SingleChildScrollView( diff --git a/lib/features/dashboard/screens/dashboard_screen.dart b/lib/features/dashboard/screens/dashboard_screen.dart index 7ef6b77..fd8b78b 100644 --- a/lib/features/dashboard/screens/dashboard_screen.dart +++ b/lib/features/dashboard/screens/dashboard_screen.dart @@ -98,7 +98,7 @@ class _DashboardScreenState extends State { Widget _buildBalanceShimmer() { final theme = Theme.of(context); return Shimmer.fromColors( - baseColor: theme.primaryColor, + baseColor: theme.colorScheme.primary, highlightColor: theme.colorScheme.onPrimary, child: Container( width: 200, height: 42, color: theme.scaffoldBackgroundColor), @@ -213,7 +213,7 @@ class _DashboardScreenState extends State { title: Text( AppLocalizations.of(context).kconnect, style: TextStyle( - color: theme.primaryColor, + color: theme.colorScheme.primary, fontWeight: FontWeight.w700, ), ), @@ -275,7 +275,7 @@ class _DashboardScreenState extends State { "${AppLocalizations.of(context).hi} $firstName!", style: GoogleFonts.baumans().copyWith( fontSize: 20, - color: theme.primaryColor, + color: theme.colorScheme.primary, fontWeight: FontWeight.w700, ), ), @@ -289,7 +289,7 @@ class _DashboardScreenState extends State { vertical: 10, ), decoration: BoxDecoration( - color: theme.primaryColor, + color: theme.colorScheme.primary, borderRadius: BorderRadius.circular(16), ), child: Column( @@ -307,7 +307,7 @@ class _DashboardScreenState extends State { ), DropdownButton( value: selectedAccountIndex, - dropdownColor: theme.primaryColor, + dropdownColor: theme.colorScheme.primary, underline: const SizedBox(), icon: const Icon(Icons.keyboard_arrow_down), iconEnabledColor: theme.colorScheme.onPrimary, @@ -602,7 +602,7 @@ class _DashboardScreenState extends State { AppLocalizations.of(context).noTransactions, style: TextStyle( fontSize: 16, - color: Colors.grey[600], + color: Theme.of(context).colorScheme.outline, ), ), ), @@ -663,8 +663,8 @@ class _DashboardScreenState extends State { icon, size: 30, color: disable - ? theme.colorScheme.surfaceContainerHighest - : theme.primaryColor, + ? theme.colorScheme.onSurface.withValues(alpha: 0.3) + : theme.colorScheme.primary, grade: 200, weight: 700, ), diff --git a/lib/features/dashboard/widgets/account_card.dart b/lib/features/dashboard/widgets/account_card.dart index 8c46326..02228c0 100644 --- a/lib/features/dashboard/widgets/account_card.dart +++ b/lib/features/dashboard/widgets/account_card.dart @@ -13,7 +13,7 @@ class AccountCard extends StatelessWidget { width: 300, padding: const EdgeInsets.all(20), decoration: BoxDecoration( - color: Theme.of(context).colorScheme.onPrimary, + color: Colors.white, borderRadius: BorderRadius.circular(12), boxShadow: [ BoxShadow( @@ -33,7 +33,7 @@ class AccountCard extends StatelessWidget { Text( account.accountType, style: TextStyle( - color: Theme.of(context).scaffoldBackgroundColor, + color: Theme.of(context).colorScheme.onPrimary, fontSize: 18, fontWeight: FontWeight.bold, ), @@ -42,7 +42,7 @@ class AccountCard extends StatelessWidget { account.accountType == 'Savings' ? Icons.savings : Icons.account_balance, - color: Theme.of(context).scaffoldBackgroundColor, + color: Theme.of(context).colorScheme.onPrimary, ), ], ), @@ -50,13 +50,13 @@ class AccountCard extends StatelessWidget { Text( account.accountNumber, style: TextStyle( - color: Theme.of(context).scaffoldBackgroundColor, fontSize: 16), + color: Theme.of(context).colorScheme.onPrimary, fontSize: 16), ), const SizedBox(height: 30), Text( '${account.currency} ${account.balance.toStringAsFixed(2)}', style: TextStyle( - color: Theme.of(context).scaffoldBackgroundColor, + color: Theme.of(context).colorScheme.onPrimary, fontSize: 22, fontWeight: FontWeight.bold, ), @@ -65,10 +65,11 @@ class AccountCard extends StatelessWidget { Text( AppLocalizations.of(context).availableBalance, style: TextStyle( - color: Theme.of(context).scaffoldBackgroundColor, fontSize: 16), + color: Theme.of(context).colorScheme.onPrimary, fontSize: 16), ), ], ), ); } } + diff --git a/lib/features/enquiry/screens/enquiry_screen.dart b/lib/features/enquiry/screens/enquiry_screen.dart index ef38e7e..b772168 100644 --- a/lib/features/enquiry/screens/enquiry_screen.dart +++ b/lib/features/enquiry/screens/enquiry_screen.dart @@ -34,12 +34,13 @@ class _EnquiryScreen extends State { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(role, style: const TextStyle(color: Colors.grey)), + Text(role, + style: TextStyle(color: Theme.of(context).colorScheme.onSurface)), const SizedBox(height: 4), GestureDetector( onTap: () => _launchEmailAddress(email), child: Text(email, - style: TextStyle(color: Theme.of(context).primaryColor)), + style: TextStyle(color: Theme.of(context).colorScheme.primary)), ), const SizedBox(height: 4), GestureDetector( @@ -56,11 +57,7 @@ class _EnquiryScreen extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text( - AppLocalizations.of(context).enquiry, - style: - const TextStyle(color: Colors.black, fontWeight: FontWeight.w500), - ), + title: Text(AppLocalizations.of(context).enquiry), centerTitle: false, ), body: Padding( @@ -72,12 +69,11 @@ class _EnquiryScreen extends State { const SizedBox(height: 20), Text( AppLocalizations.of(context).writeToUs, - style: const TextStyle(color: Colors.grey), ), const SizedBox(height: 4), Text( "complaint@kccb.in", - style: TextStyle(color: Theme.of(context).primaryColor), + style: TextStyle(color: Theme.of(context).colorScheme.primary), ), const SizedBox(height: 20), @@ -85,11 +81,11 @@ class _EnquiryScreen extends State { AppLocalizations.of(context).keyContacts, style: TextStyle( fontSize: 17, - color: Theme.of(context).primaryColor, + color: Theme.of(context).colorScheme.primary, ), // horizontal line ), - Divider(color: Colors.grey[300]), + Divider(color: Theme.of(context).colorScheme.outline), const SizedBox(height: 16), _buildContactItem( AppLocalizations.of(context).chairman, diff --git a/lib/features/fund_transfer/screens/fund_transfer_amount_screen.dart b/lib/features/fund_transfer/screens/fund_transfer_amount_screen.dart index 7a843f3..e67be36 100644 --- a/lib/features/fund_transfer/screens/fund_transfer_amount_screen.dart +++ b/lib/features/fund_transfer/screens/fund_transfer_amount_screen.dart @@ -334,7 +334,8 @@ class _FundTransferAmountScreenState extends State { elevation: 0, margin: const EdgeInsets.symmetric(vertical: 8.0), child: ListTile( - leading: getBankLogo(widget.creditBeneficiary.bankName), + leading: + getBankLogo(widget.creditBeneficiary.bankName, context), title: Text(widget.creditBeneficiary.name), subtitle: Text(widget.creditBeneficiary.accountNo), ), @@ -367,12 +368,12 @@ class _FundTransferAmountScreenState extends State { }, borderRadius: BorderRadius.circular(10), selectedColor: Theme.of(context).colorScheme.onPrimary, - fillColor: Theme.of(context).primaryColor, + fillColor: Theme.of(context).colorScheme.primary, color: Theme.of(context).colorScheme.onSurface, borderColor: Colors.transparent, selectedBorderColor: Colors.transparent, - splashColor: Theme.of(context).primaryColor, - highlightColor: Theme.of(context).primaryColor, + splashColor: Theme.of(context).colorScheme.primary, + highlightColor: Theme.of(context).colorScheme.primary, children: [ Padding( padding: const EdgeInsets.symmetric( @@ -427,6 +428,7 @@ class _FundTransferAmountScreenState extends State { child: Text(AppLocalizations.of(context).proceed), ), ), + const SizedBox(height: 10), ], ), ), diff --git a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart index 9597d19..e05fb74 100644 --- a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart +++ b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart @@ -86,7 +86,7 @@ class _FundTransferBeneficiaryScreenState leading: CircleAvatar( radius: 24, backgroundColor: Colors.transparent, - child: getBankLogo(beneficiary.bankName), + child: getBankLogo(beneficiary.bankName, context), ), title: Text(beneficiary.name), subtitle: Column( diff --git a/lib/features/fund_transfer/screens/transaction_pin_screen.dart b/lib/features/fund_transfer/screens/transaction_pin_screen.dart index f8384a1..c3ba7d9 100644 --- a/lib/features/fund_transfer/screens/transaction_pin_screen.dart +++ b/lib/features/fund_transfer/screens/transaction_pin_screen.dart @@ -94,7 +94,7 @@ class _TransactionPinScreenState extends State { shape: BoxShape.circle, border: Border.all(color: Theme.of(context).primaryColor, width: 2), color: index < _pin.length - ? Theme.of(context).primaryColor + ? Theme.of(context).colorScheme.primary : Colors.transparent, ), ); @@ -142,11 +142,7 @@ class _TransactionPinScreenState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text( - AppLocalizations.of(context).tpin, - style: - const TextStyle(color: Colors.black, fontWeight: FontWeight.w500), - ), + title: Text(AppLocalizations.of(context).tpin), centerTitle: false, ), body: _loading diff --git a/lib/features/quick_pay/screens/quick_pay_outside_bank_screen.dart b/lib/features/quick_pay/screens/quick_pay_outside_bank_screen.dart index b5e8793..2aaf419 100644 --- a/lib/features/quick_pay/screens/quick_pay_outside_bank_screen.dart +++ b/lib/features/quick_pay/screens/quick_pay_outside_bank_screen.dart @@ -375,8 +375,6 @@ class _QuickPayOutsideBankScreen extends State { appBar: AppBar( title: Text( AppLocalizations.of(context).quickPayOutsideBank, - style: - const TextStyle(color: Colors.black, fontWeight: FontWeight.w500), ), centerTitle: false, ), @@ -413,10 +411,12 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), controller: accountNumberController, @@ -449,10 +449,12 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), keyboardType: TextInputType.number, @@ -484,10 +486,13 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, + width: 2), ), ), controller: ifscController, @@ -531,10 +536,13 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, + width: 2), ), ), items: [ @@ -563,13 +571,12 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).dialogBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), - ), - focusedBorder: const OutlineInputBorder( borderSide: BorderSide( - color: Colors.black, - width: 2, - ), + color: Theme.of(context).colorScheme.outline), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), ), @@ -584,11 +591,12 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).dialogBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), - ), - focusedBorder: const OutlineInputBorder( borderSide: BorderSide( - color: Colors.black, + color: Theme.of(context).colorScheme.outline), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2, ), ), @@ -631,7 +639,8 @@ class _QuickPayOutsideBankScreen extends State { padding: const EdgeInsets.only(bottom: 24.0), child: Text( _validationError!, - style: const TextStyle(color: Colors.red), + style: + TextStyle(color: Theme.of(context).colorScheme.error), ), ), TextFormField( @@ -644,10 +653,12 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).dialogBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), validator: (value) { @@ -672,10 +683,13 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, + width: 2), ), ), textInputAction: TextInputAction.next, @@ -694,10 +708,13 @@ class _QuickPayOutsideBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, + width: 2), ), ), controller: amountController, @@ -734,7 +751,7 @@ class _QuickPayOutsideBankScreen extends State { child: SwipeButton.expand( thumb: Icon(Icons.arrow_forward, color: Theme.of(context).dialogBackgroundColor), - activeThumbColor: Theme.of(context).primaryColor, + activeThumbColor: Theme.of(context).colorScheme.primary, activeTrackColor: Theme.of(context).colorScheme.secondary.withAlpha(100), borderRadius: BorderRadius.circular(30), @@ -770,12 +787,12 @@ class _QuickPayOutsideBankScreen extends State { padding: const EdgeInsets.symmetric(vertical: 5), decoration: BoxDecoration( color: isSelected - ? Theme.of(context).primaryColor + ? Theme.of(context).colorScheme.primary : Theme.of(context).scaffoldBackgroundColor, borderRadius: BorderRadius.circular(5), border: Border.all( color: isSelected - ? Theme.of(context).primaryColor + ? Theme.of(context).colorScheme.primary : Theme.of(context).scaffoldBackgroundColor, width: isSelected ? 0 : 1.2, ), @@ -783,7 +800,8 @@ class _QuickPayOutsideBankScreen extends State { alignment: Alignment.center, child: Text( transactionModes(context)[index], - style: const TextStyle(color: Colors.black), + style: + TextStyle(color: Theme.of(context).colorScheme.onSurface), ), ), ), diff --git a/lib/features/quick_pay/screens/quick_pay_within_bank_screen.dart b/lib/features/quick_pay/screens/quick_pay_within_bank_screen.dart index 3a0a759..902bfa4 100644 --- a/lib/features/quick_pay/screens/quick_pay_within_bank_screen.dart +++ b/lib/features/quick_pay/screens/quick_pay_within_bank_screen.dart @@ -90,8 +90,9 @@ class _QuickPayWithinBankScreen extends State { appBar: AppBar( title: Text( AppLocalizations.of(context).quickPayOwnBank, - style: - TextStyle(color: Theme.of(context).colorScheme.onSurface, fontWeight: FontWeight.w500), + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + fontWeight: FontWeight.w500), ), centerTitle: false, ), @@ -125,10 +126,12 @@ class _QuickPayWithinBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), controller: accountNumberController, @@ -154,11 +157,13 @@ class _QuickPayWithinBankScreen extends State { isDense: true, filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, - enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), keyboardType: TextInputType.number, @@ -239,10 +244,12 @@ class _QuickPayWithinBankScreen extends State { filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), value: _selectedAccountType, @@ -276,11 +283,13 @@ class _QuickPayWithinBankScreen extends State { isDense: true, filled: true, fillColor: Theme.of(context).scaffoldBackgroundColor, - enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.outline), ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), controller: amountController, @@ -303,7 +312,7 @@ class _QuickPayWithinBankScreen extends State { child: SwipeButton.expand( thumb: Icon(Icons.arrow_forward, color: Theme.of(context).dialogBackgroundColor), - activeThumbColor: Theme.of(context).primaryColor, + activeThumbColor: Theme.of(context).colorScheme.primary, activeTrackColor: Theme.of( context, ).colorScheme.secondary.withAlpha(100), @@ -377,11 +386,12 @@ class _QuickPayWithinBankScreen extends State { isDense: true, filled: true, fillColor: Theme.of(context).dialogBackgroundColor, - enabledBorder: OutlineInputBorder( + enabledBorder: OutlineInputBorder( borderSide: BorderSide(color: Theme.of(context).colorScheme.outline), ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Theme.of(context).colorScheme.primary, width: 2), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.primary, width: 2), ), ), ); diff --git a/lib/widgets/bank_logos.dart b/lib/widgets/bank_logos.dart index 30661a5..17c48c5 100644 --- a/lib/widgets/bank_logos.dart +++ b/lib/widgets/bank_logos.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -Widget getBankLogo(String? bankName) { +Widget getBankLogo(String? bankName, BuildContext context) { if (bankName != null && bankName.toLowerCase().contains('state bank of')) { return Image.asset( 'assets/images/sbi_logo.png', @@ -72,10 +72,10 @@ Widget getBankLogo(String? bankName) { height: 40, ); } else { - return const Icon( + return Icon( Icons.account_balance, size: 40, - color: Colors.grey, + color: Theme.of(context).colorScheme.outline, ); } } diff --git a/pubspec.lock b/pubspec.lock index 832df6d..4c68879 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" bloc: dependency: "direct main" description: @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" chalkdart: dependency: transitive description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -77,18 +77,18 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" confetti: dependency: "direct main" description: @@ -149,10 +149,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: @@ -353,10 +353,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" js: dependency: transitive description: @@ -377,18 +377,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -457,10 +457,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -481,10 +481,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: transitive description: @@ -505,10 +505,10 @@ packages: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_parsing: dependency: transitive description: @@ -689,15 +689,15 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -710,42 +710,42 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.4" typed_data: dependency: transitive description: @@ -862,10 +862,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "15.0.0" web: dependency: transitive description: @@ -907,5 +907,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.5.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.24.0"