`Communications`: Relocate resolved icon on Messages Page
Checklist
General
- [x] I tested all changes and their related features with all corresponding user types on a test server.
- [x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
- [x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
- [x] I chose a title conforming to the naming conventions for pull requests.
Client
- [x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
- [x] I strictly followed the client coding and design guidelines.
- [x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
- [x] I added
authoritiesto all new routes and checked the course groups for displaying navigation elements (links, buttons). - [x] I documented the TypeScript code using JSDoc style.
- [x] I added multiple screenshots/screencasts of my UI changes.
Motivation and Context
Currently, the UI design for resolved messages within the Messages module is suboptimal due to the posting component being tailored for the Communications module. This improvement aims to enhance the UI design in the Messages Module.
Steps for Testing
Prerequisites:
- 1 Student
- 1 Course with Communications enabled
- Log in to Artemis
- Navigate to Messages of a Course
- Post a message
- Reply to the message and mark it as resolved
- Make sure UI improvement is applied and everything else works as expected
- Make sure these changes do not affect messages in the Communications module
Testserver States
[!NOTE] These badges show the state of the test servers. Green = Currently available, Red = Currently locked
Review Progress
Code Review
- [x] Code Review 1
- [x] Code Review 2
Manual Tests
- [x] Test 1
- [x] Test 2
Screenshots
OLD:
NEW:
Summary by CodeRabbit
-
New Features
- Added a resolution indicator to the post header, displaying a checkmark on resolved posts not located on the communication page.
-
Style
- Updated the post header to use flex display, centering items within the container.
Walkthrough
The recent update introduces a new visual component to indicate the resolution status of posts within the application. This addition involves embedding a resolution-indicator inside the post-header of the post.component.html, accompanied by corresponding CSS updates for layout adjustments. This change enhances user experience by clearly displaying whether a post is resolved, specifically outside of communication pages.
Changes
| File Path | Change Summary |
|---|---|
.../metis/post/post.component.html |
Added a resolution-indicator inside jhi-post-header to show a checkmark if the post is resolved. |
.../metis/post/post.component.scss |
Introduced new styles for .post-header-container to display as a flex container with centered items. |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Tips
Chat
There are 3 ways to chat with CodeRabbit:
- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
-
I pushed a fix in commit <commit_id>. -
Generate unit testing code for this file. -
Open a follow-up GitHub issue for this discussion.
-
- Files and specific lines of code (under the "Files changed" tab): Tag
@coderabbitaiin a new review comment at the desired location with your query. Examples:-
@coderabbitai generate unit testing code for this file. -
@coderabbitai modularize this function.
-
- PR comments: Tag
@coderabbitaiin a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:-
@coderabbitai generate interesting stats about this repository and render them as a table. -
@coderabbitai show all the console.log statements in this repository. -
@coderabbitai read src/utils.ts and generate unit testing code. -
@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
-
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
CodeRabbit Commands (invoked as PR comments)
-
@coderabbitai pauseto pause the reviews on a PR. -
@coderabbitai resumeto resume the paused reviews. -
@coderabbitai reviewto trigger a review. This is useful when automatic reviews are disabled for the repository. -
@coderabbitai resolveresolve all the CodeRabbit review comments. -
@coderabbitai helpto get help.
Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
CodeRabbit Configration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile to the root of your repository. - Please see the configuration documentation for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation:
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
Documentation and Community
- Visit our Documentation for detailed information on how to use CodeRabbit.
- Join our Discord Community to get help, request features, and share feedback.
- Follow us on X/Twitter for updates and announcements.
Tested on TS2. Icon looks to me a bit out of place. Also, as a subjective idea that might be not so important, why aren't we making it a part of PostHeaderComponent and having a consistent design both in Communications and Messages?
Tested on TS2. Icon looks to me a bit out of place. Also, as a subjective idea that might be not so important, why aren't we making it a part of `PostHeaderComponent` and having a consistent design both in Communications and Messages?
-I intentionally added some padding to differentiate between actionable options such as "delete" and "edit message" from the "resolved message tick," which is not an actionable item.
-Regarding passing this to the PostHeaderComponent, it would require an additional attribute in the component. I am not sure this is necessary
-I now made updates to the UI on the Communications Page for consistency. Given that the Communications is a legacy module, I did not focus at first on it.
Tested on TS2. Icon looks to me a bit out of place. Also, as a subjective idea that might be not so important, why aren't we making it a part of `PostHeaderComponent` and having a consistent design both in Communications and Messages?