Skip to content

[UI/UX:Submission] "My Late Days" Page Update#12361

Merged
bmcutler merged 18 commits into
mainfrom
late-day-page-update
Apr 9, 2026
Merged

[UI/UX:Submission] "My Late Days" Page Update#12361
bmcutler merged 18 commits into
mainfrom
late-day-page-update

Conversation

@John-Roy123

Copy link
Copy Markdown
Contributor

Why is this Change Important & Necessary?

When Student users are looking for how many late days they currently have, they would either have to wait until an assignment was already past due to see how many late days they had or they could look at the "My Late Days" page, which had their current number of of late days at the very bottom right. For classes with many late-day additions, the relevant information to the user would be buried at the very bottom. This new change puts the relevant information to the user as the first thing they see.

What is the New Behavior?

Before:
image
After:
image

What steps should a reviewer take to reproduce or test the bug or new feature?

  1. Open the "My Late Days" page

Automated Testing & Documentation

UI change, tests don't cover this change

Other information

This is an HTML change that talks to the HomeworkView API

- Added explanation of table for user to better understand how to read the table

- Added users # of late days at the top, so when users click "My Late Days", the first thing they see is how many late days they have
@codecov

codecov Bot commented Jan 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 21.64%. Comparing base (2879a09) to head (2251771).
⚠️ Report is 76 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #12361      +/-   ##
============================================
- Coverage     21.73%   21.64%   -0.10%     
- Complexity     9623     9654      +31     
============================================
  Files           268      268              
  Lines         36167    36244      +77     
  Branches        486      487       +1     
============================================
- Hits           7862     7845      -17     
- Misses        27823    27916      +93     
- Partials        482      483       +1     
Flag Coverage Δ
autograder 21.32% <ø> (-0.07%) ⬇️
js 2.04% <ø> (-0.01%) ⬇️
migrator 100.00% <ø> (ø)
php 20.66% <ø> (-0.11%) ⬇️
python_submitty_utils 80.08% <ø> (ø)
submitty_daemon_jobs 91.13% <ø> (+0.41%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@John-Roy123 John-Roy123 changed the title [UI/UX] "My Late Days" Page Update [CourseMaterials] "My Late Days" Page Update Jan 31, 2026
@John-Roy123 John-Roy123 changed the title [CourseMaterials] "My Late Days" Page Update [UI/UX:CourseMaterials] "My Late Days" Page Update Jan 31, 2026

@JManion32 JManion32 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is a massive QOL improvement, I just have a few nitpicks (please push back if you feel otherwise):

Why change the <h1>? "My" is consistent with other pages:
Image
Image
In my opinion, we shouldn't use you at all here. From what I've seen, most of the site uses a documentation/"neutral" style of wording (a great example is the Manage Sections page) where we never explicitly reference the user.

Overall, I think this is a great change, but we should keep the paragraph/wording concise, and consistent with the rest of Submitty.

Comment thread site/app/templates/LateDaysTable.twig Outdated
Comment thread site/app/templates/LateDaysTable.twig Outdated
@github-project-automation github-project-automation Bot moved this from Seeking Reviewer to Work in Progress in Submitty Development Jan 31, 2026
@cjreed121 cjreed121 changed the title [UI/UX:CourseMaterials] "My Late Days" Page Update [UI/UX:Submission] "My Late Days" Page Update Jan 31, 2026
Comment thread site/app/templates/LateDaysTable.twig Outdated
@John-Roy123

Copy link
Copy Markdown
Contributor Author

@JManion32 Thank you for the feedback, I changed the h1 because it was "My Late Day Usage" which also didn't match the title of the page and looked odd next to "You have X late days remaining". In my most recent commit I changed it to "My Late Days" and changed the h3 to also be neutral instead of 2nd person. I also made the other changes you suggested

-Previously If statement would break page if late_days was not defined, changed the if statement to only affect h3 component
@John-Roy123

Copy link
Copy Markdown
Contributor Author

@cjreed121 Thank you for pointing that out. I moved the if statement so that only the h3 element is not rendered in the case where late_days is not defined.

Comment thread site/app/templates/LateDaysTable.twig Outdated
Comment thread site/app/templates/LateDaysTable.twig Outdated
Comment thread site/app/templates/LateDaysTable.twig Outdated
Comment thread site/app/views/submission/HomeworkView.php
Comment thread site/public/css/latedaystableplugin.css Outdated
}
}

.content > * + * {

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.

This is quite a complicated selector. What are you trying to select? Can it be simpler?

@John-Roy123 John-Roy123 Feb 3, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It just selects everything after the first element. If I just did ".content > * " it would add a top margin before "My Late Days" which isn't necessary and would make it inconsistent with every other page, so " * + * " selects everything after that for the top margin.

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.

This selector needs to be more specific. Please add a descriptive class to the particular element you're trying to style.

@Rkoester47 Rkoester47 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think these changes are intuitive and helpful for quickly seeing where you stand with late days. I believe updating the page header to match the title at the top is a good move for site consistency. After implementing requested changes, your code looks good and the feature is working properly for me.

@JManion32 JManion32 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

A few more wording changes:

  • Always use term instead of semester, as not all schools use the semester system.
  • The first and last sentences seem redundant to me. What about something that combines them, like:
The table below provides a detailed history of your
late day balance throughout the term. Depending
on your course policy, you may have a fixed
amount, or the opportunity to earn additional days.

Other than that, this looks good, and will definitely improve the student experience. Great work!

@JManion32 JManion32 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Wording / changes look good to me. This is a significant quality of life improvement for the Late Days page. Great work!

@bmcutler

Copy link
Copy Markdown
Member

@cjreed121 do you approve the final version of this PR?

Comment thread site/public/css/latedaystableplugin.css Outdated
}
}

.content > * + * {

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.

This selector needs to be more specific. Please add a descriptive class to the particular element you're trying to style.

@williamjallen williamjallen left a comment

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.

Please also add a Cypress test as well.

Comment thread site/public/css/latedaystableplugin.css Outdated
Comment thread site/app/templates/LateDaysTable.twig Outdated

{% include 'LateDaysTablePlugin.twig' %}
</div>
</div> No newline at end of file

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.

This whitespace change should be reverted.

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.

This still needs to be addressed.

Comment thread site/app/templates/LateDaysTable.twig Outdated
Comment on lines +3 to +10
<h3>
Number of late days remaining: {{ late_days.getLateDaysRemaining() }}
</h3>
<p>The table below provides a detailed history of your
late day balance throughout the term. Depending
on your course policy, you may have a fixed
amount or the opportunity to earn additional days.
</p>

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.

Can you please clean up the formatting here?

Suggested change
<h3>
Number of late days remaining: {{ late_days.getLateDaysRemaining() }}
</h3>
<p>The table below provides a detailed history of your
late day balance throughout the term. Depending
on your course policy, you may have a fixed
amount or the opportunity to earn additional days.
</p>
<h3>
Number of late days remaining: {{ late_days.getLateDaysRemaining() }}
</h3>
<p>
The table below provides a detailed history of your
late day balance throughout the term. Depending
on your course policy, you may have a fixed
amount or the opportunity to earn additional days.
</p>

@John-Roy123

Copy link
Copy Markdown
Contributor Author

Please also add a Cypress test as well.

Thank you for your review! Could you be a little more specific about what you had in mind for a Cypress test for this change?

Comment thread site/public/css/latedaystableplugin.css Outdated
}

.late-description{
margin: 0.5rem, 0, 0.5rem, 0;

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.

Comment thread site/app/templates/LateDaysTable.twig Outdated

{% include 'LateDaysTablePlugin.twig' %}
</div>
</div> No newline at end of file

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.

This still needs to be addressed.

Comment thread site/app/templates/LateDaysTable.twig Outdated
@williamjallen

Copy link
Copy Markdown
Member

Please also add a Cypress test as well.

Thank you for your review! Could you be a little more specific about what you had in mind for a Cypress test for this change?

You should add a test which verifies that the correct number of late days remaining is displayed. The most difficult part will be figuring out how to manipulate the UI to result in 0, 1, and 2 late days remaining.

@John-Roy123

Copy link
Copy Markdown
Contributor Author

Please also add a Cypress test as well.

Thank you for your review! Could you be a little more specific about what you had in mind for a Cypress test for this change?

You should add a test which verifies that the correct number of late days remaining is displayed. The most difficult part will be figuring out how to manipulate the UI to result in 0, 1, and 2 late days remaining.

Hi William, I made the text change you suggested and created an E2E test to show that the late day page updates when late days are given or removed from a student. Let me know if there is anything else this PR needs before it can be merged.

@Rkoester47 Rkoester47 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I checked the changes you've made and this branch still looks good to me. I ran the new cypress test locally, and it passed for me. I am approving this PR again.

@John-Roy123 John-Roy123 moved this from Work in Progress to Awaiting Maintainer Review in Submitty Development Apr 2, 2026
@bmcutler
bmcutler requested a review from williamjallen April 3, 2026 17:27
@automateprojectmangement automateprojectmangement Bot moved this from Awaiting Maintainer Review to In Review in Submitty Development Apr 3, 2026
@Rkoester47
Rkoester47 requested a review from cjreed121 April 3, 2026 21:49
@John-Roy123 John-Roy123 moved this from In Review to Awaiting Maintainer Review in Submitty Development Apr 3, 2026
@bmcutler
bmcutler merged commit f532a4f into main Apr 9, 2026
23 of 24 checks passed
@bmcutler
bmcutler deleted the late-day-page-update branch April 9, 2026 04:10
@github-project-automation github-project-automation Bot moved this from Awaiting Maintainer Review to Done in Submitty Development Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

6 participants