Commit 528df0d2 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

14-05-2025 By Sai Srinivas

All UI Adjustments and Font Sizes
parent fd946558
......@@ -15,12 +15,16 @@ PreferredSizeWidget appbar(BuildContext context, title) {
onTap: () => Navigator.pop(context, true),
child: SvgPicture.asset("assets/svg/app_bar_back.svg", height: 25),
),
Text(
title,
style: TextStyle(
fontSize: 16,
height: 1.1,
color: AppColors.semi_black,
InkResponse(
onTap: () => Navigator.pop(context,true),
child: Text(
title,
style: TextStyle(
fontSize: 16,
height: 1.1,
fontFamily: "JakartaSemiBold",
color: AppColors.semi_black,
),
),
),
],
......@@ -47,12 +51,16 @@ PreferredSizeWidget appbar2(BuildContext context, title,widget) {
onTap: () => Navigator.pop(context, true),
child: SvgPicture.asset("assets/svg/app_bar_back.svg", height: 25),
),
Text(
title,
style: TextStyle(
fontSize: 16,
height: 1.1,
color: AppColors.semi_black,
InkResponse(
onTap: () => Navigator.pop(context, true),
child: Text(
title,
style: TextStyle(
fontSize: 16,
height: 1.1,
fontFamily: "JakartaSemiBold",
color: AppColors.semi_black,
),
),
),
Spacer(),
......@@ -67,3 +75,16 @@ PreferredSizeWidget appbar2(BuildContext context, title,widget) {
),
);
}
Future<bool> onBackPressed(BuildContext context) async {
Navigator.pop(context, true);
return true;
}
Widget Emptywidget(BuildContext context){
return SizedBox(
height: MediaQuery.of(context).size.height*0.8,
child: Center(
child: Text("No Data Available")),
);
}
\ No newline at end of file
......@@ -21,7 +21,7 @@ import 'package:generp/Notifiers/PendingComplaintsProvider.dart';
import 'package:generp/Notifiers/ProfileNotifier.dart';
import 'package:generp/Notifiers/ServiceEngineerDashboardProvider.dart';
import 'package:generp/Notifiers/TodayMontlyVisitsProvider.dart';
import 'package:generp/Notifiers/UpdatePasswordProvider';
import 'package:generp/Notifiers/UpdatePasswordProvider.dart';
import 'package:generp/Notifiers/VisitDetailsProvider.dart';
import 'package:generp/Notifiers/loginNotifier.dart';
import 'package:generp/Notifiers/scanLoginProvider.dart';
......@@ -82,18 +82,18 @@ void main() async {
}
}
if (Platform.isAndroid) {
await Firebase.initializeApp(
options: FirebaseOptions(
apiKey: "AIzaSyBmkmKdYfBt2n5QRlmZJ9MV_Amh9xR3UOY",
appId: "1:329382566569:android:26dc8519537b04deff67b8",
messagingSenderId: "329382566569",
projectId: "generp-fe09d",
),
);
} else if (Platform.isIOS) {
// if (Platform.isAndroid) {
// await Firebase.initializeApp(
// options: FirebaseOptions(
// apiKey: "AIzaSyBmkmKdYfBt2n5QRlmZJ9MV_Amh9xR3UOY",
// appId: "1:329382566569:android:26dc8519537b04deff67b8",
// messagingSenderId: "329382566569",
// projectId: "generp-fe09d",
// ),
// );
// } else if (Platform.isIOS) {
await Firebase.initializeApp();
}
// }
FirebaseMessaging messaging = FirebaseMessaging.instance;
......@@ -149,7 +149,7 @@ void main() async {
sound: true,
);
FirebaseMessaging.instance.getToken().then((value) {
await FirebaseMessaging.instance.getToken().then((value) {
String? token = value;
if (kDebugMode) {
print("fbstoken:{$token}");
......@@ -209,7 +209,7 @@ class MyApp extends StatelessWidget {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
fontFamily: 'Lexend',
fontFamily: 'JakartaRegular',
splashColor: Colors.transparent,
highlightColor: Colors.transparent,
hoverColor: Colors.transparent,
......
This diff is collapsed.
......@@ -48,29 +48,29 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
return Consumer<CheckInOutProvider>(
builder: (context, provider, child) {
return Scaffold(
appBar: appbar(context, widget.getAttendanceStatus==0? "Check In":"Check Out"),
body:Container(
child: SafeArea(
child: Column(
children: [
Expanded(
child: ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(30.0),
topRight: Radius.circular(30.0),
),
return WillPopScope(
onWillPop: () => onBackPressed(context),
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar(context, widget.getAttendanceStatus==0? "Check In":"Check Out"),
body:Container(
child: SafeArea(
child: Column(
children: [
Expanded(
child: Stack(
children: [
GoogleMap(
myLocationEnabled: true,
zoomGesturesEnabled: true,
scrollGesturesEnabled: false,
initialCameraPosition: CameraPosition(
target: provider.currentLocationLatLng ??
provider.startLocation,
zoom: 20.0,
),
markers: provider.markers.toSet(),
myLocationButtonEnabled: true,
mapType: MapType.normal,
onMapCreated: (controller) {
provider.mapController = controller;
......@@ -99,15 +99,29 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
CrossAxisAlignment.start,
children: [
SizedBox(height: 25),
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20.0),
child: Text(
"Location",
style: TextStyle(
fontWeight: FontWeight.w400,
color: Colors.grey,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Share Your Details",
style: TextStyle(
color: AppColors.app_blue,
fontFamily: "JakartaSemiBold"
),
),
SizedBox(height: 10,),
Text(
"Location",
style: TextStyle(
fontFamily: "JakartaMedium",
color: AppColors.semi_black,
),
),
],
),
),
SizedBox(height: 5),
......@@ -121,7 +135,7 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
decoration: BoxDecoration(
color: AppColors.text_field_color,
borderRadius:
BorderRadius.circular(25),
BorderRadius.circular(14),
),
child: Padding(
padding:
......@@ -138,7 +152,8 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
"Enter Check ${widget.getAttendanceStatus==0?"In":"Out"} Location",
hintStyle: TextStyle(
fontWeight: FontWeight.w400,
fontSize: 14
fontSize: 14,
color: Color(0xFF818181)
),
enabledBorder:
InputBorder.none,
......@@ -201,12 +216,13 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
decoration: BoxDecoration(
color: AppColors.app_blue,
borderRadius:
BorderRadius.circular(30.0),
BorderRadius.circular(15.0),
),
child: Text(
widget.getAttendanceStatus==0? "Check In":"Check Out",
style: TextStyle(
fontWeight: FontWeight.w500,
fontFamily: "JakartaMedium",
fontSize: 16,
color: Colors.white
),
),
......@@ -220,8 +236,8 @@ class _CheckInOutScreenState extends State<CheckInOutScreen> {
],
),
),
),
],
],
),
),
),
),
......
This diff is collapsed.
This diff is collapsed.
......@@ -18,51 +18,55 @@ class _ScannerloginState extends State<Scannerlogin> {
Widget build(BuildContext context) {
return Consumer<Scanloginprovider>(
builder: (context, provider, child) {
return Scaffold(
backgroundColor: AppColors.scaffold_bg_color,
appBar: appbar(context, "QR Login"),
body: Container(
decoration: BoxDecoration(color: Colors.black),
child: Column(
children: [
Spacer(),
Container(
height: 250,
return WillPopScope(
onWillPop: () => onBackPressed(context),
child: Scaffold(
resizeToAvoidBottomInset: true,
backgroundColor: AppColors.scaffold_bg_color,
appBar: appbar(context, "QR Login"),
body: Container(
decoration: BoxDecoration(color: Colors.black),
child: Column(
children: [
Spacer(),
Container(
height: 250,
child: QRView(
child: QRView(
key: provider.scannerKey,
onQRViewCreated: (p0) {
provider.onQRViewCreated(p0, context);
},
formatsAllowed: [BarcodeFormat.qrcode],
cameraFacing: CameraFacing.back,
key: provider.scannerKey,
onQRViewCreated: (p0) {
provider.onQRViewCreated(p0, context);
},
formatsAllowed: [BarcodeFormat.qrcode],
cameraFacing: CameraFacing.back,
overlay: QrScannerOverlayShape(
overlay: QrScannerOverlayShape(
borderColor: AppColors.app_blue,
borderRadius: 20,
borderLength: 60,
borderWidth: 10,
cutOutSize: 250.0,
borderColor: AppColors.app_blue,
borderRadius: 20,
borderLength: 60,
borderWidth: 10,
cutOutSize: 250.0,
),
),
),
),
SizedBox(height: 25),
Text(
"Scan QR",
textAlign: TextAlign.center,
style: TextStyle(fontSize: 18, color: Colors.white),
),
Text(
"to Login",
textAlign: TextAlign.center,
style: TextStyle(fontSize: 14, color: Colors.white),
),
Spacer(),
SizedBox(height: 25),
Text(
"Scan QR",
textAlign: TextAlign.center,
style: TextStyle(fontSize: 18, color: Colors.white),
),
Text(
"to Login",
textAlign: TextAlign.center,
style: TextStyle(fontSize: 14, color: Colors.white),
),
Spacer(),
SizedBox(height: 50),
],
SizedBox(height: 50),
],
),
),
),
);
......
import 'package:flutter/material.dart';
import 'package:generp/Notifiers/UpdatePasswordProvider';
import 'package:generp/Notifiers/UpdatePasswordProvider.dart';
import 'package:generp/Utils/app_colors.dart';
import 'package:generp/Utils/commonWidgets.dart';
import 'package:provider/provider.dart';
......@@ -11,71 +11,92 @@ class UpdatePassword extends StatelessWidget {
Widget build(BuildContext context) {
final provider = Provider.of<UpdatePasswordProvider>(context);
return Scaffold(
appBar: appbar(context, "Update Password"),
backgroundColor: AppColors.scaffold_bg_color,
body: Container(
child: Column(
children: [
Expanded(
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.vertical(
top: Radius.circular(30.0),
return WillPopScope(
onWillPop: () => onBackPressed(context),
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar(context, "Update Password"),
backgroundColor: AppColors.scaffold_bg_color,
body: Container(
child: Column(
children: [
Expanded(
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.vertical(
top: Radius.circular(30.0),
),
),
),
padding: EdgeInsets.all(10),
child: Column(
children: [
Container(
height: 280,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20.0),
),
child: Column(
children: [
SizedBox(height: 10),
_buildTextField(
controller: provider.password,
hintText: "New Password*",
errorText: provider.passwordError,
),
SizedBox(height: 10),
_buildTextField(
controller: provider.confPassword,
hintText: "Confirm New Password*",
errorText: provider.confirmPasswordError,
),
Spacer(),
provider.isLoading
? CircularProgressIndicator()
: InkWell(
onTap: () => provider.updatePassword(context),
child: Container(
alignment: Alignment.center,
height: 45,
margin: EdgeInsets.symmetric(horizontal: 15),
decoration: BoxDecoration(
color: AppColors.app_blue,
borderRadius: BorderRadius.circular(30.0),
),
child: Text(
"Update",
style: TextStyle(color: Colors.white),
padding: EdgeInsets.all(10),
child: Column(
children: [
Container(
height: 280,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20.0),
),
child: Column(
children: [
SizedBox(height: 10),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.symmetric(horizontal: 10),
child: Text("New Password",style: TextStyle(
color: AppColors.semi_black
),)),
SizedBox(height: 5),
_buildTextField(
controller: provider.password,
hintText: "New Password*",
errorText: provider.passwordError,
),
SizedBox(height: 10),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.symmetric(horizontal: 10),
child: Text("Confirm Password",style: TextStyle(
color: AppColors.semi_black
),)),
SizedBox(height: 5),
_buildTextField(
controller: provider.confPassword,
hintText: "Confirm New Password*",
errorText: provider.confirmPasswordError,
),
Spacer(),
InkWell(
onTap: () => provider.updatePassword(context),
child: Container(
alignment: Alignment.center,
height: 45,
margin: EdgeInsets.symmetric(horizontal: 15),
decoration: BoxDecoration(
color: AppColors.app_blue,
borderRadius: BorderRadius.circular(15.0),
),
child:provider.isLoading
? CircularProgressIndicator(
color: Colors.white,
)
: Text(
"Update",
style: TextStyle(color: Colors.white),
),
),
),
),
SizedBox(height: 10),
],
SizedBox(height: 10),
],
),
),
),
],
],
),
),
),
),
],
],
),
),
),
);
......@@ -103,7 +124,8 @@ class UpdatePassword extends StatelessWidget {
obscureText: true,
decoration: InputDecoration(
hintText: hintText,
hintStyle: TextStyle(color: Color(0xFF818181)),
hintStyle: TextStyle(color: Color(0xFF818181),
fontSize: 14),
border: InputBorder.none,
),
),
......
......@@ -80,6 +80,7 @@ class _WebErpScreenState extends State<WebErpScreen> {
return true; // Allow default back button behavior
},
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar:appbar(context, "Web ERP"),
body: Container(
child: Column(children: <Widget>[
......
......@@ -78,6 +78,7 @@ class _WebWhizzdomScreenState extends State<WebWhizzdomScreen> {
return true; // Allow default back button behavior
},
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar(context, "Whizzdom"),
body: Container(
child: Column(children: <Widget>[
......
......@@ -34,96 +34,104 @@ class _ComplainthistoryState extends State<Complainthistory> {
return Consumer<Generatordetailsprovider>(
builder: (context, provider, child) {
return Scaffold(
appBar: appbar(context, "Complaint History"),
backgroundColor: AppColors.scaffold_bg_color,
body: Container(
child: SingleChildScrollView(
child: Column(
children: [
ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: provider.complaintList.length,
itemBuilder: (context, index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("${ provider.complaintList[index].compRegdate}",style: TextStyle(
color: Color(0xFF818181)
),),
Container(
margin: EdgeInsets.symmetric(horizontal: 10,vertical: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
return WillPopScope(
onWillPop: () => onBackPressed(context),
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar(context, "Complaint History"),
backgroundColor: AppColors.scaffold_bg_color,
body: Container(
child: SingleChildScrollView(
child: Column(
),
child: Column(
children: [
children: [
if(provider.complaintList.isNotEmpty)...[
ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: provider.complaintList.length,
itemBuilder: (context, index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("${ provider.complaintList[index].compRegdate}",style: TextStyle(
color: Color(0xFF818181)
),),
Container(
margin: EdgeInsets.symmetric(horizontal: 10,vertical: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
),
child: Column(
children: [
...List.generate(4, (index) {
final headings = [
"Technician Name",
"ID",
"Complaint Type",
"Complaint Status",];
...List.generate(4, (index) {
final headings = [
"Technician Name",
"ID",
"Complaint Type",
"Complaint Status",];
final values = [
provider.complaintList[index].techName,
provider.complaintList[index].compId,
provider.complaintList[index].compType,
provider.complaintList[index].compStatus,
final values = [
provider.complaintList[index].techName,
provider.complaintList[index].compId,
provider.complaintList[index].compType,
provider.complaintList[index].compStatus,
];
return Container(
];
return Container(
padding: EdgeInsets.symmetric(horizontal: 15,vertical: 15),
child: Row(
children: [
Expanded(
child: SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("${headings[index]}"),
padding: EdgeInsets.symmetric(horizontal: 15,vertical: 15),
child: Row(
children: [
Expanded(
child: SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("${headings[index]}"),
],
],
),
),
),
),
Expanded(
child: SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("${values[index]}",
style: TextStyle(
color: Color(0xFF818181)
),),
Expanded(
child: SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("${values[index]}",
style: TextStyle(
color: Color(0xFF818181)
),),
],
],
),
),
),
),
],
),
);
},),
]
],
),
);
},),
]
),
),
),
],
);
},),
],
],
);
},),
]else...[
Emptywidget(context)
]
],
),
),
),
),
),
);
},
);
......
......@@ -18,64 +18,75 @@ class Gentrackerdashboard extends StatefulWidget {
class _GentrackerdashboardState extends State<Gentrackerdashboard> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.scaffold_bg_color,
appBar: appbar(context, "Gen Tracker"),
body: GridView.builder(
padding: EdgeInsets.symmetric(vertical: 10,horizontal: 10),
itemCount: 4,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
),
itemBuilder: (context, index) {
final names = [
"Generator Details",
"Register Complaint",
"Tag Location",
"Tag Generator",
return WillPopScope(
onWillPop: () => onBackPressed(context),
child: Scaffold(
resizeToAvoidBottomInset: true,
backgroundColor: AppColors.scaffold_bg_color,
appBar: appbar(context, "Gen Tracker"),
body: GridView.builder(
padding: EdgeInsets.symmetric(vertical: 10,horizontal: 10),
itemCount: 4,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
),
itemBuilder: (context, index) {
final names = [
"Generator Details",
"Register Complaint",
"Tag Location",
"Tag Generator",
];
return InkResponse(
onTap: () {
switch (names[index]) {
case "Generator Details":
Navigator.push(context,MaterialPageRoute(builder: (context) => Scanentergeneratoridscreen(from: "Generator Details",)));
break;
case "Register Complaint":
Navigator.push(context,MaterialPageRoute(builder: (context) => Scanentergeneratoridscreen(from: "Register Complaint",)));
break;
case "Tag Location":
Navigator.push(context, MaterialPageRoute(builder: (context)=>Scanentergeneratoridscreen(from: "Tag Location",)));
break;
case "Tag Generator":
Navigator.push(context, MaterialPageRoute(builder: (context)=>Scanentergeneratoridscreen(from: "Tag Generator",)));
break;
];
final icons = [
"gent_gen_det",
"gent_reg_comp",
"gent_tag_loc",
"gent_tag_den",
];
return InkResponse(
onTap: () {
switch (names[index]) {
case "Generator Details":
Navigator.push(context,MaterialPageRoute(builder: (context) => Scanentergeneratoridscreen(from: "Generator Details",)));
break;
case "Register Complaint":
Navigator.push(context,MaterialPageRoute(builder: (context) => Scanentergeneratoridscreen(from: "Register Complaint",)));
break;
case "Tag Location":
Navigator.push(context, MaterialPageRoute(builder: (context)=>Scanentergeneratoridscreen(from: "Tag Location",)));
break;
case "Tag Generator":
Navigator.push(context, MaterialPageRoute(builder: (context)=>Scanentergeneratoridscreen(from: "Tag Generator",)));
break;
default:
print("111");
break;
}
},
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(30),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/svg/home_icons_${index + 1}.svg",
),
Text(names[index]),
],
default:
print("111");
break;
}
},
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(30),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/svg/${icons[index]}.svg",
),
SizedBox(height: 10,),
Text(names[index]),
],
),
),
),
);
},
);
},
),
),
);
}
......
This diff is collapsed.
import 'package:flutter/material.dart';
class Complaintdetailsscreen extends StatefulWidget {
const Complaintdetailsscreen({super.key});
@override
State<Complaintdetailsscreen> createState() => _ComplaintdetailsscreenState();
}
class _ComplaintdetailsscreenState extends State<Complaintdetailsscreen> {
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment