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
42c6ec2edf28ddb15820ab601a5cb4ab14a1b3aa...72fe8e92d6fd0959b44065dd69c84e440ed8ec06
Expand all
Hide whitespace changes
Inline
Side-by-side
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
deleted
100644 → 0
View file @
42c6ec2e
1.2 KB
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
deleted
100644 → 0
View file @
42c6ec2e
1.38 KB
lib/Screens/AuthScreen/temp.dart
deleted
100644 → 0
View file @
42c6ec2e
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/flutter_svg.dart'
;
class
LoginScreen
extends
StatefulWidget
{
const
LoginScreen
({
super
.
key
});
@override
State
<
LoginScreen
>
createState
()
=>
_LoginScreenState
();
}
class
_LoginScreenState
extends
State
<
LoginScreen
>
{
final
TextEditingController
_mobileController
=
TextEditingController
();
final
_formKey
=
GlobalKey
<
FormState
>();
@override
Widget
build
(
BuildContext
context
)
{
final
size
=
MediaQuery
.
of
(
context
).
size
;
return
Scaffold
(
resizeToAvoidBottomInset:
true
,
backgroundColor:
Colors
.
blue
,
body:
Stack
(
children:
[
/// 🔹 Background image
Container
(
width:
double
.
infinity
,
height:
double
.
infinity
,
decoration:
const
BoxDecoration
(
image:
DecorationImage
(
image:
AssetImage
(
"assets/images/background_png.png"
),
fit:
BoxFit
.
cover
,
),
),
),
/// 🔹 Main content (scrollable & keyboard-safe)
SafeArea
(
child:
LayoutBuilder
(
builder:
(
context
,
constraints
)
{
return
SingleChildScrollView
(
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
// moves up with keyboard
),
child:
ConstrainedBox
(
constraints:
BoxConstraints
(
minHeight:
constraints
.
maxHeight
,
),
child:
IntrinsicHeight
(
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
const
SizedBox
(
height:
80
),
/// 🔹 Logo
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
SizedBox
(
width:
20
,),
SvgPicture
.
asset
(
"assets/svg/genesis_logo_2io.svg"
,
height:
48
,
color:
Colors
.
white
,
),
]
),
const
SizedBox
(
height:
12
),
const
Spacer
(),
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
26
,
vertical:
12
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Text
(
"Login to"
,
style:
TextStyle
(
fontSize:
48
,
fontFamily:
"PoppinsLight"
,
fontWeight:
FontWeight
.
w100
,
color:
Colors
.
white
,
),
),
Text
(
"continue"
,
style:
TextStyle
(
fontSize:
48
,
fontWeight:
FontWeight
.
w500
,
color:
Colors
.
white
,
),
),
],
),
),
],
),
const
SizedBox
(
height:
20
),
/// 🔹 Bottom Sheet style area
Container
(
width:
double
.
infinity
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
20
,
vertical:
30
),
decoration:
const
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
only
(
topLeft:
Radius
.
circular
(
24
),
topRight:
Radius
.
circular
(
24
),
),
),
child:
Form
(
key:
_formKey
,
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisSize:
MainAxisSize
.
min
,
children:
[
const
Text
(
"Enter Registered Mobile No."
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
black54
,
fontWeight:
FontWeight
.
w500
,
),
),
const
SizedBox
(
height:
10
),
/// 🔹 Mobile Field
TextFormField
(
controller:
_mobileController
,
keyboardType:
TextInputType
.
phone
,
maxLength:
10
,
decoration:
InputDecoration
(
hintText:
"Enter Mobile No."
,
counterText:
""
,
contentPadding:
const
EdgeInsets
.
symmetric
(
horizontal:
16
,
vertical:
14
),
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
50
),
borderSide:
BorderSide
(
color:
Colors
.
grey
.
shade300
),
),
focusedBorder:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
50
),
borderSide:
const
BorderSide
(
color:
Colors
.
blue
,
width:
1.2
),
),
filled:
true
,
fillColor:
Colors
.
grey
.
shade100
,
),
validator:
(
value
)
{
if
(
value
==
null
||
value
.
isEmpty
)
{
return
"Please enter mobile number"
;
}
else
if
(
value
.
length
!=
10
)
{
return
"Enter valid 10-digit number"
;
}
return
null
;
},
),
const
SizedBox
(
height:
20
),
/// 🔹 Continue Button (Always visible)
SizedBox
(
width:
double
.
infinity
,
height:
50
,
child:
ElevatedButton
(
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
const
Color
(
0xFF0086F1
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
30
),
),
),
onPressed:
()
{
if
(
_formKey
.
currentState
!.
validate
())
{
FocusScope
.
of
(
context
).
unfocus
();
// TODO: Add API call here
}
},
child:
const
Text
(
"Continue"
,
style:
TextStyle
(
fontSize:
16
,
color:
Colors
.
white
,
fontWeight:
FontWeight
.
w600
,
),
),
),
),
],
),
),
),
],
),
),
),
);
},
),
),
],
),
);
}
}
lib/Screens/HelpAndComplaintScreens/ComplaintDetailsScreen.dart
View file @
72fe8e92
This diff is collapsed.
Click to expand it.
lib/Screens/HelpAndComplaintScreens/ComplaintListScreen.dart
View file @
72fe8e92
...
@@ -60,14 +60,119 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
...
@@ -60,14 +60,119 @@ class _ComplaintListScreenState extends State<ComplaintListScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
provider
=
Provider
.
of
<
HelpAndComplaintProvider
>(
context
,
listen:
false
,
);
provider
.
fetchComplaintsList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
pop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
}
}
if
(
data
==
null
)
{
if
(
data
==
null
)
{
return
const
Scaffold
(
return
const
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
...
...
lib/Screens/HelpAndComplaintScreens/SelectOrderHelpScreen.dart
View file @
72fe8e92
...
@@ -58,9 +58,115 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
...
@@ -58,9 +58,115 @@ class _SelectOrderHelpScreenState extends State<SelectOrderHelpScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
provider
=
Provider
.
of
<
HelpAndComplaintProvider
>(
context
,
listen:
false
,
);
provider
.
fetchGeneratorList
(
accId:
widget
.
accId
,
sessionId:
widget
.
sessionId
,
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
pop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
...
...
lib/Screens/HelpAndComplaintScreens/jobcardListScreen.dart
View file @
72fe8e92
This diff is collapsed.
Click to expand it.
lib/Screens/HelpAndComplaintScreens/serviceListScreen.dart
View file @
72fe8e92
...
@@ -257,7 +257,7 @@ class _serviceListScreenState extends State<serviceListScreen> {
...
@@ -257,7 +257,7 @@ class _serviceListScreenState extends State<serviceListScreen> {
),
),
),
),
Expanded
(
Expanded
(
flex:
3
,
flex:
2
,
child:
SizedBox
(
child:
SizedBox
(
child:
Column
(
child:
Column
(
crossAxisAlignment:
crossAxisAlignment:
...
...
lib/Screens/HomeScreen.dart
View file @
72fe8e92
...
@@ -218,18 +218,130 @@ class _HomeScreenState extends State<HomeScreen> {
...
@@ -218,18 +218,130 @@ class _HomeScreenState extends State<HomeScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
dashboardProvider
=
Provider
.
of
<
DashboardProvider
>(
context
,
listen:
false
);
await
dashboardProvider
.
fetchDashboard
(
widget
.
accId
,
widget
.
sessionId
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
// TextButton(
// onPressed: () {
// // Go back or navigate to home
// Navigator.maybePop(context);
// },
// child: const Text(
// "Go Back",
// style: TextStyle(
// fontSize: 14,
// color: Colors.grey,
// fontFamily: "Poppins",
// ),
// ),
// ),
],
),
),
),
),
),
);
);
}
}
if
(
data
==
null
)
{
if
(
data
==
null
)
{
return
const
Scaffold
(
return
RefreshIndicator
.
adaptive
(
backgroundColor:
AppColors
.
backgroundRegular
,
color:
AppColors
.
amountText
,
body:
Center
(
child:
Text
(
"No data found."
)),
onRefresh:
()
async
{
await
Future
.
delayed
(
const
Duration
(
milliseconds:
600
));
Provider
.
of
<
DashboardProvider
>(
context
,
listen:
false
);
dashboardProvider
.
fetchDashboard
(
widget
.
accId
,
widget
.
sessionId
);
},
child:
const
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
child:
Text
(
"No data found."
)),
),
);
);
}
}
...
...
lib/Screens/ProfileScreen.dart
View file @
72fe8e92
...
@@ -316,9 +316,111 @@ class _ProfileScreenState extends State<ProfileScreen> {
...
@@ -316,9 +316,111 @@ class _ProfileScreenState extends State<ProfileScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
dashboardProvider
=
await
Future
.
delayed
(
const
Duration
(
milliseconds:
600
));
Provider
.
of
<
DashboardProvider
>(
context
,
listen:
false
);
profileProvider
.
fetchDashboard
(
widget
.
accId
,
widget
.
sessionId
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
maybePop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
...
...
lib/Screens/SplashScreen.dart
View file @
72fe8e92
...
@@ -372,8 +372,8 @@ class _SplashScreenState extends State<SplashScreen> with SingleTickerProviderSt
...
@@ -372,8 +372,8 @@ class _SplashScreenState extends State<SplashScreen> with SingleTickerProviderSt
height:
170
,
height:
170
,
width:
170
,
width:
170
,
child:
SvgPicture
.
asset
(
child:
SvgPicture
.
asset
(
"assets/svg/gen
esis_logo_2i
o.svg"
,
"assets/svg/gen
_log
o.svg"
,
color:
Color
(
0xFF
4076
FF
),
color:
Color
(
0xFF
FFFF
FF
),
),
),
),
),
),
),
...
...
lib/Screens/TransactionScreens/BillDetailScreen.dart
View file @
72fe8e92
...
@@ -271,8 +271,8 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
...
@@ -271,8 +271,8 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
padding:
const
EdgeInsets
.
symmetric
(
vertical:
2
),
padding:
const
EdgeInsets
.
symmetric
(
vertical:
2
),
child:
_buildProductItem
(
child:
_buildProductItem
(
product
.
partName
.
toString
(),
product
.
partName
.
toString
(),
product
.
price
.
toString
(),
product
.
qty
.
toString
(),
product
.
qty
.
toString
(),
product
.
price
.
toString
(),
product
.
totalPrice
.
toString
()
product
.
totalPrice
.
toString
()
)
)
),
),
...
...
lib/Screens/generatorDetailsScreen.dart
View file @
72fe8e92
...
@@ -105,9 +105,116 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
...
@@ -105,9 +105,116 @@ class _GeneratordetailsscreenState extends State<Generatordetailsscreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
detailsProvider
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
listen:
false
,
);
detailsProvider
.
fetchGeneratorDetails
(
widget
.
accId
,
widget
.
sessionId
,
widget
.
genId
,
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
pop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
...
...
lib/Screens/quotationListScreen.dart
View file @
72fe8e92
...
@@ -59,14 +59,116 @@ class _QuotationListScreenState extends State<QuotationListScreen> {
...
@@ -59,14 +59,116 @@ class _QuotationListScreenState extends State<QuotationListScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
provider
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
listen:
false
,
);
await
provider
.
fetchQuotationList
(
widget
.
accId
,
widget
.
sessionId
,
widget
.
genId
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
maybePop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
}
}
if
(
data
==
null
)
{
if
(
data
==
null
)
{
return
const
Scaffold
(
return
const
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
...
...
lib/Screens/scheduleListScreen.dart
View file @
72fe8e92
...
@@ -59,9 +59,112 @@ class _ScheduleListScreenState extends State<ScheduleListScreen> {
...
@@ -59,9 +59,112 @@ class _ScheduleListScreenState extends State<ScheduleListScreen> {
return
Scaffold
(
return
Scaffold
(
backgroundColor:
AppColors
.
backgroundRegular
,
backgroundColor:
AppColors
.
backgroundRegular
,
body:
Center
(
body:
Center
(
child:
Text
(
child:
Padding
(
error
,
padding:
const
EdgeInsets
.
all
(
24.0
),
style:
const
TextStyle
(
color:
Colors
.
red
,
fontSize:
16
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// Error Icon
Container
(
width:
120
,
height:
120
,
decoration:
BoxDecoration
(
color:
Colors
.
red
.
withOpacity
(
0.1
),
shape:
BoxShape
.
circle
,
),
child:
const
Icon
(
Icons
.
error_outline_rounded
,
size:
60
,
color:
Colors
.
red
,
),
),
const
SizedBox
(
height:
24
),
// Error Title
const
Text
(
"Oops! Something went wrong"
,
style:
TextStyle
(
fontSize:
20
,
fontWeight:
FontWeight
.
w600
,
color:
Colors
.
black87
,
fontFamily:
"Poppins"
,
),
),
const
SizedBox
(
height:
12
),
// Error Message
Text
(
error
,
textAlign:
TextAlign
.
center
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
height:
1.4
,
),
),
const
SizedBox
(
height:
32
),
// Retry Button
ElevatedButton
.
icon
(
onPressed:
()
async
{
// Show loading state
setState
(()
{});
await
Future
.
delayed
(
const
Duration
(
milliseconds:
300
));
// Retry fetching data
final
provider
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
listen:
false
,
);
await
provider
.
fetchScheduleList
(
widget
.
accId
,
widget
.
sessionId
,
widget
.
genId
);
},
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
AppColors
.
buttonColor
,
foregroundColor:
Colors
.
white
,
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
24
,
vertical:
12
,
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
25
),
),
elevation:
2
,
),
icon:
const
Icon
(
Icons
.
refresh_rounded
,
size:
20
),
label:
const
Text
(
"Try Again"
,
style:
TextStyle
(
fontSize:
16
,
fontWeight:
FontWeight
.
w500
,
fontFamily:
"Poppins"
,
),
),
),
const
SizedBox
(
height:
16
),
// Alternative Action
TextButton
(
onPressed:
()
{
// Go back or navigate to home
Navigator
.
maybePop
(
context
);
},
child:
const
Text
(
"Go Back"
,
style:
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
,
fontFamily:
"Poppins"
,
),
),
),
],
),
),
),
),
),
);
);
...
...
Prev
1
2
Next