feat(FR-3224): add system announcement management to the Maintenance page#8070
feat(FR-3224): add system announcement management to the Maintenance page#8070agatha197 wants to merge 3 commits into
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage Report for react-coverage (./react)
File Coverage
|
||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
Adds a superadmin-facing entry point on the admin Maintenance page to manage the system announcement (create first announcement, edit existing, enable/disable) by reusing the existing AnnouncementEditModal, and wires in new i18n strings for the Maintenance UI across all locales.
Changes:
- Fetch current announcement state via
get_announcementand openAnnouncementEditModalfrom a new “System announcement” maintenance row. - Add new Maintenance i18n keys (
maintenance.Announcement,maintenance.SystemAnnouncement,maintenance.DescSystemAnnouncement) across all supported locales.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| react/src/components/MaintenanceSettingList.tsx | Adds a “System announcement” settings group that fetches announcement state and opens AnnouncementEditModal. |
| resources/i18n/en.json | Adds Maintenance strings for announcement management. |
| resources/i18n/ko.json | Adds Maintenance strings for announcement management. |
| resources/i18n/ja.json | Adds Maintenance strings for announcement management. |
| resources/i18n/zh-CN.json | Adds Maintenance strings for announcement management. |
| resources/i18n/zh-TW.json | Adds Maintenance strings for announcement management. |
| resources/i18n/de.json | Adds Maintenance strings for announcement management. |
| resources/i18n/fr.json | Adds Maintenance strings for announcement management. |
| resources/i18n/es.json | Adds Maintenance strings for announcement management. |
| resources/i18n/it.json | Adds Maintenance strings for announcement management. |
| resources/i18n/pt.json | Adds Maintenance strings for announcement management. |
| resources/i18n/pt-BR.json | Adds Maintenance strings for announcement management. |
| resources/i18n/ru.json | Adds Maintenance strings for announcement management. |
| resources/i18n/pl.json | Adds Maintenance strings for announcement management. |
| resources/i18n/tr.json | Adds Maintenance strings for announcement management. |
| resources/i18n/vi.json | Adds Maintenance strings for announcement management. |
| resources/i18n/th.json | Adds Maintenance strings for announcement management. |
| resources/i18n/id.json | Adds Maintenance strings for announcement management. |
| resources/i18n/ms.json | Adds Maintenance strings for announcement management. |
| resources/i18n/mn.json | Adds Maintenance strings for announcement management. |
| resources/i18n/fi.json | Adds Maintenance strings for announcement management. |
| resources/i18n/el.json | Adds Maintenance strings for announcement management. |
7432b9d to
6c600dd
Compare
4e69299 to
a863c01
Compare
5d71df8 to
fff7f6f
Compare
a1e2a4d to
efd4c07
Compare
fff7f6f to
68b42c8
Compare
e7d5978 to
6ca9aac
Compare
b1ac632 to
f623bb2
Compare
6ca9aac to
3721a49
Compare
…page Superadmins can edit an existing announcement from the start-page alert (FR-3223), but there was no WebUI entry point to create the first announcement when none exists. Add a "System announcement" row to the admin Maintenance page (superadmin-only) that opens the existing AnnouncementEditModal, so a superadmin can create, edit, enable, or disable the announcement regardless of whether one already exists. - MaintenanceSettingList: new Announcement settings group (placed last) with a button that opens AnnouncementEditModal (wrapped in BAIUnmountAfterClose), prefilled from the current get_announcement query. - i18n: add maintenance.Announcement / SystemAnnouncement / DescSystemAnnouncement across all locales. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the inline get_announcement query in MaintenanceSettingList with the shared useSuspenseGetAnnouncement hook introduced on the parent branch, removing the duplicated query definition. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ttingList The edit modal now fetches the announcement itself, so the Maintenance page no longer needs to query get_announcement just to prefill the modal (removing an extra suspending request on page load). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3721a49 to
5ee1d57
Compare
f623bb2 to
39f74fd
Compare

Resolves #8069 (FR-3224)
Summary
AnnouncementEditModal, prefilled from the currentget_announcementquery.maintenance.Announcement/maintenance.SystemAnnouncement/maintenance.DescSystemAnnouncementacross all locales.Test plan
Verification
bash scripts/verify.sh→=== ALL PASS ===(Relay, Lint, Format, TypeScript).Screenshot