unused code marked.

design_3.0_task_module_new
Sikander Saleem 4 months ago
parent 0b0f2ba25c
commit 0dade3cedb

@ -1,93 +0,0 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/views/pages/user/profile_page.dart';
class UpdateProfileInfoBottmsheet extends StatelessWidget {
UpdateUserInfoModel userInfoModel;
UpdateProfileInfoBottmsheet({super.key, required this.userInfoModel});
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
"Email".bodyText(context).custom(color: AppColor.black20),
8.height,
AppTextFormField(
labelText: "Email",
backgroundColor: AppColor.neutral100,
initialValue: userInfoModel.email,
textAlign: TextAlign.center,
labelStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.emailAddress,
showShadow: false,
onChange: (value) {
userInfoModel.email = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
"Phone Number".bodyText(context).custom(color: AppColor.black20),
8.height,
AppTextFormField(
labelText: "Phone Number",
backgroundColor: AppColor.neutral100,
initialValue: userInfoModel.phoneNo,
textAlign: TextAlign.center,
labelStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.phone,
showShadow: false,
onChange: (value) {
userInfoModel.phoneNo = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
"Extension No".bodyText(context).custom(color: AppColor.black20),
8.height,
AppTextFormField(
labelText: "Extension No",
backgroundColor: AppColor.neutral100,
initialValue: userInfoModel.extensionNo,
textAlign: TextAlign.center,
labelStyle: AppTextStyles.textFieldLabelStyle,
textInputType: const TextInputType.numberWithOptions(decimal: true),
showShadow: false,
onChange: (value) {
userInfoModel.extensionNo = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
],
).toShadowContainer(context).paddingAll(16),
),
Container(
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 16.toScreenHeight),
color: AppColor.white10,
child: AppFilledButton(
label: "Update",
buttonColor: AppColor.neutral50,
onPressed: () async {
//TODO call update api here...
// showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
Navigator.pop(context);
},
),
),
],
);
}
}

@ -1,41 +1,41 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/employee/nurse_provider.dart';
import 'package:test_sa/models/employee.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/status/nurse_employee_menu.dart';
class NurseMenu extends StatelessWidget {
final Function(Employee?) onSelect; // Now accepts nullable Employee
final Employee? initialValue; // Now nullable
final String title; // Now nullable
final bool enable;
final int? siteId; // Now nullable
const NurseMenu({Key? key, required this.onSelect, required this.title, this.initialValue, this.enable = true, this.siteId}) : super(key: key);
@override
Widget build(BuildContext context) {
final menuProvider = Provider.of<NurseProvider>(context, listen: false);
if (siteId != null) {
menuProvider.siteId = siteId!;
}
return LoadingManager(
isLoading: menuProvider.isLoading,
isFailedLoading: menuProvider.nursesList == null,
stateCode: menuProvider.stateCode,
onRefresh: menuProvider.getData,
// Directly pass the getData method
child: NurseEmployeeMenu(
initialValue: initialValue,
title: title,
list: menuProvider.nursesList ?? [],
// Provide an empty list if null
onSelect: onSelect,
// Pass the onSelect function directly
enable: enable,
),
);
}
}
// import 'package:flutter/material.dart';
// import 'package:provider/provider.dart';
// import 'package:test_sa/controllers/providers/api/status_drop_down/employee/nurse_provider.dart';
// import 'package:test_sa/models/employee.dart';
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
// import 'package:test_sa/views/widgets/status/nurse_employee_menu.dart';
// TODO DELETE
// class NurseMenu extends StatelessWidget {
// final Function(Employee?) onSelect; // Now accepts nullable Employee
// final Employee? initialValue; // Now nullable
//
// final String title; // Now nullable
// final bool enable;
// final int? siteId; // Now nullable
//
// const NurseMenu({Key? key, required this.onSelect, required this.title, this.initialValue, this.enable = true, this.siteId}) : super(key: key);
//
// @override
// Widget build(BuildContext context) {
// final menuProvider = Provider.of<NurseProvider>(context, listen: false);
// if (siteId != null) {
// menuProvider.siteId = siteId!;
// }
// return LoadingManager(
// isLoading: menuProvider.isLoading,
// isFailedLoading: menuProvider.nursesList == null,
// stateCode: menuProvider.stateCode,
// onRefresh: menuProvider.getData,
// // Directly pass the getData method
// child: NurseEmployeeMenu(
// initialValue: initialValue,
// title: title,
// list: menuProvider.nursesList ?? [],
// // Provide an empty list if null
// onSelect: onSelect,
// // Pass the onSelect function directly
// enable: enable,
// ),
// );
// }
// }

@ -1,132 +1,140 @@
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/employee.dart';
import 'package:test_sa/views/widgets/bottom_sheets/selection_bottom_sheet.dart';
import '../../../new_views/app_style/app_color.dart';
class NurseEmployeeMenu extends StatefulWidget {
final List<Employee>? list;
final Employee? initialValue;
final Function(Employee?) onSelect;
final String title;
final bool? enable;
const NurseEmployeeMenu({Key? key, this.list, required this.title, required this.onSelect, this.initialValue, this.enable = true}) : super(key: key);
@override
_SingleNurseEmployeeMenuState createState() => _SingleNurseEmployeeMenuState();
}
class _SingleNurseEmployeeMenuState extends State<NurseEmployeeMenu> {
Employee? _selectedStatus;
@override
void setState(VoidCallback fn) {
if (mounted) super.setState(fn);
}
@override
void didUpdateWidget(covariant NurseEmployeeMenu oldWidget) {
if (widget.initialValue != null) {
final result = widget.list?.where((element) {
return element.id == widget.initialValue?.id;
}) ??
[];
if (result.isNotEmpty) {
_selectedStatus = result.first;
} else {
_selectedStatus = null;
}
if ((widget.initialValue?.id ?? "") != (_selectedStatus?.id ?? "")) {
widget.onSelect(_selectedStatus!);
}
} else {
_selectedStatus = null;
}
super.didUpdateWidget(oldWidget);
}
@override
void initState() {
if (widget.initialValue != null) {
final result = widget.list?.where((element) {
return element.id == widget.initialValue?.id;
}) ??
[];
if (result.isNotEmpty) _selectedStatus = result.first;
if (widget.initialValue?.id != _selectedStatus?.id) {
widget.onSelect(_selectedStatus);
}
}
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
height: 60.toScreenHeight,
width: double.infinity,
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
decoration: BoxDecoration(
color: context.isDark && (widget.enable == false)
? AppColor.neutral50
: (widget.enable == false)
? AppColor.neutral40
: AppColor.background(context),
borderRadius: BorderRadius.circular(10),
boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
),
child: Stack(
alignment: Alignment.centerLeft,
children: [
PositionedDirectional(
end: 0,
child: Icon(
Icons.keyboard_arrow_down_rounded,
color: widget.enable == null ? null : Colors.grey,
)),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
widget.title,
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500),
),
Text(
_selectedStatus?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? context.translation.select,
style: Theme.of(context).textTheme.bodyLarge,
),
],
),
],
),
).onPress(((widget.enable ?? false)
? () async {
_selectedStatus = (await showModalBottomSheet(
context: context,
isScrollControlled: true,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(
top: Radius.circular(20),
),
),
clipBehavior: Clip.antiAliasWithSaveLayer,
builder: (BuildContext context) => SelectionBottomSheet(
items: widget.list ?? [],
selectedItem: _selectedStatus,
title: widget.title,
builderString: (emp) => emp?.name ?? "",
),
)) as Employee?;
if (_selectedStatus != null) setState(() {});
widget.onSelect(_selectedStatus!);
}
: null));
}
}
// import 'package:flutter/material.dart';
// import 'package:test_sa/extensions/context_extension.dart';
// import 'package:test_sa/extensions/int_extensions.dart';
// import 'package:test_sa/extensions/text_extensions.dart';
// import 'package:test_sa/extensions/widget_extensions.dart';
// import 'package:test_sa/models/employee.dart';
// import 'package:test_sa/views/widgets/bottom_sheets/selection_bottom_sheet.dart';
//
// import '../../../new_views/app_style/app_color.dart';
//// TODO DELETE
// class NurseEmployeeMenu extends StatefulWidget {
// final List<Employee>? list;
// final Employee? initialValue;
// final Function(Employee?) onSelect;
// final String title;
// final bool? enable;
//
// const NurseEmployeeMenu({Key? key, this.list, required this.title, required this.onSelect, this.initialValue, this.enable = true}) : super(key: key);
//
// @override
// _SingleNurseEmployeeMenuState createState() => _SingleNurseEmployeeMenuState();
// }
//
// class _SingleNurseEmployeeMenuState extends State<NurseEmployeeMenu> {
// Employee? _selectedStatus;
//
// @override
// void setState(VoidCallback fn) {
// if (mounted) super.setState(fn);
// }
//
// @override
// void didUpdateWidget(covariant NurseEmployeeMenu oldWidget) {
// if (widget.initialValue != null) {
// final result = widget.list?.where((element) {
// return element.id == widget.initialValue?.id;
// }) ??
// [];
// if (result.isNotEmpty) {
// _selectedStatus = result.first;
// } else {
// _selectedStatus = null;
// }
// if ((widget.initialValue?.id ?? "") != (_selectedStatus?.id ?? "")) {
// widget.onSelect(_selectedStatus!);
// }
// } else {
// _selectedStatus = null;
// }
// super.didUpdateWidget(oldWidget);
// }
//
// @override
// void initState() {
// if (widget.initialValue != null) {
// final result = widget.list?.where((element) {
// return element.id == widget.initialValue?.id;
// }) ??
// [];
// if (result.isNotEmpty) _selectedStatus = result.first;
// if (widget.initialValue?.id != _selectedStatus?.id) {
// widget.onSelect(_selectedStatus);
// }
// }
//
// super.initState();
// }
//
// @override
// Widget build(BuildContext context) {
// return Container(
// height: 60.toScreenHeight,
// width: double.infinity,
// padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
// decoration: BoxDecoration(
// color: context.isDark && (widget.enable == false)
// ? AppColor.neutral50
// : (widget.enable == false)
// ? AppColor.neutral40
// : AppColor.background(context),
// borderRadius: BorderRadius.circular(10),
// boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
// ),
// child: Stack(
// alignment: Alignment.centerLeft,
// children: [
// PositionedDirectional(
// end: 0,
// child: Icon(
// Icons.keyboard_arrow_down_rounded,
// color: widget.enable == null ? null : Colors.grey,
// )),
// Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text(
// widget.title,
// style: Theme.of(context).textTheme.bodySmall?.copyWith(color: context.isDark ? null : AppColor.neutral20, fontWeight: FontWeight.w500),
// ),
// Text(
// _selectedStatus?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? context.translation.select,
// style: Theme.of(context).textTheme.bodyLarge,
// ),
// ],
// ),
// ],
// ),
// ).onPress(((widget.enable ?? false)
// ? () async {
// _selectedStatus = (await showModalBottomSheet(
// context: context,
// isScrollControlled: true,
// shape: const RoundedRectangleBorder(
// borderRadius: BorderRadius.vertical(
// top: Radius.circular(20),
// ),
// ),
// clipBehavior: Clip.antiAliasWithSaveLayer,
// builder: (BuildContext context) => SelectionBottomSheet(
// items: widget.list ?? [],
// selectedItem: _selectedStatus,
// title: widget.title,
// onSelect: (selectedT) {
// setState(() {
// _selectedStatus = selectedT;
// });
// widget.onSelect(selectedT);
// },
// builderString: (emp) => emp?.name ?? "",
// ),
// )) as Employee?;
//
//
// // if (_selectedStatus != null) setState(() {});
// // widget.onSelect(_selectedStatus!);
// }
// : null));
// }
// }

Loading…
Cancel
Save