Skip to content

Feature/1383 limit grades widget to single row#1384

Merged
NMoumy merged 7 commits into
masterfrom
feature/1383-Limit-grades-widget-to-single-row
Jun 1, 2026
Merged

Feature/1383 limit grades widget to single row#1384
NMoumy merged 7 commits into
masterfrom
feature/1383-Limit-grades-widget-to-single-row

Conversation

@NMoumy
Copy link
Copy Markdown
Contributor

@NMoumy NMoumy commented May 5, 2026

⁉️ Related Issue

📖 Description

🧪 How Has This Been Tested?

☑️ Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • If needed, I added analytics.
  • Make sure to add either one of the following labels: version: Major,version: Minor or version: Patch.

🖼️ Screenshots (if useful):

issue#1383

@NMoumy NMoumy requested a review from a team as a code owner May 5, 2026 01:09
@NMoumy NMoumy linked an issue May 5, 2026 that may be closed by this pull request
Comment thread lib/ui/dashboard/widgets/grades_card.dart
static Widget _buildGradesButton(List<Course> courses, BuildContext context, {bool loading = false}) => Skeletonizer(
enabled: loading,
child: Container(
child: SingleChildScrollView(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I mentioned, we should support vertical layouts so we should add a parameter final Axis direction and replace the row with a flex and do something like direction : this.direction. Same thing for scroll direction

@github-actions github-actions Bot added size: S and removed size: XS labels May 12, 2026
@github-actions github-actions Bot added size: XS and removed size: S labels May 28, 2026
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Coverage after merging feature/1383-Limit-grades-widget-to-single-row into master will be

78.13%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib
   locator.dart3.57%100%100%3.57%33, 35–45, 47–49, 52–60, 63–65
lib/data/models
   session_reminder.dart100%100%100%100%
   broadcast_message.dart0%100%100%0%14
   dynamic_message.dart100%100%100%100%
   dynamic_message_context.dart100%100%100%100%
   event_data.dart100%100%100%100%
   quick_link.dart100%100%100%100%
   quick_link_data.dart100%100%100%100%
   quick_links.dart100%100%100%100%
   navigation_menu_callback.dart100%100%100%100%
   emergency_procedures.dart100%100%100%100%
   emergency_procedure.dart100%100%100%100%
lib/data/models/hello
   activity_area.dart56.52%100%100%56.52%37, 40–46, 48–49
   news.dart50.91%100%100%50.91%100–101, 103, 105–116, 88–99
   news_tags.dart5%100%100%5%13–17, 20–24, 27, 30–35, 37–38
   organizer.dart100%100%100%100%
   paginated_news.dart30.43%100%100%30.43%36–41, 44, 47–53, 55, 57
   report.dart25%100%100%25%12–13, 15
   report_news.dart100%100%100%100%
lib/data/repositories
   settings_repository.dart100%100%100%100%
   author_repository.dart0%100%100%0%13–14
   base_stream_repository.dart100%100%100%100%
   broadcast_message_repository.dart0%100%100%0%13–16, 19–25
   course_repository.dart83.26%100%100%83.26%115–117, 119, 135–136, 188, 190, 195–197, 201, 204, 207–211, 213–214, 218, 220, 223–227, 231, 235–236, 238, 241, 293, 300, 302, 449, 459–460, 87
   list_sessions_repository.dart100%100%100%100%
   news_repository.dart0%100%100%0%16–17
   quick_link_repository.dart83.33%100%100%83.33%34–35
   user_repository.dart95.24%100%100%95.24%139–140
lib/data/services
   calendar_service.dart0%100%100%0%103, 107, 109–114, 116, 119–120, 125–126, 129, 132, 134, 141–142, 145, 147, 15, 152, 156–157, 16, 161–166, 170, 172, 18, 20, 22, 24, 26, 40, 42–46, 49, 53–56, 64, 68–69, 72–73, 76, 82, 84–85, 88, 92–93, 97–99
   auth_service.dart0%100%100%0%101, 103, 105, 107, 109–110, 112–113, 118–119, 122, 124–126, 128–129, 20, 23–24, 26, 28–30, 33, 36, 39, 43, 45, 48–49, 55–56, 61–62, 67, 69–70, 74–76, 78–79, 84, 86–89, 91–92, 94–95
   networking_service.dart0%100%100%0%10, 12–14, 17–19
   remote_config_service.dart0%100%100%0%102–104, 107–109, 112–114, 117–119, 122–124, 127–129, 132–134, 137–139, 142–144, 147–149, 152–153, 155–158, 162–165, 57–59, 62–64, 67–69, 72–74, 77–79, 82–84, 87–89, 92–94, 97–99
   analytics_service.dart0%100%100%0%14, 17–19, 22, 27–29, 33–34, 36, 39
   cache_service.dart0%100%100%0%32–33, 36–37, 40, 44, 46–48, 54, 56–58, 63, 65–67
   signets_client.g.dart87.88%100%100%87.88%51, 54, 65, 84
   preferences_service.dart94.44%100%100%94.44%84–85
   dynamic_messages_service.dart100%100%100%100%
   in_app_review_service.dart0%100%100%0%16, 20, 23–24
   launch_url_service.dart0%100%100%0%11–14, 16, 20–23, 25, 29–32, 34
   navigation_service.dart0%100%100%0%20, 23–24, 26–27, 34–35, 38–39, 42–43, 45, 50, 55, 57–58, 61–62, 64, 66
   schedule_service.dart100%100%100%100%
lib/data/services/hello
   hello_service.dart100%100%100%100%
lib/data/services/hello/commands
   get_events_command.dart68.18%100%100%68.18%50, 55, 58, 61, 64, 67, 70
   get_organizer_command.dart90%100%100%90%26
   report_news_command.dart90%100%100%90%27
lib/data/services/signets-api
   signets_api_client.dart72.92%100%100%72.92%152–154, 48–49, 51–55, 57–58, 61
   request_builder_service.dart89.47%100%100%89.47%56, 59
lib/data/services/signets-api/commands
   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_replaced_days_command.dart0%100%100%0%22, 24, 26–28, 30, 34
   get_schedule_activities_command.dart100%100%100%100%
   get_sessions_command.dart100%100%100%100%
   get_student_info_command.dart100%100%100%100%
lib/data/services/signets-api/models
   course_activity.dart84.31%100%100%84.31%104, 106–112
   replaced_day.dart57.69%100%100%57.69%18–21, 37, 39–42, 54–55
   session.dart69.89%100%100%69.89%144, 146–158, 160, 162–174
   course.dart84%100%100%84%105, 121, 123–132
   course_review.dart51.92%100%100%51.92%100–104, 51–58, 71, 73–80, 96, 98–99
   course_summary.dart85.07%100%100%85.07%101, 103–111
   schedule_activity.dart81.08%100%100%81.08%77, 79–84
   profile_student.dart93.10%100%100%93.10%67–68
   program.dart100%100%100%100%
   course_evaluation.dart68.63%100%100%68.63%157, 159–172, 174, 176–190, 49
lib/domain/models
   session_progress.dart100%100%100%100%
lib/domain/models/signets-api
   session.dart100%100%100%100%
   session.g.dart100%100%100%100%
   signets_api_response.dart58.33%100%100%58.33%16, 18, 25–27
lib/logic
   session_progress_use_case.dart77.27%100%100%77.27%19–20, 38, 43–44
lib/ui/choose_language/view_model
   choose_language_viewmodel.dart100%100%100%100%
lib/ui/choose_language/widgets
   choose_language_view.dart94.29%100%100%94.29%35–36
lib/ui/core/themes
   app_palette.dart100%100%100%100%
   app_colors_extension.dart1.49%100%100%1.49%102–132, 136, 138, 140, 144–174, 69
   app_theme.dart7.87%100%100%7.87%122–123, 125–127, 129–130, 132, 134–135, 14, 141, 147–148, 151, 154–159, 16, 160–162, 164–167, 169, 17, 170–172, 174–175, 177, 18, 181, 183, 190–191, 209, 21, 210, 22, 24–26, 28,

@NMoumy NMoumy merged commit f57fedb into master Jun 1, 2026
8 checks passed
@NMoumy NMoumy deleted the feature/1383-Limit-grades-widget-to-single-row branch June 1, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Limit grades widget to single row with horizontal scroll on dashboard

3 participants