openedx / openedx/frontend-app-authoring
Sync Modal: Unlink Within Sync Modal
Open
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 218
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 20
Description
Designs
| Sync Modal | Unlink Confirmation |
|---|---|
Spec
- On the footer of the sync modal, add an unlink button
- Clicking button opens the confirmation modal
- When confirmed, the top level object (in the designs here) are unlinked from the library reference. Unlink behavior from the modal is the same as unlinking from the overflow menu from the Outline page.
- Descendant objects remain linked
- Text of the confirmation dialog changes based on the unlinked block type.
- Are you sure you want to unlink this library {block type} reference? Unlinking will enable editing within the course. Unlinked blocks cannot be synced.
- {Child block type} contained in this {block type} will remain linked to their library versions.
- Label of the unlink button on the footer row changes based on block type
- Size of the modal is defined by the sync modal. When clicking "Unlink {blocktype}" the confirmation modal should remain the same size
- Clicking "Cancel" or "go back" from the unlink confirmation brings the user back to the sync modal
Out of Scope
Any other changes to the sync modal are handled in other tickets in this epic.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Sync Modal and the overflow-menu unlink behavior on the Outline page, using the linked Figma designs as the visual reference. Trace how unlinking the top-level object currently works, then verify the confirmation flow, block-type labels, modal sizing, cancellation behavior, and preservation of descendant links against the listed spec.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100