Skip to content

Redesign version localizations UI to match App Store Connect#5

Merged
trmquang93 merged 1 commit intomainfrom
feature/localization-ui-redesign
Mar 22, 2026
Merged

Redesign version localizations UI to match App Store Connect#5
trmquang93 merged 1 commit intomainfrom
feature/localization-ui-redesign

Conversation

@trmquang93
Copy link
Copy Markdown
Contributor

Summary

  • Replaces card-per-locale expand/collapse layout with a single always-editable form and locale dropdown selector, matching the App Store Connect UI pattern
  • Adds character counters with maxLength enforcement for Promotional Text (170), Description (4,000), What's New (4,000), and Keywords (100)
  • Introduces draftMap state to preserve unsaved edits across locale switches, with global Save (parallel API calls for all dirty locales) and Discard (clears all drafts)
  • Adds prev/next navigation buttons for fast locale switching, with en-US auto-selected and sorted to top
  • Adds LOCALE_DISPLAY_NAMES constant covering all 40 App Store supported locales

Test plan

  • 31 tests passing covering all new behaviors
  • Start dev server and navigate to a version detail page
  • Verify locale dropdown shows human-readable names with en-US first
  • Edit fields across multiple locales, switch between them, confirm edits are preserved
  • Save and verify all dirty locales are updated in one click
  • Discard and verify all locales reset to stored values
  • Test add/delete locale flows
  • Test prev/next navigation buttons at list boundaries

Replace card-per-locale layout with ASC-style single-form editor:
- Locale dropdown with human-readable names and prev/next navigation
- Always-editable form with character counters and field limits
- Draft map preserves unsaved edits across locale switches
- Global Save/Discard operates on all dirty locales at once
- en-US auto-selected and sorted to top of locale list
trmquang93 added a commit that referenced this pull request Mar 22, 2026
Add viewing, uploading, deleting, and reordering App Store screenshots
within version localizations. Screenshots are organized by display type
(device size) with locale tabs and device category filtering.
@trmquang93 trmquang93 merged commit e1a7ab2 into main Mar 22, 2026
@github-actions github-actions bot deleted the feature/localization-ui-redesign branch March 22, 2026 22:46
trmquang93 added a commit that referenced this pull request Mar 22, 2026
Add interactive settings sections to the version detail page that mirror
App Store Connect's release controls:

- Version Release: radio group to choose Manual, After Approval, or
  Scheduled release with date picker
- Phased Release: toggle 7-day gradual rollout with pause/resume/complete
  controls and progress indicator
- Rating Reset: toggle to reset app summary rating on release

Backend: PATCH version attributes, POST/PATCH/DELETE phased release
endpoints with cache invalidation. Version detail GET now includes
phased release data via JSON:API include.
trmquang93 added a commit that referenced this pull request Mar 22, 2026
Add viewing, uploading, deleting, and reordering App Store screenshots
within version localizations. Screenshots are organized by display type
(device size) with locale tabs and device category filtering.

Co-authored-by: Quang Tran <16215255+trmquang93@users.noreply.github.com>
trmquang93 added a commit that referenced this pull request Mar 22, 2026
Add interactive settings sections to the version detail page that mirror
App Store Connect's release controls:

- Version Release: radio group to choose Manual, After Approval, or
  Scheduled release with date picker
- Phased Release: toggle 7-day gradual rollout with pause/resume/complete
  controls and progress indicator
- Rating Reset: toggle to reset app summary rating on release

Backend: PATCH version attributes, POST/PATCH/DELETE phased release
endpoints with cache invalidation. Version detail GET now includes
phased release data via JSON:API include.

Co-authored-by: Quang Tran <16215255+trmquang93@users.noreply.github.com>
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.

1 participant