Add frontend UX for Celery-based machine translation progress - #4507
Open
hannaseithe wants to merge 1 commit into
Open
Add frontend UX for Celery-based machine translation progress #4507hannaseithe wants to merge 1 commit into
hannaseithe wants to merge 1 commit into
Conversation
11 tasks
hannaseithe
force-pushed
the
4393-frontend-implementation
branch
from
August 24, 2026 15:03
1aae88e to
b56e4de
Compare
hannaseithe
force-pushed
the
4393-frontend-implementation
branch
from
August 25, 2026 06:30
b56e4de to
cbcb413
Compare
hannaseithe
force-pushed
the
4393-frontend-implementation
branch
from
September 3, 2026 17:05
cbcb413 to
20c368d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Short description
Adds the frontend UX for the Celery-based machine translation flow introduced in #: a lock dialog for the editor whose language is being translated, a non-blocking progress/outcome banner for source-page editors, and progress indicators in the page tree list view. More UI features will follow in later PRs.
Proposed changes
content-edit-lock.ts) to read the new MT status from the heartbeat response and act on it: while the language currently open for editing is itself being machine-translated, show a lock dialog and block editing; once it finishes, reload the page automatically._machine_translation_lock_dialog.html: no heading, a spinner, and a "wait a moment or leave this page" link back to the list view, per the UXer's spec.mt-report-banner.ts(showBanner/showReportBanners), and updatemt-progress-poll.tsto import from it instead of duplicating the same logic.pages_page_tree.html/pages_page_tree_node.html): a spinner with a "currently being machine translated" title for languages mid-translation, and a "machine translation finished - click to refresh" hint once done — driven by themt_task_idscontext data added in the backend PR.#machine-translation-lock-dialog, 3095) between the popup overlay (3090) and the human-lock takeover dialog (3100), so the dialog renders above the overlay but the (more urgent) human-lock takeover always wins if both would ever show at once.messages.htmlto use new.banner-info/.banner-success/.banner-warning/.banner-errorCSS classes instead of inline Tailwind utility strings, reused by the new banners so all of this project's status banners look consistent.Side effects
messages.htmlis a widely shared template (used for every Django message banner across the app, not just MT ones) — refactoring it to.banner-*classes should be visually identical to before, but it's worth a broad visual smoke-check rather than assuming it's scoped to MT.mt_task_ids, the heartbeat's MT status fields).Faithfulness to issue description and design
There are no intended deviations from the issue and design.
How to test
Needs the backend PR's branch merged in (base branch for this PR) - no other special setup.
appears with a spinner, editing is blocked, and the page reloads automatically once translation finishes.
Resolved issues
Relates to: #4393
Fixes: #4510
Pull Request Review Guidelines