-
Notifications
You must be signed in to change notification settings - Fork 10.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NEW] Create releases tab in the marketplace app info page #25965
Conversation
…app info page Refactored the ApiDisplay to be inside of the AppDetails component, changed the name of the AppDetailsPageContent component since now it is a tab content, changed the name of the AppLogsPage for the same reason and also changed the name of the AppSecurity page component.
Created new components AppReleases and ReleaseItem and mocked some data to make it faithful to figma. Will be integrating it with the back-end next.
Implemented the first necessary steps to integrating the AppReleases component with the back-end by passing down the appId and creating a local hook to deal with fetching the versions. Unfortunately the GET request necessary to fetch that data does not exist yet. Will be implementing it after the request creation.
Created a apps/:appId/versions endpoint to fetch all versions of a given app so that I finish the AppReleases component. Co-authored-by: Matheus Carmo <matheus.carmo@rocket.chat>
Fetched the app versions list, mapped it into a releases array, and implemented the AccordionItems list of releases.
Refactored the timestamp of the last updated field of the AppDetailsHeader component for maintainability reasons and to make it more straightforward.
Implemented the useTimeAgo hook to format the created date of the release entries. Also removed the Time normalizer sufix from the date strings to make it respect the current selected locale.
Refactored the i18n english dictionary to solve the thousands of unwanted modifications on remote.
Implemented a parsing method, using dangerouslySetInnerHTML, to parse the html of the release item rendered markdown. Also refactored some of the loading and error logic for the AppReleases to better benefit from the async state nature of useEndpointData.
…pp-info-releases-tab
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please have it only load the release tab and not cause the entire page to seem like it is loading? I expect to have it only load the tab information whenever I click on a tab when that app information is already there.
Fixed a problem where the whole details page component would refresh upon clicking on a tab if you came from the marketplace list of apps.
This was a little bug because of a misuse of the router functions, should be solved after this last commit. |
Awesome, can you update the demo gif? |
Sure can do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When no update information has been provided, let's provide a generic text saying "no release information was provided". You can get with the designers to see what they think would be better.
This PR currently has a merge conflict. Please resolve this and then re-add the |
Created a fallback for when a release entry has no changelog. Now it shows a "No release information provided" text on the accordion item.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
…pp-info-releases-tab
Proposed changes (including videos or screenshots)
Added a Releases tab to the app info page of installed marketplace apps. This tab will show all the released versions of a given app with its version number, release date in humanized form, and the changelog of this given release with the information provided by the publisher, this changelog accepts and renders markdown. Also refactored some component names and logic for maintainability reasons.
Demo gif:
Issue(s)
Steps to test or reproduce
Further comments