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.
This commit is contained in:
asif
2025-09-03 23:49:30 +05:30
parent 85f58c1e25
commit 64e80148a3
17 changed files with 234 additions and 202 deletions

View File

@@ -85,29 +85,28 @@ class _KMobileState extends State<KMobile> {
child: BlocBuilder<ThemeCubit, ThemeState>(
builder: (context, themeState) {
return BlocBuilder<ThemeModeCubit, ThemeModeState>(
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<ThemeModeCubit>().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<ThemeModeCubit>().state.mode,
onGenerateRoute: AppRoutes.generateRoute,
initialRoute: AppRoutes.splash,
home: showSplash ? const SplashScreen() : const AuthGate(),
);
},
);
},
@@ -344,8 +343,9 @@ class _NavigationScaffoldState extends State<NavigationScaffold> {
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;

View File

@@ -3,4 +3,5 @@ enum ThemeType {
green,
orange,
blue,
yellow,
}

View File

@@ -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;
}
}
}

View File

@@ -120,8 +120,6 @@ class _AccountStatementScreen extends State<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
: _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<AccountStatementScreen> {
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<AccountStatementScreen> {
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<AccountStatementScreen> {
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),

View File

@@ -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(

View File

@@ -75,7 +75,7 @@ class _ManageBeneficiariesScreen extends State<ManageBeneficiariesScreen> {
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<ManageBeneficiariesScreen> {
),
);
},
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
foregroundColor: Theme.of(context).primaryColor,
elevation: 5,
child: const Icon(Icons.add),
),

View File

@@ -19,7 +19,9 @@ class _CustomerInfoScreenState extends State<CustomerInfoScreen> {
return Scaffold(
appBar: AppBar(
title: Text(
AppLocalizations.of(context).customerInfo,
AppLocalizations.of(context)
.customerInfo
.replaceFirst(RegExp('\n'), ''),
),
),
body: SingleChildScrollView(

View File

@@ -98,7 +98,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
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<DashboardScreen> {
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<DashboardScreen> {
"${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<DashboardScreen> {
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<DashboardScreen> {
),
DropdownButton<int>(
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<DashboardScreen> {
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<DashboardScreen> {
icon,
size: 30,
color: disable
? theme.colorScheme.surfaceContainerHighest
: theme.primaryColor,
? theme.colorScheme.onSurface.withValues(alpha: 0.3)
: theme.colorScheme.primary,
grade: 200,
weight: 700,
),

View File

@@ -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),
),
],
),
);
}
}

View File

@@ -34,12 +34,13 @@ class _EnquiryScreen extends State<EnquiryScreen> {
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<EnquiryScreen> {
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<EnquiryScreen> {
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<EnquiryScreen> {
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,

View File

@@ -334,7 +334,8 @@ class _FundTransferAmountScreenState extends State<FundTransferAmountScreen> {
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<FundTransferAmountScreen> {
},
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<FundTransferAmountScreen> {
child: Text(AppLocalizations.of(context).proceed),
),
),
const SizedBox(height: 10),
],
),
),

View File

@@ -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(

View File

@@ -94,7 +94,7 @@ class _TransactionPinScreenState extends State<TransactionPinScreen> {
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<TransactionPinScreen> {
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

View File

@@ -375,8 +375,6 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
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<QuickPayOutsideBankScreen> {
alignment: Alignment.center,
child: Text(
transactionModes(context)[index],
style: const TextStyle(color: Colors.black),
style:
TextStyle(color: Theme.of(context).colorScheme.onSurface),
),
),
),

View File

@@ -90,8 +90,9 @@ class _QuickPayWithinBankScreen extends State<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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<QuickPayWithinBankScreen> {
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),
),
),
);

View File

@@ -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,
);
}
}

View File

@@ -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"