Skip to content

feat(a11y): toasts to native dialogs - #6514

Merged
OtavioStasiak merged 29 commits into
developfrom
feat-a11y-toasts-to-native-dialogs
Sep 25, 2025
Merged

feat(a11y): toasts to native dialogs#6514
OtavioStasiak merged 29 commits into
developfrom
feat-a11y-toasts-to-native-dialogs

Conversation

@OtavioStasiak

@OtavioStasiak OtavioStasiak commented Jul 30, 2025

Copy link
Copy Markdown
Contributor

Proposed changes

Introduces a picker to select how alerts are displayed (Toasts or Native dialogs).

Issue(s)

https://rocketchat.atlassian.net/browse/MA-105

How to test or reproduce

  • Open the app;
  • Go to AccessibilityAndAppearanceView and change the toast to dialogs;
  • Go to statusView;
  • Change your status;
  • Click on save;

Screenshots

Simulator Screenshot - iPhone 16 - 2025-09-19 at 17 16 35 Simulator Screenshot - iPhone 16 - 2025-09-19 at 17 16 40 Simulator Screenshot - iPhone 16 - 2025-09-19 at 17 16 48

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

Summary by CodeRabbit

  • New Features

    • New setting to show alerts as auto-dismissing toasts or manual dialogs, with an in-app picker and persisted preference; toast/dialog display follows this preference.
  • Accessibility

    • Action sheet items gain improved accessibility labels and optional subtitles; title sizing and spacing refined.
  • Localization

    • Added translations for the new accessibility/appearance options across many locales.
  • Tests

    • New end-to-end tests covering toast vs dialog flows, status edits, login and cleanup.

@OtavioStasiak
OtavioStasiak had a problem deploying to official_android_build July 30, 2025 13:31 — with GitHub Actions Error
@OtavioStasiak
OtavioStasiak temporarily deployed to experimental_ios_build July 30, 2025 13:31 — with GitHub Actions Inactive
@OtavioStasiak
OtavioStasiak temporarily deployed to experimental_android_build July 30, 2025 13:31 — with GitHub Actions Inactive
@OtavioStasiak
OtavioStasiak had a problem deploying to upload_experimental_android July 30, 2025 14:01 — with GitHub Actions Error
@github-actions

Copy link
Copy Markdown

Android Build Available

Rocket.Chat Experimental 4.63.0.93296

Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNTiOnozLfxMgmPjgnj1O7jL-2xTyDZifnMXwfutasqqXzkyMmeenSE_1ChoTYwCART5oBeP-nHwOUPwlEgl

@github-actions

Copy link
Copy Markdown

iOS Build Available

Rocket.Chat Experimental 4.63.0.96969

@OtavioStasiak
OtavioStasiak temporarily deployed to experimental_android_build August 1, 2025 18:05 — with GitHub Actions Inactive
@OtavioStasiak
OtavioStasiak temporarily deployed to experimental_ios_build August 1, 2025 18:05 — with GitHub Actions Inactive
@OtavioStasiak
OtavioStasiak had a problem deploying to upload_experimental_android August 1, 2025 18:24 — with GitHub Actions Error
@github-actions

github-actions Bot commented Aug 1, 2025

Copy link
Copy Markdown

Android Build Available

Rocket.Chat Experimental 4.64.0.93301

Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNRbb-ieTauA4kSJRQp1PFv85dnHiJurE1A6cIiWM49BsPjK3UAge3O35UKAJ64-zIzTsgxNj0HoTw37Ysr-

@OtavioStasiak
OtavioStasiak temporarily deployed to experimental_ios_build August 1, 2025 18:58 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Aug 1, 2025

Copy link
Copy Markdown

iOS Build Available

Rocket.Chat Experimental 4.64.0.98157

@OtavioStasiak
OtavioStasiak had a problem deploying to experimental_android_build September 2, 2025 21:21 — with GitHub Actions Error
@OtavioStasiak
OtavioStasiak had a problem deploying to experimental_android_build September 3, 2025 17:01 — with GitHub Actions Error
@OtavioStasiak
OtavioStasiak had a problem deploying to experimental_android_build September 11, 2025 15:56 — with GitHub Actions Error
OtavioStasiak and others added 8 commits September 23, 2025 17:05
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
app/containers/ActionSheet/Item.tsx (1)

63-63: Simplify conditional rendering of right content

Minor cleanup to avoid duplicated checks.

-				{item.right ? <View style={styles.rightContainer}>{item.right ? item.right() : null}</View> : null}
+				{item.right && <View style={styles.rightContainer}>{item.right()}</View>}
app/i18n/locales/ru.json (1)

7-11: RU phrasing and consistency — suggest improved translations

More natural Russian and consistent punctuation. “Отклонение” ≠ “dismiss”; prefer “закрытие”. “Тосты” can be confusing; “Всплывающие уведомления” is clearer.

-  "A11y_appearance_dialog_require_manual_dismissal": "Требуется ручное отклонение.",
-  "A11y_appearance_dialogs": "Диалоги",
-  "A11y_appearance_show_alerts_as": "Показывать уведомления как",
-  "A11y_appearance_toast_dismissed_automatically": "Отклонено автоматически",
-  "A11y_appearance_toasts": "Тосты",
+  "A11y_appearance_dialog_require_manual_dismissal": "Требуется закрыть вручную",
+  "A11y_appearance_dialogs": "Диалоговые окна",
+  "A11y_appearance_show_alerts_as": "Показывать уведомления в виде",
+  "A11y_appearance_toast_dismissed_automatically": "Закрывается автоматически",
+  "A11y_appearance_toasts": "Всплывающие уведомления",
app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (1)

88-93: Enhance accessibility label with selection detail

Include the option’s description so SR users hear auto/manual dismissal behavior on the settings row too.

-      accessibilityLabel={`${title}. ${option?.label}`}
+      accessibilityLabel={`${title}. ${option?.label}${option?.description ? `. ${option.description}` : ''}`}

Also applies to: 96-100

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between b537367 and b56609b.

📒 Files selected for processing (33)
  • .maestro/tests/accessibilityAndAppearance/ToastsAndDialogs.yml (1 hunks)
  • app/containers/ActionSheet/Item.tsx (1 hunks)
  • app/containers/ActionSheet/Provider.tsx (1 hunks)
  • app/containers/ActionSheet/styles.ts (1 hunks)
  • app/containers/Toast.tsx (2 hunks)
  • app/i18n/locales/ar.json (1 hunks)
  • app/i18n/locales/bn-IN.json (1 hunks)
  • app/i18n/locales/cs.json (1 hunks)
  • app/i18n/locales/de.json (1 hunks)
  • app/i18n/locales/en.json (1 hunks)
  • app/i18n/locales/es.json (1 hunks)
  • app/i18n/locales/fi.json (1 hunks)
  • app/i18n/locales/fr.json (1 hunks)
  • app/i18n/locales/hi-IN.json (1 hunks)
  • app/i18n/locales/hu.json (1 hunks)
  • app/i18n/locales/it.json (1 hunks)
  • app/i18n/locales/ja.json (1 hunks)
  • app/i18n/locales/nl.json (1 hunks)
  • app/i18n/locales/nn.json (1 hunks)
  • app/i18n/locales/no.json (1 hunks)
  • app/i18n/locales/pt-BR.json (1 hunks)
  • app/i18n/locales/pt-PT.json (1 hunks)
  • app/i18n/locales/ru.json (1 hunks)
  • app/i18n/locales/sl-SI.json (1 hunks)
  • app/i18n/locales/sv.json (1 hunks)
  • app/i18n/locales/ta-IN.json (1 hunks)
  • app/i18n/locales/te-IN.json (1 hunks)
  • app/i18n/locales/tr.json (1 hunks)
  • app/i18n/locales/zh-CN.json (1 hunks)
  • app/i18n/locales/zh-TW.json (1 hunks)
  • app/lib/constants/keys.ts (1 hunks)
  • app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (1 hunks)
  • app/views/AccessibilityAndAppearanceView/index.tsx (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (30)
  • app/containers/Toast.tsx
  • app/i18n/locales/en.json
  • app/i18n/locales/sl-SI.json
  • app/i18n/locales/nl.json
  • app/containers/ActionSheet/styles.ts
  • app/i18n/locales/de.json
  • app/views/AccessibilityAndAppearanceView/index.tsx
  • app/i18n/locales/zh-CN.json
  • app/i18n/locales/nn.json
  • app/i18n/locales/es.json
  • app/i18n/locales/pt-BR.json
  • app/containers/ActionSheet/Provider.tsx
  • app/i18n/locales/sv.json
  • app/i18n/locales/hu.json
  • app/i18n/locales/pt-PT.json
  • app/i18n/locales/it.json
  • app/i18n/locales/hi-IN.json
  • .maestro/tests/accessibilityAndAppearance/ToastsAndDialogs.yml
  • app/i18n/locales/fr.json
  • app/i18n/locales/ar.json
  • app/i18n/locales/te-IN.json
  • app/i18n/locales/ja.json
  • app/i18n/locales/bn-IN.json
  • app/i18n/locales/zh-TW.json
  • app/lib/constants/keys.ts
  • app/i18n/locales/no.json
  • app/i18n/locales/cs.json
  • app/i18n/locales/fi.json
  • app/i18n/locales/ta-IN.json
  • app/i18n/locales/tr.json
🧰 Additional context used
🧬 Code graph analysis (1)
app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (3)
app/views/AccessibilityAndAppearanceView/index.tsx (1)
  • TAlertDisplayType (21-21)
app/containers/ActionSheet/Provider.tsx (2)
  • useActionSheet (41-41)
  • TActionSheetOptionsItem (7-17)
app/theme.tsx (1)
  • useTheme (29-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ESLint and Test / run-eslint-and-test
🔇 Additional comments (6)
app/containers/ActionSheet/Item.tsx (4)

39-39: Compose accessibilityLabel safely; avoid trailing punctuation and || pitfalls

Use nullish coalescing and join only defined parts to prevent treating an empty custom label as falsy and to avoid trailing punctuation/spaces.

- const accessibilityLabel = item?.accessibilityLabel || `${item.title}. ${item?.subtitle || ''}`;
+ const accessibilityLabel = item?.accessibilityLabel ?? [item.title, item?.subtitle].filter(Boolean).join(', ');

43-49: Expose disabled state to screen readers

Announce disabled state; keep press handling as-is so you can show the permission message.

 			<Touch
 				accessible
 				accessibilityLabel={accessibilityLabel}
 				accessibilityRole='button'
+				accessibilityState={{ disabled: !enabled }}
 				onPress={onPress}
-				style={[styles.item, { backgroundColor: colors.surfaceLight, height }]}
+				style={[styles.item, { backgroundColor: colors.surfaceLight, height }]}
 				testID={item.testID}>

Optionally, if you prefer non-interactive behavior: add disabled={!enabled} too.


38-48: Use minHeight instead of a fixed height for better Dynamic Type support

Avoid shrinking below the base size on small font scales and allow content to grow.

-	const height = 48 * fontScale;
+	const minHeight = Math.max(48, 48 * fontScale);
...
-				style={[styles.item, { backgroundColor: colors.surfaceLight, height }]}
+				style={[styles.item, { backgroundColor: colors.surfaceLight, minHeight }]}

55-61: Subtitle rendering looks good

Good use of theme color and spacing; single-line constraint matches title behavior.

app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (2)

53-56: Type safety for value — good fix

Prop value now uses TAlertDisplayType. Matches onChangeValue and prevents invalid states.


88-103: Incorrect — the prop is defined & used as additionalAcessibilityLabel in this repo

The prop is declared and consumed as additionalAcessibilityLabel in app/containers/List/ListItem.tsx and appears in many call sites; changing to additionalAccessibilityLabel would require a central API rename (or an alias) and updates across files.

Likely an incorrect or invalid review comment.

@github-actions

Copy link
Copy Markdown

Android Build Available

Rocket.Chat Experimental 4.65.0.107393

Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNQC-YMv_o1HP-NlAmn_ZgRlsQecpsQ953eNo46rxMcNogQsVLDHDEzRMDoZYYAy9GmB1zXdWC5_i-FRTGJf

@github-actions

Copy link
Copy Markdown

iOS Build Available

Rocket.Chat Experimental 4.65.0.107395

Comment thread app/i18n/locales/pt-BR.json Outdated
Comment thread app/i18n/locales/pt-PT.json Outdated
Comment thread app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx Outdated
Comment thread app/containers/ActionSheet/Item.tsx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e819734 and 352be70.

📒 Files selected for processing (16)
  • app/i18n/locales/ar.json (1 hunks)
  • app/i18n/locales/cs.json (1 hunks)
  • app/i18n/locales/de.json (1 hunks)
  • app/i18n/locales/hu.json (1 hunks)
  • app/i18n/locales/it.json (1 hunks)
  • app/i18n/locales/nn.json (1 hunks)
  • app/i18n/locales/pt-BR.json (1 hunks)
  • app/i18n/locales/pt-PT.json (1 hunks)
  • app/i18n/locales/sl-SI.json (1 hunks)
  • app/i18n/locales/sv.json (1 hunks)
  • app/i18n/locales/ta-IN.json (1 hunks)
  • app/i18n/locales/te-IN.json (1 hunks)
  • app/i18n/locales/tr.json (1 hunks)
  • app/i18n/locales/zh-CN.json (1 hunks)
  • app/i18n/locales/zh-TW.json (1 hunks)
  • app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
  • app/i18n/locales/zh-CN.json
  • app/i18n/locales/nn.json
  • app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx
  • app/i18n/locales/pt-PT.json
🔇 Additional comments (1)
app/i18n/locales/ta-IN.json (1)

7-11: Refine the Tamil terminology for dialogs and toasts

These strings still use direct transliterations (“டையலாக்கள்”, “டோஸ்ட்‌ஸ்”) and “கைமுறையாக நிராகரிக்க வேண்டும்”, which read unnatural in Tamil UI copy. Please adopt the idiomatic phrasing suggested earlier.

-  "A11y_appearance_dialog_require_manual_dismissal": "கைமுறையாக நிராகரிக்க வேண்டும்",
-  "A11y_appearance_dialogs": "டையலாக்கள்",
-  "A11y_appearance_show_alerts_as": "அறிவிப்புகளை இவ்வாறு காட்டு:",
-  "A11y_appearance_toast_dismissed_automatically": "தானாகவே தள்ளுபடி செய்யப்பட்டது",
-  "A11y_appearance_toasts": "டோஸ்ட்‌ஸ்",
+  "A11y_appearance_dialog_require_manual_dismissal": "கைமுறையாக மூட வேண்டும்",
+  "A11y_appearance_dialogs": "உரையாடல் பெட்டிகள்",
+  "A11y_appearance_show_alerts_as": "எச்சரிக்கைகளை இவ்வாறு காட்டு:",
+  "A11y_appearance_toast_dismissed_automatically": "தானாக மூடப்படும்",
+  "A11y_appearance_toasts": "டோஸ்ட் அறிவிப்புகள்",

Comment thread app/i18n/locales/ar.json Outdated
Comment thread app/i18n/locales/cs.json Outdated
Comment thread app/i18n/locales/de.json Outdated
Comment thread app/i18n/locales/hu.json Outdated
Comment thread app/i18n/locales/it.json Outdated
Comment thread app/i18n/locales/sl-SI.json Outdated
Comment thread app/i18n/locales/sv.json Outdated
Comment thread app/i18n/locales/te-IN.json Outdated
Comment thread app/i18n/locales/tr.json Outdated
Comment thread app/i18n/locales/zh-TW.json Outdated
@github-actions

Copy link
Copy Markdown

iOS Build Available

Rocket.Chat Experimental 4.65.0.107424

OtavioStasiak and others added 4 commits September 25, 2025 15:52
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Comment thread app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
app/i18n/locales/cs.json (1)

7-11: Polish the Czech wording.

The sentences currently mix styles (“Vyžaduje ….” with trailing period, “Toast upozornění”). Please align with common UI phrasing:

-  "A11y_appearance_dialog_require_manual_dismissal": "Vyžaduje ruční zavření.",
+  "A11y_appearance_dialog_require_manual_dismissal": "Vyžaduje ruční zavření",
...
-  "A11y_appearance_toasts": "Toast upozornění",
+  "A11y_appearance_toasts": "Toastová upozornění",

That keeps the strings stylistically consistent with surrounding keys and sounds natural.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between eb9d3cf and 71c7195.

📒 Files selected for processing (9)
  • app/i18n/locales/ar.json (1 hunks)
  • app/i18n/locales/cs.json (1 hunks)
  • app/i18n/locales/de.json (1 hunks)
  • app/i18n/locales/hu.json (1 hunks)
  • app/i18n/locales/sl-SI.json (1 hunks)
  • app/i18n/locales/sv.json (1 hunks)
  • app/i18n/locales/te-IN.json (1 hunks)
  • app/i18n/locales/tr.json (1 hunks)
  • app/i18n/locales/zh-TW.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
  • app/i18n/locales/sv.json
  • app/i18n/locales/ar.json
  • app/i18n/locales/zh-TW.json
  • app/i18n/locales/hu.json
🔇 Additional comments (2)
app/i18n/locales/te-IN.json (1)

7-11: Nice cleanup on the Telugu strings.

The new labels are now fully in Telugu, and “టోస్ట్ నోటిఫికేషన్లు” reads clearly in the UI.

app/i18n/locales/tr.json (1)

3-7: Turkish phrasing looks good.

“Toast bildirimleri” and the rest of the copy now read naturally for native speakers.

Comment thread app/i18n/locales/de.json
Comment thread app/i18n/locales/sl-SI.json

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (3)

71-82: Tighten a11y label construction and remove unnecessary optional chaining

Avoid producing a stray period when description is empty and drop optional chaining on non-null variables.

-const getOptions = (): TActionSheetOptionsItem[] =>
-  OPTIONS.map(i => ({
+const getOptions = (): TActionSheetOptionsItem[] =>
+  OPTIONS.map(i => ({
     title: i.label,
-    subtitle: i?.description || undefined,
-    accessibilityLabel: `${i.label}. ${i?.description || ''}. ${
-      option?.value === i.value ? I18n.t('Checked') : I18n.t('Unchecked')
-    }`,
+    subtitle: i.description || undefined,
+    accessibilityLabel: `${i.label}${i.description ? `. ${i.description}` : ''}. ${option.value === i.value ? I18n.t('Checked') : I18n.t('Unchecked')}`,
     onPress: () => {
       hideActionSheet();
       onChangeValue(i.value);
     },
-    right: option?.value === i.value ? () => <CustomIcon name={'check'} size={20} color={colors.strokeHighlight} /> : undefined
+    right: option.value === i.value ? () => <CustomIcon name="check" size={20} color={colors.strokeHighlight} /> : undefined
   }));

71-82: Add testIDs to ActionSheet items for E2E reliability (Maestro)

Helps target options deterministically in tests.

   OPTIONS.map(i => ({
     title: i.label,
+    testID: `listpicker-option-${i.value.toLowerCase()}`,

58-65: Drop unnecessary type assertions

String literals already satisfy the union; the casts add noise without benefit.

-      value: 'TOAST' as TAlertDisplayType,
+      value: 'TOAST',
...
-      value: 'DIALOG' as TAlertDisplayType,
+      value: 'DIALOG',
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 71c7195 and a368220.

📒 Files selected for processing (1)
  • app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (3)
app/views/AccessibilityAndAppearanceView/index.tsx (1)
  • TAlertDisplayType (21-21)
app/containers/ActionSheet/Provider.tsx (2)
  • useActionSheet (41-41)
  • TActionSheetOptionsItem (7-17)
app/theme.tsx (1)
  • useTheme (29-29)
🔇 Additional comments (2)
app/views/AccessibilityAndAppearanceView/components/ListPicker.tsx (2)

55-66: Ensure i18n-driven text updates when locale changes

If locale changes outside React’s lifecycle, these labels may not re-render (previously raised in review). Verify this component re-renders on locale change; if not, subscribe to i18n change events or use a translation hook/context that triggers updates.

If needed, I can propose a small hook to subscribe to your i18n’s “locale changed” event and force a re-render.

Also applies to: 68-68, 90-101


103-104: Ignore incorrect prop rename suggestion
The prop additionalAcessibilityLabel (single-c) is defined and consumed in app/containers/List/ListItem.tsx, so renaming it here would break its implementation. Leave it as is.

Likely an incorrect or invalid review comment.

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.

2 participants