Commit dddda326 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

09-07-2025 By Sai Srinivas

New UI Changes Home, Finance , crm , service, attendance
parent c92f4c79
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="20" cy="20" r="20" fill="white"/>
<path d="M19.6586 30.9281C19.8785 31.0238 20.1297 31.0238 20.3496 30.9281C22.9512 29.7953 28.2883 24.3922 28.2883 19.2797C28.2883 14.707 24.5812 11 20.0086 11H19.991C15.418 11 11.7109 14.707 11.7109 19.2797C11.7109 24.3926 17.0562 29.7957 19.6582 30.9281H19.6586ZM19.9508 14.6891C21.2449 14.6891 22.2941 15.7383 22.2941 17.0324C22.2941 18.3266 21.2449 19.3758 19.9508 19.3758C18.6566 19.3758 17.6074 18.3266 17.6074 17.0324C17.6074 15.7383 18.6566 14.6891 19.9508 14.6891ZM16.1293 22.6875C16.0875 22.2809 16.1059 21.9387 16.1059 21.9383C16.1059 21.9383 16.0875 21.7176 16.1293 21.3176C16.1293 21.3141 16.1301 21.3109 16.1305 21.3074C16.1648 20.9793 16.3125 20.6738 16.5469 20.4391C16.7812 20.2051 17.0918 20.0531 17.4219 20.0176C17.9066 19.9664 19.3812 19.9383 20.1309 19.9383C20.8805 19.9383 22.0836 19.966 22.5684 20.0176C22.898 20.0527 23.209 20.2051 23.4434 20.4391C23.6777 20.6738 23.8254 20.9793 23.8598 21.3074C23.8598 21.3109 23.8605 21.3141 23.8609 21.3176C23.9027 21.718 23.8973 21.9375 23.8973 21.9379C23.8973 21.9379 23.9027 22.2813 23.8613 22.6883C23.8613 22.6918 23.8605 22.6949 23.8602 22.6984C23.8258 23.032 23.6789 23.3613 23.4453 23.6285C23.2121 23.8953 22.9023 24.0867 22.573 24.1562C22.0895 24.2656 20.884 24.3734 20.1316 24.3684C19.3793 24.3871 17.9012 24.2703 17.4176 24.1555C17.0883 24.0859 16.7785 23.8945 16.5453 23.6277C16.3121 23.3605 16.1648 23.0313 16.1305 22.698C16.1305 22.6945 16.1297 22.691 16.1293 22.6879V22.6875Z" fill="url(#paint0_linear_106_719)"/>
<defs>
<linearGradient id="paint0_linear_106_719" x1="11.7198" y1="20.888" x2="34.4129" y2="31.1599" gradientUnits="userSpaceOnUse">
<stop stop-color="#CE7138"/>
<stop offset="1" stop-color="#91481B"/>
</linearGradient>
</defs>
</svg>
...@@ -77,6 +77,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -77,6 +77,7 @@ class Generatordetailsprovider extends ChangeNotifier {
ComplaintDescriptionList? _selectedDescriptionType; ComplaintDescriptionList? _selectedDescriptionType;
List<ContactList> get contactsList => _contactList; List<ContactList> get contactsList => _contactList;
List<ScheduleList> get scheduleList => _scheduleList; List<ScheduleList> get scheduleList => _scheduleList;
File? get image => _image; File? get image => _image;
...@@ -114,7 +115,9 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -114,7 +115,9 @@ class Generatordetailsprovider extends ChangeNotifier {
String? _selectedDescriptionId; String? _selectedDescriptionId;
bool get submitLoading => _submitLoading; bool get submitLoading => _submitLoading;
bool get showMoreScheduleDetails => _showMoreScheduleDetails; bool get showMoreScheduleDetails => _showMoreScheduleDetails;
bool get showMoreScheduleList => _showMoreScheduleList; bool get showMoreScheduleList => _showMoreScheduleList;
List<ComplaintTypeList> get complaintTypeDropdown => _complaintTypeDropdown; List<ComplaintTypeList> get complaintTypeDropdown => _complaintTypeDropdown;
...@@ -218,6 +221,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -218,6 +221,7 @@ class Generatordetailsprovider extends ChangeNotifier {
_showMoreScheduleList = value; _showMoreScheduleList = value;
notifyListeners(); notifyListeners();
} }
set showMoreScheduleDetails(bool value) { set showMoreScheduleDetails(bool value) {
_showMoreScheduleDetails = value; _showMoreScheduleDetails = value;
notifyListeners(); notifyListeners();
...@@ -289,7 +293,11 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -289,7 +293,11 @@ class Generatordetailsprovider extends ChangeNotifier {
_selectedDescriptionId = ""; _selectedDescriptionId = "";
_selectedDescription = ""; _selectedDescription = "";
_qrViewController!.dispose(); _qrViewController!.dispose();
_imageName = null;
_image = null;
_imagePicked = 0;
_imageError = null;
notifyListeners();
} }
initialFunction(from) async { initialFunction(from) async {
...@@ -543,8 +551,8 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -543,8 +551,8 @@ class Generatordetailsprovider extends ChangeNotifier {
_cmsngDate = data.cmsngDate; _cmsngDate = data.cmsngDate;
_status = data.status; _status = data.status;
_genLocation = data.loc; _genLocation = data.loc;
_contactList = data.contactList??[]; _contactList = data.contactList ?? [];
_scheduleList = data.scheduleList??[]; _scheduleList = data.scheduleList ?? [];
_complaintTypeDropdown = data.complaintTypeList ?? []; _complaintTypeDropdown = data.complaintTypeList ?? [];
_complaintCategorydropdown = data.complaintCategoryList ?? []; _complaintCategorydropdown = data.complaintCategoryList ?? [];
_complaintDescriptionDropdown = data.complaintDescriptionList ?? []; _complaintDescriptionDropdown = data.complaintDescriptionList ?? [];
...@@ -795,7 +803,7 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -795,7 +803,7 @@ class Generatordetailsprovider extends ChangeNotifier {
]) async { ]) async {
_submitLoading = true; _submitLoading = true;
notifyListeners(); notifyListeners();
if (!valid()) { if (!valid(context)) {
return; return;
} }
try { try {
...@@ -855,11 +863,19 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -855,11 +863,19 @@ class Generatordetailsprovider extends ChangeNotifier {
} }
} }
bool valid() { bool valid(context) {
bool isValid = true; bool isValid = true;
if (_image == null || _imagePicked == 0) { if (_image == null || _imagePicked == 0) {
_imageError = "Please Add Proof"; _imageError = "Please Add Proof";
notifyListeners(); isValid = false;
// notifyListeners();
}
if (latlongs.isEmpty) {
toast(
context,
"Error in Location, Please Check your location and Try again",
);
isValid = false;
} }
notifyListeners(); notifyListeners();
return isValid; return isValid;
...@@ -944,6 +960,67 @@ class Generatordetailsprovider extends ChangeNotifier { ...@@ -944,6 +960,67 @@ class Generatordetailsprovider extends ChangeNotifier {
} }
} }
Future<void> TagGeneratorCheckAPIFunction(
homeProvider,
BuildContext context,
genID,
) async {
try {
_submitLoading = true;
notifyListeners();
final data = await ApiCalling.TagGeneratorCheckAPI(
homeProvider.empId,
homeProvider.session,
genID,
);
if (data != null) {
if (data.sessionExists == 1) {
if (data.error == 0) {
_submitLoading = false;
Navigator.pop(context);
showTagGeneratorBottomSheet(context, genID);
notifyListeners();
_isLoading = false;
} else if (data.error == 1) {
_submitLoading = false;
notifyListeners();
toast(context, data.message);
} else if (data.error == 2) {
_submitLoading = false;
notifyListeners();
toast(context, data.message);
} else {
_isLoading = true;
_submitLoading = false;
notifyListeners();
print("error");
}
} else {
_isLoading = true;
_submitLoading = false;
notifyListeners();
// SharedpreferencesService().clearPreferences();
// toast(context, "Your Session expired, Please Login Again!");
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => Splash()),
// );
}
} else {
_isLoading = true;
_submitLoading = false;
notifyListeners();
toast(context, "Something Went Wrong, Please try again!");
print("error2");
}
} on Error catch (e) {
_submitLoading = false;
notifyListeners();
print(e.toString());
}
}
imgFromCamera() async { imgFromCamera() async {
// Capture a photo // Capture a photo
try { try {
......
...@@ -25,15 +25,25 @@ class HomescreenNotifier extends ChangeNotifier { ...@@ -25,15 +25,25 @@ class HomescreenNotifier extends ChangeNotifier {
String? _onlineStatus = "Offline"; String? _onlineStatus = "Offline";
String get username => _username; String get username => _username;
String get email => _email; String get email => _email;
String get curdate => _curdate; String get curdate => _curdate;
String get empId => _empId; String get empId => _empId;
String get session => _session; String get session => _session;
String get webPageUrl => _webPageUrl; String get webPageUrl => _webPageUrl;
String get whizzdomPageUrl => _whizzdomPageUrl; String get whizzdomPageUrl => _whizzdomPageUrl;
String get roleStatus => _roleStatus; String get roleStatus => _roleStatus;
int get att_status => _att_status; int get att_status => _att_status;
get Sessionid => _Sessionid; get Sessionid => _Sessionid;
String? get onlineStatus => _onlineStatus; String? get onlineStatus => _onlineStatus;
WebSocketManager webSocketManager = WebSocketManager( WebSocketManager webSocketManager = WebSocketManager(
......
...@@ -9,63 +9,88 @@ import '../../Models/crmModels/crmUniversalSearchResponse.dart'; ...@@ -9,63 +9,88 @@ import '../../Models/crmModels/crmUniversalSearchResponse.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class Crmdashboardprovider extends ChangeNotifier{ class Crmdashboardprovider extends ChangeNotifier {
TextEditingController searchController = TextEditingController(); TextEditingController searchController = TextEditingController();
List<PagesAccessible> _accessPages = []; List<PagesAccessible> _accessPages = [];
List<PagesAccessible> get accessPages => _accessPages; List<PagesAccessible> get accessPages => _accessPages;
List<PendingTasks> _pendingTasks = []; List<PendingTasks> _pendingTasks = [];
List<PendingTasks> get pendingTasksLists => _pendingTasks; List<PendingTasks> get pendingTasksLists => _pendingTasks;
List<Accounts> _accountsList = []; List<Accounts> _accountsList = [];
List<Leads> _leadsList = []; List<Leads> _leadsList = [];
List<Enquires> _enquiresList = []; List<Enquires> _enquiresList = [];
List<Accounts> get accountsList => _accountsList; List<Accounts> get accountsList => _accountsList;
List<Leads> get leadsList => _leadsList; List<Leads> get leadsList => _leadsList;
List<Enquires> get enquiresList => _enquiresList; List<Enquires> get enquiresList => _enquiresList;
Hotleads _hotleads = Hotleads(); Hotleads _hotleads = Hotleads();
Hotleads get hotleads => _hotleads; Hotleads get hotleads => _hotleads;
Hotleads _coldleads = Hotleads(); Hotleads _coldleads = Hotleads();
Hotleads get coldleads => _coldleads; Hotleads get coldleads => _coldleads;
Hotleads _warmleads = Hotleads(); Hotleads _warmleads = Hotleads();
Hotleads get warmleads => _warmleads; Hotleads get warmleads => _warmleads;
Hotleads _totalleads = Hotleads(); Hotleads _totalleads = Hotleads();
Hotleads get totalleads => _totalleads; Hotleads get totalleads => _totalleads;
Hotleads _orderlost = Hotleads(); Hotleads _orderlost = Hotleads();
Hotleads get orderlost => _orderlost; Hotleads get orderlost => _orderlost;
Hotleads _norequirement = Hotleads(); Hotleads _norequirement = Hotleads();
Hotleads get norequirement => _norequirement; Hotleads get norequirement => _norequirement;
Hotleads _openEnquiries = Hotleads(); Hotleads _openEnquiries = Hotleads();
Hotleads get openEnquiries => _openEnquiries; Hotleads get openEnquiries => _openEnquiries;
List<Hotleads> _allLeads = []; List<Hotleads> _allLeads = [];
List<Hotleads> get allLeads => _allLeads; List<Hotleads> get allLeads => _allLeads;
Future<void>accessPagesAPIFunction(context) async { Future<void> accessPagesAPIFunction(context) async {
try{ try {
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.crmAccessiblePagesAPI(HomeProv.empId, HomeProv.session); final data = await ApiCalling.crmAccessiblePagesAPI(
if(data!=null){ HomeProv.empId,
if(data.error=="0"){ HomeProv.session,
);
if (data != null) {
if (data.error == "0") {
_accessPages = data.pagesAccessible!; _accessPages = data.pagesAccessible!;
_accessPages.add(PagesAccessible(mode: "",id: 0,pageName: "Nearby Leads")); _accessPages.add(
PagesAccessible(mode: "", id: 0, pageName: "Nearby Leads"),
);
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {}
}catch (e,s){ }
} Future<void> crmDashboardAPIFunction(
} context,
mode,
Future<void> crmDashboardAPIFunction(context, mode, from,
from,to,teamemployee) async { to,
try{ teamemployee,
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); ) async {
final data = await ApiCalling.crmDashboardAPI(HomeProv.empId, HomeProv.session, mode, try {
from,to,teamemployee); var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
if(data!=null){ final data = await ApiCalling.crmDashboardAPI(
if(data.error=="0"){ HomeProv.empId,
HomeProv.session,
mode,
from,
to,
teamemployee,
);
if (data != null) {
if (data.error == "0") {
_hotleads = data.hotleads!; _hotleads = data.hotleads!;
_coldleads = data.coldleads!; _coldleads = data.coldleads!;
_warmleads = data.warmleads!; _warmleads = data.warmleads!;
...@@ -85,45 +110,41 @@ class Crmdashboardprovider extends ChangeNotifier{ ...@@ -85,45 +110,41 @@ class Crmdashboardprovider extends ChangeNotifier{
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {}
}catch (e,s){
}
} }
Future<void> crmPendingTasksAPIFunction(context) async { Future<void> crmPendingTasksAPIFunction(context) async {
try{ try {
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.crmPendingTasksAPI(HomeProv.empId, HomeProv.session); final data = await ApiCalling.crmPendingTasksAPI(
if(data!=null){ HomeProv.empId,
if(data.error=="0"){ HomeProv.session,
);
if (data != null) {
if (data.error == "0") {
_pendingTasks = data.pendingTasks!; _pendingTasks = data.pendingTasks!;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {}
}catch (e,s){
}
} }
Future<void> crmUniversalSearchFunction(context) async { Future<void> crmUniversalSearchFunction(context) async {
try{ try {
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.crmUniversalSearchAPI(HomeProv.empId, HomeProv.session,searchController.text); final data = await ApiCalling.crmUniversalSearchAPI(
if(data!=null){ HomeProv.empId,
if(data.error=="0"){ HomeProv.session,
_accountsList = data.accounts??[]; searchController.text,
_leadsList = data.leads??[]; );
_enquiresList = data.enquires??[]; if (data != null) {
if (data.error == "0") {
_accountsList = data.accounts ?? [];
_leadsList = data.leads ?? [];
_enquiresList = data.enquires ?? [];
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {}
}catch (e,s){
}
} }
} }
...@@ -12,7 +12,8 @@ class AppColors { ...@@ -12,7 +12,8 @@ class AppColors {
static Color cyan_blue = Color(0xFF219EBC); static Color cyan_blue = Color(0xFF219EBC);
static Color profile_card_gradient1 = Color(0xFFCFEEFF); static Color profile_card_gradient1 = Color(0xFFCFEEFF);
static Color profile_card_gradient2 = Color(0xFF97D9FF); static Color profile_card_gradient2 = Color(0xFF97D9FF);
static Color scaffold_bg_color = Color(0xFFF0F4F5); static Color profile_card = Color(0xFFDBF2FF);
static Color scaffold_bg_color = Color(0xFFF6F6F8);
static Color button_disabled = Color(0xFFBEE5FB); static Color button_disabled = Color(0xFFBEE5FB);
static Color text_field_color = Color(0xFFF0F4F5); static Color text_field_color = Color(0xFFF0F4F5);
static Color overlay_box_color = Color(0xFFE6F6FF); static Color overlay_box_color = Color(0xFFE6F6FF);
......
...@@ -42,6 +42,43 @@ PreferredSizeWidget appbar(BuildContext context, title) { ...@@ -42,6 +42,43 @@ PreferredSizeWidget appbar(BuildContext context, title) {
); );
} }
PreferredSizeWidget appbarNew(BuildContext context, title,int color) {
return AppBar(
backgroundColor: Color(color),
automaticallyImplyLeading: false,
title: SizedBox(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
InkResponse(
onTap: () => Navigator.pop(context, true),
child: SvgPicture.asset("assets/svg/appbar_back_button.svg", height: 25),
),
SizedBox(width: 10,),
InkResponse(
onTap: () => Navigator.pop(context, true),
child: Text(
title,
style: TextStyle(
fontSize: 16,
height: 1.1,
fontFamily: "JakartaSemiBold",
color: AppColors.semi_black,
),
),
),
],
),
),
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.vertical(
// bottom: Radius.circular(30), // Adjust the radius as needed
// ),
// ),
);
}
PreferredSizeWidget appbar2(BuildContext context, title, reset, widget) { PreferredSizeWidget appbar2(BuildContext context, title, reset, widget) {
return AppBar( return AppBar(
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
...@@ -91,6 +128,56 @@ PreferredSizeWidget appbar2(BuildContext context, title, reset, widget) { ...@@ -91,6 +128,56 @@ PreferredSizeWidget appbar2(BuildContext context, title, reset, widget) {
); );
} }
PreferredSizeWidget appbar2New(BuildContext context, title, reset, widget,int color) {
return AppBar(
backgroundColor: Color(color),
automaticallyImplyLeading: false,
elevation: 2.0,
title: SizedBox(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
InkResponse(
onTap: () {
reset();
Navigator.pop(context, true);
},
child: SvgPicture.asset("assets/svg/app_bar_back.svg", height: 25),
),
Expanded(
flex: 4,
child: InkResponse(
onTap: () {
reset();
Navigator.pop(context, true);
},
child: Text(
title,
overflow: TextOverflow.ellipsis,
maxLines: 1,
style: TextStyle(
fontSize: 16,
height: 1.1,
fontFamily: "JakartaSemiBold",
color: AppColors.semi_black,
),
),
),
),
Spacer(),
widget,
],
),
),
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.vertical(
// bottom: Radius.circular(30), // Adjust the radius as needed
// ),
// ),
);
}
Future<bool> onBackPressed(BuildContext context) async { Future<bool> onBackPressed(BuildContext context) async {
Navigator.pop(context, true); Navigator.pop(context, true);
return true; return true;
......
This diff is collapsed.
...@@ -345,7 +345,7 @@ class _WebErpScreenState extends State<WebErpScreen> { ...@@ -345,7 +345,7 @@ class _WebErpScreenState extends State<WebErpScreen> {
print(uri); print(uri);
print(uri.scheme); print(uri.scheme);
if (uri.toString().contains( if (uri.toString().contains(
'file_viewer_n ame.php', 'file_viewer_name.php',
) && ) &&
uri.toString().contains('.pdf')) { uri.toString().contains('.pdf')) {
final pdfPath = final pdfPath =
......
This diff is collapsed.
This diff is collapsed.
...@@ -11,20 +11,23 @@ import 'package:qr_code_scanner/qr_code_scanner.dart'; ...@@ -11,20 +11,23 @@ import 'package:qr_code_scanner/qr_code_scanner.dart';
import '../../Notifiers/HomeScreenNotifier.dart'; import '../../Notifiers/HomeScreenNotifier.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
import '../../Utils/commonWidgets.dart'; import '../../Utils/commonWidgets.dart';
class Scanentergeneratoridscreen extends StatefulWidget { class Scanentergeneratoridscreen extends StatefulWidget {
final from; final from;
const Scanentergeneratoridscreen({super.key,required this.from});
const Scanentergeneratoridscreen({super.key, required this.from});
@override @override
State<Scanentergeneratoridscreen> createState() => _ScanentergeneratoridscreenState(); State<Scanentergeneratoridscreen> createState() =>
_ScanentergeneratoridscreenState();
} }
class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> { class _ScanentergeneratoridscreenState
extends State<Scanentergeneratoridscreen> {
FocusNode genIDFocusNode = FocusNode(); FocusNode genIDFocusNode = FocusNode();
TextEditingController genIDcontroller = TextEditingController(); TextEditingController genIDcontroller = TextEditingController();
Map _source = {ConnectivityResult.mobile: true}; Map _source = {ConnectivityResult.mobile: true};
final MyConnectivity _connectivity = MyConnectivity.instance; final MyConnectivity _connectivity = MyConnectivity.instance;
...@@ -44,11 +47,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -44,11 +47,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
provider.initialFunction(widget.from); provider.initialFunction(widget.from);
provider.checkPermission1(); provider.checkPermission1();
provider.requestCameraPermission(); provider.requestCameraPermission();
if(widget.from=="Tag Location"){
provider.checkLocationPermission1(); provider.checkLocationPermission1();
provider.getLocationPermission(context); provider.getLocationPermission(context);
}
}); });
} }
...@@ -59,11 +59,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -59,11 +59,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
genIDcontroller.clear(); genIDcontroller.clear();
genIDcontroller.dispose(); genIDcontroller.dispose();
_connectivity.disposeStream(); _connectivity.disposeStream();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
switch (_source.keys.toList()[0]) { switch (_source.keys.toList()[0]) {
...@@ -77,13 +74,14 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -77,13 +74,14 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
default: default:
connection = 'Offline'; connection = 'Offline';
} }
return connection=="Online"?Consumer<Generatordetailsprovider>( return connection == "Online"
? Consumer<Generatordetailsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
return WillPopScope( return WillPopScope(
onWillPop: () => onBackPressed(context), onWillPop: () => onBackPressed(context),
child: SafeArea( child: SafeArea(
top: false, top: false,
bottom: Platform.isIOS?false:true, bottom: Platform.isIOS ? false : true,
child: Scaffold( child: Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
backgroundColor: AppColors.scaffold_bg_color, backgroundColor: AppColors.scaffold_bg_color,
...@@ -97,15 +95,17 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -97,15 +95,17 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
height: 250, height: 250,
child: QRView( child: QRView(
key: provider.scannerKey, key: provider.scannerKey,
onQRViewCreated: (p0) { onQRViewCreated: (p0) {
provider.onQRViewCreated(p0, provider.title, context); provider.onQRViewCreated(
p0,
provider.title,
context,
);
}, },
formatsAllowed: [BarcodeFormat.qrcode], formatsAllowed: [BarcodeFormat.qrcode],
cameraFacing: CameraFacing.back, cameraFacing: CameraFacing.back,
overlay: QrScannerOverlayShape( overlay: QrScannerOverlayShape(
borderColor: AppColors.app_blue, borderColor: AppColors.app_blue,
borderRadius: 20, borderRadius: 20,
borderLength: 60, borderLength: 60,
...@@ -118,7 +118,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -118,7 +118,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
Text( Text(
"Scan QR", "Scan QR",
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(fontSize: 18,fontFamily: "JakartaMedium", color: Colors.white), style: TextStyle(
fontSize: 18,
fontFamily: "JakartaMedium",
color: Colors.white,
),
), ),
Text( Text(
provider.subTitle, provider.subTitle,
...@@ -129,8 +133,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -129,8 +133,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
Text( Text(
"or", "or",
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(fontSize: 18, style: TextStyle(
fontFamily: "JakartaMedium",color: Colors.white), fontSize: 18,
fontFamily: "JakartaMedium",
color: Colors.white,
),
), ),
InkResponse( InkResponse(
onTap: () async { onTap: () async {
...@@ -141,9 +148,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -141,9 +148,11 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
child: Text( child: Text(
"Tap to Enter Gen ID", "Tap to Enter Gen ID",
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(fontSize: 18, style: TextStyle(
fontSize: 18,
fontFamily: "JakartaMedium", fontFamily: "JakartaMedium",
color: AppColors.app_blue), color: AppColors.app_blue,
),
), ),
), ),
SizedBox(height: 50), SizedBox(height: 50),
...@@ -154,7 +163,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -154,7 +163,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
), ),
); );
}, },
):NoNetwork(context); )
: NoNetwork(context);
} }
Future<void> _showgenIdBottomSheet(BuildContext context) { Future<void> _showgenIdBottomSheet(BuildContext context) {
...@@ -185,14 +195,20 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -185,14 +195,20 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
top: 30, top: 30,
), ),
child: Consumer2<Generatordetailsprovider, HomescreenNotifier>( child: Consumer2<
Generatordetailsprovider,
HomescreenNotifier
>(
builder: (context, provider, homeProvider, child) { builder: (context, provider, homeProvider, child) {
return SingleChildScrollView( return SingleChildScrollView(
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Container( Container(
padding: EdgeInsets.symmetric(horizontal: 10,vertical: 5), padding: EdgeInsets.symmetric(
horizontal: 10,
vertical: 5,
),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text( child: Text(
"Gen ID", "Gen ID",
...@@ -230,7 +246,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -230,7 +246,8 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
controller: genIDcontroller, controller: genIDcontroller,
keyboardType: TextInputType.text, keyboardType: TextInputType.text,
textCapitalization: TextCapitalization.characters, textCapitalization:
TextCapitalization.characters,
focusNode: genIDFocusNode, focusNode: genIDFocusNode,
style: TextStyle(fontSize: 14), style: TextStyle(fontSize: 14),
onChanged: (value) {}, onChanged: (value) {},
...@@ -252,11 +269,13 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -252,11 +269,13 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
), ),
), ),
), ),
SizedBox(height: 15,), SizedBox(height: 15),
InkWell( InkWell(
onTap:provider.submitLoading?null: () async { onTap:
provider.submitLoading
switch(widget.from){ ? null
: () async {
switch (widget.from) {
case "Generator Details": case "Generator Details":
provider.submitLoading = true; provider.submitLoading = true;
provider.LoadgeneratorDetailsApifunction( provider.LoadgeneratorDetailsApifunction(
...@@ -282,21 +301,24 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -282,21 +301,24 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
// break; // break;
case "Tag Generator": case "Tag Generator":
provider.submitLoading = false; provider.submitLoading = false;
final data = await ApiCalling.LoadGeneratorDetailsAPI(homeProvider.empId, homeProvider.session, genIDcontroller.text); provider.TagGeneratorCheckAPIFunction(
if(data!=null){ homeProvider,
if(data.error==0){ context,
provider.showTagGeneratorBottomSheet(context, genIDcontroller.text); genIDcontroller.text,
}else{ );
toast(context, "Enter Correct ID!!"); // final data = await ApiCalling.TagGeneratorCheckAPI(homeProvider.empId, homeProvider.session, genIDcontroller.text);
} // if(data!=null){
} // if(data.error==0){
// provider.showTagGeneratorBottomSheet(context, genIDcontroller.text);
// }else{
// toast(context, data.message);
// }
// }
break; break;
default: default:
break; break;
} }
}, },
child: Container( child: Container(
alignment: Alignment.center, alignment: Alignment.center,
...@@ -312,15 +334,21 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -312,15 +334,21 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
), ),
child: Center( child: Center(
child:provider.submitLoading?CircularProgressIndicator.adaptive( child:
valueColor: AlwaysStoppedAnimation(AppColors.white), provider.submitLoading
? CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation(
AppColors.white,
),
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
): Text( )
: Text(
"Search", "Search",
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(color: Colors.white, style: TextStyle(
color: Colors.white,
fontFamily: "JakartaMedium", fontFamily: "JakartaMedium",
fontSize: 16 fontSize: 16,
), ),
), ),
), ),
...@@ -343,8 +371,6 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen> ...@@ -343,8 +371,6 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
listen: false, listen: false,
); );
provider.qrViewController!.resumeCamera(); provider.qrViewController!.resumeCamera();
},); });
} }
} }
...@@ -22,7 +22,6 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -22,7 +22,6 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
Map _source = {ConnectivityResult.mobile: true}; Map _source = {ConnectivityResult.mobile: true};
final MyConnectivity _connectivity = MyConnectivity.instance; final MyConnectivity _connectivity = MyConnectivity.instance;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
...@@ -38,6 +37,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -38,6 +37,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
serviceProvider.LoadTechnicianDashboard(context); serviceProvider.LoadTechnicianDashboard(context);
}); });
} }
@override @override
void dispose() { void dispose() {
// TODO: implement dispose // TODO: implement dispose
...@@ -58,12 +58,18 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -58,12 +58,18 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
default: default:
connection = 'Offline'; connection = 'Offline';
} }
return (connection=="Online")? Platform.isAndroid return (connection == "Online")
? Platform.isAndroid
? WillPopScope( ? WillPopScope(
onWillPop: () => onBackPressed(context), onWillPop: () => onBackPressed(context),
child: SafeArea(top: false, bottom: true, child: _scaffold(context)), child: SafeArea(
top: false,
bottom: true,
child: _scaffold(context),
),
) )
: _scaffold(context):NoNetwork(context); : _scaffold(context)
: NoNetwork(context);
} }
Widget _scaffold(BuildContext context) { Widget _scaffold(BuildContext context) {
...@@ -73,8 +79,8 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -73,8 +79,8 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
backgroundColor: AppColors.scaffold_bg_color, backgroundColor: AppColors.scaffold_bg_color,
appBar: AppBar( appBar: AppBar(
elevation: 2,
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
elevation: 2.0,
title: SizedBox( title: SizedBox(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
...@@ -83,10 +89,11 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -83,10 +89,11 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
InkResponse( InkResponse(
onTap: () => Navigator.pop(context, true), onTap: () => Navigator.pop(context, true),
child: SvgPicture.asset( child: SvgPicture.asset(
"assets/svg/app_bar_back.svg", "assets/svg/appbar_back_button.svg",
height: 25, height: 25,
), ),
), ),
SizedBox(width: 10),
InkResponse( InkResponse(
onTap: () => Navigator.pop(context, true), onTap: () => Navigator.pop(context, true),
child: Text( child: Text(
...@@ -104,7 +111,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -104,7 +111,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
height: 25, height: 25,
width: 45, width: 45,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFFFF6E2), color: Color(0xFFEDF8FF),
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
), ),
child: Row( child: Row(
...@@ -131,92 +138,41 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -131,92 +138,41 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
), ),
), ),
), ),
body: Container( body: SingleChildScrollView(
child: SingleChildScrollView(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
margin: EdgeInsets.only(top: 0, bottom: 15),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.vertical( // borderRadius: BorderRadius.vertical(
bottom: Radius.circular(16), // bottom: Radius.circular(20),
), // ),
), borderRadius: BorderRadius.circular(20)
child: Column(
children: [
InkResponse(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Pendingcomplaints(),
),
);
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 10,
vertical: 15,
),
margin: EdgeInsets.symmetric(
horizontal: 10,
vertical: 15,
),
decoration: BoxDecoration(
color: Color(0xFFFFEFEF),
borderRadius: BorderRadius.circular(16),
), ),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: SizedBox(
child: Column( child: Column(
crossAxisAlignment: // crossAxisAlignment: CrossAxisAlignment.start,
CrossAxisAlignment.center,
children: [ children: [
Text( // Container(
"${provider.pendingComplaints}", // height: 200,
style: TextStyle( // decoration: BoxDecoration(
fontSize: 30, // image: DecorationImage(
color: Color(0xFFED3424), // image: AssetImage(
), // "assets/svg/service/service_dashboard.png",
), // ),
Text("Pending Complaints"), // fit: BoxFit.contain,
], // ),
), // gradient: LinearGradient(
), // colors: [Color(0xFFFFFFFF), AppColors.white],
), // begin: Alignment.topCenter,
], // end: Alignment.bottomCenter,
), // ),
), // ),
), // ),
],
),
),
Container(
padding: EdgeInsets.only(left: 15),
alignment: Alignment.topLeft,
child: Text(
"Collections & Visits",
style: TextStyle(
color: Color(0xFF818181),
fontFamily: "JakartaMedium",
fontSize: 14,
),
),
),
Container(
margin: EdgeInsets.symmetric(horizontal: 10, vertical: 15),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
),
child: GridView.builder( GridView.builder(
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
vertical: 15, vertical: 10,
horizontal: 10, horizontal: 10,
), ),
itemCount: 4, itemCount: 4,
...@@ -226,7 +182,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -226,7 +182,7 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
crossAxisCount: 2, crossAxisCount: 2,
crossAxisSpacing: 10, crossAxisSpacing: 10,
mainAxisSpacing: 10, mainAxisSpacing: 10,
childAspectRatio: 22 / 10, childAspectRatio: 22 / 11,
), ),
itemBuilder: (context, index) { itemBuilder: (context, index) {
final numbers = [ final numbers = [
...@@ -236,10 +192,10 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -236,10 +192,10 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
provider.todayVisits, provider.todayVisits,
]; ];
final names = [ final names = [
"Month Collection", "Month \nCollection",
"P.C. Wallet", "P.C. \nWallet",
"Month Visits", "Month \nVisits",
"Today Visits", "Today \nVisits",
]; ];
final List<int> colorCodes = [ final List<int> colorCodes = [
0xFFE7FFE5, 0xFFE7FFE5,
...@@ -253,6 +209,13 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -253,6 +209,13 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
0xFF493272, 0xFF493272,
0xFF91481B, 0xFF91481B,
]; ];
final assetNames = [
"assets/svg/service/month_coll_ic.svg",
"assets/svg/service/pc_wallet_ic.svg",
"assets/svg/service/month_visit_ic.svg",
"assets/svg/service/today_visit_ic.svg",
];
return InkResponse( return InkResponse(
onTap: () { onTap: () {
var route; var route;
...@@ -264,10 +227,14 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -264,10 +227,14 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
route = Pcwallet(); route = Pcwallet();
break; break;
case 2: case 2:
route = Todaymontlyvisists(visitType: "Month"); route = Todaymontlyvisists(
visitType: "Month",
);
break; break;
case 3: case 3:
route = Todaymontlyvisists(visitType: "Today"); route = Todaymontlyvisists(
visitType: "Today",
);
break; break;
} }
...@@ -278,13 +245,14 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -278,13 +245,14 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
}, },
child: Container( child: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: 15, left: 10,
top: 5, top: 10,
bottom: 5, bottom: 10,
right: 10,
), ),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(colorCodes[index]), color: Color(colorCodes[index]),
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(20),
), ),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
...@@ -306,16 +274,32 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -306,16 +274,32 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
child: Text( child: Text(
"${numbers[index].toString()}", "${numbers[index].toString()}",
style: TextStyle( style: TextStyle(
fontSize: 27, fontSize: 20,
color: Color(textColorCodes[index]), color: Color(textColorCodes[index]),
), ),
), ),
), ),
], ],
), ),
Text( Row(
children: [
Expanded(
flex: 4,
child: Text(
names[index], names[index],
style: TextStyle(color: Color(0xFF818181)), style: TextStyle(
fontSize: 14,
color: AppColors.semi_black,
),
),
),
Expanded(
flex: 1,
child: SvgPicture.asset(
assetNames[index],
),
),
],
), ),
], ],
), ),
...@@ -323,6 +307,81 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -323,6 +307,81 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
); );
}, },
), ),
],
),
),
Padding(
padding: EdgeInsets.only(top: 10, bottom: 5, left: 10),
child: Text(
"Complaint Status",
style: TextStyle(color: AppColors.grey_thick, fontSize: 14),
),
),
InkResponse(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Pendingcomplaints(),
),
);
},
child: Container(
height: 60,
margin: EdgeInsets.only(left: 10,right: 10, bottom: 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
),
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 15),
child: SizedBox(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
flex: 1,
child: Container(
height: 50,
width: 50,
decoration: BoxDecoration(
color: Color(0xFFFFE4E2),
shape: BoxShape.circle,
),
child: Center(
child: Text(
"${provider.pendingComplaints}",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 14,
color: Color(0xFFED3424),
),
),
),
),
),
SizedBox(width: 10),
Expanded(
flex: 5,
child: Text(
"Pending Complaints",
style: TextStyle(
fontSize: 14,
color: AppColors.app_blue,
),
),
),
],
),
),
),
),
Padding(
padding: EdgeInsets.only(top: 10, bottom: 5, left: 10),
child: Text(
"Nearby Generators",
style: TextStyle(color: AppColors.grey_thick, fontSize: 14),
),
), ),
InkResponse( InkResponse(
onTap: () { onTap: () {
...@@ -345,13 +404,29 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -345,13 +404,29 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
children: [ children: [
Expanded( Expanded(
flex: 1, flex: 1,
child: Container(
height: 35,
width: 35,
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Color(0xFFEDF8FF),
shape: BoxShape.circle,
),
child: SvgPicture.asset( child: SvgPicture.asset(
"assets/svg/find_generator.svg", "assets/svg/find_generator.svg",
), ),
), ),
),
Expanded( Expanded(
flex: 4, flex: 4,
child: Text("Find Nearby Generators"), child: Text(
"Find Nearby Generators",
style: TextStyle(
fontSize: 14,
color: AppColors.app_blue,
),
),
), ),
], ],
), ),
...@@ -360,7 +435,6 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> { ...@@ -360,7 +435,6 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
], ],
), ),
), ),
),
); );
}, },
); );
......
This diff is collapsed.
This diff is collapsed.
...@@ -571,6 +571,7 @@ class ApiCalling { ...@@ -571,6 +571,7 @@ class ApiCalling {
'gen_hash_id': (gen_hash_id).toString(), 'gen_hash_id': (gen_hash_id).toString(),
'location': (location).toString(), 'location': (location).toString(),
}; };
print("Tag Loation: ${data}");
var res; var res;
if (attachment != null) { if (attachment != null) {
res = await postImageNew( res = await postImageNew(
...@@ -625,6 +626,31 @@ class ApiCalling { ...@@ -625,6 +626,31 @@ class ApiCalling {
} }
} }
static Future<TagGeneratorResponse?> TagGeneratorCheckAPI(
empId,
session,
gen_hash_id,
) async {
try {
Map<String, String> data = {
'emp_id': (empId).toString(),
'session_id': (session).toString(),
'gen_hash_id': (gen_hash_id).toString(),
};
final res = await post(data, genTrackerCheckTagGeneratorUrl, {});
if (res != null) {
// debugPrint(res.body);
return TagGeneratorResponse.fromJson(jsonDecode(res.body));
} else {
debugPrint("Null Response");
return null;
}
} catch (e) {
debugPrint('hello bev=bug $e ');
return null;
}
}
static Future<SubmitComplaintResponse?> SubmitGeneratorComplaintAPI( static Future<SubmitComplaintResponse?> SubmitGeneratorComplaintAPI(
empId, empId,
session, session,
......
...@@ -25,6 +25,7 @@ const genTrackerGeneratorDetailsUrl = "${baseUrl}home/gen_tracker_generator_deta ...@@ -25,6 +25,7 @@ const genTrackerGeneratorDetailsUrl = "${baseUrl}home/gen_tracker_generator_deta
const genTrackerGeneratorComplaintsUrl = "${baseUrl}home/gen_tracker_generator_complaints_list"; const genTrackerGeneratorComplaintsUrl = "${baseUrl}home/gen_tracker_generator_complaints_list";
const genTrackerTagLocationUrl = "${baseUrl}home/gen_tracker_tag_location"; const genTrackerTagLocationUrl = "${baseUrl}home/gen_tracker_tag_location";
const genTrackerTagGeneratorUrl = "${baseUrl}home/gen_tracker_tag_generator"; const genTrackerTagGeneratorUrl = "${baseUrl}home/gen_tracker_tag_generator";
const genTrackerCheckTagGeneratorUrl = "${baseUrl}home/gen_tracker_check_tag_generator";
const genTrackerRegisterComplaint = "${baseUrl}home/gen_tracker_register_complaint"; const genTrackerRegisterComplaint = "${baseUrl}home/gen_tracker_register_complaint";
///complaint ///complaint
......
...@@ -45,10 +45,10 @@ packages: ...@@ -45,10 +45,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.13.0" version: "2.12.0"
auto_size_text: auto_size_text:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -273,6 +273,14 @@ packages: ...@@ -273,6 +273,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
dotted_line:
dependency: "direct main"
description:
name: dotted_line
sha256: "41e3d655939559815daa1370fc1e07673a205fa628cf40ce3af45d90029a77b6"
url: "https://pub.dev"
source: hosted
version: "3.2.3"
dropdown_button2: dropdown_button2:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -301,10 +309,10 @@ packages: ...@@ -301,10 +309,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.3" version: "1.3.2"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
...@@ -662,6 +670,14 @@ packages: ...@@ -662,6 +670,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.0+4" version: "4.0.0+4"
flutter_staggered_grid_view:
dependency: "direct main"
description:
name: flutter_staggered_grid_view
sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
flutter_svg: flutter_svg:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -948,26 +964,26 @@ packages: ...@@ -948,26 +964,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.0.1" version: "10.0.8"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.10" version: "3.0.9"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.0.1"
lints: lints:
dependency: transitive dependency: transitive
description: description:
...@@ -1673,10 +1689,10 @@ packages: ...@@ -1673,10 +1689,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "15.0.0" version: "14.3.1"
web: web:
dependency: transitive dependency: transitive
description: description:
......
...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev ...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.0.93+97 version: 1.0.94+98
environment: environment:
sdk: ^3.7.2 sdk: ^3.7.2
...@@ -82,6 +82,8 @@ dependencies: ...@@ -82,6 +82,8 @@ dependencies:
collection: ^1.19.1 collection: ^1.19.1
auto_size_text: ^3.0.0 auto_size_text: ^3.0.0
app_settings: ^6.1.1 app_settings: ^6.1.1
flutter_staggered_grid_view: ^0.7.0
dotted_line: ^3.2.3
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
...@@ -113,6 +115,11 @@ flutter: ...@@ -113,6 +115,11 @@ flutter:
- assets/ - assets/
- assets/images/ - assets/images/
- assets/svg/ - assets/svg/
- assets/svg/home/
- assets/svg/finance/
- assets/svg/attendance/
- assets/svg/service/
- assets/svg/crm/
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/to/resolution-aware-images # https://flutter.dev/to/resolution-aware-images
......
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