Skip to content

Conversation

@Jakoma02
Copy link
Contributor

@Jakoma02 Jakoma02 commented Jan 9, 2026

Summary

This PR implements a "Review submission" side panel in the administration dashboard for administrators to either approve submissions to the Community Library or flag them for review.

review_submission_side_panel_demo.webm

I have manually tested the changes by creating a Community Library submission for the channel, reviewing the submission in the Review submission panel, and then verifying that the correct data appears when the panel is reopened. I repeated these steps both for approving and flagging a submission. Finally, I have checked that if the "Cancel" button is clicked while submitting the review, it is not submitted.

Detailed Changes

  • Added ReviewSubmissionSidePanel component
  • Added logic to open the side panel to the ChannelItem component
  • Renamed the StatusChip component to CommunityLibraryStatusChip and moved it under the "shared" directory
  • Made slight changes to CommunityLibraryStatusChip styling so that it works correctly in the new context
  • Added the CommunityLibraryResolutionReason constants object
  • Changed AdminChannelViewSet to include published_data (this has already been included for the user viewset, just not for the admin one)
  • Added fetchCollectionAsAdmin and resolveAsAdmin methods to the CommunityLibrarySubmission resource
  • Moved the useFetch and useLatestCommunityLibrarySubmission composables under the "shared" directory
  • Fixed a bug in error handling in useFetch
  • Changed useLatestCommunityLibrarySubmission to include an admin argument, which determines whether the user endpoint or the admin endpoint should be used
  • Renamed the usePublishedData composable to useVersionDetail; this fixes a discrepancy from fdd5a84 where the implementation was changed to use version detail, but the naming was kept the same. This is not directly related to this PR, but I am including this change because it caused me some confusion in understanding that the handling of published data has been changed.
  • Added tests for the new functionality

References

Resolves #5301

Reviewer guidance

The changes should be fully testable withing the UI: create a channel, publish it, submit it to the community library, and then interact with this submission via the Review submission side panel.

Notes / Unresolved Things

UI/UX

  • After clicking the channel link in the review submission side panel and then clicking the arrow to go back, the admin channel dashboard shows up, but the side panel is not reopened; I have not tried to implement this because I am not sure if it is needed, but if so, I can look into it
  • In Figma, there are several conflicting designs of the side panel; it should probably be made clear which of them is the final design
  • Instead of using the status chip from the design, I have reused the chip from the "Submit to Community Library" side panel; if the updated design is the intended one, it should likely be updated for both components
  • There are naming mismatches between the Submit to Community Library and Review Submission panels:
    • In the Submit panel, there is a "Description" field; in the Review panel, it is called "Submission notes"
    • In the Review panel, there is an "Editor's notes" field, but it does not display notes of the editor of the channel, but rather feedback from the reviewer
  • When a submission is flagged for review, and a submission for a newer version of the channel is created, the feedback and internal notes for the old submission is not displayed (it belongs to the previous submission); this is likely suboptimal from the reviewers' perspective, and the design should likely be changed to account for this (possibly by allowing to display the entire history of submissions for a given channel)

Technical Details

  • Although the issue description of ESoCC: Implement Review Community Library Submission Side Panel #5301 required the use of translated strings, I have instead hardcoded the strings, because I believe that this requirement was a mistake. All frontend code in the admin section uses hardcoded strings, so I have followed this pattern instead and used hardcoded strings as well. If it was indeed the intention to use translated strings only for this one component of the admin section, I will make the required changes.
  • Similarly, I have not exhaustively checked RTL support or correct responsive behavior, because the rest of the admin section does not have these anyway

@learning-equality-bot
Copy link

👋 Thanks for contributing!

We will assign a reviewer within the next two weeks. In the meantime, please ensure that:

  • You ran pre-commit locally
  • All issue requirements are satisfied
  • The contribution is aligned with our Contributing guidelines. Pay extra attention to Using generative AI. Pull requests that don't follow the guidelines will be closed.

We'll be in touch! 😊

@rtibbles
Copy link
Member

rtibbles commented Jan 9, 2026

Hi @Jakoma02 - great to hear from you again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ESoCC: Implement Review Community Library Submission Side Panel

2 participants