ApplETS / Notre-Dame

The 4th generation of ÉTSMobile, the main gateway between the École de technologie supérieure and its students on mobile devices
Apache License 2.0
39 stars 11 forks source link

Refactor nav bar #1090

Closed LouisPhilippeHeon closed 1 week ago

LouisPhilippeHeon commented 1 week ago

⁉️ Related Issue

N/A

📖 Description

Abstract class to reduce complexity of Selected icon is filled.

🧪 How Has This Been Tested?

Manual tests

☑️ Checklist before requesting a review

🖼️ Screenshots (if useful):

Capture d’écran, le 2024-11-12 à 18 04 38
sonarcloud[bot] commented 1 week ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

github-actions[bot] commented 1 week ago

Coverage after merging feature/abstract-class-navigation into master will be

72.10%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/constants
   preferences_flags.dart0%100%100%0%39, 44, 46, 48–50, 53, 55–58, 60, 62
   markers.dart100%100%100%100%
lib/features/app/analytics
   analytics_service.dart0%100%100%0%13–14, 17, 20–22, 25, 30, 32–34, 38, 40–41, 43
   remote_config_service.dart0%100%100%0%101–103, 106–108, 111–113, 116–118, 121–123, 126–128, 131–133, 136–138, 141–143, 146–148, 151–152, 154–158, 162–164, 61–63, 66–68, 71–73, 76–78, 81–83, 86–88, 91–93, 96–98
lib/features/app/error
   internal_info_service.dart0%100%100%0%18–21, 24–29, 32, 34–38, 42–43
lib/features/app/error/not_found
   not_found_viewmodel.dart100%100%100%100%
   not_found_view.dart92.59%100%100%92.59%69–70
lib/features/app/integration
   github_api.dart0%100%100%0%101, 103–107, 109–110, 113, 115, 122–125, 129–130, 132, 36–38, 42–46, 48–49, 51, 53, 55–56, 59, 61, 68, 73–79, 83, 85, 87–89, 91–92, 95, 97
   launch_url_service.dart0%100%100%0%16–19, 21, 25–28, 30, 34–37
   networking_service.dart0%100%100%0%10–11, 13–15, 18–20
lib/features/app/monets_api
   monets_api_client.dart90.91%100%100%90.91%22
lib/features/app/monets_api/models
   mon_ets_user.dart50%100%100%50%29–33, 35, 37
lib/features/app/navigation
   navigation_service.dart0%100%100%0%100, 31, 34–35, 37–38, 45–46, 49–50, 53–55, 57, 62–63, 66–67, 70–72, 75–76, 79, 81, 86, 89, 91–92, 95–97, 99
   navigation_history_observer.dart0%100%100%0%12–14, 16, 18, 20, 23, 25, 28, 30, 8–9
lib/features/app/repository
   author_repository.dart0%100%100%0%13, 15
   course_repository.dart84.34%100%100%84.34%200, 205, 210–211, 213, 217, 219–220, 223–229, 234, 236, 239, 241–243, 246–251, 255, 259–261, 263, 267, 337, 345, 347, 532–533, 83
   news_repository.dart0%100%100%0%16, 21
   quick_link_repository.dart85.71%100%100%85.71%39–40
   user_repository.dart93.52%100%100%93.52%135–136, 186, 308, 310, 98–99
lib/features/app/signets-api
   signets_api_client.dart88.89%100%100%88.89%35, 45, 47, 49
   soap_service.dart100%100%100%100%
lib/features/app/signets-api/commands
   authentificate_command.dart0%100%100%0%18, 21, 24–28, 31
   get_course_reviews_command.dart100%100%100%100%
   get_course_summary_command.dart100%100%100%100%
   get_courses_activities_command.dart100%100%100%100%
   get_courses_command.dart100%100%100%100%
   get_programs_command.dart100%100%100%100%
   get_schedule_activities_command.dart100%100%100%100%
   get_sessions_command.dart100%100%100%100%
   get_student_info_command.dart100%100%100%100%
lib/features/app/signets-api/models
   course.dart80.52%100%100%80.52%102–105, 120, 122–131
   course_activity.dart81.40%100%100%81.40%83, 85–91
   schedule_activity.dart80.95%100%100%80.95%121, 123–133
   session.dart73.08%100%100%73.08%159, 161–173, 175, 177–189
   profile_student.dart82.14%100%100%82.14%56, 58–61
   program.dart81.13%100%100%81.13%100–106, 96, 98–99
   course_review.dart51.92%100%100%51.92%100–103, 51–58, 70, 72–79, 95, 97–99
   course_summary.dart86.84%100%100%86.84%106, 108–116
   course_evaluation.dart70.54%100%100%70.54%128, 167, 169–182, 184, 186–200, 49
lib/features/app/startup
   startup_viewmodel.dart76.92%100%100%76.92%37–38, 54
lib/features/app/storage
   cache_manager.dart0%100%100%0%30–31, 34–37, 40, 44, 46–50, 56, 58–61, 66, 68–71
   preferences_service.dart63.64%100%100%63.64%112–113, 115, 29, 31, 33, 36–38, 51, 60–63, 73–75, 78, 80–81
lib/features/app/widgets
   base_scaffold.dart85.71%100%100%85.71%106, 140, 169–170, 172–174, 176–177, 179–180
   dismissible_card.dart100%100%100%100%
lib/features/app/widgets/navigation
   bottom_bar.dart100%100%100%100%
   navigation_rail.dart88.89%100%100%88.89%15
   base_navigation_bar.dart100%100%100%100%
lib/features/dashboard
   dashboard_view.dart66.39%100%100%66.39%147–149, 157–159, 167–169, 177–179, 187–189, 229–232, 246–248, 254–256, 265, 267–268, 286–289, 293–295, 313–314, 320–321, 346–347, 386, 393, 415–416, 451–454, 457–461, 463, 465, 467, 469–472, 474–477, 480, 482–483, 490–491, 496, 498, 504, 510–513, 541–542, 78, 89
   dashboard_viewmodel.dart93.84%100%100%93.84%132–134, 184, 187, 259, 305, 309, 348, 353, 391, 454–455
lib/features/dashboard/widgets
   course_activity_tile.dart100%100%100%100%
   haptics_container.dart100%100%100%100%
lib/features/ets
   ets_view.dart80.65%100%100%80.65%29–31, 81–83
lib/features/ets/events/api-client
   hello_api_client.dart91.67%100%100%91.67%26
lib/features/ets/events/api-client/commands
   get_events_command.dart74.07%100%100%74.07%50, 58, 61, 64, 67, 70, 73
   get_organizer_command.dart92.31%100%100%92.31%26
   report_news_command.dart92.86%100%100%92.86%27
lib/features/ets/events/api-client/models
   organizer.dart100%100%100%100%
   paginated_news.dart31.03%100%100%31.03%36–41, 44, 47–53, 55, 57–61
   report.dart14.29%100%100%14.29%15–17, 20–22
   activity_area.dart48.15%100%100%48.15%35, 38–44, 46, 48–52
   news.dart50.88%100%100%50.88%100–101, 103, 105–116, 85, 88–99
   news_tags.dart5%100%100%5%17–21, 23–27, 30, 33–38,