Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sai Srinivas
gen_services
Compare Revisions
3945918b6acbc7885c8f35a302144fb2d9eaf10f...f67e27cead4bfefa16acfbe23a6a55fc260abbc9
Commits (2)
changes and fixes
· 76ceb2cd
Sai Srinivas
authored
Nov 18, 2025
and
Sai Srinivas
committed
Nov 19, 2025
76ceb2cd
Merge remote-tracking branch 'origin/main'
· f67e27ce
Sai Srinivas
authored
Nov 19, 2025
f67e27ce
Expand all
Hide whitespace changes
Inline
Side-by-side
assets/svg/genesis_logo2.svg
deleted
100644 → 0
View file @
3945918b
This diff is collapsed.
Click to expand it.
assets/svg/gensis_latest_logo.svg
0 → 100644
View file @
f67e27ce
This diff is collapsed.
Click to expand it.
assets/svg/gensis_logo_ic.svg
0 → 100644
View file @
f67e27ce
This diff is collapsed.
Click to expand it.
lib/Models/GetInTouchListResponse.dart
View file @
f67e27ce
...
...
@@ -36,6 +36,7 @@ class GetInTouchList {
String
?
id
;
String
?
branchName
;
String
?
googleReviewLink
;
String
?
googleMapLink
;
String
?
address
;
String
?
loc
;
String
?
stateName
;
...
...
@@ -48,6 +49,7 @@ class GetInTouchList {
{
this
.
id
,
this
.
branchName
,
this
.
googleReviewLink
,
this
.
googleMapLink
,
this
.
address
,
this
.
loc
,
this
.
stateName
,
...
...
@@ -60,6 +62,7 @@ class GetInTouchList {
id
=
json
[
'id'
];
branchName
=
json
[
'branch_name'
];
googleReviewLink
=
json
[
'google_review_link'
];
googleMapLink
=
json
[
'google_map_link'
];
address
=
json
[
'address'
];
loc
=
json
[
'loc'
];
stateName
=
json
[
'state_name'
];
...
...
@@ -74,6 +77,7 @@ class GetInTouchList {
data
[
'id'
]
=
this
.
id
;
data
[
'branch_name'
]
=
this
.
branchName
;
data
[
'google_review_link'
]
=
this
.
googleReviewLink
;
data
[
'google_map_link'
]
=
this
.
googleMapLink
;
data
[
'address'
]
=
this
.
address
;
data
[
'loc'
]
=
this
.
loc
;
data
[
'state_name'
]
=
this
.
stateName
;
...
...
lib/Models/HelpAndComplaintModels/ComplaintListResponse.dart
View file @
f67e27ce
...
...
@@ -2,6 +2,8 @@ class ComplaintListResponse {
String
?
error
;
List
<
ComplaintList
>?
complaintList
;
String
?
message
;
String
?
prodName
;
String
?
modelNo
;
ComplaintListResponse
({
this
.
error
,
this
.
complaintList
,
this
.
message
});
...
...
@@ -14,6 +16,8 @@ class ComplaintListResponse {
});
}
message
=
json
[
'message'
];
prodName
=
json
[
'prod_name'
];
modelNo
=
json
[
'model_name'
];
}
Map
<
String
,
dynamic
>
toJson
()
{
...
...
@@ -24,6 +28,8 @@ class ComplaintListResponse {
this
.
complaintList
!.
map
((
v
)
=>
v
.
toJson
()).
toList
();
}
data
[
'message'
]
=
this
.
message
;
data
[
'prod_name'
]
=
this
.
prodName
;
data
[
'model_name'
]
=
this
.
modelNo
;
return
data
;
}
}
...
...
lib/Notifiers/HelpAndComplaintProvider.dart
View file @
f67e27ce
...
...
@@ -67,10 +67,11 @@ class HelpAndComplaintProvider extends ChangeNotifier {
Future
<
void
>
fetchComplaintsList
({
required
String
accId
,
required
String
sessionId
,
required
String
genId
,
})
async
{
_setLoading
(
true
);
try
{
final
response
=
await
ApiCalling
.
fetchComplaintsListApi
(
accId
,
sessionId
);
final
response
=
await
ApiCalling
.
fetchComplaintsListApi
(
accId
,
sessionId
,
genId
);
if
(
response
!=
null
&&
response
.
error
==
"0"
)
{
_complaintListResponse
=
response
;
_errorMessage
=
null
;
...
...
@@ -111,7 +112,7 @@ class HelpAndComplaintProvider extends ChangeNotifier {
if
(
response
!=
null
&&
response
.
error
==
"0"
)
{
// Optionally refresh list after successful submission
await
fetchComplaintsList
(
accId:
accId
,
sessionId:
sessionId
);
await
fetchComplaintsList
(
accId:
accId
,
sessionId:
sessionId
,
genId:
genId
);
return
response
;
}
else
{
_errorMessage
=
response
?.
message
??
"Failed to add complaint"
;
...
...
lib/Screens/AuthScreen/LoginScreen.dart
View file @
f67e27ce
...
...
@@ -135,7 +135,7 @@ class _LoginScreenState extends State<LoginScreen> {
children:
[
SizedBox
(
width:
30
,),
SvgPicture
.
asset
(
"assets/svg/gen
e
sis_l
ogo_2i
o.svg"
,
"assets/svg/gensis_l
atest_log
o.svg"
,
height:
50
,
color:
Colors
.
white
,
),
...
...
lib/Screens/AuthScreen/OTP_Screen.dart
View file @
f67e27ce
...
...
@@ -265,7 +265,7 @@ class _OtpScreenState extends State<OtpScreen> {
children:
[
const
SizedBox
(
width:
30
),
SvgPicture
.
asset
(
"assets/svg/gen
e
sis_l
ogo_2i
o.svg"
,
"assets/svg/gensis_l
atest_log
o.svg"
,
height:
50
,
color:
Colors
.
white
,
),
...
...
lib/Screens/HelpAndComplaintScreens/AddComplaintScreen.dart
View file @
f67e27ce
...
...
@@ -11,7 +11,7 @@ class AddComplaintScreen extends StatefulWidget {
final
String
sessionId
;
final
String
product
;
final
String
hashId
;
final
String
modolNo
;
const
AddComplaintScreen
({
Key
?
key
,
...
...
@@ -19,7 +19,6 @@ class AddComplaintScreen extends StatefulWidget {
required
this
.
sessionId
,
required
this
.
product
,
required
this
.
hashId
,
required
this
.
modolNo
,
})
:
super
(
key:
key
);
@override
...
...
@@ -178,7 +177,7 @@ class _AddComplaintScreenState extends State<AddComplaintScreen> {
borderRadius:
BorderRadius
.
circular
(
12
),
),
child:
Text
(
"#
${widget.hashId}
|
${
widget
.mod
o
lN
o
}
"
,
"#
${widget.hashId}
|
${
provider.dropDownsListResponse?.genDetails?
.mod
e
lN
ame
}
"
,
style:
const
TextStyle
(
fontSize:
13
,
fontWeight:
FontWeight
.
w400
,
...
...
@@ -473,6 +472,7 @@ class _ComplaintFormState extends State<_ComplaintForm> {
borderSide:
BorderSide
.
none
,
),
errorText:
_noteError
,
errorStyle:
TextStyle
(
color:
Colors
.
red
,),
hintStyle:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,),
contentPadding:
const
EdgeInsets
.
symmetric
(
horizontal:
12
,
vertical:
14
),
...
...
lib/Screens/HelpAndComplaintScreens/ComplaintDetailsScreen.dart
View file @
f67e27ce
This diff is collapsed.
Click to expand it.
lib/Screens/HelpAndComplaintScreens/ComplaintListScreen.dart
View file @
f67e27ce
...
...
@@ -7,16 +7,20 @@ import 'package:gen_service/Screens/HelpAndComplaintScreens/SelectOrderHelpScree
import
'package:gen_service/Screens/ProfileScreen.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Utility/AppColors.dart'
;
import
'AddComplaintScreen.dart'
;
import
'ComplaintDetailsScreen.dart'
;
class
ComplaintListScreen
extends
StatefulWidget
{
final
String
accId
;
final
String
sessionId
;
final
String
genId
;
const
ComplaintListScreen
({
Key
?
key
,
required
this
.
accId
,
required
this
.
sessionId
,
required
this
.
genId
,
})
:
super
(
key:
key
);
@override
...
...
@@ -37,6 +41,7 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
});
}
...
...
@@ -127,6 +132,7 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
},
style:
ElevatedButton
.
styleFrom
(
...
...
@@ -198,6 +204,7 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
await
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
},
child:
SafeArea
(
...
...
@@ -218,6 +225,7 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
await
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
},
stretchTriggerOffset:
300.0
,
...
...
@@ -285,7 +293,8 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
/// Top Tile
InkResponse
(
onTap:
()
{
Navigator
.
push
(
if
(
widget
.
genId
==
""
)
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
...
...
@@ -298,8 +307,31 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
await
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
});
}
if
(
widget
.
genId
!=
""
)
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
AddComplaintScreen
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
product:
data
.
prodName
.
toString
(),
hashId:
widget
.
genId
.
toString
(),
),
),
).
then
((
_
)
async
{
await
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
);
});
}
},
child:
Container
(
padding:
const
EdgeInsets
.
symmetric
(
...
...
@@ -322,27 +354,57 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
),
const
SizedBox
(
width:
12
),
Expanded
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
const
[
Text
(
"Get help for an order"
,
style:
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
black
,
),
child:
Stack
(
children:
[
if
(
widget
.
genId
!=
""
)
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
const
Text
(
"Get help for this order"
,
style:
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
black
,
),
),
const
SizedBox
(
height:
4
),
Text
(
data
.
prodName
!,
style:
const
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
12
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
grey
,
),
),
],
),
SizedBox
(
height:
4
),
Text
(
"Select a Generator"
,
style:
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
12
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
grey
,
),
if
(
widget
.
genId
==
""
)
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
const
[
Text
(
"Get help for an order"
,
style:
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
4
),
Text
(
"Select a Generator"
,
style:
TextStyle
(
fontFamily:
"Poppins"
,
fontSize:
12
,
fontWeight:
FontWeight
.
w400
,
color:
Colors
.
grey
,
),
),
],
),
],
),
...
...
@@ -357,7 +419,7 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
),
),
const
SizedBox
(
height:
25
),
const
SizedBox
(
height:
4
),
/// Raised Complaints
if
(
openComplaints
.
isNotEmpty
)
...
...
@@ -493,7 +555,7 @@ class ComplaintCard extends StatelessWidget {
fontFamily:
"Poppins"
,
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
color:
AppColors
.
amount
Text
,
color:
status
==
"Open"
?
AppColors
.
amountText
:
AppColors
.
normal
Text
,
),
),
Text
(
...
...
@@ -502,7 +564,7 @@ class ComplaintCard extends StatelessWidget {
fontFamily:
"Poppins"
,
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
color:
AppColors
.
amount
Text
,
color:
status
==
"Open"
?
AppColors
.
amountText
:
AppColors
.
normal
Text
,
),
),
],
...
...
lib/Screens/HelpAndComplaintScreens/SelectOrderHelpScreen.dart
View file @
f67e27ce
...
...
@@ -302,8 +302,7 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
product:
order
.
prodName
.
toString
(),
hashId:
order
.
hashId
.
toString
(),
modolNo:
order
.
engine
.
toString
(),
hashId:
order
.
id
.
toString
(),
),
),
).
then
((
_
)
async
{
...
...
@@ -454,7 +453,7 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
SizedBox
(
width:
4
),
if
(
amc
==
"2"
)
const
Icon
(
Icons
.
info
_outline
,
Icons
.
error
_outline
,
color:
Colors
.
red
,
size:
12
,
),
...
...
@@ -463,12 +462,12 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
],
),
),
if
(
amc
==
"1"
||
amc
==
"2"
)
SizedBox
(
width:
1
6
),
if
(
amc
==
"1"
||
amc
==
"2"
)
SizedBox
(
width:
1
0
),
// for warranty
if
(
warranty
==
"1"
||
warranty
==
"2"
)
Container
(
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
8
,
horizontal:
6
,
vertical:
4
,
),
decoration:
BoxDecoration
(
...
...
@@ -489,7 +488,7 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
?
"assets/svg/tick2_ic.svg"
:
"assets/svg/tick3_ic.svg"
,
),
const
SizedBox
(
width:
2
),
const
SizedBox
(
width:
1
),
Text
(
"Warranty"
,
style:
TextStyle
(
...
...
@@ -503,10 +502,10 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
:
AppColors
.
subtitleText
,
),
),
SizedBox
(
width:
4
),
SizedBox
(
width:
2
),
if
(
warranty
==
"2"
)
const
Icon
(
Icons
.
info
_outline
,
Icons
.
error
_outline
,
color:
Colors
.
red
,
size:
12
,
),
...
...
lib/Screens/HelpAndComplaintScreens/jobcardListScreen.dart
View file @
f67e27ce
...
...
@@ -471,6 +471,7 @@ class _JobcardlistscreenState extends State<Jobcardlistscreen> {
.
nearDarkText
,
),
),
if
(
data
[
j
].
totalPrice
!=
"0.00"
&&
data
[
j
].
totalPrice
!=
null
&&
data
[
j
].
totalPrice
!=
"0"
&&
data
[
j
].
totalPrice
!=
""
)
InkResponse
(
onTap:
()
{
hcProvider
...
...
@@ -522,35 +523,39 @@ class _JobcardlistscreenState extends State<Jobcardlistscreen> {
),
],
),
Divider
(
thickness:
0.3
,
color:
AppColors
.
subtitleText
,
),
InkResponse
(
onTap:
()
=>
_openPaymentSheet
(
context
,
data
[
j
].
totalPrice
.
toString
()),
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
16
,
horizontal:
10
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
buttonColor
,
borderRadius:
BorderRadius
.
circular
(
25
,
if
(
data
[
j
].
totalPrice
!=
"0.00"
&&
data
[
j
].
totalPrice
!=
null
&&
data
[
j
].
totalPrice
!=
"0"
&&
data
[
j
].
totalPrice
!=
""
)...[
Divider
(
thickness:
0.3
,
color:
AppColors
.
subtitleText
,
),
InkResponse
(
onTap:
()
=>
_openPaymentSheet
(
context
,
data
[
j
].
totalPrice
.
toString
()),
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
16
,
horizontal:
10
,
),
),
child:
Center
(
child:
Text
(
"Pay Now"
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
14
,
fontWeight:
FontWeight
.
w600
,
decoration:
BoxDecoration
(
color:
AppColors
.
buttonColor
,
borderRadius:
BorderRadius
.
circular
(
25
,
),
),
child:
Center
(
child:
Text
(
"Pay Now"
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
14
,
fontWeight:
FontWeight
.
w600
,
),
),
),
),
),
),
]
],
),
);
...
...
@@ -664,27 +669,43 @@ class _JobcardlistscreenState extends State<Jobcardlistscreen> {
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
s
paceBetween
,
MainAxisAlignment
.
s
tart
,
children:
[
Text
(
"
${j + 1}
.
${list?[j].partName}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
Expanded
(
flex:
4
,
child:
Text
(
"
${j + 1}
.
${list?[j].partName}
"
,
maxLines:
3
,
textAlign:
TextAlign
.
left
,
overflow:
TextOverflow
.
ellipsis
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
),
),
),
Text
(
"₹
${list?[j].price}
*
${list?[j].qty}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
Spacer
(),
Expanded
(
flex:
2
,
child:
Text
(
"₹
${list?[j].price}
*
${list?[j].qty}
"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
),
),
),
Text
(
"₹
${list?[j].totalPrice}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
Spacer
(),
Expanded
(
flex:
3
,
child:
Text
(
textAlign:
TextAlign
.
right
,
"₹
${list?[j].totalPrice}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
nearDarkText
,
),
),
),
],
...
...
lib/Screens/HelpAndComplaintScreens/serviceListScreen.dart
View file @
f67e27ce
...
...
@@ -418,7 +418,7 @@ class _serviceListScreenState extends State<serviceListScreen> {
child:
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
2
,
horizontal:
1.7
,
),
child:
Icon
(
Icons
...
...
@@ -431,7 +431,7 @@ class _serviceListScreenState extends State<serviceListScreen> {
:
const
Color
(
0xffCECECE
,
),
size:
2
4
,
size:
2
2
,
),
),
);
...
...
lib/Screens/HomeScreen.dart
View file @
f67e27ce
import
'dart:async'
;
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:gen_service/Models/DashboardResponse.dart'
;
...
...
@@ -38,6 +40,8 @@ class HomeScreen extends StatefulWidget {
}
class
_HomeScreenState
extends
State
<
HomeScreen
>
{
Timer
?
_connectivityTimer
;
bool
_hasInternet
=
true
;
late
Razorpay
_razorpay
;
bool
?
isSuccess
;
var
paymentMethod
=
""
;
...
...
@@ -49,6 +53,8 @@ class _HomeScreenState extends State<HomeScreen> {
@override
void
initState
()
{
super
.
initState
();
// Initialize connectivity check
_initConnectivity
();
_razorpay
=
Razorpay
();
Future
.
microtask
(()
{
final
dashboardProvider
=
Provider
.
of
<
DashboardProvider
>(
...
...
@@ -59,6 +65,74 @@ class _HomeScreenState extends State<HomeScreen> {
});
}
Future
<
void
>
_initConnectivity
()
async
{
try
{
_checkConnectivity
();
_connectivityTimer
=
Timer
.
periodic
(
const
Duration
(
seconds:
3
),
(
timer
)
{
_checkConnectivity
();
});
}
catch
(
e
)
{
debugPrint
(
"Connectivity initialization error:
$e
"
);
_updateConnectionStatus
(
false
);
}
}
Future
<
void
>
_checkConnectivity
()
async
{
try
{
final
connectivity
=
Connectivity
();
final
results
=
await
connectivity
.
checkConnectivity
();
final
hasInternet
=
results
.
any
((
element
)
=>
element
==
ConnectivityResult
.
wifi
||
element
==
ConnectivityResult
.
mobile
);
if
(
hasInternet
)
{
try
{
final
result
=
await
InternetAddress
.
lookup
(
'google.com'
);
final
socketCheck
=
result
.
isNotEmpty
&&
result
[
0
].
rawAddress
.
isNotEmpty
;
_updateConnectionStatus
(
socketCheck
);
}
catch
(
e
)
{
_updateConnectionStatus
(
false
);
}
}
else
{
_updateConnectionStatus
(
false
);
}
}
catch
(
e
)
{
debugPrint
(
"Connectivity check error:
$e
"
);
_updateConnectionStatus
(
false
);
}
}
void
_updateConnectionStatus
(
bool
hasInternet
)
{
if
(
mounted
)
{
setState
(()
{
_hasInternet
=
hasInternet
;
});
}
if
(!
hasInternet
)
{
_showNoInternetSnackbar
();
}
else
{
ScaffoldMessenger
.
of
(
context
).
hideCurrentSnackBar
();
}
}
void
_showNoInternetSnackbar
()
{
if
(
mounted
)
{
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
ScaffoldMessenger
.
of
(
context
).
hideCurrentSnackBar
();
CustomSnackBar
.
showError
(
context:
context
,
message:
"No internet connection! Please connect to the internet."
,
action:
SnackBarAction
(
label:
"RETRY"
,
onPressed:
_checkConnectivity
,
),
);
});
}
}
//_________________________________________________________
void
_handlePaymentSuccess
(
PaymentSuccessResponse
response
)
{
...
...
@@ -468,7 +542,7 @@ class _HomeScreenState extends State<HomeScreen> {
data
.
userName
.
toString
(),
style:
const
TextStyle
(
color:
Colors
.
white
,
fontSize:
2
4
,
fontSize:
2
2
,
fontWeight:
FontWeight
.
w400
,
),
maxLines:
1
,
...
...
@@ -593,7 +667,7 @@ class _HomeScreenState extends State<HomeScreen> {
),
),
),
const
SizedBox
(
height:
2
0
),
const
SizedBox
(
height:
2
5
),
// Get in Touch Card
InkResponse
(
...
...
@@ -613,7 +687,7 @@ class _HomeScreenState extends State<HomeScreen> {
width:
double
.
infinity
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
20
,
vertical:
2
2
,
vertical:
2
0
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
amountText
,
...
...
@@ -846,7 +920,7 @@ class _HomeScreenState extends State<HomeScreen> {
SizedBox
(
width:
4
),
if
(
amc
==
"2"
)
const
Icon
(
Icons
.
info
_outline
,
Icons
.
error
_outline
,
color:
Colors
.
red
,
size:
12
,
),
...
...
@@ -855,12 +929,12 @@ class _HomeScreenState extends State<HomeScreen> {
],
),
),
if
(
amc
==
"1"
||
amc
==
"2"
)
SizedBox
(
width:
1
6
),
if
(
amc
==
"1"
||
amc
==
"2"
)
SizedBox
(
width:
1
0
),
// for warranty
if
(
warranty
==
"1"
||
warranty
==
"2"
)
Container
(
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
8
,
horizontal:
6
,
vertical:
4
,
),
decoration:
BoxDecoration
(
...
...
@@ -898,7 +972,7 @@ class _HomeScreenState extends State<HomeScreen> {
SizedBox
(
width:
4
),
if
(
warranty
==
"2"
)
const
Icon
(
Icons
.
info
_outline
,
Icons
.
error
_outline
,
color:
Colors
.
red
,
size:
12
,
),
...
...
@@ -1029,7 +1103,7 @@ class _HomeScreenState extends State<HomeScreen> {
const
SizedBox
(
height:
8
),
Container
(
width:
double
.
infinity
,
padding:
EdgeInsets
.
all
(
2
2
),
padding:
EdgeInsets
.
all
(
2
0
),
decoration:
BoxDecoration
(
gradient:
dashboardData
.
balanceType
==
'Pending Balance'
...
...
@@ -1071,7 +1145,7 @@ class _HomeScreenState extends State<HomeScreen> {
Row
(
children:
[
const
Icon
(
Icons
.
info
_outline
,
Icons
.
error
_outline
,
color:
Colors
.
white
,
size:
16
,
),
...
...
@@ -1094,12 +1168,12 @@ class _HomeScreenState extends State<HomeScreen> {
child:
Column
(
children:
[
Text
(
"*Make sure to pay before
\n
you incur any fines."
,
"*Make sure to pay before you incur any fines."
,
maxLines:
2
,
textAlign:
TextAlign
.
end
,
style:
TextStyle
(
color:
const
Color
(
0xAAFFFFFF
),
fontSize:
1
2
,
fontSize:
1
1
,
fontWeight:
FontWeight
.
w400
,
),
),
...
...
@@ -1147,13 +1221,57 @@ class _HomeScreenState extends State<HomeScreen> {
final
complaints
=
dashboardData
.
complaints
??
[];
if
(
complaints
.
isEmpty
)
{
return
const
Padding
(
padding:
EdgeInsets
.
symmetric
(
vertical:
20
),
child:
Center
(
child:
Text
(
"No Complaints Found"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
),
),
return
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
vertical:
20
,
horizontal:
14
),
child:
Column
(
children:
[
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
const
Text
(
"Complaints"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
color:
Colors
.
black87
,
),
),
InkResponse
(
onTap:
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
ComplaintListScreen
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
""
,
),
),
);
},
child:
const
Text
(
'See All'
,
style:
TextStyle
(
fontSize:
14
,
fontWeight:
FontWeight
.
w500
,
color:
AppColors
.
amountText
,
),
),
),
],
),
SizedBox
(
height:
20
,),
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
vertical:
10
),
child:
const
Center
(
child:
Text
(
"No Open Complaints Found"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
),
),
),
),
],
),
);
}
...
...
@@ -1184,6 +1302,7 @@ class _HomeScreenState extends State<HomeScreen> {
(
context
)
=>
ComplaintListScreen
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
""
,
),
),
);
...
...
@@ -1272,7 +1391,7 @@ class _HomeScreenState extends State<HomeScreen> {
color:
(
c
.
openStatus
?.
toLowerCase
()
==
'open'
)
?
AppColors
.
successBG
:
AppColors
.
warningBg2
,
:
AppColors
.
yellowBG
,
borderRadius:
BorderRadius
.
circular
(
10
),
),
child:
Text
(
...
...
@@ -1283,7 +1402,7 @@ class _HomeScreenState extends State<HomeScreen> {
color:
(
c
.
openStatus
?.
toLowerCase
()
==
'open'
)
?
AppColors
.
success
:
AppColors
.
warning
Text
,
:
AppColors
.
normal
Text
,
),
),
),
...
...
lib/Screens/ProfileScreen.dart
View file @
f67e27ce
...
...
@@ -556,7 +556,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
data
.
name
.
toString
(),
style:
const
TextStyle
(
color:
Colors
.
white
,
fontSize:
2
4
,
fontSize:
2
2
,
fontWeight:
FontWeight
.
w400
,
),
maxLines:
1
,
...
...
@@ -629,11 +629,12 @@ class _ProfileScreenState extends State<ProfileScreen> {
const
SizedBox
(
height:
20
),
// email
if
(
data
.
email
!=
""
&&
data
.
email
!=
null
)
_buildItemRow
(
icon:
"assets/svg/message_ic.svg"
,
iconBg:
Color
(
0xFFDFF8FF
),
title:
"Email ID"
,
subTitle:
data
.
email
.
toString
()
icon:
"assets/svg/message_ic.svg"
,
iconBg:
Color
(
0xFFDFF8FF
),
title:
"Email ID"
,
subTitle:
data
.
email
.
toString
()
),
// address
_buildItemRow
(
...
...
@@ -659,18 +660,18 @@ class _ProfileScreenState extends State<ProfileScreen> {
Spacer
(),
Align
(
alignment:
Alignment
.
bottomCenter
,
alignment:
Alignment
.
bottomCenter
,
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
end
,
children:
[
SvgPicture
.
asset
(
"assets/svg/gen
e
sis_l
ogo_2i
o.svg"
,
height:
5
5
,
"assets/svg/gensis_l
atest_log
o.svg"
,
height:
5
8
,
color:
AppColors
.
buttonColor
,
),
SizedBox
(
height:
12
,),
Text
(
'Genesis Poweronics P
VT
. Ltd.'
,
'Genesis Poweronics P
vt
. Ltd.'
,
style:
TextStyle
(
fontSize:
14
,
fontWeight:
FontWeight
.
w400
,
...
...
@@ -719,8 +720,8 @@ class _ProfileScreenState extends State<ProfileScreen> {
Container
(
padding:
EdgeInsets
.
all
(
title
==
"Address"
?
8
:
12
),
decoration:
BoxDecoration
(
color:
isShow
?
iconBg
:
Colors
.
transparent
,
borderRadius:
BorderRadius
.
circular
(
18
)
color:
isShow
?
iconBg
:
Colors
.
transparent
,
borderRadius:
BorderRadius
.
circular
(
18
)
),
child:
SvgPicture
.
asset
(
height:
title
==
"Address"
?
34
:
26
,
...
...
lib/Screens/TransactionScreens/BillDetailScreen.dart
View file @
f67e27ce
...
...
@@ -31,6 +31,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
final
prefs
=
SharedPreferencesService
.
instance
;
@override
void
initState
()
{
super
.
initState
();
...
...
@@ -365,6 +366,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
const
SizedBox
(
width:
12
),
/// Pay Now Button
if
(
details
.
totalAmount
!=
"0.00"
)
Expanded
(
child:
ElevatedButton
(
onPressed:
()
{
...
...
lib/Screens/TransactionScreens/TransactionListScreen.dart
View file @
f67e27ce
...
...
@@ -298,7 +298,7 @@ class _TransactionScreenState extends State<TransactionListScreen> {
if
(
isPending
==
false
)
const
SizedBox
(
height:
4
),
if
(
isPending
==
false
)
if
(
isPending
==
false
&&
lastPaid
!=
null
&&
lastPaid
!=
""
)
Row
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
...
...
lib/Screens/TransactionScreens/contactMap.dart
View file @
f67e27ce
...
...
@@ -246,6 +246,7 @@ class _ContactMapState extends State<ContactMap> {
branchName:
item
.
branchName
??
"Unknown Branch"
,
address:
item
.
address
??
"No address available"
,
phoneNo:
item
.
telephoneNo
??
""
,
mapLink:
item
.
googleMapLink
??
""
,
lat:
item
.
latitude
??
""
,
long:
item
.
longitude
??
""
,
),
...
...
@@ -274,6 +275,7 @@ class _ContactMapState extends State<ContactMap> {
required
String
branchName
,
required
String
address
,
required
String
phoneNo
,
required
String
mapLink
,
required
String
lat
,
required
String
long
,
})
{
...
...
@@ -316,8 +318,15 @@ class _ContactMapState extends State<ContactMap> {
Row
(
children:
[
InkResponse
(
onTap:
()
{
onTap:
()
async
{
// map lat & long
var
location
=
"
$lat
,
$long
"
;
if
(
await
canLaunch
(
mapLink
))
{
await
launchUrl
(
Uri
.
parse
(
"https://maps.google.com?q=
$location
"
));
}
else
{
throw
'Could not launch
$mapLink
'
;
}
},
child:
Container
(
padding:
const
EdgeInsets
.
all
(
1
),
...
...
lib/Screens/generatorDetailsScreen.dart
View file @
f67e27ce
...
...
@@ -14,6 +14,7 @@ import 'package:provider/provider.dart';
import
'../Models/generatorDetailsResponse.dart'
;
import
'../Utility/AppColors.dart'
;
import
'HelpAndComplaintScreens/AddComplaintScreen.dart'
;
class
Generatordetailsscreen
extends
StatefulWidget
{
final
accId
;
...
...
@@ -717,9 +718,11 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
SelectOrderHelp
Screen
(
(
context
)
=>
AddComplaint
Screen
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
product:
data
.
prodName
!,
hashId:
data
.
id
.
toString
(),
),
),
);
...
...
@@ -823,6 +826,7 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
redirectScreen
=
ComplaintListScreen
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
genId:
widget
.
genId
,
);
break
;
case
"AMC Quotation Details"
:
...
...
@@ -1202,14 +1206,14 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
padding:
EdgeInsets
.
symmetric
(
vertical:
6
,
horizontal:
10
),
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
color:
AppColors
.
successBG
,
color:
data
.
openStatus
==
"closed"
?
AppColors
.
yellowBG
:
AppColors
.
successBG
,
),
child:
Center
(
child:
Text
(
"
${data.openStatus}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
AppColors
.
success
,
color:
data
.
openStatus
==
"closed"
?
AppColors
.
normalText
:
AppColors
.
success
,
),
),
),
...
...
@@ -1302,7 +1306,7 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
Text
(
"AMC "
,
style:
TextStyle
(
fontSize:
1
5
,
fontSize:
1
3
,
fontFamily:
"PoppinsBold"
,
fontStyle:
FontStyle
.
italic
,
fontWeight:
FontWeight
.
w700
,
...
...
@@ -1315,7 +1319,7 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
Text
(
"Protected"
,
style:
TextStyle
(
fontSize:
1
5
,
fontSize:
1
3
,
fontFamily:
"PoppinsBold"
,
fontStyle:
FontStyle
.
italic
,
fontWeight:
FontWeight
.
w700
,
...
...
@@ -1347,7 +1351,7 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
child:
Text
(
data
.
expNote
??
"-"
,
style:
TextStyle
(
fontSize:
1
4
,
fontSize:
1
3
,
color:
data
.
amcStatus
==
"1"
?
AppColors
.
success
...
...
Prev
1
2
Next