From 56f29f08163b3d6213c67f723684ce4f3e311043 Mon Sep 17 00:00:00 2001 From: "monirul.islam" Date: Mon, 14 Oct 2024 02:00:43 +0530 Subject: [PATCH] feat: Making it ready for v1.0.0-os --- .github/scripts/increment_version.py | 4 + .github/workflows/ios-development.yml | 87 -------- .github/workflows/ios.yml | 70 ------ .github/workflows/main.yml | 20 -- Contribution_License_Agreement.pdf | Bin 0 -> 97043 bytes Jenkins-dev | 77 ------- LICENSE | 201 ++++++++++++++++++ README.md | 146 ++++++++++--- Release_Notes_FOSS_notice_SightConnect.docx | Bin 0 -> 51494 bytes android/app/build.gradle | 6 + android/app/src/debug/AndroidManifest.xml | 6 + android/app/src/main/AndroidManifest.xml | 6 + .../drawable-night-v21/launch_background.xml | 6 + .../res/drawable-night/launch_background.xml | 6 + .../res/drawable-v21/launch_background.xml | 6 + .../main/res/drawable/launch_background.xml | 6 + .../main/res/mipmap-anydpi-v26/app_icon.xml | 6 + .../res/mipmap-anydpi-v26/app_icon_round.xml | 6 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../src/main/res/values-night-v31/styles.xml | 6 + .../app/src/main/res/values-night/styles.xml | 6 + .../app/src/main/res/values-v31/styles.xml | 6 + .../main/res/values/app_icon_background.xml | 6 + android/app/src/main/res/values/colors.xml | 6 + android/app/src/main/res/values/styles.xml | 6 + android/app/src/profile/AndroidManifest.xml | 6 + android/build.gradle | 6 + android/gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.properties | 6 + android/settings.gradle | 6 + lib/app.dart | 6 + .../chatbot/data/enum/standard_action.dart | 6 + .../data/models/chat_query_resolver.dart | 6 + .../data/source/remote/chat_service.dart | 6 + .../presentation/pages/chatbot_page.dart | 6 + .../widgets/chat_intent_view.dart | 6 + .../widgets/chat_message_composer.dart | 6 + .../widgets/chat_message_tile.dart | 6 + .../widgets/chat_query_suggestions.dart | 6 + .../widgets/fading_container.dart | 6 + .../widgets/loading_indicator.dart | 6 + .../common/chatbot/text_to_speech.dart | 6 + .../common/chatbot/utils/language_utils.dart | 6 + .../common/chatbot/utils/triage_utils.dart | 6 + .../modals/shimmer_error_sheet.dart | 6 + .../pages/app_consent_form.dart | 6 + .../pages/initialization_page.dart | 6 + .../initialization/pages/login_page.dart | 6 + .../patient_registeration_miniapp_page.dart | 6 + .../providers/initilization_provider.dart | 6 + .../role_strategy/app_role_strategy.dart | 6 + .../role_strategy/base_role_strategy.dart | 6 + .../initialization/widgets/app_web_view.dart | 6 + .../widgets/get_otp_button.dart | 6 + .../widgets/login_mobile_number_field.dart | 6 + .../widgets/otp_input_field.dart | 6 + .../initialization/widgets/otp_timer.dart | 6 + .../widgets/role_error_dialog.dart | 6 + .../widgets/splash_shimmer.dart | 6 + .../common/ipledge/data/enums.dart | 6 + .../ipledge/data/local/form_field_data.dart | 6 + .../ipledge/data/models/ipledge_model.dart | 6 + .../data/models/ipledge_model.freezed.dart | 6 + .../ipledge/data/models/ipledge_model.g.dart | 6 + .../data/repository/ipledge_repository.dart | 6 + .../ipledge/pages/ipledge_form_page.dart | 6 + .../ipledge/provider/ipledge_provider.dart | 6 + .../ipledge/widgets/additional_field.dart | 6 + .../common/ipledge/widgets/address_field.dart | 6 + .../widgets/city_and_district_field.dart | 6 + .../common/ipledge/widgets/dob_field.dart | 6 + .../common/ipledge/widgets/email_field.dart | 6 + .../common/ipledge/widgets/gender_field.dart | 6 + .../widgets/locality_and_town_field.dart | 6 + .../common/ipledge/widgets/mobile_field.dart | 6 + .../common/ipledge/widgets/name_field.dart | 6 + .../common/ipledge/widgets/pincode_field.dart | 6 + .../ipledge/widgets/relationship_field.dart | 6 + .../common/ipledge/widgets/state_field.dart | 6 + .../common/ipledge/widgets/sumbit_button.dart | 6 + .../widgets/term_and_service_dialog.dart | 6 + .../data/models/referral_response_model.dart | 6 + .../referral_response_model.freezed.dart | 6 + .../models/referral_response_model.g.dart | 6 + .../data/repository/referral_repository.dart | 6 + .../repository/referral_repository_impl.dart | 6 + .../modals/referral_collect_sheet.dart | 6 + .../modals/referral_generate_sheet.dart | 6 + .../pages/referral_statistics_page.dart | 6 + .../widgets/referral_code_error.dart | 6 + .../pages/patient_tenants_display_page.dart | 6 + ...ision_technician_tenants_display_page.dart | 6 + .../presentation/widgets/vc_list_tile.dart | 6 + .../presentation/widgets/vc_radio_button.dart | 6 + .../mapper/optometrist_triage_mapper.dart | 6 + .../mapper/triage_result_page_mapper.dart | 6 + .../data/mapper/triage_update_mapper.dart | 6 + .../models/optometrician_dashboard_model.dart | 6 + ...optometrician_dashboard_model.freezed.dart | 6 + .../optometrician_dashboard_model.g.dart | 6 + .../models/optometrician_triage_response.dart | 6 + ...optometrician_triage_response.freezed.dart | 6 + .../optometrician_triage_response.g.dart | 6 + .../data/models/triage_response_dto.dart | 6 + .../models/triage_response_dto.freezed.dart | 6 + .../data/models/triage_response_dto.g.dart | 6 + .../repositories/triage_repository_impl.dart | 6 + .../repositories/triage_urgency_impl.dart | 6 + .../data/source/local/triage_db_helper.dart | 6 + .../source/local/triage_local_source.dart | 6 + .../optometrician_triage_remote_source.dart | 6 + .../source/remote/triage_remote_source.dart | 6 + .../action_on_response_model.freezed.dart | 6 + .../models/action_on_response_model.g.dart | 6 + .../domain/models/enums/action_type.dart | 6 + .../models/enums/answer_constraint.dart | 6 + .../domain/models/enums/assessment_type.dart | 6 + .../domain/models/enums/author_type.dart | 6 + .../triage/domain/models/enums/body_site.dart | 6 + .../triage/domain/models/enums/category.dart | 6 + .../triage/domain/models/enums/code.dart | 6 + .../triage/domain/models/enums/condition.dart | 6 + .../domain/models/enums/constraint.dart | 6 + .../domain/models/enums/disabled_display.dart | 6 + .../domain/models/enums/enable_behaviour.dart | 6 + .../triage/domain/models/enums/file_type.dart | 6 + .../domain/models/enums/jurisdiction.dart | 6 + .../domain/models/enums/media_type.dart | 6 + .../models/enums/observation_category.dart | 6 + .../domain/models/enums/observation_code.dart | 6 + .../models/enums/observations_method.dart | 6 + .../triage/domain/models/enums/operator.dart | 6 + .../triage/domain/models/enums/organ.dart | 6 + .../models/enums/patient_instruction.dart | 6 + .../domain/models/enums/performer_role.dart | 6 + .../models/enums/permitted_data_type.dart | 6 + .../domain/models/enums/permitted_unit.dart | 6 + .../models/enums/questionnaire_code.dart | 6 + .../models/enums/questionnaire_status.dart | 6 + .../models/enums/questionnaire_type.dart | 6 + .../domain/models/enums/range_category.dart | 6 + .../triage/domain/models/enums/source.dart | 6 + .../triage/domain/models/enums/status.dart | 6 + .../triage/domain/models/enums/test_code.dart | 6 + .../triage/domain/models/enums/test_name.dart | 6 + .../domain/models/enums/triage_enums.dart | 6 + .../domain/models/enums/triage_step.dart | 6 + .../domain/models/enums/value_type.dart | 6 + .../models/incomplete_test_model.freezed.dart | 6 + .../models/incomplete_test_model.g.dart | 6 + .../models/performer_model.freezed.dart | 6 + .../domain/models/performer_model.g.dart | 6 + .../post_imaging_selection_model.freezed.dart | 6 + .../post_imaging_selection_model.g.dart | 6 + .../post_observations_model.freezed.dart | 6 + .../models/post_observations_model.g.dart | 6 + .../question_response_model.freezed.dart | 6 + .../models/question_response_model.g.dart | 6 + .../questionnaire_response_model.freezed.dart | 6 + .../questionnaire_response_model.g.dart | 6 + .../models/triage_assessment_model.dart | 6 + .../triage_assessment_model.freezed.dart | 6 + .../models/triage_assessment_model.g.dart | 6 + ...diagnostic_report_template_FHIR_model.dart | 6 + ...ic_report_template_FHIR_model.freezed.dart | 6 + ...agnostic_report_template_FHIR_model.g.dart | 6 + .../domain/models/triage_post_model.dart | 6 + .../models/triage_post_model.freezed.dart | 6 + .../domain/models/triage_post_model.g.dart | 6 + .../domain/models/triage_response_model.dart | 6 + .../models/triage_response_model.freezed.dart | 6 + .../models/triage_response_model.g.dart | 6 + .../domain/models/triage_update_model.dart | 6 + .../models/triage_update_model.freezed.dart | 6 + .../domain/models/triage_update_model.g.dart | 6 + .../repositories/triage_repository.dart | 6 + .../triage_urgency_repository.dart | 6 + .../usecases/delete_triage_usecase.dart | 6 + .../usecases/get_assessment_usecase.dart | 6 + ...isual_acuity_response_locally_usecase.dart | 6 + ...isual_acuity_response_locally_usecase.dart | 6 + ...uestionnaire_response_locally_usecase.dart | 6 + .../get_triage_current_step_usecase.dart | 6 + ...age_eye_scan_response_locally_usecase.dart | 6 + .../usecases/get_triage_response_usecase.dart | 6 + ...ity_tumbling_response_locally_usecase.dart | 6 + .../domain/usecases/reset_triage_usecase.dart | 6 + .../save_triage_eye_scan_locally_usecase.dart | 6 + ..._triage_questionnaire_locally_usecase.dart | 6 + .../save_triage_response_usecase.dart | 6 + .../domain/usecases/save_triage_usecase.dart | 6 + .../save_triage_usecase_for_event.dart | 6 + ..._triage_visual_acuity_locally_usecase.dart | 6 + .../usecases/update_triage_usecase.dart | 6 + .../pages/triage_instruction_page.dart | 6 + .../presentation/pages/triage_page.dart | 6 + .../optometrician_triage_provider.dart | 6 + .../providers/triage_provider.dart | 6 + .../providers/triage_stepper_provider.dart | 6 + .../pages/triage_eye_capturing_page.dart | 6 + .../pages/triage_eye_scan_carousel_page.dart | 6 + .../triage_eye_scan_instructions_page.dart | 6 + .../pages/triage_eye_scan_page.dart | 6 + .../provider/triage_eye_scan_provider.dart | 6 + .../widgets/camera_controllers.dart | 6 + .../widgets/camera_server_exception.dart | 6 + .../widgets/test_completion_dialog.dart | 6 + .../pages/triage_add_member_page.dart | 6 + .../pages/triage_member_selection_page.dart | 6 + .../pages/triage_steps_intro_page.dart | 6 + .../providers/member_details_provider.dart | 6 + .../providers/triage_member_provider.dart | 6 + .../widget/change_member_tiles.dart | 6 + .../widget/member_details_form.dart | 6 + .../widget/triage_steps_drawer.dart | 6 + .../modals/question_preview_dialog.dart | 6 + ...iage_questionnaire_other_symptom_page.dart | 6 + .../pages/triage_questionnaire_page.dart | 6 + .../triage_questionnaire_provider.dart | 6 + .../widgets/choice_button.dart | 6 + .../widgets/custom_pop_up.dart | 6 + .../widgets/custom_popup.dart | 6 + .../widgets/option_card.dart | 6 + .../widgets/option_list.dart | 6 + .../widgets/triage_text_type_question.dart | 6 + .../pages/triage_result_page.dart | 6 + .../provider/triage_result_provider.dart | 6 + .../widgets/assessment_result_cards.dart | 6 + .../widgets/eye_centre_details_cards.dart | 6 + .../widgets/result_image_card.dart | 6 + .../widgets/result_page_bottom_cards.dart | 6 + .../widgets/result_page_top_card.dart | 6 + .../widgets/cataract_eye_scan_carousel.dart | 6 + .../widgets/simple_alert_dialog.dart | 6 + .../widgets/traige_exit_alert_box.dart | 6 + .../triage_test_counter_indicator.dart | 6 + .../update_triage_eye_capturing_page.dart | 6 + .../pages/update_triage_eye_preview_page.dart | 6 + .../update_triage_eye_scan_carousel_page.dart | 6 + ...ate_triage_eye_scan_instructions_page.dart | 6 + .../pages/update_triage_eye_scan_page.dart | 6 + .../update_triage_eye_scan_provider.dart | 6 + .../widgets/update_camera_controllers.dart | 6 + .../pages/update_questionnaire_page.dart | 6 + .../update_triage_questionnaire_provider.dart | 6 + .../widgets/update_custom_popup.dart | 6 + .../widgets/update_option_card.dart | 6 + .../update_triage_text_type_quesion.dart | 6 + .../data/local/tumbling_local_source.dart | 6 + .../domain/enums/tumbling_enums.dart | 6 + .../domain/models/tumbling_models.dart | 6 + ...visual_acuity_distance_selection_page.dart | 6 + .../distance_visual_acuity_initiate_page.dart | 6 + ...isual_acuity_instructional_video_page.dart | 6 + .../distance_visual_acuity_result_page.dart | 6 + .../distance_visual_acuity_tumbling_page.dart | 6 + ...stance_visual_acutiy_instruction_page.dart | 6 + .../distance_accessibility_provider.dart | 6 + .../distance_visual_acuity_test_provider.dart | 6 + .../distance_accessibility_settings.dart | 6 + .../distance_result_page_bottom_card.dart | 6 + ...e_result_page_eye_center_details_card.dart | 6 + .../distance_result_page_top_card.dart | 6 + .../distance_visual_acuity_dialog.dart | 6 + ...y_tumbling_test_right_eye_instruction.dart | 6 + ...l_acuity_tumling_instruction_carousel.dart | 6 + .../widgets/distance_voice_assist_card.dart | 6 + .../pages/visual_acuity_demo_page.dart | 6 + .../visual_acuity_face_distance_page.dart | 6 + .../pages/visual_acuity_initiate_page.dart | 6 + ...isual_acuity_instructional_video_page.dart | 6 + .../pages/visual_acuity_result_page.dart | 6 + .../pages/visual_acuity_tumbling_page.dart | 6 + .../pages/visual_acutiy_instruction_page.dart | 6 + .../providers/accessibility_provider.dart | 6 + .../visual_acuity_test_provider.dart | 6 + .../widgets/accessibility_settings.dart | 6 + ...uity_show_instruction_bottom_up_sheet.dart | 6 + .../widgets/result_page_bottom_card.dart | 6 + .../result_page_eye_center_details_card.dart | 6 + .../widgets/result_page_top_card.dart | 6 + .../widgets/visual_acuity_cover_eye.dart | 6 + .../widgets/visual_acuity_dialog.dart | 6 + .../visual_acuity_tumbling_overlay.dart | 6 + ...y_tumbling_test_right_eye_instruction.dart | 6 + ...l_acuity_tumling_instruction_carousel.dart | 6 + .../widgets/voice_assist_card.dart | 6 + .../providers/distance_notifier_provider.dart | 6 + .../widgets/swipe_gesture_card.dart | 6 + .../widgets/top_reading_card.dart | 6 + .../widgets/touch_gesture_card.dart | 6 + .../widgets/tumbling_e_click_pad.dart | 6 + .../visual_acuity_face_distance_page.dart | 6 + .../optometrician_dashboard_repository.dart | 6 + .../data/fake_data_source.dart | 6 + .../optometrican_search_result_page.dart | 6 + .../pages/optometritian_add_patient_page.dart | 6 + .../pages/optometritian_dashboard_page.dart | 6 + .../pages/optometritian_feedback_page.dart | 6 + .../optometritian_search_patient_page.dart | 6 + .../optometritian_add_patient_provider.dart | 6 + .../optometritian_dashboard_provider.dart | 6 + .../optometritian_feedback_provider.dart | 6 + ...optometritian_search_patient_provider.dart | 6 + .../widgets/add_patient_bottomsheets.dart | 6 + .../education_qualifications_input.dart | 6 + .../widgets/eye_drop_down_field.dart | 6 + .../optometritian_add_optometric_data.dart | 6 + .../widgets/patient_id_input.dart | 6 + .../widgets/professions_input.dart | 6 + ...tometrician_dashboard_repository_impl.dart | 6 + ...optometrician_dashboard_remote_source.dart | 6 + .../optometritian_fetch_report_page.dart | 6 + .../pages/optometritian_report_page.dart | 6 + .../pages/optometritian_triage_page.dart | 6 + .../optometritian_question_card_provider.dart | 6 + .../optometritian_report_provider.dart | 6 + .../widgets/opto_eye_scan_tab_view.dart | 6 + ...pto_offline_report_questionnaire_card.dart | 6 + .../opto_offline_report_tumbling_card.dart | 6 + .../optometritian_report_end_popUp.dart | 6 + ...tometritian_report_questionnaire_card.dart | 6 + .../optometritian_tumbling_report_card.dart | 6 + .../data/models/eua_on_search_model.dart | 6 + .../models/eua_on_search_model.freezed.dart | 6 + .../data/models/eua_on_search_model.g.dart | 6 + .../data/models/uhi_search_model.dart | 6 + .../data/models/uhi_search_model.freezed.dart | 6 + .../data/models/uhi_search_model.g.dart | 6 + .../patient_appointment_repository.dart | 6 + .../patient_appointment_remote_source.dart | 6 + .../patient_appointment_repository_impl.dart | 6 + .../domain/web_socket_test.dart | 6 + .../pages/patient_appointment_page.dart | 6 + .../pages/patient_book_appointment_page.dart | 6 + .../appointment_view_model_provider.dart | 6 + .../providers/book_appointment_provider.dart | 6 + .../widgets/appointment_date_selector.dart | 6 + .../widgets/appointment_patient_selector.dart | 6 + .../book_appointment_patient_selector.dart | 6 + .../presentation/widgets/check_container.dart | 6 + .../widgets/consultation_type.dart | 6 + .../widgets/eye_problem_type.dart | 6 + .../widgets/nearby_eye_clinic.dart | 6 + .../presentation/widgets/select_time.dart | 6 + .../mappers/triage_report_brief_mapper.dart | 6 + .../triage_report_detailed_mapper.dart | 6 + .../model/triage_detailed_report_model.dart | 6 + .../triage_detailed_report_model.freezed.dart | 6 + .../model/triage_detailed_report_model.g.dart | 6 + .../triage_report_repository_impl.dart | 6 + .../source/local_triage_report_source.dart | 6 + .../source/remote_triage_report_source.dart | 6 + .../entities/triage_report_brief_entity.dart | 6 + .../triage_report_detailed_entity.dart | 6 + .../domain/enum/body_site.dart | 6 + .../domain/enum/care_plan_category.dart | 6 + .../domain/enum/care_plan_status.dart | 6 + .../domain/enum/diagnostic_report_status.dart | 6 + .../domain/enum/encounter_status.dart | 6 + .../domain/enum/gaol_outcome.dart | 8 +- .../domain/enum/goal_achievement_status.dart | 6 + .../domain/enum/goal_category.dart | 6 + .../domain/enum/goal_lifecycle_status.dart | 6 + .../domain/enum/goal_measure.dart | 6 + .../domain/enum/goal_parameter.dart | 8 +- .../domain/enum/request_priority.dart | 6 + .../domain/enum/service_type.dart | 6 + .../domain/enum/severity.dart | 6 + .../domain/enum/source.dart | 6 + .../domain/enum/test_type.dart | 6 + .../repository/triage_report_repository.dart | 6 + .../pages/patient_assessment_report_page.dart | 6 + .../patient_assessments_and_tests_page.dart | 6 + ...patient_self_and_clinical_report_page.dart | 6 + .../pages/patient_test_timeline_page.dart | 6 + ...tient_assessment_update_data_provider.dart | 6 + ...patient_assessments_and_test_provider.dart | 6 + .../assessment_overall_result_card.dart | 6 + .../widgets/assessment_recommendation.dart | 6 + .../patient_clinical_test_reports.dart | 6 + .../widgets/patient_dropdown_widget.dart | 6 + .../widgets/patient_self_test_reports.dart | 6 + .../widgets/report_assessment_questions.dart | 6 + .../widgets/report_page_header.dart | 6 + .../widgets/tumbling_e_report_card.dart | 6 + .../widgets/update_triage_alert_box.dart | 6 + .../contract/patient_eye_scan_repository.dart | 6 + .../data/local/User_details_model.dart | 6 + .../local/User_details_model.freezed.dart | 6 + .../data/local/User_details_model.g.dart | 6 + .../data/local/fake_data_source_cataract.dart | 6 + .../patient_eye_scan_repository_impl.dart | 6 + .../modals/camera_capture_alert.dart | 6 + .../modals/camera_not_found.dart | 6 + .../pages/patient_eye_report_page.dart | 6 + .../patient_eye_scan_instructions_page.dart | 6 + .../pages/patient_eyes_capture_page.dart | 6 + .../provider/eye_scan_provider.dart | 6 + .../presentation/widgets/arrow_button.dart | 6 + .../widgets/cataract_advice_cards.dart | 6 + .../widgets/cataract_expert_help_card.dart | 6 + .../widgets/cataract_eye_result_card.dart | 6 + .../widgets/cataract_eye_scan_carousel.dart | 6 + .../cataract_report_details_header.dart | 6 + .../pages/patient_dashboard_page.dart | 6 + .../providers/patient_dashboard_provider.dart | 6 + .../data/source/local/fake_data_source.dart | 6 + .../modals/NearByVisionCenterState.dart | 6 + .../NearByVisionCenterState.freezed.dart | 6 + .../presentation/modals/member_selection.dart | 6 + .../presentation/pages/patient_home_page.dart | 6 + .../near_by_vision_center_provider.dart | 6 + .../providers/patient_home_provider.dart | 6 + .../presentation/widgets/campaigns_card.dart | 6 + .../presentation/widgets/campaigns_list.dart | 6 + .../presentation/widgets/eye_camps_card.dart | 6 + .../widgets/eye_camps_card_list.dart | 6 + .../widgets/good_to_know_card.dart | 6 + .../widgets/good_to_know_list.dart | 6 + .../presentation/widgets/helpline_card.dart | 6 + .../widgets/invite_others_card.dart | 6 + .../widgets/my_connections_card.dart | 6 + .../widgets/my_connections_list.dart | 6 + .../widgets/my_recent_services_card.dart | 6 + .../widgets/my_recent_services_card_list.dart | 6 + .../widgets/nearby_vision_center_card.dart | 6 + .../widgets/nearby_vision_centers_list.dart | 6 + .../presentation/widgets/partner_card.dart | 6 + .../presentation/widgets/patient_footer.dart | 6 + .../presentation/widgets/patient_header.dart | 6 + .../widgets/patient_home_page_app_bar.dart | 6 + .../widgets/priority_notification_card.dart | 6 + .../widgets/priority_notification_list.dart | 6 + .../widgets/triage_test_card.dart | 6 + .../widgets/volunteer_invitee_card.dart | 6 + .../pages/patient_notification_page.dart | 6 + .../patient_notification_provider.dart | 6 + .../widgets/patient_notification_card.dart | 6 + ...atient_authentication_repository_impl.dart | 6 + .../data/source/local/fake_data_source.dart | 6 + .../remote/onboarding_remote_source.dart | 6 + .../patient_authentication_repository.dart | 6 + .../pages/patient_profile_page.dart | 6 + .../pages/patient_registration_page.dart | 6 + .../presentation/provider/patient_helper.dart | 6 + .../provider/patient_profile_provider.dart | 6 + .../patient_registration_provider.dart | 6 + .../presentation/widgets/camera_helper.dart | 6 + .../widgets/gender_radio_button.dart | 6 + .../patient_profile_family_info_cards.dart | 6 + .../widgets/patient_profile_header.dart | 6 + .../widgets/patient_profile_layout.dart | 6 + .../widgets/patient_profile_patient_info.dart | 6 + .../widgets/profile_camera_controller.dart | 6 + .../widgets/profile_edit_form_helper.dart | 6 + .../presentation/widgets/white_field_box.dart | 6 + .../pages/patient_search_page.dart | 6 + .../data/data/local_source.dart | 6 + .../domain/enum/mini_app.dart | 6 + .../pages/patient_services_page.dart | 6 + .../widgets/i_pledge_service.dart | 6 + .../widgets/patient_service_category.dart | 6 + .../contracts/vg_add_event_repository.dart | 6 + .../data/model/vg_event_model.dart | 6 + .../data/model/vg_event_model.freezed.dart | 6 + .../data/model/vg_event_model.g.dart | 6 + .../data/model/vg_event_patient_model.dart | 6 + .../model/vg_event_patient_model.freezed.dart | 6 + .../data/model/vg_event_patient_model.g.dart | 6 + .../data/model/vg_patient_response_model.dart | 6 + .../vg_patient_response_model.freezed.dart | 6 + .../model/vg_patient_response_model.g.dart | 6 + .../vg_add_event_respository_impl.dart | 6 + .../source/vg_add_event_remote_source.dart | 6 + .../pages/vg_add_event_details_page.dart | 6 + .../pages/vg_add_patient_card.dart | 6 + .../pages/vg_create_event_page.dart | 6 + .../pages/vg_event_details_page.dart | 6 + .../pages/vg_eye_assesment_page.dart | 6 + .../vg_add_event_details_provider.dart | 6 + .../providers/vg_add_member_provider.dart | 6 + .../providers/vg_add_patient_provider.dart | 6 + .../providers/vg_event_data_provider.dart | 6 + .../providers/vg_report_provider.dart | 6 + .../providers/vg_user_data_provider.dart | 6 + .../widgets/vg_empty_result_card.dart | 6 + .../widgets/vg_event_add_event_photo.dart | 6 + .../widgets/vg_event_address_card.dart | 6 + .../widgets/vg_event_bottom_navigation.dart | 6 + .../widgets/vg_event_data_card.dart | 6 + .../widgets/vg_event_datetime_card.dart | 6 + .../widgets/vg_event_details_tab.dart | 6 + .../widgets/vg_event_heder_chips.dart | 6 + .../widgets/vg_event_list_details.dart | 6 + .../widgets/vg_event_list_patients.dart | 6 + .../widgets/vg_event_patient_search.dart | 6 + .../vg_event_patient_search_filter.dart | 6 + .../widgets/vg_event_patients_tab.dart | 6 + .../presentation/widgets/vg_event_search.dart | 6 + .../widgets/vg_event_search_bar.dart | 6 + .../widgets/vg_event_teammate_search.dart | 6 + .../vg_event_teammates_data_cards.dart | 6 + .../widgets/vg_event_teammates_tab.dart | 6 + .../widgets/vg_form_helper_widgets.dart | 6 + .../widgets/vg_teammate_search_results.dart | 6 + .../presentation/pages/vg_dashboard_page.dart | 6 + .../providers/vg_dashboard_provider.dart | 6 + .../widgets/vg_bottom_nav_bar.dart | 6 + .../vg_eye_assessment_repository.dart | 6 + .../vg_eye_assessment_patient_model.dart | 6 + .../vg_eye_assessment_respository_impl.dart | 6 + .../vg_eye_assessment_remote_source.dart | 6 + .../pages/vg_eye_assessment_page.dart | 6 + .../providers/vg_eye_assessment_provider.dart | 6 + .../vg_eye_assessment_empty_result_card.dart | 6 + .../vg_eye_assessment_filter_check_boxes.dart | 6 + ...ssessment_floating_action_add_patient.dart | 6 + .../vg_eye_assessment_patient_card.dart | 6 + .../widgets/vg_eye_assessment_search_bar.dart | 6 + .../vg_eye_assessment_search_bar_chips.dart | 6 + .../vg_eye_assessment_search_filter.dart | 6 + .../vg_eye_assessment_search_patient.dart | 6 + .../vg_dashboard_analytics_repository.dart | 6 + .../data/models/vg_bottom_nav_items.dart | 6 + .../data/models/vg_service_items.dart | 6 + ...g_dashboard_analytics_repository_impl.dart | 6 + .../vg_dashboard_analytics_remote_source.dart | 6 + .../presentation/pages/vg_home_page.dart | 6 + .../providers/vg_analytics_provider.dart | 6 + .../widgets/critical_cases_cards.dart | 6 + .../widgets/critical_cases_cards_list.dart | 6 + .../widgets/follow_up_cases_cards.dart | 6 + .../widgets/follow_up_cases_cards_list.dart | 6 + .../presentation/widgets/vg_age_chip.dart | 6 + .../presentation/widgets/vg_carousel.dart | 6 + .../widgets/vg_gender_pie_chart.dart | 6 + .../widgets/vg_services_cards.dart | 6 + .../widgets/vg_services_cards_list.dart | 6 + .../presentation/widgets/vg_slide_1.dart | 6 + .../presentation/widgets/vg_slide_2.dart | 6 + .../presentation/widgets/vg_slide_3.dart | 6 + .../presentation/widgets/vg_symptom_chip.dart | 6 + .../presentation/pages/vg_onboarding.dart | 6 + .../pages/vg_onboarding_details.dart | 6 + .../pages/vg_onboarding_mobile_number.dart | 6 + .../pages/vg_onboarding_organisation.dart | 6 + .../presentation/pages/vg_onboarding_otp.dart | 6 + .../pages/vg_onboarding_personal.dart | 6 + .../provider/vg_details_provider.dart | 6 + .../provider/vg_details_stepper_provider.dart | 6 + .../vg_organisation_details_provider.dart | 6 + .../presentation/widgets/bottom.dart | 6 + ..._onboarding_organisation_details_card.dart | 6 + .../vg_onboarding_personal_address_card.dart | 6 + .../vg_onboarding_personal_name_card.dart | 6 + .../data/models/vg_profile_model.dart | 6 + .../data/models/vg_profile_model.freezed.dart | 6 + .../data/models/vg_profile_model.g.dart | 6 + .../vg_authentication_repository.dart | 6 + .../vg_authentication_repository_impl.dart | 6 + .../presentation/pages/vg_profile.dart | 6 + .../presentation/pages/vg_profile_edit.dart | 6 + .../vg_profile_edit_organisation_tab.dart | 6 + .../widgets/vg_profile_edit_personal_tab.dart | 6 + .../widgets/vg_profile_name_card.dart | 6 + .../vg_profile_organisation_details_card.dart | 6 + .../vg_profile_personal_details_card.dart | 6 + .../vg_profile_training_certificate_card.dart | 6 + .../vg_profile_work_location_card.dart | 6 + ...ion_technician_assessment_report_page.dart | 6 + ...ision_technician_report_page_provider.dart | 6 + .../widgets/assesment_eye_image_card.dart | 6 + .../widgets/assessement_report_details.dart | 6 + .../widgets/assessement_report_ivr_card.dart | 6 + .../assessement_report_recommeded_center.dart | 6 + .../widgets/assessment_care_plan_card.dart | 6 + .../assessment_overall_description_card.dart | 6 + .../widgets/assessment_report_profile.dart | 6 + .../assessment_report_remark_card.dart | 6 + .../widgets/assessmnet_acuity_score_card.dart | 6 + .../assessment_timeline_repository.dart | 6 + .../source/assessment_timeline_source.dart | 6 + .../assessment_timeline_view_model.dart | 6 + ...ssessment_timeline_view_model.freezed.dart | 6 + .../assessment_timeline_view_model.g.dart | 6 + .../assessment_timeline_repository_impl.dart | 6 + ...n_technician_assessment_timeline_page.dart | 6 + .../assessment_timeline_provider.dart | 6 + .../widgets/assessment_timeline.dart | 6 + .../widgets/assessment_timeline_card.dart | 6 + .../widgets/assessment_timeline_view.dart | 6 + .../widgets/general_information.dart | 6 + .../widgets/list_of_encounters_chip.dart | 6 + .../presentation/widgets/report_button.dart | 6 + .../widgets/timeline_assessmnet_tile.dart | 6 + .../widgets/timeline_profile.dart | 6 + .../vt_close_assessment_reposirtory.dart | 6 + .../data/enums/vt_close_assessment_enums.dart | 6 + .../models/vt_close_assessment_model.dart | 6 + .../vt_close_assessment_model.freezed.dart | 6 + .../models/vt_close_assessment_model.g.dart | 6 + .../vt_close_assessment_remote_source.dart | 6 + .../vt_close_assessment_repository_impl.dart | 6 + ...sion_technician_close_assessment_page.dart | 6 + .../vision_technician_eye_scan_page.dart | 6 + .../vt_close_assessment_helper_provider.dart | 6 + ..._close_assessment_view_model_provider.dart | 6 + .../widgets/camera_preview_card.dart | 6 + .../presentation/widgets/close_heading.dart | 6 + .../presentation/widgets/custom_step_vt.dart | 6 + .../presentation/widgets/custom_switch.dart | 6 + .../widgets/error_dialogue_box.dart | 6 + .../presentation/widgets/eye_scan_card.dart | 6 + .../presentation/widgets/image_preview.dart | 6 + .../presentation/widgets/mr_code.dart | 6 + .../presentation/widgets/recommendations.dart | 6 + .../presentation/widgets/solution_card.dart | 6 + .../presentation/widgets/solution_tile.dart | 6 + .../presentation/widgets/step_image.dart | 6 + .../widgets/vt_eye_scan_stepper.dart | 6 + .../vision_technician_dashboard_page.dart | 6 + .../vision_technician_dashboard_provider.dart | 6 + .../data/contracts/vt_home_repository.dart | 6 + .../enums/vision_technician_home_enums.dart | 6 + .../data/models/table_params.dart | 6 + .../data/models/vt_analytics_stats.dart | 6 + .../data/models/vt_patient_model.dart | 6 + .../data/models/vt_patient_model.freezed.dart | 6 + .../data/models/vt_patient_model.g.dart | 6 + .../data/source/vt_home_remote_source.dart | 6 + .../repositories/vt_home_repository_impl.dart | 6 + .../pages/vision_technician_home_page.dart | 6 + .../patient_assessment_datasource.dart | 6 + .../vision_technician_analytics_provider.dart | 6 + ...ion_technician_search_filter_provider.dart | 6 + .../provider/vt_home_helper_provider.dart | 6 + .../provider/vt_home_view_model_provider.dart | 6 + .../presentation/widgets/age_card.dart | 6 + .../widgets/assessments_table.dart | 6 + .../presentation/widgets/color_dot.dart | 6 + .../presentation/widgets/custom_chip.dart | 6 + .../widgets/dashboard_filter_check_boxes.dart | 6 + .../widgets/gender_pie_chart.dart | 6 + .../widgets/list_of_filter_chips.dart | 6 + .../widgets/patient_age_analytics.dart | 6 + .../widgets/patient_cases_analytics.dart | 6 + .../widgets/patient_symptoms_ananlytics.dart | 6 + .../presentation/widgets/symptoms_card.dart | 6 + .../presentation/widgets/vt_header.dart | 6 + .../presentation/widgets/vt_patient_list.dart | 6 + .../presentation/widgets/vt_search_bar.dart | 6 + .../widgets/vt_search_filter.dart | 6 + .../widgets/vt_search_triaging_bar.dart | 6 + .../data/contracts/ivr_repository.dart | 6 + .../data/source/ivr_remote_source.dart | 6 + .../domain/model/ivr_call_history_model.dart | 6 + .../model/ivr_call_history_model.freezed.dart | 6 + .../model/ivr_call_history_model.g.dart | 6 + .../repositories/ivr_repository_impl.dart | 6 + ...sion_technician_ivr_call_history_page.dart | 6 + ...r_call_history_search_helper_provider.dart | 6 + ...ll_history_search_view_model_provider.dart | 6 + .../widgets/ivr_call_history_search_bar.dart | 6 + .../ivr_call_history_search_bar_chips.dart | 6 + .../widgets/ivr_call_history_table_view.dart | 6 + .../contracts/availability_repository.dart | 6 + .../source/availability_remote_source.dart | 6 + .../domain/models/availability_model.dart | 6 + .../models/availability_model.freezed.dart | 6 + .../domain/models/availability_model.g.dart | 6 + .../models/mark_my_availability_model.dart | 6 + .../availability_repository_impl.dart | 6 + ..._technician_mark_my_availability_page.dart | 6 + .../mark_my_availability_helper_provider.dart | 6 + ...t_mark_my_available_date_range_picker.dart | 6 + ...rk_my_available_each_day_availability.dart | 6 + .../vt_mark_my_available_each_row_day.dart | 6 + ...mark_myavailable_each_row_time_picker.dart | 6 + .../widgets/vt_register_date_input.dart | 6 + .../widgets/vt_show_marks_unavailable.dart | 6 + .../presentation/widgets/vt_time_input.dart | 6 + .../vt_preliminary_assessment_repository.dart | 6 + .../data/enums/category_enum.dart | 6 + .../data/enums/device_enums.dart | 6 + .../data/enums/post_equipments_enum.dart | 6 + .../data/model/care_plan_post_model.dart | 6 + .../model/care_plan_post_model.freezed.dart | 6 + .../data/model/care_plan_post_model.g.dart | 6 + .../data/model/care_plan_response_model.dart | 6 + .../data/model/device_model.dart | 6 + .../data/model/device_model.freezed.dart | 6 + .../data/model/device_model.g.dart | 6 + .../data/model/ivr_caller_details_model.dart | 6 + .../ivr_caller_details_model.freezed.dart | 6 + .../model/ivr_caller_details_model.g.dart | 6 + .../model/post_equipment_observation_dto.dart | 6 + ...ost_equipment_observation_dto.freezed.dart | 6 + .../post_equipment_observation_dto.g.dart | 6 + .../model/preliminary_assessment_model.dart | 6 + .../data/model/vision_center_model.dart | 6 + .../data/model/vision_center_models.dart | 6 + .../model/vision_center_models.freezed.dart | 6 + .../data/model/vision_center_models.g.dart | 6 + .../source/vt_care_plan_remote_source.dart | 6 + .../source/vt_device_data_remote_source.dart | 6 + .../vt_ivr_caller_details_remote_source.dart | 6 + .../vt_post_eqipment_details_source.dart | 6 + .../source/vt_save_triage_remote_source.dart | 6 + ...reliminary_assessment_repository_impl.dart | 6 + .../vt_vision_center_repository_impl.dart | 6 + ...echnician_preliminary_assessment_page.dart | 6 + .../providers/care_plan_provider.dart | 6 + .../care_plan_view_model_provider.dart | 6 + ...reliminary_assessment_helper_provider.dart | 6 + ...ician_preliminary_assessment_provider.dart | 6 + .../vision_technician_triage_provider.dart | 6 + .../vt_assessment_card_provider.dart | 6 + .../widgets/preliminary_assessment_card.dart | 6 + .../preliminary_assessment_care_plan.dart | 6 + ...minary_assessment_equipment_selection.dart | 6 + .../preliminary_assessment_ivr_call.dart | 6 + .../preliminary_assessment_ivr_card.dart | 6 + .../preliminary_assessment_question_grid.dart | 6 + .../preliminary_assessment_questions.dart | 6 + ...preliminary_assessment_recommendation.dart | 6 + .../preliminary_assessment_vision_center.dart | 6 + .../preliminary_assessment_visual_acuity.dart | 6 + .../presentation/widgets/severity_input.dart | 6 + .../vision_centers_address_details.dart | 6 + .../widgets/vision_centers_scroll_bar.dart | 6 + .../widgets/vt_register_input.dart | 6 + .../data/model/vt_profile_model.dart | 6 + .../data/model/vt_profile_model.freezed.dart | 6 + .../data/model/vt_profile_model.g.dart | 6 + .../vt_authentication_repository.dart | 6 + .../vt_authentication_repository_impl.dart | 6 + .../presentation/pages/vt_profile_page.dart | 6 + .../widgets/vt_profile_name_card.dart | 6 + .../vt_profile_organisation_details_card.dart | 6 + .../vt_profile_personal_details_card.dart | 6 + .../contracts/vt_register_repository.dart | 6 + .../source/vt_register_remote_source.dart | 6 + .../vt_register_repository_impl.dart | 6 + .../vision_technician_register_page.dart | 6 + .../vision_technician_register_provider.dart | 6 + .../widgets/register_patient_button.dart | 6 + .../widgets/register_search_bar.dart | 6 + .../vision_technician_patient_list.dart | 6 + .../data/contracts/vt_search_repository.dart | 6 + .../data/source/vt_search_remote_source.dart | 6 + .../vt_search_repository_impl.dart | 6 + .../pages/vision_technician_search_page.dart | 6 + .../vision_technician_search_provider.dart | 6 + .../widgets/empty_result_card.dart | 6 + .../assessment_and_triage_report_entity.dart | 6 + .../assessment_details_and_triage_mapper.dart | 6 + .../helpers/models/bottom_nav_item.dart | 6 + .../helpers/models/consent_model.dart | 6 + .../helpers/models/consent_model.freezed.dart | 6 + .../helpers/models/consent_model.g.dart | 6 + .../helpers/models/drawer_menu_item.dart | 6 + .../helpers/models/enums/facility_type.dart | 6 + .../models/enums/patient_type_enum.dart | 6 + .../sightconnect/helpers/models/keycloak.dart | 6 + .../helpers/models/keycloak.freezed.dart | 6 + .../helpers/models/keycloak.g.dart | 6 + .../models/patient_response_model.dart | 6 + .../patient_response_model.freezed.dart | 6 + .../models/patient_response_model.g.dart | 6 + .../helpers/models/performer_model.dart | 6 + .../models/performer_model.freezed.dart | 6 + .../helpers/models/performer_model.g.dart | 6 + .../helpers/models/timestamp_converter.dart | 6 + .../helpers/models/vision_center_model.dart | 6 + .../models/vision_center_model.freezed.dart | 6 + .../helpers/models/vision_center_model.g.dart | 6 + .../helpers/models/volunteer_post_model.dart | 6 + .../models/volunteer_post_model.freezed.dart | 6 + .../models/volunteer_post_model.g.dart | 6 + .../providers/global_language_provider.dart | 6 + .../global_optometrician_provider.dart | 6 + .../providers/global_patient_provider.dart | 6 + .../helpers/providers/global_provider.dart | 6 + .../providers/global_tenant_provider.dart | 6 + .../helpers/providers/global_vg_provider.dart | 6 + .../global_visual_acuity_provider.dart | 6 + .../providers/global_volunteer_provider.dart | 6 + .../global_vt_availibility_provider.dart | 6 + .../helpers/providers/global_vt_provider.dart | 6 + ...ent_assesssment_and_test_provider_new.dart | 6 + .../vt_assessesment_and_test_provider.dart | 6 + .../repositories/consent_repository.dart | 6 + .../repositories/consent_repository_impl.dart | 6 + .../repositories/keycloak_repository.dart | 6 + .../keycloak_repository_impl.dart | 6 + .../performers_profile_repository_impl.dart | 6 + .../vision_center_repository.dart | 6 + .../vision_center_repository_impl.dart | 6 + .../repositories/volunteer_repository.dart | 6 + .../volunteer_repository_impl.dart | 6 + .../helpers/service/eye_detector_service.dart | 6 + ...ace_distance_detector_service_android.dart | 6 + .../face_distance_detector_service_ios.dart | 6 + .../helpers/usecases/usecase.dart | 6 + .../helpers/widgets/analytics_cards.dart | 6 + .../widgets/appointment_booking_page.dart | 6 + .../helpers/widgets/doctor_info_card.dart | 6 + .../helpers/widgets/eye_detector_painter.dart | 6 + .../helpers/widgets/eye_scan_tab_view.dart | 6 + .../widgets/face_distance_painter.dart | 6 + .../coordinates_translator_android.dart | 6 + .../helpers/coordinates_translator_ios.dart | 6 + .../helpers/show_feedback_bottom_sheet.dart | 6 + .../helpers/show_triage_bottom_sheet.dart | 6 + ...ow_triage_how_to_proceed_bottom_sheet.dart | 6 + .../helpers/widgets/volunteer_approved.dart | 6 + .../helpers/widgets/volunteer_expired.dart | 6 + .../helpers/widgets/volunteer_pending.dart | 6 + lib/env.dart | 6 + lib/env.g.dart | 6 + lib/l10n/app_localizations.dart | 6 + lib/l10n/app_localizations_as.dart | 6 + lib/l10n/app_localizations_bn.dart | 6 + lib/l10n/app_localizations_en.dart | 6 + lib/l10n/app_localizations_gu.dart | 6 + lib/l10n/app_localizations_hi.dart | 6 + lib/l10n/app_localizations_kn.dart | 6 + lib/l10n/app_localizations_ml.dart | 6 + lib/l10n/app_localizations_mr.dart | 6 + lib/l10n/app_localizations_or.dart | 6 + lib/l10n/app_localizations_ta.dart | 6 + lib/l10n/app_localizations_te.dart | 6 + lib/l10n/app_localizations_ur.dart | 6 + lib/main.dart | 6 + lib/services/app_info_service.dart | 6 + lib/services/app_update_service.dart | 6 + lib/services/dio_service.dart | 6 + lib/services/eb_failure.dart | 6 + lib/services/exceptions.dart | 6 + lib/services/failure.dart | 6 + lib/services/file_ms_service.dart | 6 + lib/services/geocoding_service.dart | 6 + lib/services/interceptors.dart | 6 + lib/services/ios_device_info_service.dart | 6 + lib/services/location_service.dart | 6 + lib/services/matomo_logger.dart | 6 + lib/services/network_info.dart | 6 + lib/services/permission_service.dart | 6 + lib/services/persistent_auth_data.dart | 6 + lib/services/persistent_auth_service.dart | 6 + lib/services/shared_preference.dart | 6 + lib/services/token_refresh_service.dart | 6 + lib/shared/constants/api_constant.dart | 6 + lib/shared/constants/app_color.dart | 6 + lib/shared/constants/app_icon.dart | 6 + lib/shared/constants/app_images.dart | 6 + lib/shared/constants/app_size.dart | 6 + lib/shared/extensions/widget_extension.dart | 6 + lib/shared/pages/about_us_page.dart | 6 + .../pages/app_camera_image_preview.dart | 6 + lib/shared/pages/app_camera_page.dart | 6 + lib/shared/pages/app_photo_page.dart | 6 + .../pages/date_time_incorrect_page.dart | 6 + lib/shared/pages/face_distance_detector.dart | 6 + lib/shared/pages/help_and_support_page.dart | 6 + lib/shared/pages/internet_lost_page.dart | 6 + .../pages/patient_privacy_policy_page.dart | 6 + lib/shared/pages/pincode_dialog_page.dart | 6 + lib/shared/pages/pulsar_effect_page.dart | 6 + lib/shared/pages/register_volunteer_page.dart | 6 + lib/shared/pages/secure_page.dart | 6 + lib/shared/pages/shared_error_app_page.dart | 6 + lib/shared/regex/regex.dart | 6 + lib/shared/responsive/responsive.dart | 6 + lib/shared/router/app_router.dart | 6 + lib/shared/theme/app_shadow.dart | 6 + lib/shared/theme/app_theme.dart | 6 + lib/shared/theme/text_theme.dart | 6 + lib/shared/widgets/app_bottom_nav_bar.dart | 6 + .../widgets/app_camera_preview_widget.dart | 6 + lib/shared/widgets/app_card.dart | 6 + lib/shared/widgets/app_drawer.dart | 6 + lib/shared/widgets/app_exit.dart | 6 + lib/shared/widgets/app_feedback_better.dart | 6 + lib/shared/widgets/app_form_section.dart | 6 + lib/shared/widgets/app_name_avatar.dart | 6 + lib/shared/widgets/app_network_image.dart | 6 + lib/shared/widgets/app_pop_up_menu.dart | 6 + lib/shared/widgets/app_toast.dart | 6 + lib/shared/widgets/app_upgrader.dart | 6 + lib/shared/widgets/arrow_button.dart | 6 + lib/shared/widgets/blur_overlay.dart | 6 + lib/shared/widgets/choose_role_dialog.dart | 6 + lib/shared/widgets/custom_app_bar.dart | 6 + lib/shared/widgets/desktop_clipper.dart | 6 + lib/shared/widgets/error_dialog.dart | 6 + lib/shared/widgets/home_search_bar.dart | 6 + .../widgets/input_fields/app_action_chip.dart | 6 + .../input_fields/app_checkbox_button.dart | 6 + .../widgets/input_fields/app_drop_down.dart | 6 + .../input_fields/app_radio_button.dart | 6 + .../input_fields/app_segment_button.dart | 6 + .../input_fields/app_switch_field.dart | 6 + .../widgets/input_fields/app_text_field.dart | 6 + lib/shared/widgets/loading_card.dart | 6 + lib/shared/widgets/loading_overlay.dart | 6 + lib/shared/widgets/profile_toggle_button.dart | 6 + .../statistics_cards_carousel_slider.dart | 6 + lib/shared/widgets/success_dialogue.dart | 6 + lib/shared/widgets/text_scale_pop_up.dart | 6 + lib/shared/widgets/toaster.dart | 6 + lib/shared/widgets/translation_pop_up.dart | 6 + .../lib/data/model/miniapp.dart | 6 + .../lib/data/model/miniapp.freezed.dart | 6 + .../lib/data/model/miniapp.g.dart | 6 + .../data/model/miniapp_injection_model.dart | 6 + .../miniapp_injection_model.freezed.dart | 6 + .../data/model/miniapp_injection_model.g.dart | 6 + .../lib/flutter_miniapp_web_runner.dart | 6 + .../pages/miniapp_display_page.dart | 6 + .../lib/presentation/server/user_script.dart | 6 + .../widgets/web_view_app_bar.dart | 6 + .../test/flutter_miniapp_web_runner_test.dart | 6 + .../lib/constants/app_color.dart | 6 + .../lib/constants/app_size.dart | 6 + .../lib/pages/superapp_scanner_page.dart | 6 + .../lib/superapp_scanner.dart | 6 + .../test/superapp_scanner_test.dart | 6 + script.dart | 6 + scripts/appExcelDiff.js | 6 + scripts/appTranslations.js | 6 + scripts/appTranslationsARB.js | 6 + scripts/appTranslationsDart.js | 6 + scripts/arbToExcel.js | 6 + scripts/updateARBs.ts | 6 + scripts/utils/language.js | 6 + scripts/utils/string.js | 6 + test/widget_test.dart | 6 + web/index.html | 6 + 940 files changed, 5904 insertions(+), 291 deletions(-) delete mode 100644 .github/workflows/ios-development.yml delete mode 100644 .github/workflows/ios.yml create mode 100644 Contribution_License_Agreement.pdf delete mode 100644 Jenkins-dev create mode 100644 LICENSE create mode 100644 Release_Notes_FOSS_notice_SightConnect.docx diff --git a/.github/scripts/increment_version.py b/.github/scripts/increment_version.py index 05a611b5c..bf46724d1 100644 --- a/.github/scripts/increment_version.py +++ b/.github/scripts/increment_version.py @@ -1,3 +1,7 @@ +# Copyright 2024 Infosys Ltd. +# Use of this source code is governed by Apache License 2.0 that can be found in the LICENSE file or at +# http://www.apache.org/licenses/LICENSE-2.0 + import re def increment_build_number(filename): diff --git a/.github/workflows/ios-development.yml b/.github/workflows/ios-development.yml deleted file mode 100644 index 8e87825e2..000000000 --- a/.github/workflows/ios-development.yml +++ /dev/null @@ -1,87 +0,0 @@ -# name: "Build iOS app" -# on: -# push: -# branches: -# - main - -# jobs: -# build_with_signing: -# runs-on: macos-latest -# steps: - -# - name: checkout repository -# uses: actions/checkout@master -# with: -# repository: monirul-islam_infosys/EYE_CARE_FOR_ALL_INFOSYS -# token: ${{ secrets.MYPAT }} - -# - name: Decode android/key.properties -# run: echo "${{ secrets.EXPORT_OPTIONS_PLIST }}" | base64 --decode > ios/Runner/ExportOptions.plist - -# - name: Install the Apple certificate and provisioning profile -# env: -# BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} -# P12_PASSWORD: ${{ secrets.P12_PASSWORD }} -# BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} -# KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} -# run: | -# # create variables -# CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 -# PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision -# KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - -# # import certificate and provisioning profile from secrets -# echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH -# echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - -# # create temporary keychain -# security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH -# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH -# security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - -# # import certificate to keychain -# security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -# security list-keychain -d user -s $KEYCHAIN_PATH - -# # apply provisioning profile -# mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles -# cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - -# - name: Set up Flutter -# uses: subosito/flutter-action@v2 -# with: -# flutter-version: '3.16.5' - -# - name: Flutter clean -# run: flutter clean - -# - name: Flutter Doctor -# run: flutter doctor -v - -# - name: Install Dependencies -# run: flutter pub get - -# - name: Build Android IPA -# run: flutter build ipa --release --export-options-plist=ios/Runner/ExportOptions.plist --build-number ${{ github.run_number }} - -# - name: Upload IPA -# uses: actions/upload-artifact@v2 -# with: -# name: apk-output -# path: ./build/ios/ipa/eye_care_for_all.ipa -# retention-days: 10 - -# - name: upload artifact to App Center -# uses: wzieba/AppCenter-Github-Action@v1 -# with: -# appName: stg-radar-mobility/SightConnect -# token: ${{secrets.APP_CENTER_TOKEN}} -# group: Collaborators -# file: ./build/ios/ipa/eye_care_for_all.ipa -# notifyTesters: true -# debug: false -# - name: Clean up keychain and provisioning profile -# if: ${{ always() }} -# run: | -# security delete-keychain $RUNNER_TEMP/app-signing.keychain-db -# rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision \ No newline at end of file diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml deleted file mode 100644 index b987c2054..000000000 --- a/.github/workflows/ios.yml +++ /dev/null @@ -1,70 +0,0 @@ -# name: "Build iOS app" -# on: -# push: -# branches: -# - main - - -# jobs: -# build_ios: -# runs-on: macos-latest -# steps: - -# - name: Checkout repository -# uses: actions/checkout@master -# with: -# repository: monirul-islam_infosys/EYE_CARE_FOR_ALL_INFOSYS -# token: ${{ secrets.MYPAT }} - -# - name: Decode Export Options Plist -# run: echo "${{ secrets.EXPORT_OPTIONS_PLIST }}" | base64 --decode > ios/Runner/ExportOptions.plist - -# - name: Install Apple certificate and provisioning profile -# env: -# BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} -# P12_PASSWORD: ${{ secrets.P12_PASSWORD }} -# BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} -# KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} -# run: | -# CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 -# PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision -# KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - -# echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH -# echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - -# security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH -# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH -# security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - -# security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - -# mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles -# cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - -# - name: Set up Flutter -# uses: subosito/flutter-action@v2 -# with: -# flutter-version: '3.16.5' # Update if needed - -# - name: Install Dependencies -# run: flutter pub get - -# - name: Build iOS App (Release) -# run: flutter build ipa --release --export-options-plist=ios/Runner/ExportOptions.plist --build-number ${{ github.run_number }} - -# - name: Upload IPA as Artifact -# uses: actions/upload-artifact@v2 -# with: -# name: ios-ipa -# path: ./build/ios/ipa/eye_care_for_all.ipa -# retention-days: 10 - -# # - name: (Optional) Upload to App Center (replace with your action) -# # # You can use a different action for App Center upload - -# - name: Clean up keychain and provisioning profile (always) -# run: | -# security delete-keychain $RUNNER_TEMP/app-signing.keychain-db -# rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision - diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64f7b42f1..30b393c03 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,26 +13,6 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v2 - # with: - # token: ${{ secrets.GITHUB_TOKEN }} - - # - name: Set up Python - # uses: actions/setup-python@v2 - # with: - # python-version: '3.x' - - # - name: Increment build number - # run: python .github/scripts/increment_version.py - - # - name: Commit changes - # run: | - # git config --global user.name 'GitHub Actions' - # git config --global user.email 'github-actions[bot]@users.noreply.github.com' - # git add . - # git commit -m "Increment build number [skip ci]" - # git tag -a v${{ github.run_number }} -m "Version ${{ github.run_number }}" - # git push origin --tags - # git push - name: env create run: echo "VERSION_NUMBER=$GITHUB_REF_NAME" >> $GITHUB_ENV # - name: tagcreation diff --git a/Contribution_License_Agreement.pdf b/Contribution_License_Agreement.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f53bf0be9cc1c8edd810fef2ca1ab0fa15632b64 GIT binary patch literal 97043 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 literal 0 HcmV?d00001 diff --git a/Jenkins-dev b/Jenkins-dev deleted file mode 100644 index d31cb8481..000000000 --- a/Jenkins-dev +++ /dev/null @@ -1,77 +0,0 @@ -pipeline { - agent any - - environment { - REPO_OWNER = "Infosys-EyeCare4All" - REPO_NAME = "FlutterApp" - WORKFLOW_NAME = "eyebank.yml" - ARTIFACT_NAME = "BuildArtifactZIP" - ACCESS_TOKEN = credentials('github-access-token') - DOWNLOAD_PATH = "artifact.zip" // Specify the desired file location - - VM_IPS = "infyeyecareadm@10.205.248.93" - } - - stages { - stage('Download Artifact') { - steps { - script { - // Get the latest workflow run ID - def runId = sh( - script: "curl -s -X GET -H 'Accept: application/vnd.github.v3+json' -H 'Authorization: Bearer ${env.ACCESS_TOKEN}' 'https://api.github.com/repos/${env.REPO_OWNER}/${env.REPO_NAME}/actions/workflows/${env.WORKFLOW_NAME}/runs' | jq -r '.workflow_runs[0].id'", - returnStdout: true - ).trim() - - // Get the artifact ID - def artifactId = sh( - script: "curl -s -X GET -H 'Accept: application/vnd.github.v3+json' -H 'Authorization: Bearer ${env.ACCESS_TOKEN}' 'https://api.github.com/repos/${env.REPO_OWNER}/${env.REPO_NAME}/actions/runs/${runId}/artifacts' | jq -r \".artifacts[] | select(.name == \\\"${env.ARTIFACT_NAME}\\\") | .id\"", - returnStdout: true - ).trim() - sh "rm -rf ${env.DOWNLOAD_PATH}" - // Download the artifact - sh "curl -o ${env.DOWNLOAD_PATH} -J -L -H 'Accept: application/vnd.github.v3+json' -H 'Authorization: Bearer ${env.ACCESS_TOKEN}' 'https://api.github.com/repos/${env.REPO_OWNER}/${env.REPO_NAME}/actions/artifacts/${artifactId}/zip'" - } - } - } - stage('Transfer to VM') { - steps { - script { - def vmIps = VM_IPS.split(',') - sh "unzip -o ${env.DOWNLOAD_PATH}" - for (def ip : vmIps) { - sh """ - ssh -i ~/pem/care-dev.pem $ip 'bash -s' < + SightConnect Logo +

+

SightConnect

+

+ Revolutionizing Eye Care with Advanced Technology and Accessibility +

+

+ + GitHub release + + + License + + + License + + + License + + + Rating + +

+ +

+ + Image 2 + +   + + Image 3 + +

-flutter pub run build_runner build --delete-conflicting-outputs -flutter pub run flutter_launcher_icons:main -flutter pub run flutter_native_splash:create --path=splash.yaml +## Overview -flutter run -d chrome --web-browser-flag "--disable-web-security" +SightConnect revolutionizes eye care by combining advanced technology with user-friendly features. Our app is designed to cater to anyone with a mobile device, making professional-grade eye care accessible to all. With SightConnect, you're not just using an app – you're embracing a holistic approach to eye health. -flutter gen-l10n +## ✨ Key Features -dart run script.dart +- 🔍 **Advanced Eye Condition Detection**: AI-powered tools for early detection of common eye conditions +- 📊 **Comprehensive Self-Assessment**: Guided eye health evaluations and progress tracking +- 👩‍⚕️ **Expert Consultation Network**: Connect with qualified ophthalmologists and optometrists +- 🏥 **Intelligent Clinic Locator**: Find and book appointments at nearby eye care facilities +- 🔒 **Secure Health Records Management**: Store and share your eye health records securely `UPCOMING` +- ⏰ **Personalized Care Reminders**: Smart notifications for check-ups and medications +- 🤝 **Community Eye Health Initiative**: Share resources and participate in awareness campaigns +- 🇮🇳 **ABDM Compliance**: Fully compliant with Ayushman Bharat Digital Mission standards `UPCOMING` +- 🧬 **Eye and Cornea Bank Integration**: Access donation information and support vision restoration `UPCOMING` +- 🔗 **NHAI Gateway Compatibility**: Interface with National Health Authority of India's digital ecosystem `UPCOMING` -#Remove comment -(?://.*$|/\*[\s\S]*?\*/) -### Localization +## 🚀 Getting Started -To generate arb files and app_localizations dart files, You need to run a javascript file. +### Prerequisites -> [!NOTE] -> To run javascript files from the terminal, you need to install node in your machine. Node enables us to run javascript outside of the browser environment. +Before you begin, ensure you have met the following requirements: -Go to `scripts/` folder in the project root. +- Flutter (version 3.0 or newer) +- Dart (version 3.0 or newer) +- Android Studio or Visual Studio Code (or your favorite IDE) -run the following command +### Installation -```shell -npm i -``` +1. Clone the repository: + ```sh + git clone https://github.com/Infosys/SightConnect.git + ``` -After running the command all the dependencies will be downloaded for you. You only need to do this once. +2. Navigate to the project directory: + ```sh + cd flutter-client + ``` -The arb files are generated from the `App_Translations.xlsx` file. So make sure to move that file inside the scripts folder. before moving further +3. Install dependencies: + ```sh + flutter pub get + ``` -To generate localization files, run the following command +### 🎯 Usage -```shell -npm run app-translations -``` +1. Find the `.env` file and open it up. +2. Look for `BASE_URL` and replace it with the backend URL we'll give you. +3. Save that file! +4. Fire it up on your emulator or real device: + ``` + flutter run + ``` +5. Start exploring! Click around and see what SightConnect can do. -This will create all the files needed for the app localization inside `lib/l10n/` +## 🔗 Connecting to Our Backend +We are in process of making our backend services also open source. Stay tuned for more updates. Meanwhile, you can use our hosted service for development purposes. Here's how to get access: +1. Open an issue in our GitHub repo asking for access, with the following tags #AccessRequest #HostedService. Be nice! 😊 +2. Once we give you the thumbs up, we'll send you a special backend URL. +3. Use that URL to replace the `BASE_URL` in `.env` (see the "Usage" section). +4. Remember, this hosted service is just for development. It's got some limitations, so don't go wild! -Branches with their Description +## 🤝 Contributing -app_api_v1 : it has the ui till release 1.216.0, but the api's are v1 -equipment_selection(any branch with equipment in it) : it has the code for equipment selection -iPleadge_dev : added code for iPleadge -distance_acuity : old code for long distance acuity, not used anymore -dev_backup : backup of development branch before the introduction of new design and long distance visual acuity. +We love contributions! Here's how you can join in: +1. Fork the repo (it's like making your own copy). +2. Create a new branch for your amazing feature (`git checkout -b feature/AmazingFeature`). +3. Make your changes and commit them (`git commit -m 'Add some AmazingFeature'`). +4. Push to your branch (`git push origin feature/AmazingFeature`). +5. Come back to our repo and open a Pull Request. We can't wait to see what you've done! -A temporary fix for InAppWebView has been added. -In android/build.gradle, configurations.all{} has been added. -In pubspec, a dependency override has been added for webview_flutter_android: 3.16.1 - \ No newline at end of file +Check out our Contribution License Agreement (CLA) file for all the nitty-gritty details on our code of conduct, contribution guidelines, and how we review and merge changes. + +## 👥 Collaboration with Experts + +SightConnect is proud to partner with the prestigious LV Prasad Eye Institute (LVPEI), a world-renowned center for ophthalmic care, education, and research. This collaboration ensures that our app delivers the highest standard of eye care guidance and technological innovation. + +## 📄 License + +This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details. + +## 📞 Contact +Infosys - @Infosys - sight_connect@infosys.com + +Project Link: https://github.com/Infosys/SightConnect + +## 🐛 Found a Bug? Have an Idea? + +We want to hear about it! Open an issue on our GitHub repo and let us know what's up. We're always looking for ways to make SightConnect better. But before you start, check out our Contribution License Agreement (CLA) to make sure you're good to go. + +--- +Remember to check out our CONTRIBUTING.md file for all the details on how to be an awesome contributor. And don't forget, the LICENSE file has all the Apache License 2.0 info you need. + +Let's make healthcare more accessible together! 🚀🏥 diff --git a/Release_Notes_FOSS_notice_SightConnect.docx b/Release_Notes_FOSS_notice_SightConnect.docx new file mode 100644 index 0000000000000000000000000000000000000000..2f3ec8a003d9aedb0ee8b02f91e858e4eaf0899b GIT binary patch literal 51494 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 literal 0 HcmV?d00001 diff --git a/android/app/build.gradle b/android/app/build.gradle index 85fd35e49..02d0fc52f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,3 +1,9 @@ +/* + * Copyright 2024 Infosys Ltd. + * Use of this source code is governed by Apache License 2.0 that can be found in the LICENSE file or at + * http://www.apache.org/licenses/LICENSE-2.0 + */ + plugins { id "com.android.application" id "kotlin-android" diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 399f6981d..737524587 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,3 +1,9 @@ + + + diff --git a/android/app/src/main/res/drawable-night-v21/launch_background.xml b/android/app/src/main/res/drawable-night-v21/launch_background.xml index f88598cf6..d152bffe1 100644 --- a/android/app/src/main/res/drawable-night-v21/launch_background.xml +++ b/android/app/src/main/res/drawable-night-v21/launch_background.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/drawable-night/launch_background.xml b/android/app/src/main/res/drawable-night/launch_background.xml index f88598cf6..d152bffe1 100644 --- a/android/app/src/main/res/drawable-night/launch_background.xml +++ b/android/app/src/main/res/drawable-night/launch_background.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml index 3cc4948a1..a6a95c2ec 100644 --- a/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml index 3cc4948a1..a6a95c2ec 100644 --- a/android/app/src/main/res/drawable/launch_background.xml +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml b/android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml index 7699432e1..044ebb1f8 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/app_icon.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml index 7699432e1..044ebb1f8 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 5f349f7f4..e65568558 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,4 +1,10 @@ + + diff --git a/android/app/src/main/res/values-night-v31/styles.xml b/android/app/src/main/res/values-night-v31/styles.xml index 9c2b58629..801d2fa64 100644 --- a/android/app/src/main/res/values-night-v31/styles.xml +++ b/android/app/src/main/res/values-night-v31/styles.xml @@ -1,4 +1,10 @@ + +