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
37 stars 12 forks source link

Change marquee to singlescrollview #998

Closed XavierPaquet-Rapold closed 3 months ago

XavierPaquet-Rapold commented 3 months ago

⁉️ Related Issue

When expanding a grade evaluation tile, the text disappears and an RenderBox was not laid out exception.

📖 Description

The solution is to use SingleChildScrollView instead of Marquee.

The current behaviour is that if an evaluation title is too long, it automatically flows on the screen horizontally.

Advantages:

Disadvantages:

🧪 How Has This Been Tested?

☑️ Checklist before requesting a review

sonarcloud[bot] commented 3 months 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 SonarCloud

github-actions[bot] commented 3 months ago

Coverage after merging hotfix/grade-details-view-bug into master will be

72.66%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/constants
   preferences_flags.dart0%100%100%0%61, 66, 68, 70–72, 75, 77–80, 82, 84
   widget_helper.dart100%100%100%100%
   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%100, 103–105, 108–110, 113–115, 118–120, 123–125, 128–130, 133–135, 138–140, 143–144, 146–150, 154–156, 58–60, 63–65, 68–70, 73–75, 78–80, 83–85, 88–90, 93–95, 98–99
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_view.dart94.74%100%100%94.74%92–93
   not_found_viewmodel.dart100%100%100%100%
lib/features/app/integration
   github_api.dart0%100%100%0%100–101, 104, 106, 110, 112–116, 118–119, 122, 124, 131–134, 138–139, 141, 39, 42–43, 47, 51–55, 57–58, 60, 62, 64–65, 68, 70, 77, 82–88, 92, 94, 96–98
   launch_url_service.dart0%100%100%0%16–18, 21–23, 26–31, 37, 55–56, 59
   networking_service.dart0%100%100%0%10–11, 13–15, 18–20
lib/features/app/navigation
   navigation_service.dart0%100%100%0%27, 30–31, 33–34, 41–42, 45–46, 49–51, 53, 58, 61, 63–64, 67–69, 71–72
   navigation_rail.dart64.18%100%100%64.18%41, 51, 53, 55, 58, 62, 68–69, 74–88, 90
lib/features/app/presentation
   rive_animation_service.dart0%100%100%0%12–13, 16, 19–20, 28, 32–33, 35
   webview_controller_extension.dart88.89%100%100%88.89%21
lib/features/app/repository
   author_repository.dart0%100%100%0%17, 19
   news_repository.dart0%100%100%0%20, 25
   course_repository.dart84.34%100%100%84.34%194, 199, 204–205, 207, 211, 213–214, 217–223, 228, 230, 233, 235–237, 240–245, 249, 253–255, 257, 261, 331, 339, 341, 526–527, 77
   quick_link_repository.dart85.71%100%100%85.71%39–40
   user_repository.dart93.52%100%100%93.52%131–132, 182, 304, 306, 94–95
lib/features/app/startup
   startup_viewmodel.dart92.50%100%100%92.50%103, 138–139
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.dart69.09%100%100%69.09%119–120, 122, 36, 38, 40, 43–45, 69–70, 80–82, 85, 87–88
   siren_flutter_service.dart0%100%100%0%13–14, 18–19, 23–25, 29–31, 35, 41
lib/features/app/widgets
   app_widget_service.dart77.42%100%100%77.42%71, 73–78
   bottom_bar.dart92.65%100%100%92.65%50, 52, 54, 59, 63
   dismissible_card.dart100%100%100%100%
   link_web_view.dart88.24%100%100%88.24%38–39
   base_scaffold.dart85.14%100%100%85.14%105, 134, 163–164, 166–168, 170–171, 173–174
lib/features/dashboard
   dashboard_view.dart78.78%100%100%78.78%154–157, 165–168, 176–178, 186–188, 196–198, 236–239, 253–255, 261–263, 271, 273–274, 292–295, 299–301, 327–328, 365–366, 378–379, 417–418, 465–467, 495–496, 518, 90
   dashboard_viewmodel.dart80.59%100%100%80.59%146–148, 150, 153, 240–241, 255–261, 263, 272–273, 315, 355–356, 358, 378, 382, 419, 421, 426, 464, 479, 481–483, 485, 490–491, 547, 552, 554–555, 557–558, 561–562, 564, 567, 569, 571–572, 574–575, 578–579, 591–592
lib/features/dashboard/widgets
   course_activity_tile.dart100%100%100%100%
   haptics_container.dart100%100%100%100%
lib/features/ets
   ets_view.dart80%100%100%80%27–29, 79–81
lib/features/ets/events/author
   author_info_skeleton.dart97.56%100%100%97.56%76
   author_view.dart79.37%100%100%79.37%109, 157, 234, 281–284, 286–287, 355–357, 359–360, 362–363, 367–368, 373, 377–378, 385–388, 390, 44–47, 49–52, 62–63, 93, 96–97
   author_viewmodel.dart68%100%100%68%56, 60, 62–65, 68–69
lib/features/ets/events/news
   news_view.dart59.09%100%100%59.09%124–127, 144–145, 148–149, 215–217, 219–220, 222–223, 227–228, 233, 237–238, 245–248, 250, 32–35, 39–41, 55–58, 60–63, 73, 77–78, 88–89
   news_viewmodel.dart71.43%100%100%71.43%42, 46–48
lib/features/ets/events/news/news-details
   news_details_view.dart70.43%100%100%70.43%100–102, 104, 106, 109, 111, 113, 116, 118–119, 125–126, 166, 168–172, 174–178, 180–181, 185, 190–191, 229–230, 232, 236, 254, 263–265, 268–272, 274, 307–308, 340, 343, 445, 447–448, 451, 454, 75, 98–99
   news_details_viewmodel.dart100%100%100%100%
lib/features/ets/events/news/widgets
   news_card.dart63.04%100%100%63.04%32–33, 62–66, 69, 73, 77, 87–89, 92, 95, 97, 99
   news_card_skeleton.dart100%100%100%100%
lib/features/ets/events/report-news
   report_news_widget.dart