From cd4ff9e3a01c59d548bac78fb0ec9af0a5b73603 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Sun, 26 Feb 2023 12:10:33 +0300 Subject: [PATCH 1/6] Revert the project to the previous structure with applying null safety --- .../controllers/api_routes/urls.dart | 0 .../http_status_manger.dart | 0 .../localization/localization.dart | 0 .../firebase_notification_manger.dart | 0 .../notification/notification_manger.dart | 0 .../providers/api/departments_provider.dart | 0 .../api/device_transfer_provider.dart | 0 .../providers/api/devices_provider.dart | 0 .../providers/api/gas_refill_provider.dart | 0 .../providers/api/hospitals_provider.dart | 0 .../providers/api/notifications_provider.dart | 0 .../providers/api/parts_provider.dart | 0 ...reventive_maintenance_visits_provider.dart | 0 .../api/regular_visits_provider.dart | 0 .../api/service_requests_provider.dart | 0 .../employee/employee_provider.dart | 0 .../gas_cylinder_size_provider.dart | 0 .../gas_refill/gas_status_provider.dart | 0 .../gas_refill/gas_types_provider.dart | 0 .../pentry/pentry_status_provider.dart | 0 .../pentry/pentry_task_status_provider.dart | 0 .../pentry/pentry_visit_status_provider.dart | 0 .../service_report_defect_types_provider.dart | 0 .../service_report_last_calls_provider.dart | 0 .../service_report_priority_provider.dart | 0 .../service_report_reasons_provider.dart | 0 .../service_report_status_provider.dart | 0 .../report/service_report_types_provider.dart | 0 .../report/service_types_provider.dart | 0 .../providers/api/user_provider.dart | 0 .../providers/settings/app_settings.dart | 0 .../providers/settings/setting_provider.dart | 0 .../controllers/validator/validator.dart | 0 lib/core/app_configs/app_localizations.dart | 17 -- lib/core/app_configs/app_routes.dart | 29 --- lib/core/app_configs/app_theme.dart | 20 --- lib/core/constants/api_constants.dart | 66 ------- lib/core/constants/app_colors.dart | 50 ------ lib/core/enums.dart | 20 --- lib/core/extensions/context_extension.dart | 3 - lib/core/extensions/num_extension.dart | 16 -- lib/core/extensions/string_extension.dart | 1 - lib/core/extensions/widget_extension.dart | 3 - lib/core/utils/provider_scope.dart | 46 ----- lib/data/api/api_client.dart | 57 ------ lib/data/api/services/user_service.dart | 18 -- lib/data/models/user_model.dart | 7 - .../extensions/int_extensions.dart | 0 .../extensions/string_extensions.dart | 0 .../extensions/widget_extensions.dart | 0 lib/main.dart | 166 +++++++++++++++--- {old_lib => lib}/models/app_notification.dart | 0 {old_lib => lib}/models/department.dart | 0 {old_lib => lib}/models/device/device.dart | 0 .../models/device/device_transfer.dart | 0 .../models/device/device_transfer_info.dart | 0 {old_lib => lib}/models/enums/user_types.dart | 0 .../models/gas_refill/gas_refill_details.dart | 0 .../models/gas_refill/gas_refill_model.dart | 0 {old_lib => lib}/models/hospital.dart | 0 {old_lib => lib}/models/issue.dart | 0 {old_lib => lib}/models/lookup.dart | 0 .../models/pantry/calibration_tools.dart | 0 {old_lib => lib}/models/pantry/contact.dart | 0 .../models/pantry/lookups/contact_person.dart | 0 .../models/pantry/lookups/contact_title.dart | 0 {old_lib => lib}/models/pantry/pentry.dart | 0 {old_lib => lib}/models/pantry/pm_kit.dart | 0 .../models/pantry/ppm_check_list.dart | 0 {old_lib => lib}/models/part.dart | 0 {old_lib => lib}/models/service_report.dart | 0 .../service_request/service_request.dart | 0 .../service_request_search.dart | 0 {old_lib => lib}/models/subtitle.dart | 0 {old_lib => lib}/models/timer_model.dart | 0 {old_lib => lib}/models/user.dart | 0 {old_lib => lib}/models/visits/visit.dart | 0 .../models/visits/visits_group.dart | 0 .../models/visits/visits_search.dart | 0 lib/providers/settings_provider.dart | 12 -- lib/screens/login_screen/login_screen.dart | 12 -- lib/screens/splash_screen/splash_screen.dart | 32 ---- {old_lib => lib}/views/app_style/colors.dart | 0 {old_lib => lib}/views/app_style/sizing.dart | 0 .../device_transfer_details.dart | 0 .../request_device_transfer.dart | 0 .../track_device_transfer.dart | 0 .../update_device_transfer.dart | 0 {old_lib => lib}/views/pages/login.dart | 0 {old_lib => lib}/views/pages/register.dart | 0 .../views/pages/splash_screen.dart | 14 +- .../user/gas_refill/gas_refill_details.dart | 0 .../user/gas_refill/request_gas_refill.dart | 0 .../user/gas_refill/track_gas_refill.dart | 0 .../views/pages/user/land_page.dart | 0 .../notifications/notifications_list.dart | 0 .../notifications/notifications_page.dart | 0 .../views/pages/user/profile_page.dart | 0 .../views/pages/user/report_issues_page.dart | 102 ++++++----- .../pages/user/requests/create_request.dart | 0 .../future_request_service_details.dart | 0 .../report/create_service_report.dart | 0 .../requests/report/edit_service_report.dart | 0 .../report/future_service_report.dart | 0 .../pages/user/requests/request_details.dart | 0 .../pages/user/requests/requests_page.dart | 0 .../pages/user/visits/pantry/edit_pentry.dart | 0 .../visits/pantry/future_edit_pently.dart | 0 .../preventive_maintenance_visits_page.dart | 0 .../user/visits/regular_visits_page.dart | 0 .../visits/update_visits_group_sheet.dart | 0 .../pages/user/visits/visit_details.dart | 0 .../views/widgets/app_name_bar.dart | 0 .../views/widgets/app_text_form_field.dart | 0 .../widgets/buttons/app_back_button.dart | 0 .../views/widgets/buttons/app_button.dart | 0 .../widgets/buttons/app_flat_button.dart | 0 .../widgets/buttons/app_icon_button.dart | 0 .../widgets/buttons/app_icon_button2.dart | 0 .../widgets/buttons/app_outlined_button.dart | 0 .../widgets/buttons/app_small_button.dart | 0 .../custom_clip_path/carve_in_image.dart | 0 .../widgets/date_and_time/date_picker.dart | 0 .../date_and_time/from_to_date_bar.dart | 0 .../departments/department_button.dart | 0 .../widgets/departments/department_item.dart | 0 .../departments/single_department_picker.dart | 0 .../device_transfer_info_section.dart | 0 .../device_trancfer/device_transfer_item.dart | 0 .../device_trancfer/device_transfer_list.dart | 0 .../views/widgets/dialogs/dialog.dart | 0 .../views/widgets/drawer/drawer_item.dart | 0 .../widgets/e_signature/e_signature.dart | 0 .../auto_complete_devices_field.dart | 0 .../widgets/equipment/device_button.dart | 0 .../views/widgets/equipment/device_item.dart | 0 .../equipment/single_device_picker.dart | 0 .../gas_refill_create_details_item.dart | 0 .../widgets/gas_refill/gas_refill_item.dart | 0 .../widgets/gas_refill/gas_refill_list.dart | 0 .../gas_refill_update_details_item.dart | 0 .../hospital_auto_complete_field.dart | 0 .../widgets/hospitals/hospital_button.dart | 0 .../widgets/hospitals/hospital_item.dart | 0 .../hospitals/single_hospital_picker.dart | 0 .../views/widgets/images/image_item.dart | 0 .../views/widgets/images/images_list.dart | 0 .../views/widgets/images/images_viewer.dart | 0 .../widgets/images/mini_one_image_picker.dart | 0 .../widgets/images/multi_image_picker.dart | 0 .../images/multi_image_picker_item.dart | 0 .../widgets/images/one_image_picker.dart | 0 .../widgets/issues/report_issue_item.dart | 0 .../widgets/land_page/land_page_item.dart | 0 .../widgets/loaders/app_lazy_loading.dart | 0 .../views/widgets/loaders/app_loading.dart | 0 .../views/widgets/loaders/failed_loading.dart | 0 .../views/widgets/loaders/image_loader.dart | 0 .../views/widgets/loaders/lazy_loading.dart | 0 .../widgets/loaders/loading_manager.dart | 0 .../views/widgets/loaders/no_item_found.dart | 0 .../notifications/notification_item.dart | 0 .../parts/auto_complete_parts_field.dart | 0 .../views/widgets/parts/part_item.dart | 0 .../auto_complete_devices_field.dart | 0 .../pentry/pentry_calibration_tool_form.dart | 0 .../widgets/pentry/pentry_info_form.dart | 0 .../widgets/pentry/pentry_pm_kit_form.dart | 0 .../pentry/pentry_ppm_check_list_form.dart | 0 .../views/widgets/qr/scan_qr.dart | 0 .../views/widgets/requests/info_row.dart | 0 .../widgets/requests/request_status.dart | 0 .../requests/service_request_item.dart | 0 .../requests/service_request_list.dart | 0 .../service_request_update_dialog.dart | 0 .../views/widgets/search/filter_item.dart | 0 .../search/service_request_search_bar.dart | 0 .../widgets/search/visits_search_bar.dart | 0 .../views/widgets/sound/record_sound.dart | 0 .../views/widgets/sound/sound_player.dart | 0 .../speech_to_text/speech_to_text.dart | 0 .../status/employee/employee_mune.dart | 0 .../status/gas_refill/gas_cylinder_size.dart | 0 .../widgets/status/gas_refill/gas_status.dart | 0 .../widgets/status/gas_refill/gas_type.dart | 0 .../widgets/status/multi_status_menu.dart | 0 .../status/pentry/pentry_status_mune.dart | 0 .../pentry/pentry_task_status_mune.dart | 0 .../pentry/pentry_visit_status_mune.dart | 0 .../report/service_report_last_call.dart | 0 .../status/report/service_report_reasons.dart | 0 .../status/report/service_report_status.dart | 0 .../status/report/service_report_type.dart | 0 .../widgets/status/report/service_status.dart | 0 .../service_request_defect_types_mune.dart | 0 .../service_request_priority_mune.dart | 0 .../widgets/status/single_status_menu.dart | 0 .../views/widgets/timer/app_timer.dart | 0 .../views/widgets/timer/timer_manager.dart | 0 .../views/widgets/titles/app_sub_title.dart | 0 .../views/widgets/titles/app_title.dart | 0 .../widgets/titles/expandable_info_row.dart | 0 .../views/widgets/visits/visit_item.dart | 0 .../views/widgets/visits/visit_status.dart | 0 .../views/widgets/visits/visits_list.dart | 0 lib/widgets/shared_widget.dart | 0 test/widget_test.dart | 2 +- 207 files changed, 203 insertions(+), 490 deletions(-) rename {old_lib => lib}/controllers/api_routes/urls.dart (100%) rename {old_lib => lib}/controllers/http_status_manger/http_status_manger.dart (100%) rename {old_lib => lib}/controllers/localization/localization.dart (100%) rename {old_lib => lib}/controllers/notification/firebase_notification_manger.dart (100%) rename {old_lib => lib}/controllers/notification/notification_manger.dart (100%) rename {old_lib => lib}/controllers/providers/api/departments_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/device_transfer_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/devices_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/gas_refill_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/hospitals_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/notifications_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/parts_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/preventive_maintenance_visits_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/regular_visits_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/service_requests_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/employee/employee_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/status_drop_down/report/service_types_provider.dart (100%) rename {old_lib => lib}/controllers/providers/api/user_provider.dart (100%) rename {old_lib => lib}/controllers/providers/settings/app_settings.dart (100%) rename {old_lib => lib}/controllers/providers/settings/setting_provider.dart (100%) rename {old_lib => lib}/controllers/validator/validator.dart (100%) delete mode 100644 lib/core/app_configs/app_localizations.dart delete mode 100644 lib/core/app_configs/app_routes.dart delete mode 100644 lib/core/app_configs/app_theme.dart delete mode 100644 lib/core/constants/api_constants.dart delete mode 100644 lib/core/constants/app_colors.dart delete mode 100644 lib/core/enums.dart delete mode 100644 lib/core/extensions/context_extension.dart delete mode 100644 lib/core/extensions/num_extension.dart delete mode 100644 lib/core/extensions/string_extension.dart delete mode 100644 lib/core/extensions/widget_extension.dart delete mode 100644 lib/core/utils/provider_scope.dart delete mode 100644 lib/data/api/api_client.dart delete mode 100644 lib/data/api/services/user_service.dart delete mode 100644 lib/data/models/user_model.dart rename {old_lib => lib}/extensions/int_extensions.dart (100%) rename {old_lib => lib}/extensions/string_extensions.dart (100%) rename {old_lib => lib}/extensions/widget_extensions.dart (100%) rename {old_lib => lib}/models/app_notification.dart (100%) rename {old_lib => lib}/models/department.dart (100%) rename {old_lib => lib}/models/device/device.dart (100%) rename {old_lib => lib}/models/device/device_transfer.dart (100%) rename {old_lib => lib}/models/device/device_transfer_info.dart (100%) rename {old_lib => lib}/models/enums/user_types.dart (100%) rename {old_lib => lib}/models/gas_refill/gas_refill_details.dart (100%) rename {old_lib => lib}/models/gas_refill/gas_refill_model.dart (100%) rename {old_lib => lib}/models/hospital.dart (100%) rename {old_lib => lib}/models/issue.dart (100%) rename {old_lib => lib}/models/lookup.dart (100%) rename {old_lib => lib}/models/pantry/calibration_tools.dart (100%) rename {old_lib => lib}/models/pantry/contact.dart (100%) rename {old_lib => lib}/models/pantry/lookups/contact_person.dart (100%) rename {old_lib => lib}/models/pantry/lookups/contact_title.dart (100%) rename {old_lib => lib}/models/pantry/pentry.dart (100%) rename {old_lib => lib}/models/pantry/pm_kit.dart (100%) rename {old_lib => lib}/models/pantry/ppm_check_list.dart (100%) rename {old_lib => lib}/models/part.dart (100%) rename {old_lib => lib}/models/service_report.dart (100%) rename {old_lib => lib}/models/service_request/service_request.dart (100%) rename {old_lib => lib}/models/service_request/service_request_search.dart (100%) rename {old_lib => lib}/models/subtitle.dart (100%) rename {old_lib => lib}/models/timer_model.dart (100%) rename {old_lib => lib}/models/user.dart (100%) rename {old_lib => lib}/models/visits/visit.dart (100%) rename {old_lib => lib}/models/visits/visits_group.dart (100%) rename {old_lib => lib}/models/visits/visits_search.dart (100%) delete mode 100644 lib/providers/settings_provider.dart delete mode 100644 lib/screens/login_screen/login_screen.dart delete mode 100644 lib/screens/splash_screen/splash_screen.dart rename {old_lib => lib}/views/app_style/colors.dart (100%) rename {old_lib => lib}/views/app_style/sizing.dart (100%) rename {old_lib => lib}/views/pages/device_transfer/device_transfer_details.dart (100%) rename {old_lib => lib}/views/pages/device_transfer/request_device_transfer.dart (100%) rename {old_lib => lib}/views/pages/device_transfer/track_device_transfer.dart (100%) rename {old_lib => lib}/views/pages/device_transfer/update_device_transfer.dart (100%) rename {old_lib => lib}/views/pages/login.dart (100%) rename {old_lib => lib}/views/pages/register.dart (100%) rename {old_lib => lib}/views/pages/splash_screen.dart (86%) rename {old_lib => lib}/views/pages/user/gas_refill/gas_refill_details.dart (100%) rename {old_lib => lib}/views/pages/user/gas_refill/request_gas_refill.dart (100%) rename {old_lib => lib}/views/pages/user/gas_refill/track_gas_refill.dart (100%) rename {old_lib => lib}/views/pages/user/land_page.dart (100%) rename {old_lib => lib}/views/pages/user/notifications/notifications_list.dart (100%) rename {old_lib => lib}/views/pages/user/notifications/notifications_page.dart (100%) rename {old_lib => lib}/views/pages/user/profile_page.dart (100%) rename {old_lib => lib}/views/pages/user/report_issues_page.dart (67%) rename {old_lib => lib}/views/pages/user/requests/create_request.dart (100%) rename {old_lib => lib}/views/pages/user/requests/future_request_service_details.dart (100%) rename {old_lib => lib}/views/pages/user/requests/report/create_service_report.dart (100%) rename {old_lib => lib}/views/pages/user/requests/report/edit_service_report.dart (100%) rename {old_lib => lib}/views/pages/user/requests/report/future_service_report.dart (100%) rename {old_lib => lib}/views/pages/user/requests/request_details.dart (100%) rename {old_lib => lib}/views/pages/user/requests/requests_page.dart (100%) rename {old_lib => lib}/views/pages/user/visits/pantry/edit_pentry.dart (100%) rename {old_lib => lib}/views/pages/user/visits/pantry/future_edit_pently.dart (100%) rename {old_lib => lib}/views/pages/user/visits/preventive_maintenance_visits_page.dart (100%) rename {old_lib => lib}/views/pages/user/visits/regular_visits_page.dart (100%) rename {old_lib => lib}/views/pages/user/visits/update_visits_group_sheet.dart (100%) rename {old_lib => lib}/views/pages/user/visits/visit_details.dart (100%) rename {old_lib => lib}/views/widgets/app_name_bar.dart (100%) rename {old_lib => lib}/views/widgets/app_text_form_field.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_back_button.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_button.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_flat_button.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_icon_button.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_icon_button2.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_outlined_button.dart (100%) rename {old_lib => lib}/views/widgets/buttons/app_small_button.dart (100%) rename {old_lib => lib}/views/widgets/custom_clip_path/carve_in_image.dart (100%) rename {old_lib => lib}/views/widgets/date_and_time/date_picker.dart (100%) rename {old_lib => lib}/views/widgets/date_and_time/from_to_date_bar.dart (100%) rename {old_lib => lib}/views/widgets/departments/department_button.dart (100%) rename {old_lib => lib}/views/widgets/departments/department_item.dart (100%) rename {old_lib => lib}/views/widgets/departments/single_department_picker.dart (100%) rename {old_lib => lib}/views/widgets/device_trancfer/device_transfer_info_section.dart (100%) rename {old_lib => lib}/views/widgets/device_trancfer/device_transfer_item.dart (100%) rename {old_lib => lib}/views/widgets/device_trancfer/device_transfer_list.dart (100%) rename {old_lib => lib}/views/widgets/dialogs/dialog.dart (100%) rename {old_lib => lib}/views/widgets/drawer/drawer_item.dart (100%) rename {old_lib => lib}/views/widgets/e_signature/e_signature.dart (100%) rename {old_lib => lib}/views/widgets/equipment/auto_complete_devices_field.dart (100%) rename {old_lib => lib}/views/widgets/equipment/device_button.dart (100%) rename {old_lib => lib}/views/widgets/equipment/device_item.dart (100%) rename {old_lib => lib}/views/widgets/equipment/single_device_picker.dart (100%) rename {old_lib => lib}/views/widgets/gas_refill/gas_refill_create_details_item.dart (100%) rename {old_lib => lib}/views/widgets/gas_refill/gas_refill_item.dart (100%) rename {old_lib => lib}/views/widgets/gas_refill/gas_refill_list.dart (100%) rename {old_lib => lib}/views/widgets/gas_refill/gas_refill_update_details_item.dart (100%) rename {old_lib => lib}/views/widgets/hospitals/hospital_auto_complete_field.dart (100%) rename {old_lib => lib}/views/widgets/hospitals/hospital_button.dart (100%) rename {old_lib => lib}/views/widgets/hospitals/hospital_item.dart (100%) rename {old_lib => lib}/views/widgets/hospitals/single_hospital_picker.dart (100%) rename {old_lib => lib}/views/widgets/images/image_item.dart (100%) rename {old_lib => lib}/views/widgets/images/images_list.dart (100%) rename {old_lib => lib}/views/widgets/images/images_viewer.dart (100%) rename {old_lib => lib}/views/widgets/images/mini_one_image_picker.dart (100%) rename {old_lib => lib}/views/widgets/images/multi_image_picker.dart (100%) rename {old_lib => lib}/views/widgets/images/multi_image_picker_item.dart (100%) rename {old_lib => lib}/views/widgets/images/one_image_picker.dart (100%) rename {old_lib => lib}/views/widgets/issues/report_issue_item.dart (100%) rename {old_lib => lib}/views/widgets/land_page/land_page_item.dart (100%) rename {old_lib => lib}/views/widgets/loaders/app_lazy_loading.dart (100%) rename {old_lib => lib}/views/widgets/loaders/app_loading.dart (100%) rename {old_lib => lib}/views/widgets/loaders/failed_loading.dart (100%) rename {old_lib => lib}/views/widgets/loaders/image_loader.dart (100%) rename {old_lib => lib}/views/widgets/loaders/lazy_loading.dart (100%) rename {old_lib => lib}/views/widgets/loaders/loading_manager.dart (100%) rename {old_lib => lib}/views/widgets/loaders/no_item_found.dart (100%) rename {old_lib => lib}/views/widgets/notifications/notification_item.dart (100%) rename {old_lib => lib}/views/widgets/parts/auto_complete_parts_field.dart (100%) rename {old_lib => lib}/views/widgets/parts/part_item.dart (100%) rename {old_lib => lib}/views/widgets/pentry/auto_complete_fields/auto_complete_devices_field.dart (100%) rename {old_lib => lib}/views/widgets/pentry/pentry_calibration_tool_form.dart (100%) rename {old_lib => lib}/views/widgets/pentry/pentry_info_form.dart (100%) rename {old_lib => lib}/views/widgets/pentry/pentry_pm_kit_form.dart (100%) rename {old_lib => lib}/views/widgets/pentry/pentry_ppm_check_list_form.dart (100%) rename {old_lib => lib}/views/widgets/qr/scan_qr.dart (100%) rename {old_lib => lib}/views/widgets/requests/info_row.dart (100%) rename {old_lib => lib}/views/widgets/requests/request_status.dart (100%) rename {old_lib => lib}/views/widgets/requests/service_request_item.dart (100%) rename {old_lib => lib}/views/widgets/requests/service_request_list.dart (100%) rename {old_lib => lib}/views/widgets/requests/service_request_update_dialog.dart (100%) rename {old_lib => lib}/views/widgets/search/filter_item.dart (100%) rename {old_lib => lib}/views/widgets/search/service_request_search_bar.dart (100%) rename {old_lib => lib}/views/widgets/search/visits_search_bar.dart (100%) rename {old_lib => lib}/views/widgets/sound/record_sound.dart (100%) rename {old_lib => lib}/views/widgets/sound/sound_player.dart (100%) rename {old_lib => lib}/views/widgets/speech_to_text/speech_to_text.dart (100%) rename {old_lib => lib}/views/widgets/status/employee/employee_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/gas_refill/gas_cylinder_size.dart (100%) rename {old_lib => lib}/views/widgets/status/gas_refill/gas_status.dart (100%) rename {old_lib => lib}/views/widgets/status/gas_refill/gas_type.dart (100%) rename {old_lib => lib}/views/widgets/status/multi_status_menu.dart (100%) rename {old_lib => lib}/views/widgets/status/pentry/pentry_status_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/pentry/pentry_task_status_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/pentry/pentry_visit_status_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/report/service_report_last_call.dart (100%) rename {old_lib => lib}/views/widgets/status/report/service_report_reasons.dart (100%) rename {old_lib => lib}/views/widgets/status/report/service_report_status.dart (100%) rename {old_lib => lib}/views/widgets/status/report/service_report_type.dart (100%) rename {old_lib => lib}/views/widgets/status/report/service_status.dart (100%) rename {old_lib => lib}/views/widgets/status/service_request/service_request_defect_types_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/service_request/service_request_priority_mune.dart (100%) rename {old_lib => lib}/views/widgets/status/single_status_menu.dart (100%) rename {old_lib => lib}/views/widgets/timer/app_timer.dart (100%) rename {old_lib => lib}/views/widgets/timer/timer_manager.dart (100%) rename {old_lib => lib}/views/widgets/titles/app_sub_title.dart (100%) rename {old_lib => lib}/views/widgets/titles/app_title.dart (100%) rename {old_lib => lib}/views/widgets/titles/expandable_info_row.dart (100%) rename {old_lib => lib}/views/widgets/visits/visit_item.dart (100%) rename {old_lib => lib}/views/widgets/visits/visit_status.dart (100%) rename {old_lib => lib}/views/widgets/visits/visits_list.dart (100%) delete mode 100644 lib/widgets/shared_widget.dart diff --git a/old_lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart similarity index 100% rename from old_lib/controllers/api_routes/urls.dart rename to lib/controllers/api_routes/urls.dart diff --git a/old_lib/controllers/http_status_manger/http_status_manger.dart b/lib/controllers/http_status_manger/http_status_manger.dart similarity index 100% rename from old_lib/controllers/http_status_manger/http_status_manger.dart rename to lib/controllers/http_status_manger/http_status_manger.dart diff --git a/old_lib/controllers/localization/localization.dart b/lib/controllers/localization/localization.dart similarity index 100% rename from old_lib/controllers/localization/localization.dart rename to lib/controllers/localization/localization.dart diff --git a/old_lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart similarity index 100% rename from old_lib/controllers/notification/firebase_notification_manger.dart rename to lib/controllers/notification/firebase_notification_manger.dart diff --git a/old_lib/controllers/notification/notification_manger.dart b/lib/controllers/notification/notification_manger.dart similarity index 100% rename from old_lib/controllers/notification/notification_manger.dart rename to lib/controllers/notification/notification_manger.dart diff --git a/old_lib/controllers/providers/api/departments_provider.dart b/lib/controllers/providers/api/departments_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/departments_provider.dart rename to lib/controllers/providers/api/departments_provider.dart diff --git a/old_lib/controllers/providers/api/device_transfer_provider.dart b/lib/controllers/providers/api/device_transfer_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/device_transfer_provider.dart rename to lib/controllers/providers/api/device_transfer_provider.dart diff --git a/old_lib/controllers/providers/api/devices_provider.dart b/lib/controllers/providers/api/devices_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/devices_provider.dart rename to lib/controllers/providers/api/devices_provider.dart diff --git a/old_lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/gas_refill_provider.dart rename to lib/controllers/providers/api/gas_refill_provider.dart diff --git a/old_lib/controllers/providers/api/hospitals_provider.dart b/lib/controllers/providers/api/hospitals_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/hospitals_provider.dart rename to lib/controllers/providers/api/hospitals_provider.dart diff --git a/old_lib/controllers/providers/api/notifications_provider.dart b/lib/controllers/providers/api/notifications_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/notifications_provider.dart rename to lib/controllers/providers/api/notifications_provider.dart diff --git a/old_lib/controllers/providers/api/parts_provider.dart b/lib/controllers/providers/api/parts_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/parts_provider.dart rename to lib/controllers/providers/api/parts_provider.dart diff --git a/old_lib/controllers/providers/api/preventive_maintenance_visits_provider.dart b/lib/controllers/providers/api/preventive_maintenance_visits_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/preventive_maintenance_visits_provider.dart rename to lib/controllers/providers/api/preventive_maintenance_visits_provider.dart diff --git a/old_lib/controllers/providers/api/regular_visits_provider.dart b/lib/controllers/providers/api/regular_visits_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/regular_visits_provider.dart rename to lib/controllers/providers/api/regular_visits_provider.dart diff --git a/old_lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/service_requests_provider.dart rename to lib/controllers/providers/api/service_requests_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/employee/employee_provider.dart b/lib/controllers/providers/api/status_drop_down/employee/employee_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/employee/employee_provider.dart rename to lib/controllers/providers/api/status_drop_down/employee/employee_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart b/lib/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart rename to lib/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart b/lib/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart rename to lib/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart b/lib/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart rename to lib/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart b/lib/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart rename to lib/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart b/lib/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart rename to lib/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart b/lib/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart rename to lib/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_status_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_report_types_provider.dart diff --git a/old_lib/controllers/providers/api/status_drop_down/report/service_types_provider.dart b/lib/controllers/providers/api/status_drop_down/report/service_types_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/status_drop_down/report/service_types_provider.dart rename to lib/controllers/providers/api/status_drop_down/report/service_types_provider.dart diff --git a/old_lib/controllers/providers/api/user_provider.dart b/lib/controllers/providers/api/user_provider.dart similarity index 100% rename from old_lib/controllers/providers/api/user_provider.dart rename to lib/controllers/providers/api/user_provider.dart diff --git a/old_lib/controllers/providers/settings/app_settings.dart b/lib/controllers/providers/settings/app_settings.dart similarity index 100% rename from old_lib/controllers/providers/settings/app_settings.dart rename to lib/controllers/providers/settings/app_settings.dart diff --git a/old_lib/controllers/providers/settings/setting_provider.dart b/lib/controllers/providers/settings/setting_provider.dart similarity index 100% rename from old_lib/controllers/providers/settings/setting_provider.dart rename to lib/controllers/providers/settings/setting_provider.dart diff --git a/old_lib/controllers/validator/validator.dart b/lib/controllers/validator/validator.dart similarity index 100% rename from old_lib/controllers/validator/validator.dart rename to lib/controllers/validator/validator.dart diff --git a/lib/core/app_configs/app_localizations.dart b/lib/core/app_configs/app_localizations.dart deleted file mode 100644 index b26ef59c..00000000 --- a/lib/core/app_configs/app_localizations.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:test_sa/core/enums.dart' show SupportedLanguagesEnum; - -class AppLocalizations { - AppLocalizations._(); - - static List supportedLocales = - SupportedLanguagesEnum.values.map((e) => Locale(e.name)).toList(); - - static List get delegates => const [ - // AppLocalization.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ]; -} diff --git a/lib/core/app_configs/app_routes.dart b/lib/core/app_configs/app_routes.dart deleted file mode 100644 index a45d0a44..00000000 --- a/lib/core/app_configs/app_routes.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:test_sa/screens/login_screen/login_screen.dart'; -import 'package:test_sa/screens/splash_screen/splash_screen.dart'; - -Map appRoutes = { - SplashScreen.routeName: (_) => const SplashScreen(), - LoginScreen.routeName: (_) => const LoginScreen(), - // LandPage.routeName: (_) => const LandPage(), - // Register.routeName: (_) => Register(), - // ProfilePage.routeName: (_) => ProfilePage(), - // ReportIssuesPage.routeName: (_) => const ReportIssuesPage(), - // RequestGasRefill.routeName: (_) => const RequestGasRefill(), - // CreateRequestPage.routeName: (_) => CreateRequestPage(), - // SingleHospitalPicker.routeName: (_) => SingleHospitalPicker(), - // SingleDevicePicker.routeName: (_) => SingleDevicePicker(), - // SingleDepartmentPicker.routeName: (_) => SingleDepartmentPicker(), - // ServiceRequestsPage.routeName: (_) => ServiceRequestsPage(), - // NotificationsPage.routeName: (_) => NotificationsPage(), - // FutureRequestServiceDetails.routeName: (_) => - // FutureRequestServiceDetails(), - // PreventiveMaintenanceVisitsPage.routeName: (_) => - // PreventiveMaintenanceVisitsPage(), - // RegularVisitsPage.routeName: (_) => RegularVisitsPage(), - // TrackGasRefillPage.routeName: (_) => const TrackGasRefillPage(), - // RequestDeviceTransfer.routeName: (_) => - // const RequestDeviceTransfer(), - // TrackDeviceTransferPage.routeName: (_) => - // const TrackDeviceTransferPage(), -}; diff --git a/lib/core/app_configs/app_theme.dart b/lib/core/app_configs/app_theme.dart deleted file mode 100644 index ae61fed9..00000000 --- a/lib/core/app_configs/app_theme.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:test_sa/core/constants/app_colors.dart'; - -class AppTheme { - AppTheme._(); - - static get theme => ThemeData( - fontFamily: "Poppins", - canvasColor: AppColors.primaryColor, - scaffoldBackgroundColor: AppColors.scaffoldBackgroundColor, - primaryColor: AppColors.primaryColor, - indicatorColor: AppColors.primaryColor, - colorScheme: const ColorScheme.light( - primary: AppColors.primaryColor, - onPrimary: Colors.white, - secondary: AppColors.secondaryColor, - onSecondary: Colors.white, - ), - ); -} diff --git a/lib/core/constants/api_constants.dart b/lib/core/constants/api_constants.dart deleted file mode 100644 index 7738c43a..00000000 --- a/lib/core/constants/api_constants.dart +++ /dev/null @@ -1,66 +0,0 @@ -class ApiConstants { - ApiConstants._(); - static const host2 = "http://194.163.164.213/atoms/api"; - static const host1 = "https://atoms.hmg.com/api"; - - // API Routes - static const login = "/handle/user/login"; // post - static const register = "/handle/create/user"; // post - static const updateProfile = "/update/user/profile"; // post - static const getHospitals = "/handle/return/all/clients"; // get - static const getDepartments = "/handle/return/all/departments"; // get - static const getEquipment = "/handle/return/all/client/equipments"; // get ?client=208051 - static const getServiceRequests = "/return/user/calls"; // get - - static const getPreventiveMaintenanceVisits = "/return/user/calibrations"; // get - static const updatePreventiveMaintenanceVisits = "/update/user/calibrations"; // get - - static const getRegularVisits = "/return/user/ppm"; // get - static const updateRegularVisits = "/update/user/ppm"; // get - - static const getSingleServiceRequest = "/return/call/information"; // get - static const getNotifications = "/return/user/notification"; // get - static const getRecentNotifications = "/return/user/recent/notification"; // get - static const createRequest = "/handle/create/request"; // get - static const createReport = "/handle/create/report/issue"; // get - static const updateRequestDate = "/handle/update/request"; // get - - // service report - static const createServiceReport = "/handle/create/service/report"; // get - static const updateServiceReport = "/handle/update/service/report"; // get - static const getServiceReport = "/handle/view/service/report"; // get - static const createDuplicatedReport = "/handle/duplicate/request"; // get - - static const getServiceReportReasons = "/return/service/report/reasons"; // get - static const getServiceReportTypes = "/return/service/report/type"; // get - static const getServiceReportStatus = "/return/service/report/status"; // get - static const getServiceReportLastCalls = "/return/call/last/situation"; // get - static const getServiceTypes = "/return/service/type"; // get - static const getPartNumber = "/handle/return/all/parts"; // get - static const getServiceReportPriority = "/return/call/priority/list"; // get - static const getServiceReportDefectTypes = "/return/call/defect/type/list"; // get - - //gas refill - static const getGasTypes = "/return/gas/refill/types"; // get - static const getGasCylinderSize = "/return/gas/refill/size/cylinder"; // get - static const getGasStatus = "/return/gas/refill/status"; // get - static const requestGasRefill = "/create/gas/refill"; // get - static const updateGasRefill = "/update/gas/refill/"; // get - static const getGasRefill = "/search/gas/refill"; // get - - //device transfer - static const requestDeviceTransfer = "/create/transfer/asset"; // get - static const updateDeviceTransfer = "/update/transfer/asset"; // get - static const getDeviceTransfer = "/search/transfer/asset"; // get - - // employee - static const getEmployees = "/return/assigned/employee"; // get - // pentry - static const getPentry = "/return/pentry/details"; // get - static const updatePentry = "/update/pentry/details"; // get - static const getPentryTaskStatus = "/return/pentry/task/status"; // get - static const getPentryVisitStatus = "/return/pentry/visit/status/list"; // get - static const getPentryStatus = "/return/pentry/status/list"; // get - // contacts - static const getPentryContacts = "/handle/return/all/contacts"; // get -} diff --git a/lib/core/constants/app_colors.dart b/lib/core/constants/app_colors.dart deleted file mode 100644 index a8ebe4ce..00000000 --- a/lib/core/constants/app_colors.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -class AppColors { - AppColors._(); - - static const Color white = Color(0xffffffff); - static const Color black = Color(0xff000000); - static const Color grey3A = Color(0xff2e303a); - static const Color grey = Color(0xffe1e7e7); - static const green = Colors.green; - static const Color orange = Colors.orange; - static const Color deepOrange = Colors.deepOrangeAccent; - static const Color red = Colors.red; - static const Color deepRed = Color(0xFFD32F2F); - static const Color scaffoldBackgroundColor = Color(0xffffffff); - static const Color secondaryColor = Color(0xff111427); - static const Color primaryColor = Color(0xff5bb0da); - static const Color cyan = Color(0xff4A8DB7); - static const Color onPrimaryColor = Color(0xffffffff); - static const Color inputFieldBackgroundColor = Color(0xfff5f5f5); - static const Color greyEF = Color(0xffEFEFEF); - - static Color getRequestStatusColor(int id) { - switch (id) { - case 4: - return deepRed; - case 6: - return green; - case 5: - return orange; - case 8: - return green; - case 9: - return orange; - default: - return grey; - } - } - - static Color getGasStatusColor(int id) { - switch (id) { - case 0: - return orange; - case 1: - return green; - default: - return grey; - } - } -} diff --git a/lib/core/enums.dart b/lib/core/enums.dart deleted file mode 100644 index c5cc7bbe..00000000 --- a/lib/core/enums.dart +++ /dev/null @@ -1,20 +0,0 @@ -enum SupportedLanguagesEnum { ar, en } - -enum RequestMethod { get, post, put, delete } - -enum ApiExceptionsEnum { - badRequest(10), - unauthorized(10), - forbidden(10), - notFound(10), - internalServerError(10), - upgradeRequired(10), - badResponseFormat(10), - other(10), - timeout(10), - unknown(10); - - final int statusCode; - - const ApiExceptionsEnum(this.statusCode); -} diff --git a/lib/core/extensions/context_extension.dart b/lib/core/extensions/context_extension.dart deleted file mode 100644 index 65f8e468..00000000 --- a/lib/core/extensions/context_extension.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:flutter/widgets.dart'; - -extension ContextExtension on BuildContext {} diff --git a/lib/core/extensions/num_extension.dart b/lib/core/extensions/num_extension.dart deleted file mode 100644 index 440d8401..00000000 --- a/lib/core/extensions/num_extension.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:test_sa/core/constants/app_colors.dart'; - -extension NumExtension on num { - Widget get height => SizedBox(height: toDouble()); - - Widget get width => SizedBox(width: toDouble()); - - Widget get divider => Divider( - height: toDouble(), - thickness: toDouble(), - color: AppColors.greyEF, - ); - - Widget get makeItSquare => SizedBox(width: toDouble(), height: toDouble()); -} diff --git a/lib/core/extensions/string_extension.dart b/lib/core/extensions/string_extension.dart deleted file mode 100644 index 4259e1e7..00000000 --- a/lib/core/extensions/string_extension.dart +++ /dev/null @@ -1 +0,0 @@ -extension StringExtension on String {} diff --git a/lib/core/extensions/widget_extension.dart b/lib/core/extensions/widget_extension.dart deleted file mode 100644 index 134f9496..00000000 --- a/lib/core/extensions/widget_extension.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:flutter/material.dart'; - -extension WidgetExtension on Widget {} diff --git a/lib/core/utils/provider_scope.dart b/lib/core/utils/provider_scope.dart deleted file mode 100644 index 5d83ff39..00000000 --- a/lib/core/utils/provider_scope.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import 'package:test_sa/providers/settings_provider.dart'; - -class ProviderScope extends StatelessWidget { - final Widget child; - - const ProviderScope({required this.child, Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MultiProvider( - providers: [ - ChangeNotifierProvider(create: (_) => SettingsProvider()), - // ChangeNotifierProvider(create: (_) => UserProvider()), - // ChangeNotifierProvider(create: (_) => HospitalsProvider()), - // ChangeNotifierProvider(create: (_) => DevicesProvider()), - // ChangeNotifierProvider(create: (_) => ServiceRequestsProvider()), - // ChangeNotifierProvider(create: (_) => DepartmentsProvider()), - // ChangeNotifierProvider(create: (_) => NotificationsProvider()), - // ChangeNotifierProvider( - // create: (_) => PreventiveMaintenanceVisitsProvider()), - // ChangeNotifierProvider(create: (_) => RegularVisitsProvider()), - // ChangeNotifierProvider(create: (_) => PartsProvider()), - // ChangeNotifierProvider(create: (_) => ServiceReportReasonsProvider()), - // ChangeNotifierProvider(create: (_) => ServiceReportStatusProvider()), - // ChangeNotifierProvider(create: (_) => ServiceReportTypesProvider()), - // ChangeNotifierProvider(create: (_) => ServiceStatusProvider()), - // ChangeNotifierProvider(create: (_) => ServiceReportLastCallsProvider()), - // ChangeNotifierProvider(create: (_) => GasCylinderSizesProvider()), - // ChangeNotifierProvider(create: (_) => GasStatusProvider()), - // ChangeNotifierProvider(create: (_) => GasTypesProvider()), - // ChangeNotifierProvider(create: (_) => GasRefillProvider()), - // ChangeNotifierProvider(create: (_) => DeviceTransferProvider()), - // ChangeNotifierProvider(create: (_) => EmployeesProvider()), - // ChangeNotifierProvider(create: (_) => PentryTaskStatusProvider()), - // ChangeNotifierProvider(create: (_) => PentryVisitStatusProvider()), - // ChangeNotifierProvider(create: (_) => PentryStatusProvider()), - // ChangeNotifierProvider(create: (_) => ServiceRequestPriorityProvider()), - // ChangeNotifierProvider( - // create: (_) => ServiceRequestDefectTypesProvider()), - ], - child: child, - ); - } -} diff --git a/lib/data/api/api_client.dart b/lib/data/api/api_client.dart deleted file mode 100644 index 71192923..00000000 --- a/lib/data/api/api_client.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'dart:convert'; - -import 'package:http/http.dart' as http; -import 'package:test_sa/core/enums.dart'; - -class ApiClient { - final String baseUrl, endPoint; - final RequestMethod requestMethod; - - ApiClient.request({ - required this.baseUrl, - required this.endPoint, - required this.requestMethod, - }); - - Future> execute({ - Map? headers, - Map? queryParameters, - Object? body, - }) async { - final url = Uri.tryParse(baseUrl + endPoint); - if (url != null) { - late http.Response response; - switch (requestMethod) { - case RequestMethod.get: - response = await http.get(url, headers: headers); - break; - case RequestMethod.post: - response = await http.post(url, headers: headers, body: body); - break; - case RequestMethod.put: - response = await http.put(url, headers: headers, body: body); - break; - case RequestMethod.delete: - response = await http.delete(url, headers: headers, body: body); - break; - } - return await _handleResponse(response); - } else { - throw ApiExceptionsEnum.other; - } - } - - Future> _handleResponse(http.Response response) { - print('status code ${response.statusCode} : ${response.request?.url}'); - if (response.statusCode == 200) { - return jsonDecode(response.body); - } else if (response.statusCode == 401) { - throw ApiExceptionsEnum.unauthorized; - } else if (response.statusCode == 400) { - throw ApiExceptionsEnum.badRequest; - } else if (response.statusCode == 500) { - throw ApiExceptionsEnum.internalServerError; - } - throw ApiExceptionsEnum.unknown; - } -} diff --git a/lib/data/api/services/user_service.dart b/lib/data/api/services/user_service.dart deleted file mode 100644 index 98e98dde..00000000 --- a/lib/data/api/services/user_service.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:test_sa/core/enums.dart'; -import 'package:test_sa/data/api/api_client.dart'; -import 'package:test_sa/data/models/user_model.dart'; - -class UserService { - static UserService instance = UserService._internal(); - - UserService._internal(); - - Future getUser() async { - final response = await ApiClient.request( - baseUrl: 'baseUrl', - endPoint: 'endPoint', - requestMethod: RequestMethod.get, - ).execute(); - return UserModel.fromJson(response); - } -} diff --git a/lib/data/models/user_model.dart b/lib/data/models/user_model.dart deleted file mode 100644 index 0eef497b..00000000 --- a/lib/data/models/user_model.dart +++ /dev/null @@ -1,7 +0,0 @@ -class UserModel { - UserModel(); - - factory UserModel.fromJson(Map json) { - return UserModel(); - } -} diff --git a/old_lib/extensions/int_extensions.dart b/lib/extensions/int_extensions.dart similarity index 100% rename from old_lib/extensions/int_extensions.dart rename to lib/extensions/int_extensions.dart diff --git a/old_lib/extensions/string_extensions.dart b/lib/extensions/string_extensions.dart similarity index 100% rename from old_lib/extensions/string_extensions.dart rename to lib/extensions/string_extensions.dart diff --git a/old_lib/extensions/widget_extensions.dart b/lib/extensions/widget_extensions.dart similarity index 100% rename from old_lib/extensions/widget_extensions.dart rename to lib/extensions/widget_extensions.dart diff --git a/lib/main.dart b/lib/main.dart index cb0bb858..d08a5013 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,38 +2,113 @@ import 'dart:io'; import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:provider/provider.dart'; -import 'package:test_sa/providers/settings_provider.dart'; -import 'package:test_sa/screens/splash_screen/splash_screen.dart'; +import 'package:test_sa/controllers/localization/localization.dart'; +import 'package:test_sa/controllers/providers/api/departments_provider.dart'; +import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart'; +import 'package:test_sa/controllers/providers/api/devices_provider.dart'; +import 'package:test_sa/controllers/providers/api/gas_refill_provider.dart'; +import 'package:test_sa/controllers/providers/api/hospitals_provider.dart'; +import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; +import 'package:test_sa/controllers/providers/api/regular_visits_provider.dart'; +import 'package:test_sa/controllers/providers/api/service_requests_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/employee/employee_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart'; +import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart'; +import 'package:test_sa/views/app_style/colors.dart'; +import 'package:test_sa/views/pages/login.dart'; +import 'package:test_sa/views/pages/register.dart'; +import 'package:test_sa/views/pages/splash_screen.dart'; +import 'package:test_sa/views/pages/user/gas_refill/request_gas_refill.dart'; +import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart'; +import 'package:test_sa/views/pages/user/land_page.dart'; +import 'package:test_sa/views/pages/user/notifications/notifications_page.dart'; +import 'package:test_sa/views/pages/user/profile_page.dart'; +import 'package:test_sa/views/pages/user/report_issues_page.dart'; +import 'package:test_sa/views/pages/user/requests/create_request.dart'; +import 'package:test_sa/views/pages/user/requests/future_request_service_details.dart'; +import 'package:test_sa/views/pages/user/requests/requests_page.dart'; +import 'package:test_sa/views/pages/user/visits/preventive_maintenance_visits_page.dart'; +import 'package:test_sa/views/pages/user/visits/regular_visits_page.dart'; +import 'package:test_sa/views/widgets/departments/single_department_picker.dart'; +import 'package:test_sa/views/widgets/equipment/single_device_picker.dart'; -import 'core/app_configs/app_localizations.dart'; -import 'core/app_configs/app_routes.dart'; -import 'core/app_configs/app_theme.dart'; -import 'core/utils/provider_scope.dart'; +import 'controllers/providers/api/parts_provider.dart'; +import 'controllers/providers/api/preventive_maintenance_visits_provider.dart'; +import 'controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart'; +import 'controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart'; +import 'controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart'; +import 'controllers/providers/api/status_drop_down/report/service_report_status_provider.dart'; +import 'controllers/providers/api/status_drop_down/report/service_report_types_provider.dart'; +import 'controllers/providers/api/status_drop_down/report/service_types_provider.dart'; +import 'controllers/providers/api/user_provider.dart'; +import 'controllers/providers/settings/setting_provider.dart'; +import 'views/pages/device_transfer/request_device_transfer.dart'; +import 'views/pages/device_transfer/track_device_transfer.dart'; +import 'views/widgets/hospitals/single_hospital_picker.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); if (Platform.isIOS) { await Firebase.initializeApp( options: const FirebaseOptions( - apiKey: "AIzaSyACQkSleNwU1jzEKR5ho1uSfZERokwwAbc", - appId: "1:973582662416:ios:bc4a8061444c6a08fbc395", - messagingSenderId: "973582662416", - projectId: "atoms-fb912", - ), + apiKey: "AIzaSyACQkSleNwU1jzEKR5ho1uSfZERokwwAbc", + appId: "1:973582662416:ios:bc4a8061444c6a08fbc395", + messagingSenderId: "973582662416", + projectId: "atoms-fb912"), ); } else { await Firebase.initializeApp(); } - runApp(const EntryPoint()); + runApp(ChangeNotifierProvider( + create: (_) => SettingProvider(), + child: MyApp(), + )); } -class EntryPoint extends StatelessWidget { - const EntryPoint({Key? key}) : super(key: key); +class MyApp extends StatelessWidget { + const MyApp({super.key}); + // This widget is the root of your application. @override Widget build(BuildContext context) { - return ProviderScope( + final settingProvider = Provider.of(context); + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => UserProvider()), + ChangeNotifierProvider(create: (_) => HospitalsProvider()), + ChangeNotifierProvider(create: (_) => DevicesProvider()), + ChangeNotifierProvider(create: (_) => ServiceRequestsProvider()), + ChangeNotifierProvider(create: (_) => DepartmentsProvider()), + ChangeNotifierProvider(create: (_) => NotificationsProvider()), + ChangeNotifierProvider( + create: (_) => PreventiveMaintenanceVisitsProvider()), + ChangeNotifierProvider(create: (_) => RegularVisitsProvider()), + ChangeNotifierProvider(create: (_) => PartsProvider()), + ChangeNotifierProvider(create: (_) => ServiceReportReasonsProvider()), + ChangeNotifierProvider(create: (_) => ServiceReportStatusProvider()), + ChangeNotifierProvider(create: (_) => ServiceReportTypesProvider()), + ChangeNotifierProvider(create: (_) => ServiceStatusProvider()), + ChangeNotifierProvider(create: (_) => ServiceReportLastCallsProvider()), + ChangeNotifierProvider(create: (_) => GasCylinderSizesProvider()), + ChangeNotifierProvider(create: (_) => GasStatusProvider()), + ChangeNotifierProvider(create: (_) => GasTypesProvider()), + ChangeNotifierProvider(create: (_) => GasRefillProvider()), + ChangeNotifierProvider(create: (_) => DeviceTransferProvider()), + ChangeNotifierProvider(create: (_) => EmployeesProvider()), + ChangeNotifierProvider(create: (_) => PentryTaskStatusProvider()), + ChangeNotifierProvider(create: (_) => PentryVisitStatusProvider()), + ChangeNotifierProvider(create: (_) => PentryStatusProvider()), + ChangeNotifierProvider(create: (_) => ServiceRequestPriorityProvider()), + ChangeNotifierProvider( + create: (_) => ServiceRequestDefectTypesProvider()), + ], child: GestureDetector( onTap: () { FocusScopeNode currentFocus = FocusScope.of(context); @@ -41,17 +116,56 @@ class EntryPoint extends StatelessWidget { FocusManager.instance.primaryFocus?.unfocus(); } }, - child: Consumer( - builder: (context, settingProvider, _) => MaterialApp( - title: 'ATOMS', - debugShowCheckedModeBanner: false, - theme: AppTheme.theme, - localizationsDelegates: AppLocalizations.delegates, - supportedLocales: AppLocalizations.supportedLocales, - locale: settingProvider.locale, - initialRoute: SplashScreen.routeName, - routes: appRoutes, - ), + child: MaterialApp( + title: 'ATOMS', + debugShowCheckedModeBanner: false, + theme: ThemeData( + fontFamily: "Poppins", + //canvasColor: AColors.primaryColor, + scaffoldBackgroundColor: AColors.scaffoldBackgroundColor, + primaryColor: AColors.primaryColor, + indicatorColor: AColors.primaryColor, + colorScheme: const ColorScheme.light( + primary: AColors.primaryColor, + onPrimary: Colors.white, + secondary: AColors.secondaryColor, + onSecondary: Colors.white)), + localizationsDelegates: const [ + // ... app-specific localization delegate[s] here + AppLocalization.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + supportedLocales: const [ + Locale('en'), + Locale('ar'), + ], + locale: Locale(settingProvider.language ?? 'en'), + initialRoute: SplashScreen.id, + routes: { + SplashScreen.id: (_) => const SplashScreen(), + LandPage.id: (_) => const LandPage(), + Login.id: (_) => Login(), + Register.id: (_) => Register(), + ProfilePage.id: (_) => ProfilePage(), + ReportIssuesPage.id: (_) => const ReportIssuesPage(), + RequestGasRefill.id: (_) => const RequestGasRefill(), + CreateRequestPage.id: (_) => CreateRequestPage(), + SingleHospitalPicker.id: (_) => SingleHospitalPicker(), + SingleDevicePicker.id: (_) => SingleDevicePicker(), + SingleDepartmentPicker.id: (_) => SingleDepartmentPicker(), + ServiceRequestsPage.id: (_) => ServiceRequestsPage(), + NotificationsPage.id: (_) => NotificationsPage(), + FutureRequestServiceDetails.id: (_) => + FutureRequestServiceDetails(), + PreventiveMaintenanceVisitsPage.id: (_) => + PreventiveMaintenanceVisitsPage(), + RegularVisitsPage.id: (_) => RegularVisitsPage(), + TrackGasRefillPage.id: (_) => const TrackGasRefillPage(), + RequestDeviceTransfer.id: (_) => const RequestDeviceTransfer(), + TrackDeviceTransferPage.id: (_) => const TrackDeviceTransferPage(), + }, ), ), ); diff --git a/old_lib/models/app_notification.dart b/lib/models/app_notification.dart similarity index 100% rename from old_lib/models/app_notification.dart rename to lib/models/app_notification.dart diff --git a/old_lib/models/department.dart b/lib/models/department.dart similarity index 100% rename from old_lib/models/department.dart rename to lib/models/department.dart diff --git a/old_lib/models/device/device.dart b/lib/models/device/device.dart similarity index 100% rename from old_lib/models/device/device.dart rename to lib/models/device/device.dart diff --git a/old_lib/models/device/device_transfer.dart b/lib/models/device/device_transfer.dart similarity index 100% rename from old_lib/models/device/device_transfer.dart rename to lib/models/device/device_transfer.dart diff --git a/old_lib/models/device/device_transfer_info.dart b/lib/models/device/device_transfer_info.dart similarity index 100% rename from old_lib/models/device/device_transfer_info.dart rename to lib/models/device/device_transfer_info.dart diff --git a/old_lib/models/enums/user_types.dart b/lib/models/enums/user_types.dart similarity index 100% rename from old_lib/models/enums/user_types.dart rename to lib/models/enums/user_types.dart diff --git a/old_lib/models/gas_refill/gas_refill_details.dart b/lib/models/gas_refill/gas_refill_details.dart similarity index 100% rename from old_lib/models/gas_refill/gas_refill_details.dart rename to lib/models/gas_refill/gas_refill_details.dart diff --git a/old_lib/models/gas_refill/gas_refill_model.dart b/lib/models/gas_refill/gas_refill_model.dart similarity index 100% rename from old_lib/models/gas_refill/gas_refill_model.dart rename to lib/models/gas_refill/gas_refill_model.dart diff --git a/old_lib/models/hospital.dart b/lib/models/hospital.dart similarity index 100% rename from old_lib/models/hospital.dart rename to lib/models/hospital.dart diff --git a/old_lib/models/issue.dart b/lib/models/issue.dart similarity index 100% rename from old_lib/models/issue.dart rename to lib/models/issue.dart diff --git a/old_lib/models/lookup.dart b/lib/models/lookup.dart similarity index 100% rename from old_lib/models/lookup.dart rename to lib/models/lookup.dart diff --git a/old_lib/models/pantry/calibration_tools.dart b/lib/models/pantry/calibration_tools.dart similarity index 100% rename from old_lib/models/pantry/calibration_tools.dart rename to lib/models/pantry/calibration_tools.dart diff --git a/old_lib/models/pantry/contact.dart b/lib/models/pantry/contact.dart similarity index 100% rename from old_lib/models/pantry/contact.dart rename to lib/models/pantry/contact.dart diff --git a/old_lib/models/pantry/lookups/contact_person.dart b/lib/models/pantry/lookups/contact_person.dart similarity index 100% rename from old_lib/models/pantry/lookups/contact_person.dart rename to lib/models/pantry/lookups/contact_person.dart diff --git a/old_lib/models/pantry/lookups/contact_title.dart b/lib/models/pantry/lookups/contact_title.dart similarity index 100% rename from old_lib/models/pantry/lookups/contact_title.dart rename to lib/models/pantry/lookups/contact_title.dart diff --git a/old_lib/models/pantry/pentry.dart b/lib/models/pantry/pentry.dart similarity index 100% rename from old_lib/models/pantry/pentry.dart rename to lib/models/pantry/pentry.dart diff --git a/old_lib/models/pantry/pm_kit.dart b/lib/models/pantry/pm_kit.dart similarity index 100% rename from old_lib/models/pantry/pm_kit.dart rename to lib/models/pantry/pm_kit.dart diff --git a/old_lib/models/pantry/ppm_check_list.dart b/lib/models/pantry/ppm_check_list.dart similarity index 100% rename from old_lib/models/pantry/ppm_check_list.dart rename to lib/models/pantry/ppm_check_list.dart diff --git a/old_lib/models/part.dart b/lib/models/part.dart similarity index 100% rename from old_lib/models/part.dart rename to lib/models/part.dart diff --git a/old_lib/models/service_report.dart b/lib/models/service_report.dart similarity index 100% rename from old_lib/models/service_report.dart rename to lib/models/service_report.dart diff --git a/old_lib/models/service_request/service_request.dart b/lib/models/service_request/service_request.dart similarity index 100% rename from old_lib/models/service_request/service_request.dart rename to lib/models/service_request/service_request.dart diff --git a/old_lib/models/service_request/service_request_search.dart b/lib/models/service_request/service_request_search.dart similarity index 100% rename from old_lib/models/service_request/service_request_search.dart rename to lib/models/service_request/service_request_search.dart diff --git a/old_lib/models/subtitle.dart b/lib/models/subtitle.dart similarity index 100% rename from old_lib/models/subtitle.dart rename to lib/models/subtitle.dart diff --git a/old_lib/models/timer_model.dart b/lib/models/timer_model.dart similarity index 100% rename from old_lib/models/timer_model.dart rename to lib/models/timer_model.dart diff --git a/old_lib/models/user.dart b/lib/models/user.dart similarity index 100% rename from old_lib/models/user.dart rename to lib/models/user.dart diff --git a/old_lib/models/visits/visit.dart b/lib/models/visits/visit.dart similarity index 100% rename from old_lib/models/visits/visit.dart rename to lib/models/visits/visit.dart diff --git a/old_lib/models/visits/visits_group.dart b/lib/models/visits/visits_group.dart similarity index 100% rename from old_lib/models/visits/visits_group.dart rename to lib/models/visits/visits_group.dart diff --git a/old_lib/models/visits/visits_search.dart b/lib/models/visits/visits_search.dart similarity index 100% rename from old_lib/models/visits/visits_search.dart rename to lib/models/visits/visits_search.dart diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart deleted file mode 100644 index c1916cd4..00000000 --- a/lib/providers/settings_provider.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; - -class SettingsProvider with ChangeNotifier { - Locale? _locale; - - Locale? get locale => _locale; - - set locale(Locale? value) { - _locale = value; - notifyListeners(); - } -} diff --git a/lib/screens/login_screen/login_screen.dart b/lib/screens/login_screen/login_screen.dart deleted file mode 100644 index c611693d..00000000 --- a/lib/screens/login_screen/login_screen.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; - -class LoginScreen extends StatelessWidget { - static const routeName = '/loginScreen'; - - const LoginScreen({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Scaffold(); - } -} diff --git a/lib/screens/splash_screen/splash_screen.dart b/lib/screens/splash_screen/splash_screen.dart deleted file mode 100644 index bc01283f..00000000 --- a/lib/screens/splash_screen/splash_screen.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flare_flutter/flare_actor.dart'; -import 'package:flutter/material.dart'; -import 'package:test_sa/screens/login_screen/login_screen.dart'; - -class SplashScreen extends StatelessWidget { - static const routeName = "/splashScreen"; - - const SplashScreen({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Colors.white, - body: Center( - child: SizedBox( - width: MediaQuery.of(context).size.width / 1.1, - child: FlareActor( - "assets/rives/atoms_splash.flr", - fit: BoxFit.contain, - animation: "splash", - callback: (animation) async { - Navigator.of(context).pushNamed(LoginScreen.routeName); - // if (_settingProvider.isLoaded && _settingProvider.user != null) { - // _goToUserScreen(_settingProvider.user); - // } - }, - ), - ), - ), - ); - } -} diff --git a/old_lib/views/app_style/colors.dart b/lib/views/app_style/colors.dart similarity index 100% rename from old_lib/views/app_style/colors.dart rename to lib/views/app_style/colors.dart diff --git a/old_lib/views/app_style/sizing.dart b/lib/views/app_style/sizing.dart similarity index 100% rename from old_lib/views/app_style/sizing.dart rename to lib/views/app_style/sizing.dart diff --git a/old_lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart similarity index 100% rename from old_lib/views/pages/device_transfer/device_transfer_details.dart rename to lib/views/pages/device_transfer/device_transfer_details.dart diff --git a/old_lib/views/pages/device_transfer/request_device_transfer.dart b/lib/views/pages/device_transfer/request_device_transfer.dart similarity index 100% rename from old_lib/views/pages/device_transfer/request_device_transfer.dart rename to lib/views/pages/device_transfer/request_device_transfer.dart diff --git a/old_lib/views/pages/device_transfer/track_device_transfer.dart b/lib/views/pages/device_transfer/track_device_transfer.dart similarity index 100% rename from old_lib/views/pages/device_transfer/track_device_transfer.dart rename to lib/views/pages/device_transfer/track_device_transfer.dart diff --git a/old_lib/views/pages/device_transfer/update_device_transfer.dart b/lib/views/pages/device_transfer/update_device_transfer.dart similarity index 100% rename from old_lib/views/pages/device_transfer/update_device_transfer.dart rename to lib/views/pages/device_transfer/update_device_transfer.dart diff --git a/old_lib/views/pages/login.dart b/lib/views/pages/login.dart similarity index 100% rename from old_lib/views/pages/login.dart rename to lib/views/pages/login.dart diff --git a/old_lib/views/pages/register.dart b/lib/views/pages/register.dart similarity index 100% rename from old_lib/views/pages/register.dart rename to lib/views/pages/register.dart diff --git a/old_lib/views/pages/splash_screen.dart b/lib/views/pages/splash_screen.dart similarity index 86% rename from old_lib/views/pages/splash_screen.dart rename to lib/views/pages/splash_screen.dart index 003b0599..0d2e9650 100644 --- a/old_lib/views/pages/splash_screen.dart +++ b/lib/views/pages/splash_screen.dart @@ -15,7 +15,7 @@ import 'login.dart'; import 'user/land_page.dart'; class SplashScreen extends StatefulWidget { - static const String routeName = '/splashScreen'; + static const String id = '/splashScreen'; const SplashScreen({Key? key}) : super(key: key); @@ -38,10 +38,11 @@ class _SplashScreenState extends State { Firebase.initializeApp(); NotificationManger.initialisation((notificationDetails) { - AppNotification notification = - AppNotification.fromJson(json.decode(notificationDetails.payload??"")); - if (notification.path == null || (notification.path?.isEmpty??false)) return; - Navigator.pushNamed(context, notification.path??"", + AppNotification notification = AppNotification.fromJson( + json.decode(notificationDetails.payload ?? "")); + if (notification.path == null || (notification.path?.isEmpty ?? false)) + return; + Navigator.pushNamed(context, notification.path ?? "", arguments: notification.requestId); }, (id, title, body, payload) async {}); super.initState(); @@ -63,7 +64,8 @@ class _SplashScreenState extends State { callback: (animation) async { print(await FirebaseMessaging.instance.getToken()); Navigator.of(context).pushNamed(Login.id); - if ((_settingProvider?.isLoaded??false) && _settingProvider?.user != null) { + if ((_settingProvider?.isLoaded ?? false) && + _settingProvider?.user != null) { _goToUserScreen(_settingProvider?.user); } }, diff --git a/old_lib/views/pages/user/gas_refill/gas_refill_details.dart b/lib/views/pages/user/gas_refill/gas_refill_details.dart similarity index 100% rename from old_lib/views/pages/user/gas_refill/gas_refill_details.dart rename to lib/views/pages/user/gas_refill/gas_refill_details.dart diff --git a/old_lib/views/pages/user/gas_refill/request_gas_refill.dart b/lib/views/pages/user/gas_refill/request_gas_refill.dart similarity index 100% rename from old_lib/views/pages/user/gas_refill/request_gas_refill.dart rename to lib/views/pages/user/gas_refill/request_gas_refill.dart diff --git a/old_lib/views/pages/user/gas_refill/track_gas_refill.dart b/lib/views/pages/user/gas_refill/track_gas_refill.dart similarity index 100% rename from old_lib/views/pages/user/gas_refill/track_gas_refill.dart rename to lib/views/pages/user/gas_refill/track_gas_refill.dart diff --git a/old_lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart similarity index 100% rename from old_lib/views/pages/user/land_page.dart rename to lib/views/pages/user/land_page.dart diff --git a/old_lib/views/pages/user/notifications/notifications_list.dart b/lib/views/pages/user/notifications/notifications_list.dart similarity index 100% rename from old_lib/views/pages/user/notifications/notifications_list.dart rename to lib/views/pages/user/notifications/notifications_list.dart diff --git a/old_lib/views/pages/user/notifications/notifications_page.dart b/lib/views/pages/user/notifications/notifications_page.dart similarity index 100% rename from old_lib/views/pages/user/notifications/notifications_page.dart rename to lib/views/pages/user/notifications/notifications_page.dart diff --git a/old_lib/views/pages/user/profile_page.dart b/lib/views/pages/user/profile_page.dart similarity index 100% rename from old_lib/views/pages/user/profile_page.dart rename to lib/views/pages/user/profile_page.dart diff --git a/old_lib/views/pages/user/report_issues_page.dart b/lib/views/pages/user/report_issues_page.dart similarity index 67% rename from old_lib/views/pages/user/report_issues_page.dart rename to lib/views/pages/user/report_issues_page.dart index 64154fba..8f9462a5 100644 --- a/old_lib/views/pages/user/report_issues_page.dart +++ b/lib/views/pages/user/report_issues_page.dart @@ -20,10 +20,10 @@ import '../../widgets/issues/report_issue_item.dart'; import '../../widgets/loaders/loading_manager.dart'; class ReportIssuesPage extends StatefulWidget { - static final String id = "/report-issue"; - final ServiceRequest serviceRequest; + static const String id = "/report-issue"; + final ServiceRequest? serviceRequest; - const ReportIssuesPage({Key? key, required this.serviceRequest}) : super(key: key); + const ReportIssuesPage({Key? key, this.serviceRequest}) : super(key: key); @override _ReportIssuesPageState createState() => _ReportIssuesPageState(); } @@ -67,36 +67,38 @@ class _ReportIssuesPageState extends State { ), child: Text( _subtitle.reportIssue, - style: Theme.of(context).textTheme.headline5?.copyWith( - color: AColors.cyan, - fontWeight: FontWeight.bold - ), + style: Theme.of(context) + .textTheme + .headline5 + ?.copyWith( + color: AColors.cyan, + fontWeight: FontWeight.bold), ), ), ), Image( - height: _height/8, + height: _height / 8, image: AssetImage("assets/images/logo.png"), ), - Container( padding: EdgeInsets.symmetric( - horizontal: 16, - vertical: 16, + horizontal: 16, + vertical: 16, ), decoration: BoxDecoration( color: AColors.grey, borderRadius: BorderRadius.only( - topLeft: Radius.circular(AppStyle.getBorderRadius(context)), - topRight: Radius.circular(AppStyle.getBorderRadius(context)), + topLeft: Radius.circular( + AppStyle.getBorderRadius(context)), + topRight: Radius.circular( + AppStyle.getBorderRadius(context)), ), boxShadow: [ BoxShadow( color: AColors.grey, - offset: Offset(0,-1), + offset: Offset(0, -1), ) - ] - ), + ]), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -105,32 +107,33 @@ class _ReportIssuesPageState extends State { hintText: _subtitle.title, textAlign: TextAlign.center, style: Theme.of(context).textTheme.headline6, - validator: (value) => - Validator.hasValue(value!) - ? '' : _subtitle.titleValidateMessage, + validator: (value) => Validator.hasValue(value!) + ? '' + : _subtitle.titleValidateMessage, textInputType: TextInputType.name, - onSaved: (value){ + onSaved: (value) { _issue.title = value; }, ), - SizedBox(height: 8,), - Column( - children: List.generate( - _issues.length, - (index) => ReportIssueItem( - isSelected: _issue.reports?.contains(index), - issueInfo: _issues[index], - onChange: (info,value){ - if(value){ - _issue.reports?.add(index); - } else { - _issue.reports?.remove(index); - } - setState(() {}); - }, - ) - ) + SizedBox( + height: 8, ), + Column( + children: List.generate( + _issues.length, + (index) => ReportIssueItem( + isSelected: + _issue.reports?.contains(index), + issueInfo: _issues[index], + onChange: (info, value) { + if (value) { + _issue.reports?.add(index); + } else { + _issue.reports?.remove(index); + } + setState(() {}); + }, + ))), Padding( padding: const EdgeInsets.all(8.0), child: Text( @@ -142,7 +145,7 @@ class _ReportIssuesPageState extends State { hintText: _subtitle.description, style: Theme.of(context).textTheme.subtitle1, textInputType: TextInputType.multiline, - onSaved: (value){ + onSaved: (value) { _issue.description = value; }, ), @@ -151,22 +154,25 @@ class _ReportIssuesPageState extends State { child: AButton( text: _subtitle.submit, onPressed: () async { - if(!(_formKey.currentState?.validate()??false)) - return; + if (!(_formKey.currentState?.validate() ?? + false)) return; _formKey.currentState?.save(); - _issue.serviceRequestId = widget.serviceRequest.id; - _isLoading =true; + _issue.serviceRequestId = + widget.serviceRequest?.id; + _isLoading = true; setState(() {}); - int status = await _serviceRequestsProvider.createIssueReport( - user: _userProvider.user??User(), - host: _settingProvider.host??"", + int status = await _serviceRequestsProvider + .createIssueReport( + user: _userProvider.user ?? User(), + host: _settingProvider.host ?? "", issue: _issue, ); - _isLoading =false; + _isLoading = false; setState(() {}); - if(status >= 200 && status < 300){ + if (status >= 200 && status < 300) { Fluttertoast.showToast( - msg: _subtitle.requestCompleteSuccessfully, + msg: + _subtitle.requestCompleteSuccessfully, ); Navigator.of(context).pop(); } diff --git a/old_lib/views/pages/user/requests/create_request.dart b/lib/views/pages/user/requests/create_request.dart similarity index 100% rename from old_lib/views/pages/user/requests/create_request.dart rename to lib/views/pages/user/requests/create_request.dart diff --git a/old_lib/views/pages/user/requests/future_request_service_details.dart b/lib/views/pages/user/requests/future_request_service_details.dart similarity index 100% rename from old_lib/views/pages/user/requests/future_request_service_details.dart rename to lib/views/pages/user/requests/future_request_service_details.dart diff --git a/old_lib/views/pages/user/requests/report/create_service_report.dart b/lib/views/pages/user/requests/report/create_service_report.dart similarity index 100% rename from old_lib/views/pages/user/requests/report/create_service_report.dart rename to lib/views/pages/user/requests/report/create_service_report.dart diff --git a/old_lib/views/pages/user/requests/report/edit_service_report.dart b/lib/views/pages/user/requests/report/edit_service_report.dart similarity index 100% rename from old_lib/views/pages/user/requests/report/edit_service_report.dart rename to lib/views/pages/user/requests/report/edit_service_report.dart diff --git a/old_lib/views/pages/user/requests/report/future_service_report.dart b/lib/views/pages/user/requests/report/future_service_report.dart similarity index 100% rename from old_lib/views/pages/user/requests/report/future_service_report.dart rename to lib/views/pages/user/requests/report/future_service_report.dart diff --git a/old_lib/views/pages/user/requests/request_details.dart b/lib/views/pages/user/requests/request_details.dart similarity index 100% rename from old_lib/views/pages/user/requests/request_details.dart rename to lib/views/pages/user/requests/request_details.dart diff --git a/old_lib/views/pages/user/requests/requests_page.dart b/lib/views/pages/user/requests/requests_page.dart similarity index 100% rename from old_lib/views/pages/user/requests/requests_page.dart rename to lib/views/pages/user/requests/requests_page.dart diff --git a/old_lib/views/pages/user/visits/pantry/edit_pentry.dart b/lib/views/pages/user/visits/pantry/edit_pentry.dart similarity index 100% rename from old_lib/views/pages/user/visits/pantry/edit_pentry.dart rename to lib/views/pages/user/visits/pantry/edit_pentry.dart diff --git a/old_lib/views/pages/user/visits/pantry/future_edit_pently.dart b/lib/views/pages/user/visits/pantry/future_edit_pently.dart similarity index 100% rename from old_lib/views/pages/user/visits/pantry/future_edit_pently.dart rename to lib/views/pages/user/visits/pantry/future_edit_pently.dart diff --git a/old_lib/views/pages/user/visits/preventive_maintenance_visits_page.dart b/lib/views/pages/user/visits/preventive_maintenance_visits_page.dart similarity index 100% rename from old_lib/views/pages/user/visits/preventive_maintenance_visits_page.dart rename to lib/views/pages/user/visits/preventive_maintenance_visits_page.dart diff --git a/old_lib/views/pages/user/visits/regular_visits_page.dart b/lib/views/pages/user/visits/regular_visits_page.dart similarity index 100% rename from old_lib/views/pages/user/visits/regular_visits_page.dart rename to lib/views/pages/user/visits/regular_visits_page.dart diff --git a/old_lib/views/pages/user/visits/update_visits_group_sheet.dart b/lib/views/pages/user/visits/update_visits_group_sheet.dart similarity index 100% rename from old_lib/views/pages/user/visits/update_visits_group_sheet.dart rename to lib/views/pages/user/visits/update_visits_group_sheet.dart diff --git a/old_lib/views/pages/user/visits/visit_details.dart b/lib/views/pages/user/visits/visit_details.dart similarity index 100% rename from old_lib/views/pages/user/visits/visit_details.dart rename to lib/views/pages/user/visits/visit_details.dart diff --git a/old_lib/views/widgets/app_name_bar.dart b/lib/views/widgets/app_name_bar.dart similarity index 100% rename from old_lib/views/widgets/app_name_bar.dart rename to lib/views/widgets/app_name_bar.dart diff --git a/old_lib/views/widgets/app_text_form_field.dart b/lib/views/widgets/app_text_form_field.dart similarity index 100% rename from old_lib/views/widgets/app_text_form_field.dart rename to lib/views/widgets/app_text_form_field.dart diff --git a/old_lib/views/widgets/buttons/app_back_button.dart b/lib/views/widgets/buttons/app_back_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_back_button.dart rename to lib/views/widgets/buttons/app_back_button.dart diff --git a/old_lib/views/widgets/buttons/app_button.dart b/lib/views/widgets/buttons/app_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_button.dart rename to lib/views/widgets/buttons/app_button.dart diff --git a/old_lib/views/widgets/buttons/app_flat_button.dart b/lib/views/widgets/buttons/app_flat_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_flat_button.dart rename to lib/views/widgets/buttons/app_flat_button.dart diff --git a/old_lib/views/widgets/buttons/app_icon_button.dart b/lib/views/widgets/buttons/app_icon_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_icon_button.dart rename to lib/views/widgets/buttons/app_icon_button.dart diff --git a/old_lib/views/widgets/buttons/app_icon_button2.dart b/lib/views/widgets/buttons/app_icon_button2.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_icon_button2.dart rename to lib/views/widgets/buttons/app_icon_button2.dart diff --git a/old_lib/views/widgets/buttons/app_outlined_button.dart b/lib/views/widgets/buttons/app_outlined_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_outlined_button.dart rename to lib/views/widgets/buttons/app_outlined_button.dart diff --git a/old_lib/views/widgets/buttons/app_small_button.dart b/lib/views/widgets/buttons/app_small_button.dart similarity index 100% rename from old_lib/views/widgets/buttons/app_small_button.dart rename to lib/views/widgets/buttons/app_small_button.dart diff --git a/old_lib/views/widgets/custom_clip_path/carve_in_image.dart b/lib/views/widgets/custom_clip_path/carve_in_image.dart similarity index 100% rename from old_lib/views/widgets/custom_clip_path/carve_in_image.dart rename to lib/views/widgets/custom_clip_path/carve_in_image.dart diff --git a/old_lib/views/widgets/date_and_time/date_picker.dart b/lib/views/widgets/date_and_time/date_picker.dart similarity index 100% rename from old_lib/views/widgets/date_and_time/date_picker.dart rename to lib/views/widgets/date_and_time/date_picker.dart diff --git a/old_lib/views/widgets/date_and_time/from_to_date_bar.dart b/lib/views/widgets/date_and_time/from_to_date_bar.dart similarity index 100% rename from old_lib/views/widgets/date_and_time/from_to_date_bar.dart rename to lib/views/widgets/date_and_time/from_to_date_bar.dart diff --git a/old_lib/views/widgets/departments/department_button.dart b/lib/views/widgets/departments/department_button.dart similarity index 100% rename from old_lib/views/widgets/departments/department_button.dart rename to lib/views/widgets/departments/department_button.dart diff --git a/old_lib/views/widgets/departments/department_item.dart b/lib/views/widgets/departments/department_item.dart similarity index 100% rename from old_lib/views/widgets/departments/department_item.dart rename to lib/views/widgets/departments/department_item.dart diff --git a/old_lib/views/widgets/departments/single_department_picker.dart b/lib/views/widgets/departments/single_department_picker.dart similarity index 100% rename from old_lib/views/widgets/departments/single_department_picker.dart rename to lib/views/widgets/departments/single_department_picker.dart diff --git a/old_lib/views/widgets/device_trancfer/device_transfer_info_section.dart b/lib/views/widgets/device_trancfer/device_transfer_info_section.dart similarity index 100% rename from old_lib/views/widgets/device_trancfer/device_transfer_info_section.dart rename to lib/views/widgets/device_trancfer/device_transfer_info_section.dart diff --git a/old_lib/views/widgets/device_trancfer/device_transfer_item.dart b/lib/views/widgets/device_trancfer/device_transfer_item.dart similarity index 100% rename from old_lib/views/widgets/device_trancfer/device_transfer_item.dart rename to lib/views/widgets/device_trancfer/device_transfer_item.dart diff --git a/old_lib/views/widgets/device_trancfer/device_transfer_list.dart b/lib/views/widgets/device_trancfer/device_transfer_list.dart similarity index 100% rename from old_lib/views/widgets/device_trancfer/device_transfer_list.dart rename to lib/views/widgets/device_trancfer/device_transfer_list.dart diff --git a/old_lib/views/widgets/dialogs/dialog.dart b/lib/views/widgets/dialogs/dialog.dart similarity index 100% rename from old_lib/views/widgets/dialogs/dialog.dart rename to lib/views/widgets/dialogs/dialog.dart diff --git a/old_lib/views/widgets/drawer/drawer_item.dart b/lib/views/widgets/drawer/drawer_item.dart similarity index 100% rename from old_lib/views/widgets/drawer/drawer_item.dart rename to lib/views/widgets/drawer/drawer_item.dart diff --git a/old_lib/views/widgets/e_signature/e_signature.dart b/lib/views/widgets/e_signature/e_signature.dart similarity index 100% rename from old_lib/views/widgets/e_signature/e_signature.dart rename to lib/views/widgets/e_signature/e_signature.dart diff --git a/old_lib/views/widgets/equipment/auto_complete_devices_field.dart b/lib/views/widgets/equipment/auto_complete_devices_field.dart similarity index 100% rename from old_lib/views/widgets/equipment/auto_complete_devices_field.dart rename to lib/views/widgets/equipment/auto_complete_devices_field.dart diff --git a/old_lib/views/widgets/equipment/device_button.dart b/lib/views/widgets/equipment/device_button.dart similarity index 100% rename from old_lib/views/widgets/equipment/device_button.dart rename to lib/views/widgets/equipment/device_button.dart diff --git a/old_lib/views/widgets/equipment/device_item.dart b/lib/views/widgets/equipment/device_item.dart similarity index 100% rename from old_lib/views/widgets/equipment/device_item.dart rename to lib/views/widgets/equipment/device_item.dart diff --git a/old_lib/views/widgets/equipment/single_device_picker.dart b/lib/views/widgets/equipment/single_device_picker.dart similarity index 100% rename from old_lib/views/widgets/equipment/single_device_picker.dart rename to lib/views/widgets/equipment/single_device_picker.dart diff --git a/old_lib/views/widgets/gas_refill/gas_refill_create_details_item.dart b/lib/views/widgets/gas_refill/gas_refill_create_details_item.dart similarity index 100% rename from old_lib/views/widgets/gas_refill/gas_refill_create_details_item.dart rename to lib/views/widgets/gas_refill/gas_refill_create_details_item.dart diff --git a/old_lib/views/widgets/gas_refill/gas_refill_item.dart b/lib/views/widgets/gas_refill/gas_refill_item.dart similarity index 100% rename from old_lib/views/widgets/gas_refill/gas_refill_item.dart rename to lib/views/widgets/gas_refill/gas_refill_item.dart diff --git a/old_lib/views/widgets/gas_refill/gas_refill_list.dart b/lib/views/widgets/gas_refill/gas_refill_list.dart similarity index 100% rename from old_lib/views/widgets/gas_refill/gas_refill_list.dart rename to lib/views/widgets/gas_refill/gas_refill_list.dart diff --git a/old_lib/views/widgets/gas_refill/gas_refill_update_details_item.dart b/lib/views/widgets/gas_refill/gas_refill_update_details_item.dart similarity index 100% rename from old_lib/views/widgets/gas_refill/gas_refill_update_details_item.dart rename to lib/views/widgets/gas_refill/gas_refill_update_details_item.dart diff --git a/old_lib/views/widgets/hospitals/hospital_auto_complete_field.dart b/lib/views/widgets/hospitals/hospital_auto_complete_field.dart similarity index 100% rename from old_lib/views/widgets/hospitals/hospital_auto_complete_field.dart rename to lib/views/widgets/hospitals/hospital_auto_complete_field.dart diff --git a/old_lib/views/widgets/hospitals/hospital_button.dart b/lib/views/widgets/hospitals/hospital_button.dart similarity index 100% rename from old_lib/views/widgets/hospitals/hospital_button.dart rename to lib/views/widgets/hospitals/hospital_button.dart diff --git a/old_lib/views/widgets/hospitals/hospital_item.dart b/lib/views/widgets/hospitals/hospital_item.dart similarity index 100% rename from old_lib/views/widgets/hospitals/hospital_item.dart rename to lib/views/widgets/hospitals/hospital_item.dart diff --git a/old_lib/views/widgets/hospitals/single_hospital_picker.dart b/lib/views/widgets/hospitals/single_hospital_picker.dart similarity index 100% rename from old_lib/views/widgets/hospitals/single_hospital_picker.dart rename to lib/views/widgets/hospitals/single_hospital_picker.dart diff --git a/old_lib/views/widgets/images/image_item.dart b/lib/views/widgets/images/image_item.dart similarity index 100% rename from old_lib/views/widgets/images/image_item.dart rename to lib/views/widgets/images/image_item.dart diff --git a/old_lib/views/widgets/images/images_list.dart b/lib/views/widgets/images/images_list.dart similarity index 100% rename from old_lib/views/widgets/images/images_list.dart rename to lib/views/widgets/images/images_list.dart diff --git a/old_lib/views/widgets/images/images_viewer.dart b/lib/views/widgets/images/images_viewer.dart similarity index 100% rename from old_lib/views/widgets/images/images_viewer.dart rename to lib/views/widgets/images/images_viewer.dart diff --git a/old_lib/views/widgets/images/mini_one_image_picker.dart b/lib/views/widgets/images/mini_one_image_picker.dart similarity index 100% rename from old_lib/views/widgets/images/mini_one_image_picker.dart rename to lib/views/widgets/images/mini_one_image_picker.dart diff --git a/old_lib/views/widgets/images/multi_image_picker.dart b/lib/views/widgets/images/multi_image_picker.dart similarity index 100% rename from old_lib/views/widgets/images/multi_image_picker.dart rename to lib/views/widgets/images/multi_image_picker.dart diff --git a/old_lib/views/widgets/images/multi_image_picker_item.dart b/lib/views/widgets/images/multi_image_picker_item.dart similarity index 100% rename from old_lib/views/widgets/images/multi_image_picker_item.dart rename to lib/views/widgets/images/multi_image_picker_item.dart diff --git a/old_lib/views/widgets/images/one_image_picker.dart b/lib/views/widgets/images/one_image_picker.dart similarity index 100% rename from old_lib/views/widgets/images/one_image_picker.dart rename to lib/views/widgets/images/one_image_picker.dart diff --git a/old_lib/views/widgets/issues/report_issue_item.dart b/lib/views/widgets/issues/report_issue_item.dart similarity index 100% rename from old_lib/views/widgets/issues/report_issue_item.dart rename to lib/views/widgets/issues/report_issue_item.dart diff --git a/old_lib/views/widgets/land_page/land_page_item.dart b/lib/views/widgets/land_page/land_page_item.dart similarity index 100% rename from old_lib/views/widgets/land_page/land_page_item.dart rename to lib/views/widgets/land_page/land_page_item.dart diff --git a/old_lib/views/widgets/loaders/app_lazy_loading.dart b/lib/views/widgets/loaders/app_lazy_loading.dart similarity index 100% rename from old_lib/views/widgets/loaders/app_lazy_loading.dart rename to lib/views/widgets/loaders/app_lazy_loading.dart diff --git a/old_lib/views/widgets/loaders/app_loading.dart b/lib/views/widgets/loaders/app_loading.dart similarity index 100% rename from old_lib/views/widgets/loaders/app_loading.dart rename to lib/views/widgets/loaders/app_loading.dart diff --git a/old_lib/views/widgets/loaders/failed_loading.dart b/lib/views/widgets/loaders/failed_loading.dart similarity index 100% rename from old_lib/views/widgets/loaders/failed_loading.dart rename to lib/views/widgets/loaders/failed_loading.dart diff --git a/old_lib/views/widgets/loaders/image_loader.dart b/lib/views/widgets/loaders/image_loader.dart similarity index 100% rename from old_lib/views/widgets/loaders/image_loader.dart rename to lib/views/widgets/loaders/image_loader.dart diff --git a/old_lib/views/widgets/loaders/lazy_loading.dart b/lib/views/widgets/loaders/lazy_loading.dart similarity index 100% rename from old_lib/views/widgets/loaders/lazy_loading.dart rename to lib/views/widgets/loaders/lazy_loading.dart diff --git a/old_lib/views/widgets/loaders/loading_manager.dart b/lib/views/widgets/loaders/loading_manager.dart similarity index 100% rename from old_lib/views/widgets/loaders/loading_manager.dart rename to lib/views/widgets/loaders/loading_manager.dart diff --git a/old_lib/views/widgets/loaders/no_item_found.dart b/lib/views/widgets/loaders/no_item_found.dart similarity index 100% rename from old_lib/views/widgets/loaders/no_item_found.dart rename to lib/views/widgets/loaders/no_item_found.dart diff --git a/old_lib/views/widgets/notifications/notification_item.dart b/lib/views/widgets/notifications/notification_item.dart similarity index 100% rename from old_lib/views/widgets/notifications/notification_item.dart rename to lib/views/widgets/notifications/notification_item.dart diff --git a/old_lib/views/widgets/parts/auto_complete_parts_field.dart b/lib/views/widgets/parts/auto_complete_parts_field.dart similarity index 100% rename from old_lib/views/widgets/parts/auto_complete_parts_field.dart rename to lib/views/widgets/parts/auto_complete_parts_field.dart diff --git a/old_lib/views/widgets/parts/part_item.dart b/lib/views/widgets/parts/part_item.dart similarity index 100% rename from old_lib/views/widgets/parts/part_item.dart rename to lib/views/widgets/parts/part_item.dart diff --git a/old_lib/views/widgets/pentry/auto_complete_fields/auto_complete_devices_field.dart b/lib/views/widgets/pentry/auto_complete_fields/auto_complete_devices_field.dart similarity index 100% rename from old_lib/views/widgets/pentry/auto_complete_fields/auto_complete_devices_field.dart rename to lib/views/widgets/pentry/auto_complete_fields/auto_complete_devices_field.dart diff --git a/old_lib/views/widgets/pentry/pentry_calibration_tool_form.dart b/lib/views/widgets/pentry/pentry_calibration_tool_form.dart similarity index 100% rename from old_lib/views/widgets/pentry/pentry_calibration_tool_form.dart rename to lib/views/widgets/pentry/pentry_calibration_tool_form.dart diff --git a/old_lib/views/widgets/pentry/pentry_info_form.dart b/lib/views/widgets/pentry/pentry_info_form.dart similarity index 100% rename from old_lib/views/widgets/pentry/pentry_info_form.dart rename to lib/views/widgets/pentry/pentry_info_form.dart diff --git a/old_lib/views/widgets/pentry/pentry_pm_kit_form.dart b/lib/views/widgets/pentry/pentry_pm_kit_form.dart similarity index 100% rename from old_lib/views/widgets/pentry/pentry_pm_kit_form.dart rename to lib/views/widgets/pentry/pentry_pm_kit_form.dart diff --git a/old_lib/views/widgets/pentry/pentry_ppm_check_list_form.dart b/lib/views/widgets/pentry/pentry_ppm_check_list_form.dart similarity index 100% rename from old_lib/views/widgets/pentry/pentry_ppm_check_list_form.dart rename to lib/views/widgets/pentry/pentry_ppm_check_list_form.dart diff --git a/old_lib/views/widgets/qr/scan_qr.dart b/lib/views/widgets/qr/scan_qr.dart similarity index 100% rename from old_lib/views/widgets/qr/scan_qr.dart rename to lib/views/widgets/qr/scan_qr.dart diff --git a/old_lib/views/widgets/requests/info_row.dart b/lib/views/widgets/requests/info_row.dart similarity index 100% rename from old_lib/views/widgets/requests/info_row.dart rename to lib/views/widgets/requests/info_row.dart diff --git a/old_lib/views/widgets/requests/request_status.dart b/lib/views/widgets/requests/request_status.dart similarity index 100% rename from old_lib/views/widgets/requests/request_status.dart rename to lib/views/widgets/requests/request_status.dart diff --git a/old_lib/views/widgets/requests/service_request_item.dart b/lib/views/widgets/requests/service_request_item.dart similarity index 100% rename from old_lib/views/widgets/requests/service_request_item.dart rename to lib/views/widgets/requests/service_request_item.dart diff --git a/old_lib/views/widgets/requests/service_request_list.dart b/lib/views/widgets/requests/service_request_list.dart similarity index 100% rename from old_lib/views/widgets/requests/service_request_list.dart rename to lib/views/widgets/requests/service_request_list.dart diff --git a/old_lib/views/widgets/requests/service_request_update_dialog.dart b/lib/views/widgets/requests/service_request_update_dialog.dart similarity index 100% rename from old_lib/views/widgets/requests/service_request_update_dialog.dart rename to lib/views/widgets/requests/service_request_update_dialog.dart diff --git a/old_lib/views/widgets/search/filter_item.dart b/lib/views/widgets/search/filter_item.dart similarity index 100% rename from old_lib/views/widgets/search/filter_item.dart rename to lib/views/widgets/search/filter_item.dart diff --git a/old_lib/views/widgets/search/service_request_search_bar.dart b/lib/views/widgets/search/service_request_search_bar.dart similarity index 100% rename from old_lib/views/widgets/search/service_request_search_bar.dart rename to lib/views/widgets/search/service_request_search_bar.dart diff --git a/old_lib/views/widgets/search/visits_search_bar.dart b/lib/views/widgets/search/visits_search_bar.dart similarity index 100% rename from old_lib/views/widgets/search/visits_search_bar.dart rename to lib/views/widgets/search/visits_search_bar.dart diff --git a/old_lib/views/widgets/sound/record_sound.dart b/lib/views/widgets/sound/record_sound.dart similarity index 100% rename from old_lib/views/widgets/sound/record_sound.dart rename to lib/views/widgets/sound/record_sound.dart diff --git a/old_lib/views/widgets/sound/sound_player.dart b/lib/views/widgets/sound/sound_player.dart similarity index 100% rename from old_lib/views/widgets/sound/sound_player.dart rename to lib/views/widgets/sound/sound_player.dart diff --git a/old_lib/views/widgets/speech_to_text/speech_to_text.dart b/lib/views/widgets/speech_to_text/speech_to_text.dart similarity index 100% rename from old_lib/views/widgets/speech_to_text/speech_to_text.dart rename to lib/views/widgets/speech_to_text/speech_to_text.dart diff --git a/old_lib/views/widgets/status/employee/employee_mune.dart b/lib/views/widgets/status/employee/employee_mune.dart similarity index 100% rename from old_lib/views/widgets/status/employee/employee_mune.dart rename to lib/views/widgets/status/employee/employee_mune.dart diff --git a/old_lib/views/widgets/status/gas_refill/gas_cylinder_size.dart b/lib/views/widgets/status/gas_refill/gas_cylinder_size.dart similarity index 100% rename from old_lib/views/widgets/status/gas_refill/gas_cylinder_size.dart rename to lib/views/widgets/status/gas_refill/gas_cylinder_size.dart diff --git a/old_lib/views/widgets/status/gas_refill/gas_status.dart b/lib/views/widgets/status/gas_refill/gas_status.dart similarity index 100% rename from old_lib/views/widgets/status/gas_refill/gas_status.dart rename to lib/views/widgets/status/gas_refill/gas_status.dart diff --git a/old_lib/views/widgets/status/gas_refill/gas_type.dart b/lib/views/widgets/status/gas_refill/gas_type.dart similarity index 100% rename from old_lib/views/widgets/status/gas_refill/gas_type.dart rename to lib/views/widgets/status/gas_refill/gas_type.dart diff --git a/old_lib/views/widgets/status/multi_status_menu.dart b/lib/views/widgets/status/multi_status_menu.dart similarity index 100% rename from old_lib/views/widgets/status/multi_status_menu.dart rename to lib/views/widgets/status/multi_status_menu.dart diff --git a/old_lib/views/widgets/status/pentry/pentry_status_mune.dart b/lib/views/widgets/status/pentry/pentry_status_mune.dart similarity index 100% rename from old_lib/views/widgets/status/pentry/pentry_status_mune.dart rename to lib/views/widgets/status/pentry/pentry_status_mune.dart diff --git a/old_lib/views/widgets/status/pentry/pentry_task_status_mune.dart b/lib/views/widgets/status/pentry/pentry_task_status_mune.dart similarity index 100% rename from old_lib/views/widgets/status/pentry/pentry_task_status_mune.dart rename to lib/views/widgets/status/pentry/pentry_task_status_mune.dart diff --git a/old_lib/views/widgets/status/pentry/pentry_visit_status_mune.dart b/lib/views/widgets/status/pentry/pentry_visit_status_mune.dart similarity index 100% rename from old_lib/views/widgets/status/pentry/pentry_visit_status_mune.dart rename to lib/views/widgets/status/pentry/pentry_visit_status_mune.dart diff --git a/old_lib/views/widgets/status/report/service_report_last_call.dart b/lib/views/widgets/status/report/service_report_last_call.dart similarity index 100% rename from old_lib/views/widgets/status/report/service_report_last_call.dart rename to lib/views/widgets/status/report/service_report_last_call.dart diff --git a/old_lib/views/widgets/status/report/service_report_reasons.dart b/lib/views/widgets/status/report/service_report_reasons.dart similarity index 100% rename from old_lib/views/widgets/status/report/service_report_reasons.dart rename to lib/views/widgets/status/report/service_report_reasons.dart diff --git a/old_lib/views/widgets/status/report/service_report_status.dart b/lib/views/widgets/status/report/service_report_status.dart similarity index 100% rename from old_lib/views/widgets/status/report/service_report_status.dart rename to lib/views/widgets/status/report/service_report_status.dart diff --git a/old_lib/views/widgets/status/report/service_report_type.dart b/lib/views/widgets/status/report/service_report_type.dart similarity index 100% rename from old_lib/views/widgets/status/report/service_report_type.dart rename to lib/views/widgets/status/report/service_report_type.dart diff --git a/old_lib/views/widgets/status/report/service_status.dart b/lib/views/widgets/status/report/service_status.dart similarity index 100% rename from old_lib/views/widgets/status/report/service_status.dart rename to lib/views/widgets/status/report/service_status.dart diff --git a/old_lib/views/widgets/status/service_request/service_request_defect_types_mune.dart b/lib/views/widgets/status/service_request/service_request_defect_types_mune.dart similarity index 100% rename from old_lib/views/widgets/status/service_request/service_request_defect_types_mune.dart rename to lib/views/widgets/status/service_request/service_request_defect_types_mune.dart diff --git a/old_lib/views/widgets/status/service_request/service_request_priority_mune.dart b/lib/views/widgets/status/service_request/service_request_priority_mune.dart similarity index 100% rename from old_lib/views/widgets/status/service_request/service_request_priority_mune.dart rename to lib/views/widgets/status/service_request/service_request_priority_mune.dart diff --git a/old_lib/views/widgets/status/single_status_menu.dart b/lib/views/widgets/status/single_status_menu.dart similarity index 100% rename from old_lib/views/widgets/status/single_status_menu.dart rename to lib/views/widgets/status/single_status_menu.dart diff --git a/old_lib/views/widgets/timer/app_timer.dart b/lib/views/widgets/timer/app_timer.dart similarity index 100% rename from old_lib/views/widgets/timer/app_timer.dart rename to lib/views/widgets/timer/app_timer.dart diff --git a/old_lib/views/widgets/timer/timer_manager.dart b/lib/views/widgets/timer/timer_manager.dart similarity index 100% rename from old_lib/views/widgets/timer/timer_manager.dart rename to lib/views/widgets/timer/timer_manager.dart diff --git a/old_lib/views/widgets/titles/app_sub_title.dart b/lib/views/widgets/titles/app_sub_title.dart similarity index 100% rename from old_lib/views/widgets/titles/app_sub_title.dart rename to lib/views/widgets/titles/app_sub_title.dart diff --git a/old_lib/views/widgets/titles/app_title.dart b/lib/views/widgets/titles/app_title.dart similarity index 100% rename from old_lib/views/widgets/titles/app_title.dart rename to lib/views/widgets/titles/app_title.dart diff --git a/old_lib/views/widgets/titles/expandable_info_row.dart b/lib/views/widgets/titles/expandable_info_row.dart similarity index 100% rename from old_lib/views/widgets/titles/expandable_info_row.dart rename to lib/views/widgets/titles/expandable_info_row.dart diff --git a/old_lib/views/widgets/visits/visit_item.dart b/lib/views/widgets/visits/visit_item.dart similarity index 100% rename from old_lib/views/widgets/visits/visit_item.dart rename to lib/views/widgets/visits/visit_item.dart diff --git a/old_lib/views/widgets/visits/visit_status.dart b/lib/views/widgets/visits/visit_status.dart similarity index 100% rename from old_lib/views/widgets/visits/visit_status.dart rename to lib/views/widgets/visits/visit_status.dart diff --git a/old_lib/views/widgets/visits/visits_list.dart b/lib/views/widgets/visits/visits_list.dart similarity index 100% rename from old_lib/views/widgets/visits/visits_list.dart rename to lib/views/widgets/visits/visits_list.dart diff --git a/lib/widgets/shared_widget.dart b/lib/widgets/shared_widget.dart deleted file mode 100644 index e69de29b..00000000 diff --git a/test/widget_test.dart b/test/widget_test.dart index bf07a5a4..e1fac4ff 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -12,7 +12,7 @@ import 'package:test_sa/main.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. - await tester.pumpWidget(const EntryPoint()); + await tester.pumpWidget(const MyApp()); // Verify that our counter starts at 0. expect(find.text('0'), findsOneWidget); From d9d26a0fe0b468c61bc2742557a1365689cb71b7 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Sun, 26 Feb 2023 12:41:07 +0300 Subject: [PATCH 2/6] Revert the project to the previous structure with applying null safety --- .../ar.json => subtitles/ar_subtitle.json} | 0 .../en.json => subtitles/en_subtitle.json} | 0 lib/views/pages/login.dart | 67 ++++++++++++------- pubspec.yaml | 2 +- 4 files changed, 44 insertions(+), 25 deletions(-) rename assets/{translations/ar.json => subtitles/ar_subtitle.json} (100%) rename assets/{translations/en.json => subtitles/en_subtitle.json} (100%) diff --git a/assets/translations/ar.json b/assets/subtitles/ar_subtitle.json similarity index 100% rename from assets/translations/ar.json rename to assets/subtitles/ar_subtitle.json diff --git a/assets/translations/en.json b/assets/subtitles/en_subtitle.json similarity index 100% rename from assets/translations/en.json rename to assets/subtitles/en_subtitle.json diff --git a/lib/views/pages/login.dart b/lib/views/pages/login.dart index b42a5c0b..639a40ae 100644 --- a/lib/views/pages/login.dart +++ b/lib/views/pages/login.dart @@ -15,9 +15,10 @@ import '../widgets/buttons/app_button.dart'; import '../widgets/loaders/loading_manager.dart'; import 'user/land_page.dart'; - class Login extends StatefulWidget { - static final String id = "/login"; + static const String id = "/login"; + + const Login({super.key}); @override _LoginState createState() => _LoginState(); @@ -26,9 +27,9 @@ class Login extends StatefulWidget { class _LoginState extends State { UserProvider? _userProvider; SettingProvider? _settingProvider; - User _user = User(); + final User _user = User(); bool _obscurePassword = true; - bool _firstTime = true; + final bool _firstTime = true; late double _height; late double _width; late String _payload; @@ -41,12 +42,13 @@ class _LoginState extends State { _settingProvider = Provider.of(context); _height = MediaQuery.of(context).size.height; _width = MediaQuery.of(context).size.width; - Subtitle? _subtitle = AppLocalization.of(context)?.subtitle; + Subtitle? subtitle = AppLocalization.of(context)?.subtitle; return Scaffold( key: _scaffoldKey, body: SafeArea( child: LoadingManager( - isLoading: (_userProvider?.isLoading??false) || !(_settingProvider?.isLoaded??false), + isLoading: (_userProvider?.isLoading ?? false) || + !(_settingProvider?.isLoaded ?? false), isFailedLoading: false, stateCode: 200, onRefresh: () async {}, @@ -65,37 +67,44 @@ class _LoginState extends State { child: Image( height: _height / 6, fit: BoxFit.contain, - image: AssetImage("assets/images/logo.png"), + image: const AssetImage("assets/images/logo.png"), ), ), Padding( - padding: EdgeInsets.symmetric(horizontal: 24 * AppStyle.getScaleFactor(context), vertical: 24 * AppStyle.getScaleFactor(context)), + padding: EdgeInsets.symmetric( + horizontal: 24 * AppStyle.getScaleFactor(context), + vertical: 24 * AppStyle.getScaleFactor(context)), child: Column( children: [ SizedBox( height: 24 * AppStyle.getScaleFactor(context), ), ATextFormField( - initialValue: _user?.userName??"", - hintText: _subtitle?.name??"", + initialValue: _user.userName ?? "", + hintText: subtitle?.name ?? "", textAlign: TextAlign.left, style: Theme.of(context).textTheme.bodyText1, prefixIconData: Icons.account_circle, - validator: (value) => Validator.hasValue(value!) ? '' : _subtitle?.nameValidateMessage??"", + validator: (value) => Validator.hasValue(value!) + ? '' + : subtitle?.nameValidateMessage ?? "", textInputType: TextInputType.name, onSaved: (value) { _user.userName = value!; }, ), - SizedBox(height: 12), + const SizedBox(height: 12), ATextFormField( initialValue: _user.password, - hintText: _subtitle?.password??"", + hintText: subtitle?.password ?? "", obscureText: _obscurePassword, style: Theme.of(context).textTheme.bodyText1, prefixIconData: Icons.vpn_key_sharp, textAlign: TextAlign.left, - validator: (value) => Validator.isValidPassword(value!) ? '' : _subtitle?.passwordValidateMessage??"", + validator: (value) => + Validator.isValidPassword(value!) + ? '' + : subtitle?.passwordValidateMessage ?? "", showPassword: () { _obscurePassword = !_obscurePassword; setState(() {}); @@ -108,23 +117,33 @@ class _LoginState extends State { height: 32 * AppStyle.getScaleFactor(context), ), AButton( - text: _subtitle?.signIn??"", + text: subtitle?.signIn ?? "", onPressed: () async { - if (!(_formKey.currentState?.validate()??false)) return; + if (!(_formKey.currentState?.validate() ?? false)) + return; _formKey.currentState?.save(); int? status = await _userProvider?.login( user: _user, - host: _settingProvider?.host??"", + host: _settingProvider?.host ?? "", ); - if (status !=null && status >= 200 && status < 300) { - _settingProvider?.setUser(_userProvider?.user??User()); - if (_userProvider?.user?.isActive??false) + if (status != null && + status >= 200 && + status < 300) { + _settingProvider + ?.setUser(_userProvider?.user ?? User()); + if (_userProvider?.user?.isActive ?? false) { Navigator.of(context).pushNamed(LandPage.id); - else - Fluttertoast.showToast(msg: _subtitle?.activationAlert??""); + } else { + Fluttertoast.showToast( + msg: subtitle?.activationAlert ?? ""); + } } else { - String errorMessage = status == 400 ? _subtitle?.wrongEmailOrPassword??"" : HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); - ScaffoldMessenger.of(context).showSnackBar(SnackBar( + String errorMessage = status == 400 + ? subtitle?.wrongEmailOrPassword ?? "" + : HttpStatusManger.getStatusMessage( + status: status, subtitle: subtitle); + ScaffoldMessenger.of(context) + .showSnackBar(SnackBar( content: Text(errorMessage), )); } diff --git a/pubspec.yaml b/pubspec.yaml index 473d7070..c08a4eb1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -89,7 +89,7 @@ flutter: assets: - assets/ - assets/images/ - - assets/translations/ + - assets/subtitles/ - assets/rives/ fonts: - family: Swiss From c1a3eedbf60c9d884f8812b35b5858bead156059 Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Sun, 26 Feb 2023 14:46:59 +0300 Subject: [PATCH 3/6] Revert the project to the previous structure with applying null safety --- ios/Podfile.lock | 34 ++++++----- lib/main.dart | 2 +- lib/views/pages/login.dart | 20 ++++--- lib/views/pages/user/land_page.dart | 69 +++++++++++++++------- lib/views/widgets/app_text_form_field.dart | 2 +- 5 files changed, 80 insertions(+), 47 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 71e55807..57a350a6 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,10 +6,10 @@ PODS: - Firebase/Messaging (10.3.0): - Firebase/CoreOnly - FirebaseMessaging (~> 10.3.0) - - firebase_core (2.4.1): + - firebase_core (2.6.1): - Firebase/CoreOnly (= 10.3.0) - Flutter - - firebase_messaging (14.2.1): + - firebase_messaging (14.2.4): - Firebase/Messaging (= 10.3.0) - firebase_core - Flutter @@ -79,8 +79,9 @@ PODS: - nanopb/encode (2.30909.0) - package_info (0.0.1): - Flutter - - path_provider_ios (0.0.1): + - path_provider_foundation (0.0.1): - Flutter + - FlutterMacOS - permission_handler_apple (9.0.4): - Flutter - PromisesObjC (2.1.1) @@ -89,8 +90,9 @@ PODS: - MTBBarcodeScanner - share (0.0.1): - Flutter - - shared_preferences_ios (0.0.1): + - shared_preferences_foundation (0.0.1): - Flutter + - FlutterMacOS - speech_to_text (0.0.1): - Flutter - Try @@ -113,11 +115,11 @@ DEPENDENCIES: - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - package_info (from `.symlinks/plugins/package_info/ios`) - - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`) - share (from `.symlinks/plugins/share/ios`) - - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`) - speech_to_text (from `.symlinks/plugins/speech_to_text/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) @@ -160,16 +162,16 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_picker_ios/ios" package_info: :path: ".symlinks/plugins/package_info/ios" - path_provider_ios: - :path: ".symlinks/plugins/path_provider_ios/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/ios" permission_handler_apple: :path: ".symlinks/plugins/permission_handler_apple/ios" qr_code_scanner: :path: ".symlinks/plugins/qr_code_scanner/ios" share: :path: ".symlinks/plugins/share/ios" - shared_preferences_ios: - :path: ".symlinks/plugins/shared_preferences_ios/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/ios" speech_to_text: :path: ".symlinks/plugins/speech_to_text/ios" sqflite: @@ -180,8 +182,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 Firebase: f92fc551ead69c94168d36c2b26188263860acd9 - firebase_core: bf59c32d2e53814f558efa20840c1902fa2fe461 - firebase_messaging: ee597229fc260f8fa491fa8f2d4a32dfbfa406fa + firebase_core: 6242f038aefa4582e028536e71312f7e3a41e6bb + firebase_messaging: ee61b8065c395a117864224e3031729e656232af FirebaseCore: 988754646ab3bd4bdcb740f1bfe26b9f6c0d5f2a FirebaseCoreInternal: 29b76f784d607df8b2a1259d73c3f04f1210137b FirebaseInstallations: e2f26126089dcf41e215f7b8925af8d953c7d602 @@ -199,18 +201,18 @@ SPEC CHECKSUMS: MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 - path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 + path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852 permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e share: 0b2c3e82132f5888bccca3351c504d0003b3b410 - shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad + shared_preferences_foundation: 297b3ebca31b34ec92be11acd7fb0ba932c822ca speech_to_text: b43a7d99aef037bd758ed8e45d79bbac035d2dfe sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 Try: 5ef669ae832617b3cee58cb2c6f99fb767a4ff96 - url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de + url_launcher_ios: fb12c43172927bb5cf75aeebd073f883801f1993 PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 -COCOAPODS: 1.10.2 +COCOAPODS: 1.11.3 diff --git a/lib/main.dart b/lib/main.dart index d08a5013..b1adf7c1 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -146,7 +146,7 @@ class MyApp extends StatelessWidget { routes: { SplashScreen.id: (_) => const SplashScreen(), LandPage.id: (_) => const LandPage(), - Login.id: (_) => Login(), + Login.id: (_) => const Login(), Register.id: (_) => Register(), ProfilePage.id: (_) => ProfilePage(), ReportIssuesPage.id: (_) => const ReportIssuesPage(), diff --git a/lib/views/pages/login.dart b/lib/views/pages/login.dart index 639a40ae..a9dc88eb 100644 --- a/lib/views/pages/login.dart +++ b/lib/views/pages/login.dart @@ -83,11 +83,11 @@ class _LoginState extends State { initialValue: _user.userName ?? "", hintText: subtitle?.name ?? "", textAlign: TextAlign.left, - style: Theme.of(context).textTheme.bodyText1, + style: Theme.of(context).textTheme.bodyLarge, prefixIconData: Icons.account_circle, - validator: (value) => Validator.hasValue(value!) - ? '' - : subtitle?.nameValidateMessage ?? "", + validator: (value) => Validator.hasValue(value ?? '') + ? null + : subtitle?.nameValidateMessage, textInputType: TextInputType.name, onSaved: (value) { _user.userName = value!; @@ -102,9 +102,9 @@ class _LoginState extends State { prefixIconData: Icons.vpn_key_sharp, textAlign: TextAlign.left, validator: (value) => - Validator.isValidPassword(value!) - ? '' - : subtitle?.passwordValidateMessage ?? "", + Validator.isValidPassword(value ?? '') + ? null + : subtitle?.passwordValidateMessage, showPassword: () { _obscurePassword = !_obscurePassword; setState(() {}); @@ -119,8 +119,9 @@ class _LoginState extends State { AButton( text: subtitle?.signIn ?? "", onPressed: () async { - if (!(_formKey.currentState?.validate() ?? false)) + if (!(_formKey.currentState?.validate() ?? true)) { return; + } _formKey.currentState?.save(); int? status = await _userProvider?.login( user: _user, @@ -135,7 +136,8 @@ class _LoginState extends State { Navigator.of(context).pushNamed(LandPage.id); } else { Fluttertoast.showToast( - msg: subtitle?.activationAlert ?? ""); + msg: subtitle?.activationAlert ?? "", + ); } } else { String errorMessage = status == 400 diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index cccf3b7f..c6bf8012 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -1,6 +1,5 @@ import 'dart:io'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -73,7 +72,7 @@ class _LandPageState extends State { @override Widget build(BuildContext context) { - String path = ModalRoute.of(context)!.settings.arguments.toString(); + String? path = ModalRoute.of(context)?.settings.arguments.toString(); _height = MediaQuery.of(context).size.height; _width = MediaQuery.of(context).size.width; _settingProvider = Provider.of(context); @@ -81,12 +80,14 @@ class _LandPageState extends State { _departmentsProvider = Provider.of(context); _devicesProvider = Provider.of(context); _serviceRequestsProvider = Provider.of(context); - _preventiveMaintenanceVisitsProvider = Provider.of(context); + _preventiveMaintenanceVisitsProvider = + Provider.of(context); _regularVisitsProvider = Provider.of(context); Subtitle _subtitle = AppLocalization.of(context)!.subtitle!; if (firstTime) { if (path != null) { - Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last); + Navigator.of(context).pushNamed("/" + path.split("/").first, + arguments: path.split("/").last); } firstTime = false; } @@ -158,14 +159,16 @@ class _LandPageState extends State { text: _subtitle.newServiceRequest, icon: FontAwesomeIcons.tools, onPressed: () { - Navigator.of(context).pushNamed(CreateRequestPage.id); + Navigator.of(context) + .pushNamed(CreateRequestPage.id); }, ), LandPageItem( text: _subtitle.trackServiceRequest, icon: FontAwesomeIcons.tasks, onPressed: () { - Navigator.of(context).pushNamed(ServiceRequestsPage.id); + Navigator.of(context) + .pushNamed(ServiceRequestsPage.id); }, ), //if (_userProvider.user.type == UsersTypes.engineer) @@ -189,28 +192,32 @@ class _LandPageState extends State { text: "Request Gas Refill", icon: FontAwesomeIcons.truckFast, onPressed: () { - Navigator.of(context).pushNamed(RequestGasRefill.id); + Navigator.of(context) + .pushNamed(RequestGasRefill.id); }, ), LandPageItem( text: "Track Gas Refill", icon: Icons.content_paste_search, onPressed: () { - Navigator.of(context).pushNamed(TrackGasRefillPage.id); + Navigator.of(context) + .pushNamed(TrackGasRefillPage.id); }, ), LandPageItem( text: "transfer Device", icon: FontAwesomeIcons.rightLeft, onPressed: () { - Navigator.of(context).pushNamed(RequestDeviceTransfer.id); + Navigator.of(context) + .pushNamed(RequestDeviceTransfer.id); }, ), LandPageItem( text: "Track Device Transfer", icon: FontAwesomeIcons.peopleCarryBox, onPressed: () { - Navigator.of(context).pushNamed(TrackDeviceTransferPage.id); + Navigator.of(context) + .pushNamed(TrackDeviceTransferPage.id); }, ), ], @@ -243,7 +250,8 @@ class _LandPageState extends State { Align( alignment: Alignment.topRight, child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + padding: + const EdgeInsets.symmetric(horizontal: 8, vertical: 4), child: AIconButton( iconData: Icons.menu, color: AColors.primaryColor, @@ -275,16 +283,23 @@ class _LandPageState extends State { height: 50 * AppStyle.getScaleFactor(context), width: 50 * AppStyle.getScaleFactor(context), padding: EdgeInsets.all(4), - decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle), + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).primaryColor, width: 2), + shape: BoxShape.circle), child: ClipOval( child: ClipOval( - child: Icon(Icons.person,size: 36,color: Theme.of(context).colorScheme.primary,), + child: Icon( + Icons.person, + size: 36, + color: Theme.of(context).colorScheme.primary, + ), ), ), ), 12.width, Text( - _userProvider.user?.userName??"", + _userProvider.user?.userName ?? "", style: Theme.of(context).textTheme.headline6?.copyWith( fontWeight: FontWeight.w600, ), @@ -311,7 +326,10 @@ class _LandPageState extends State { }), Text( "English", - style: Theme.of(context).textTheme.bodyText1?.copyWith(color: AColors.grey3A), + style: Theme.of(context) + .textTheme + .bodyText1 + ?.copyWith(color: AColors.grey3A), textScaleFactor: AppStyle.getScaleFactor(context), ), Radio( @@ -324,7 +342,10 @@ class _LandPageState extends State { }), Text( "عربي", - style: Theme.of(context).textTheme.bodyText1?.copyWith(color: AColors.grey3A), + style: Theme.of(context) + .textTheme + .bodyText1 + ?.copyWith(color: AColors.grey3A), textScaleFactor: AppStyle.getScaleFactor(context), ), ], @@ -368,8 +389,12 @@ class _LandPageState extends State { icon: Icons.share, title: _subtitle.shareApp, onPressed: () async { - PackageInfo packageInfo = await PackageInfo.fromPlatform(); - String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/"; + PackageInfo packageInfo = + await PackageInfo.fromPlatform(); + String shareLink = + "\n https://play.google.com/store/apps/details?id=" + + packageInfo.packageName + + "\n https://apps.apple.com/us/app/"; Share.share(shareLink); }, ), @@ -381,11 +406,15 @@ class _LandPageState extends State { children: [ Text( "Powered By NewTrack", - style: Theme.of(context).textTheme.headline6?.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12), + style: Theme.of(context).textTheme.headline6?.copyWith( + fontWeight: FontWeight.w500, + color: AColors.grey3A, + fontSize: 12), textScaleFactor: AppStyle.getScaleFactor(context), ), 6.width, - Image.asset("assets/images/qr.jpeg", width: 32, height: 32, color: AColors.grey3A) + Image.asset("assets/images/qr.jpeg", + width: 32, height: 32, color: AColors.grey3A) ], ).paddingOnly(left: 20, right: 20, top: 8, bottom: 8), ], diff --git a/lib/views/widgets/app_text_form_field.dart b/lib/views/widgets/app_text_form_field.dart index fbd4fb9c..02c96e17 100644 --- a/lib/views/widgets/app_text_form_field.dart +++ b/lib/views/widgets/app_text_form_field.dart @@ -4,7 +4,7 @@ import '../app_style/sizing.dart'; class ATextFormField extends StatefulWidget { final Function(String?)? onSaved; - final String Function(String?)? validator; + final String? Function(String?)? validator; final Function(String)? onChange; final bool? obscureText; final VoidCallback? showPassword; From e88c88ef4efa0c5762c9ef06ab8a4fc1133d5dcf Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Mon, 27 Feb 2023 09:45:25 +0300 Subject: [PATCH 4/6] Arguments datatype -> null safety --- lib/views/pages/user/land_page.dart | 2 +- .../future_request_service_details.dart | 38 +++++++++++-------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/lib/views/pages/user/land_page.dart b/lib/views/pages/user/land_page.dart index c6bf8012..37b7aceb 100644 --- a/lib/views/pages/user/land_page.dart +++ b/lib/views/pages/user/land_page.dart @@ -72,7 +72,7 @@ class _LandPageState extends State { @override Widget build(BuildContext context) { - String? path = ModalRoute.of(context)?.settings.arguments.toString(); + String? path = ModalRoute.of(context)?.settings.arguments as String?; _height = MediaQuery.of(context).size.height; _width = MediaQuery.of(context).size.width; _settingProvider = Provider.of(context); diff --git a/lib/views/pages/user/requests/future_request_service_details.dart b/lib/views/pages/user/requests/future_request_service_details.dart index f5688090..265a4c75 100644 --- a/lib/views/pages/user/requests/future_request_service_details.dart +++ b/lib/views/pages/user/requests/future_request_service_details.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -11,43 +10,50 @@ import '../../../../models/subtitle.dart'; import '../../../widgets/loaders/app_loading.dart'; import '../../../widgets/loaders/failed_loading.dart'; import 'request_details.dart'; + class FutureRequestServiceDetails extends StatefulWidget { - static final String id = "/service-request-details"; + static const String id = "/service-request-details"; + + const FutureRequestServiceDetails({super.key}); @override - _FutureRequestServiceDetailsState createState() => _FutureRequestServiceDetailsState(); + _FutureRequestServiceDetailsState createState() => + _FutureRequestServiceDetailsState(); } -class _FutureRequestServiceDetailsState extends State { - +class _FutureRequestServiceDetailsState + extends State { late UserProvider _userProvider; late SettingProvider _settingProvider; @override Widget build(BuildContext context) { _userProvider = Provider.of(context); _settingProvider = Provider.of(context); - String requestId = ModalRoute.of(context)!.settings.arguments.toString(); + String? requestId = ModalRoute.of(context)?.settings.arguments as String?; Subtitle _subtitle = AppLocalization.of(context)!.subtitle!; return Scaffold( body: FutureBuilder( future: ServiceRequestsProvider().getSingleServiceRequest( - requestId: requestId, - user: _userProvider.user!, - host: _settingProvider.host??"", - subtitle: _subtitle - ), - builder: (BuildContext context, AsyncSnapshot snapshot){ - if(snapshot.hasError) + requestId: requestId ?? '', + user: _userProvider.user!, + host: _settingProvider.host ?? "", + subtitle: _subtitle), + builder: + (BuildContext context, AsyncSnapshot snapshot) { + if (snapshot.hasError) { return FailedLoading( message: snapshot.error.toString(), - onReload: (){setState(() {});}, + onReload: () { + setState(() {}); + }, ); - if(snapshot.hasData){ + } + if (snapshot.hasData) { return RequestDetailsPage( serviceRequest: snapshot.data!, ); } - return Center(child: ALoading()); + return const Center(child: ALoading()); }, ), ); From d8252529ce3e85774aa120598192a45012ef664f Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Mon, 27 Feb 2023 12:24:21 +0300 Subject: [PATCH 5/6] Engineer : Track Service Screen & Preventive Maintenance Screen & Notifications Screen --- .../providers/api/notifications_provider.dart | 7 +- .../api/regular_visits_provider.dart | 16 +-- .../api/service_requests_provider.dart | 27 ++-- lib/main.dart | 4 +- .../request_device_transfer.dart | 35 +++--- .../pages/user/requests/requests_page.dart | 68 ++++++----- .../user/visits/regular_visits_page.dart | 115 ++++++++++-------- .../widgets/equipment/device_button.dart | 25 ++-- 8 files changed, 166 insertions(+), 131 deletions(-) diff --git a/lib/controllers/providers/api/notifications_provider.dart b/lib/controllers/providers/api/notifications_provider.dart index 15c8bf64..282bcf92 100644 --- a/lib/controllers/providers/api/notifications_provider.dart +++ b/lib/controllers/providers/api/notifications_provider.dart @@ -13,7 +13,7 @@ class NotificationsProvider extends ChangeNotifier { //reset provider data void reset() { - notifications = null; + notifications.clear(); nextPage = true; stateCode = null; } @@ -27,7 +27,7 @@ class NotificationsProvider extends ChangeNotifier { bool? nextPage = true; // list of user requests - List? notifications; + List notifications = []; // when requests in-process _loading = true // done _loading = true @@ -64,8 +64,7 @@ class NotificationsProvider extends ChangeNotifier { List serviceRequestsPage = requestsListJson .map((request) => AppNotification.fromJson(request)) .toList(); - notifications ??= []; - notifications?.addAll(serviceRequestsPage); + notifications.addAll(serviceRequestsPage); if (serviceRequestsPage.length == pageItemNumber) { nextPage = true; } else { diff --git a/lib/controllers/providers/api/regular_visits_provider.dart b/lib/controllers/providers/api/regular_visits_provider.dart index 4f3de068..c5309538 100644 --- a/lib/controllers/providers/api/regular_visits_provider.dart +++ b/lib/controllers/providers/api/regular_visits_provider.dart @@ -16,7 +16,7 @@ class RegularVisitsProvider extends ChangeNotifier { //reset provider data void reset() { - visits = null; + visits.clear(); nextPage = true; stateCode = null; } @@ -30,7 +30,7 @@ class RegularVisitsProvider extends ChangeNotifier { bool nextPage = true; // list of user requests - List? visits; + List visits = []; // when requests in-process _loading = true // done _loading = true @@ -45,8 +45,8 @@ class RegularVisitsProvider extends ChangeNotifier { /// for more details check http state manager /// lib\controllers\http_status_manger\http_status_manger.dart Future getVisits({ - required String host, - required User user, + required String? host, + required User? user, // VisitsSearch visitsSearch, }) async { if (isLoading == true) { @@ -58,7 +58,7 @@ class RegularVisitsProvider extends ChangeNotifier { try { response = await get( Uri.parse( - "$host${URLs.getRegularVisits}?uid=${user.id}&token=${user.token}&page=${(visits?.length ?? 0) ~/ pageItemNumber}${visitsSearch?.toSearchString()}", + "$host${URLs.getRegularVisits}?uid=${user?.id}&token=${user?.token}&page=${(visits.length) ~/ pageItemNumber}${visitsSearch?.toSearchString()}", ), headers: {"Content-Type": "application/json; charset=utf-8"}, ); @@ -107,7 +107,7 @@ class RegularVisitsProvider extends ChangeNotifier { Response response; Map body = group.toJson(); body["token"] = user.token ?? ""; - body["uid"] = user.id??""; + body["uid"] = user.id ?? ""; //userId = 397.toString(); // testing id to view data try { response = await post( @@ -157,8 +157,8 @@ class RegularVisitsProvider extends ChangeNotifier { try { Response response; Map body = pentry.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; response = await post( Uri.parse("$host${URLs.updatePentry}/${visit.id}"), body: body, diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart index a62c08ce..60e3b3f9 100644 --- a/lib/controllers/providers/api/service_requests_provider.dart +++ b/lib/controllers/providers/api/service_requests_provider.dart @@ -50,7 +50,7 @@ class ServiceRequestsProvider extends ChangeNotifier { /// lib\controllers\http_status_manger\http_status_manger.dart Future getRequests({ required String host, - required User user, + required User? user, required String? hospitalId, }) async { if (isLoading == true) { @@ -61,7 +61,7 @@ class ServiceRequestsProvider extends ChangeNotifier { try { response = await get( Uri.parse( - "$host${URLs.getServiceRequests}?uid=${user.id}${hospitalId == null ? "" : "&client_nid=$hospitalId"}&token=${user.token}&page=${(serviceRequests?.length ?? 0) ~/ pageItemNumber}${search?.toSearchString()}", + "$host${URLs.getServiceRequests}?uid=${user?.id}${hospitalId == null ? "" : "&client_nid=$hospitalId"}&token=${user?.token}&page=${(serviceRequests?.length ?? 0) ~/ pageItemNumber}${search?.toSearchString()}", ), headers: {"Content-Type": "application/json; charset=utf-8"}, ); @@ -108,7 +108,9 @@ class ServiceRequestsProvider extends ChangeNotifier { '$host${URLs.getSingleServiceRequest}?call_nid=$requestId$userData', )); } catch (error) { - throw (HttpStatusManger.getStatusMessage(status: -1, subtitle: subtitle) ?? ''); + throw (HttpStatusManger.getStatusMessage( + status: -1, subtitle: subtitle) ?? + ''); } // If the call to the server was successful, parse the JSON. @@ -121,7 +123,8 @@ class ServiceRequestsProvider extends ChangeNotifier { return requests[0]; } else { throw (HttpStatusManger.getStatusMessage( - status: response.statusCode, subtitle: subtitle) ?? ""); + status: response.statusCode, subtitle: subtitle) ?? + ""); } } @@ -174,8 +177,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = issue.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; try { response = await post( Uri.parse(host + URLs.createReport), @@ -228,8 +231,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = report.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; try { response = await post( @@ -285,8 +288,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = report.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; body["report_id"] = request.reportID ?? ''; try { @@ -314,8 +317,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = {}; - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; body["start_time"] = ((timer.startAt?.millisecondsSinceEpoch ?? 0) / 1000) .toStringAsFixed(0); diff --git a/lib/main.dart b/lib/main.dart index b1adf7c1..9902f358 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -158,10 +158,10 @@ class MyApp extends StatelessWidget { ServiceRequestsPage.id: (_) => ServiceRequestsPage(), NotificationsPage.id: (_) => NotificationsPage(), FutureRequestServiceDetails.id: (_) => - FutureRequestServiceDetails(), + const FutureRequestServiceDetails(), PreventiveMaintenanceVisitsPage.id: (_) => PreventiveMaintenanceVisitsPage(), - RegularVisitsPage.id: (_) => RegularVisitsPage(), + RegularVisitsPage.id: (_) => const RegularVisitsPage(), TrackGasRefillPage.id: (_) => const TrackGasRefillPage(), RequestDeviceTransfer.id: (_) => const RequestDeviceTransfer(), TrackDeviceTransferPage.id: (_) => const TrackDeviceTransferPage(), diff --git a/lib/views/pages/device_transfer/request_device_transfer.dart b/lib/views/pages/device_transfer/request_device_transfer.dart index 0bbe80d3..4ca3d28b 100644 --- a/lib/views/pages/device_transfer/request_device_transfer.dart +++ b/lib/views/pages/device_transfer/request_device_transfer.dart @@ -34,8 +34,10 @@ class _RequestDeviceTransferState extends State { UserProvider? _userProvider; SettingProvider? _settingProvider; DeviceTransferProvider? _deviceTransferProvider; - final TextEditingController _requestedQuantityController = TextEditingController(); - final DeviceTransfer _formModel = DeviceTransfer(receiver: DeviceTransferInfo()); + final TextEditingController _requestedQuantityController = + TextEditingController(); + final DeviceTransfer _formModel = + DeviceTransfer(receiver: DeviceTransferInfo()); final GlobalKey _formKey = GlobalKey(); final GlobalKey _scaffoldKey = GlobalKey(); @@ -46,7 +48,7 @@ class _RequestDeviceTransferState extends State { _onSubmit() async { _validate = true; - if ((_formKey.currentState?.validate()??false)) { + if ((_formKey.currentState?.validate() ?? false)) { setState(() {}); return false; } @@ -62,18 +64,19 @@ class _RequestDeviceTransferState extends State { int? status = await _deviceTransferProvider?.createRequest( user: _userProvider?.user, - host: _settingProvider?.host??"", + host: _settingProvider?.host ?? "", model: _formModel, ); _isLoading = false; setState(() {}); - if (status!=null && status >= 200 && status < 300) { + if (status != null && status >= 200 && status < 300) { Fluttertoast.showToast( - msg: _subtitle?.requestCompleteSuccessfully??"", + msg: _subtitle?.requestCompleteSuccessfully ?? "", ); Navigator.of(context).pop(); } else { - String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); + String errorMessage = HttpStatusManger.getStatusMessage( + status: status, subtitle: _subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(errorMessage), )); @@ -91,7 +94,8 @@ class _RequestDeviceTransferState extends State { _subtitle = AppLocalization.of(context)?.subtitle; _userProvider = Provider.of(context); _settingProvider = Provider.of(context); - _deviceTransferProvider = Provider.of(context, listen: false); + _deviceTransferProvider = + Provider.of(context, listen: false); return Scaffold( key: _scaffoldKey, body: Form( @@ -112,7 +116,10 @@ class _RequestDeviceTransferState extends State { padding: const EdgeInsets.all(8.0), child: Text( "Transfer Device", - style: Theme.of(context).textTheme.headline5?.copyWith(color: Theme.of(context).primaryColor, fontSize: 28, fontWeight: FontWeight.bold), + style: Theme.of(context).textTheme.headline5?.copyWith( + color: Theme.of(context).primaryColor, + fontSize: 28, + fontWeight: FontWeight.bold), ), ), ), @@ -134,12 +141,12 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Device"), if (_validate && _formModel.device == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, DeviceButton( - device: _formModel.device!, + device: _formModel.device, onDevicePick: (device) { _formModel.device = device; setState(() {}); @@ -161,7 +168,7 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Destination Client"), if (_validate && _formModel.receiver?.client == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, @@ -176,7 +183,7 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Destination Department"), if (_validate && _formModel.receiver?.department == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, @@ -189,7 +196,7 @@ class _RequestDeviceTransferState extends State { ), 12.height, AButton( - text: _subtitle?.submit??"", + text: _subtitle?.submit ?? "", onPressed: _onSubmit, ), const SizedBox( diff --git a/lib/views/pages/user/requests/requests_page.dart b/lib/views/pages/user/requests/requests_page.dart index cc1bb294..69d77625 100644 --- a/lib/views/pages/user/requests/requests_page.dart +++ b/lib/views/pages/user/requests/requests_page.dart @@ -16,24 +16,26 @@ import '../../../widgets/search/service_request_search_bar.dart'; class ServiceRequestsPage extends StatefulWidget { static final String id = "/service-requests"; + @override _ServiceRequestsPageState createState() => _ServiceRequestsPageState(); } class _ServiceRequestsPageState extends State - with TickerProviderStateMixin{ + with TickerProviderStateMixin { late ServiceRequestsProvider _serviceRequestsProvider; late UserProvider _userProvider; late SettingProvider _settingProvider; bool _expandedSearch = false; bool _firstTime = true; + @override Widget build(BuildContext context) { _serviceRequestsProvider = Provider.of(context); _userProvider = Provider.of(context); _settingProvider = Provider.of(context); - Subtitle _subtitle = AppLocalization.of(context)!.subtitle!; - if(_firstTime){ + Subtitle? subtitle = AppLocalization.of(context)?.subtitle; + if (_firstTime) { _serviceRequestsProvider.reset(); _firstTime = false; } @@ -47,9 +49,9 @@ class _ServiceRequestsPageState extends State onRefresh: () async { _serviceRequestsProvider.reset(); await _serviceRequestsProvider.getRequests( - user: _userProvider.user!, - host: _settingProvider.host??"", - hospitalId: _userProvider.user!.hospital!.id, + user: _userProvider.user!, + host: _settingProvider.host ?? "", + hospitalId: _userProvider.user!.hospital!.id, ); }, child: Stack( @@ -57,20 +59,25 @@ class _ServiceRequestsPageState extends State Column( children: [ Container( - color:AColors.primaryColor, - padding: const EdgeInsets.symmetric(horizontal: 0,vertical: 4), + color: AColors.primaryColor, + padding: + const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ Row( children: [ - ABackButton(), + const ABackButton(), Expanded( child: Center( child: Text( - _subtitle.serviceRequests, - style: Theme.of(context).textTheme.headline6?.copyWith( - color: AColors.white, - fontStyle: FontStyle.italic ), + subtitle?.serviceRequests ?? '', + style: Theme.of(context) + .textTheme + .titleLarge + ?.copyWith( + color: AColors.white, + fontStyle: FontStyle.italic, + ), ), ), ), @@ -81,25 +88,27 @@ class _ServiceRequestsPageState extends State buttonSize: 42, backgroundColor: AColors.white, onPressed: () async { - ServiceRequestSearch? _temp = await showModalBottomSheet( - context: context, - isScrollControlled: true, - builder: (context){ - return ServiceRequestsSearchDialog( - initialSearchValue: _serviceRequestsProvider.search!, - ); - }); - if(_temp != null){ - _serviceRequestsProvider.search = _temp; + ServiceRequestSearch? temp = + await showModalBottomSheet( + context: context, + isScrollControlled: true, + builder: (context) { + return ServiceRequestsSearchDialog( + initialSearchValue: + _serviceRequestsProvider.search!, + ); + }, + ); + if (temp != null) { + _serviceRequestsProvider.search = temp; _serviceRequestsProvider.reset(); setState(() {}); } }, ), - SizedBox(width: 16,) + const SizedBox(width: 16) ], ), - ], ), ), @@ -108,17 +117,16 @@ class _ServiceRequestsPageState extends State nextPage: _serviceRequestsProvider.nextPage!, onLazyLoad: () async { await _serviceRequestsProvider.getRequests( - user: _userProvider.user!, - host: _settingProvider.host??"", - hospitalId: _userProvider.user!.hospital!.id, + user: _userProvider.user, + host: _settingProvider.host ?? "", + hospitalId: _userProvider.user?.hospital?.id, ); }, - requests: _serviceRequestsProvider.serviceRequests!, + requests: _serviceRequestsProvider.serviceRequests ?? [], ), ), ], ), - ], ), ), diff --git a/lib/views/pages/user/visits/regular_visits_page.dart b/lib/views/pages/user/visits/regular_visits_page.dart index 2261efcb..d8b5f56d 100644 --- a/lib/views/pages/user/visits/regular_visits_page.dart +++ b/lib/views/pages/user/visits/regular_visits_page.dart @@ -21,13 +21,15 @@ import '../../../widgets/visits/visits_list.dart'; import 'update_visits_group_sheet.dart'; class RegularVisitsPage extends StatefulWidget { - static final String id = "/Regular-visits"; + static const String id = "/Regular-visits"; + + const RegularVisitsPage({super.key}); @override _RegularVisitsPageState createState() => _RegularVisitsPageState(); } class _RegularVisitsPageState extends State - with TickerProviderStateMixin{ + with TickerProviderStateMixin { late RegularVisitsProvider _visitsProvider; late UserProvider _userProvider; late SettingProvider _settingProvider; @@ -43,14 +45,13 @@ class _RegularVisitsPageState extends State body: SafeArea( child: LoadingManager( isLoading: _visitsProvider.isLoading, - isFailedLoading: _visitsProvider.visits == null, stateCode: _visitsProvider.stateCode, onRefresh: () async { _visitsProvider.reset(); //_visitsProvider.visitsSearch = VisitsSearch(); await _visitsProvider.getVisits( - user: _userProvider.user!, - host: _settingProvider.host!, + user: _userProvider.user, + host: _settingProvider.host, ); }, child: Stack( @@ -58,8 +59,9 @@ class _RegularVisitsPageState extends State Column( children: [ Container( - color:AColors.primaryColor, - padding: const EdgeInsets.symmetric(horizontal: 0,vertical: 4), + color: AColors.primaryColor, + padding: + const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ Row( @@ -69,10 +71,12 @@ class _RegularVisitsPageState extends State child: Center( child: Text( _subtitle.preventiveMaintenance, - style: Theme.of(context).textTheme.headline6?.copyWith( - color: AColors.white, - fontStyle: FontStyle.italic - ), + style: Theme.of(context) + .textTheme + .headline6 + ?.copyWith( + color: AColors.white, + fontStyle: FontStyle.italic), ), ), ), @@ -80,41 +84,49 @@ class _RegularVisitsPageState extends State duration: Duration(milliseconds: 400), child: AIconButton( key: ValueKey(_expandedSearch), - iconData: _expandedSearch ? Icons.keyboard_arrow_up :Icons.search, + iconData: _expandedSearch + ? Icons.keyboard_arrow_up + : Icons.search, color: AColors.secondaryColor, buttonSize: 42, backgroundColor: AColors.white, onPressed: () async { - VisitsSearch _temp = await showModalBottomSheet( - context: context, - isScrollControlled: true, - builder: (context){ - return VisitsSearchDialog( - initialSearchValue: _visitsProvider.visitsSearch!, onSearch: (VisitsSearch ) { }, - ); - }); - if(_temp != null){ - _visitsProvider.visitsSearch?.fromSearch(_temp) ; - _visitsProvider.reset(); - setState(() {}); - } + VisitsSearch _temp = + await showModalBottomSheet( + context: context, + isScrollControlled: true, + builder: (context) { + return VisitsSearchDialog( + initialSearchValue: + _visitsProvider.visitsSearch!, + onSearch: (VisitsSearch) {}, + ); + }); + _visitsProvider.visitsSearch + ?.fromSearch(_temp); + _visitsProvider.reset(); + setState(() {}); }, ), ), - SizedBox(width: 16,) + SizedBox( + width: 16, + ) ], ), - ], ), ), Visibility( - visible: _visitsProvider.visitsSearch?.toSearchString().isNotEmpty??false, + visible: _visitsProvider.visitsSearch + ?.toSearchString() + .isNotEmpty ?? + false, child: Padding( padding: const EdgeInsets.all(8.0), child: AButton( text: _subtitle.clearSearch, - onPressed: (){ + onPressed: () { _visitsProvider.visitsSearch = VisitsSearch(); _visitsProvider.reset(); setState(() {}); @@ -127,59 +139,60 @@ class _RegularVisitsPageState extends State nextPage: _visitsProvider.nextPage, onLazyLoad: () async { await _visitsProvider.getVisits( - user: _userProvider.user!, - host: _settingProvider.host??"", + user: _userProvider.user!, + host: _settingProvider.host ?? "", ); }, onEditGroup: (visits) async { - VisitsGroup _group = await showModalBottomSheet( + VisitsGroup? group = await showModalBottomSheet( isScrollControlled: true, context: context, builder: (context) { - return UpdateVisitsGroupSheet(visits: visits,title: _subtitle.updateRegularVisits,); + return UpdateVisitsGroupSheet( + visits: visits, + title: _subtitle.updateRegularVisits, + ); }, - )as VisitsGroup; - if(_group != null){ + ) as VisitsGroup?; + if (group != null) { showDialog( context: context, barrierDismissible: false, builder: (BuildContext context) { return CupertinoAlertDialog( title: Text(_subtitle.updatingDots), - content: Center(child: CircularProgressIndicator()), + content: + Center(child: CircularProgressIndicator()), ); }, ); - int status = await _visitsProvider.updateGroupOfVisits( - user: _userProvider.user!, - host: _settingProvider.host??"", - group: _group - ); + int status = + await _visitsProvider.updateGroupOfVisits( + user: _userProvider.user!, + host: _settingProvider.host ?? "", + group: group); Navigator.of(context).pop(); - if(status >= 200 && status < 300){ + if (status >= 200 && status < 300) { Fluttertoast.showToast( - msg: _subtitle.regularVisitsUpdatedSuccessfully, - toastLength: Toast.LENGTH_LONG, - gravity: ToastGravity.BOTTOM, + msg: _subtitle.regularVisitsUpdatedSuccessfully, + toastLength: Toast.LENGTH_LONG, + gravity: ToastGravity.BOTTOM, ); - }else{ + } else { Fluttertoast.showToast( msg: HttpStatusManger.getStatusMessage( - status: status, - subtitle: _subtitle - ), + status: status, subtitle: _subtitle), toastLength: Toast.LENGTH_LONG, gravity: ToastGravity.BOTTOM, ); } } }, - visits: _visitsProvider.visits!, + visits: _visitsProvider.visits, ), ), ], ), - ], ), ), diff --git a/lib/views/widgets/equipment/device_button.dart b/lib/views/widgets/equipment/device_button.dart index 044ec0a0..3bf97309 100644 --- a/lib/views/widgets/equipment/device_button.dart +++ b/lib/views/widgets/equipment/device_button.dart @@ -9,9 +9,10 @@ import 'single_device_picker.dart'; class DeviceButton extends StatelessWidget { final Function(Device)? onDevicePick; - final Device device; + final Device? device; - const DeviceButton({Key? key, required this.device, this.onDevicePick}) : super(key: key); + const DeviceButton({Key? key, required this.device, this.onDevicePick}) + : super(key: key); @override Widget build(BuildContext context) { @@ -19,9 +20,11 @@ class DeviceButton extends StatelessWidget { return ElevatedButton( style: ElevatedButton.styleFrom( elevation: 0, - padding: EdgeInsets.symmetric(horizontal: 16, vertical: device == null ? 12 : 8), + padding: EdgeInsets.symmetric( + horizontal: 16, vertical: device == null ? 12 : 8), shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), + borderRadius: BorderRadius.circular( + AppStyle.borderRadius * AppStyle.getScaleFactor(context)), ), foregroundColor: AColors.primaryColor, backgroundColor: AColors.inputFieldBackgroundColor, @@ -33,7 +36,7 @@ class DeviceButton extends StatelessWidget { child: Padding( padding: const EdgeInsets.symmetric(horizontal: 6), child: Text( - _subtitle?.pickDevice??"", + _subtitle?.pickDevice ?? "", style: Theme.of(context).textTheme.subtitle1, textScaleFactor: AppStyle.getScaleFactor(context), textDirection: TextDirection.rtl, @@ -45,7 +48,7 @@ class DeviceButton extends StatelessWidget { child: ListTile( contentPadding: EdgeInsets.all(0), title: Text( - "${_subtitle?.sn??""} : ${device.serialNumber??""}", + "${_subtitle?.sn ?? ""} : ${device?.serialNumber ?? ""}", style: Theme.of(context).textTheme.subtitle1, ), subtitle: Column( @@ -55,24 +58,26 @@ class DeviceButton extends StatelessWidget { color: Theme.of(context).textTheme.subtitle1?.color, ), Text( - "${_subtitle?.brand} : ${device.brand}", + "${_subtitle?.brand} : ${device?.brand}", style: Theme.of(context).textTheme.subtitle2, ), Divider( color: Theme.of(context).textTheme.subtitle1?.color, ), Text( - "${_subtitle?.model} : ${device.model}", + "${_subtitle?.model} : ${device?.model}", style: Theme.of(context).textTheme.subtitle2, ), ], ), )), - const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A), + const Icon(Icons.keyboard_arrow_down, + size: 28, color: AColors.grey3A), ], ), onPressed: () async { - Device _device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Device; + Device _device = await Navigator.of(context) + .pushNamed(SingleDevicePicker.id) as Device; onDevicePick!(_device); }); } From 8d54c4411894e90eb937df6cdde6f4092d916e4d Mon Sep 17 00:00:00 2001 From: zaid_daoud Date: Tue, 28 Feb 2023 09:17:21 +0300 Subject: [PATCH 6/6] Create Request Screen --- .../pages/user/requests/create_request.dart | 61 +++++++++++++------ 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/lib/views/pages/user/requests/create_request.dart b/lib/views/pages/user/requests/create_request.dart index b39505ee..683755f1 100644 --- a/lib/views/pages/user/requests/create_request.dart +++ b/lib/views/pages/user/requests/create_request.dart @@ -30,7 +30,6 @@ import '../../../widgets/status/service_request/service_request_defect_types_mun import '../../../widgets/status/service_request/service_request_priority_mune.dart'; import '../../../widgets/titles/app_sub_title.dart'; - class CreateRequestPage extends StatefulWidget { static final String id = "/create-request"; @@ -46,7 +45,7 @@ class _CreateRequestPageState extends State { ServiceRequest _serviceRequest = ServiceRequest(); List _deviceImages = []; bool _isLoading = false; - late Device _device; + Device? _device; late Subtitle _subtitle; final GlobalKey _formKey = GlobalKey(); final GlobalKey _scaffoldKey = GlobalKey(); @@ -101,7 +100,12 @@ class _CreateRequestPageState extends State { padding: const EdgeInsets.all(8.0), child: Text( _subtitle.newServiceRequest, - style: Theme.of(context).textTheme.headline5?.copyWith(color: AColors.cyan, fontWeight: FontWeight.w600), + style: Theme.of(context) + .textTheme + .headline5 + ?.copyWith( + color: AColors.cyan, + fontWeight: FontWeight.w600), ), ), ), @@ -113,7 +117,9 @@ class _CreateRequestPageState extends State { ? SizedBox.shrink() : ATextFormField( enable: false, - initialValue: _userProvider.user?.hospital?.name ?? _subtitle.noHospitalFound, + initialValue: + _userProvider.user?.hospital?.name ?? + _subtitle.noHospitalFound, hintText: _subtitle.hospital, prefixIconData: FontAwesomeIcons.hospital, style: Theme.of(context).textTheme.subtitle1, @@ -123,7 +129,9 @@ class _CreateRequestPageState extends State { ? SizedBox.shrink() : ATextFormField( enable: false, - initialValue: _userProvider.user?.department?.name ?? _subtitle.noUniteFound, + initialValue: + _userProvider.user?.department?.name ?? + _subtitle.noUniteFound, hintText: _subtitle.unite, prefixIconData: FontAwesomeIcons.hospitalUser, style: Theme.of(context).textTheme.subtitle1, @@ -136,21 +144,29 @@ class _CreateRequestPageState extends State { setState(() {}); }, ), - const SizedBox(height: 8,), + const SizedBox( + height: 8, + ), const ASubTitle("Priority"), - const SizedBox(height: 4,), + const SizedBox( + height: 4, + ), ServiceRequestPriorityMenu( initialValue: _serviceRequest.priority, - onSelect: (status){ + onSelect: (status) { _serviceRequest.priority = status; }, ), - const SizedBox(height: 8,), + const SizedBox( + height: 8, + ), const ASubTitle("Defect Type"), - const SizedBox(height: 4,), + const SizedBox( + height: 4, + ), ServiceRequestDefectTypesMenu( initialValue: _serviceRequest.defectType, - onSelect: (status){ + onSelect: (status) { _serviceRequest.defectType = status; }, ), @@ -169,7 +185,9 @@ class _CreateRequestPageState extends State { prefixIconData: FontAwesomeIcons.triangleExclamation, style: Theme.of(context).textTheme.headline6, textInputType: TextInputType.multiline, - validator: (value) => Validator.hasValue(value!) ? '' : _subtitle.maintenanceIssueRequired, + validator: (value) => Validator.hasValue(value!) + ? '' + : _subtitle.maintenanceIssueRequired, onSaved: (value) { _serviceRequest.maintenanceIssue = value; }, @@ -186,19 +204,24 @@ class _CreateRequestPageState extends State { child: AButton( text: _subtitle.submit, onPressed: () async { - if (!(_formKey.currentState?.validate()??false)) return; + if (!(_formKey.currentState?.validate() ?? false)) + return; _formKey.currentState?.save(); _serviceRequest.deviceId = _device?.id ?? ""; _isLoading = true; setState(() {}); - _serviceRequest.devicePhotos = _deviceImages.map((e) => base64Encode(e.readAsBytesSync())).toList(); + _serviceRequest.devicePhotos = _deviceImages + .map((e) => base64Encode(e.readAsBytesSync())) + .toList(); if (_serviceRequest.audio != null) { final file = File(_serviceRequest.audio!); - _serviceRequest.audio = base64Encode(file.readAsBytesSync()); + _serviceRequest.audio = + base64Encode(file.readAsBytesSync()); } - int status = await _serviceRequestsProvider.createRequest( + int status = + await _serviceRequestsProvider.createRequest( user: _userProvider.user!, - host: _settingProvider.host??"", + host: _settingProvider.host ?? "", serviceRequest: _serviceRequest, ); _isLoading = false; @@ -209,7 +232,9 @@ class _CreateRequestPageState extends State { ); Navigator.of(context).pop(); } else { - String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); + String errorMessage = + HttpStatusManger.getStatusMessage( + status: status, subtitle: _subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(errorMessage), ));