Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions App.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { ActivityIndicator, AppState, Linking, StyleSheet, Text, View } from 'react-native';
import { ActivityIndicator, AppState, Linking, Platform, StyleSheet, Text, View } from 'react-native';
import { StatusBar } from 'expo-status-bar';
import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { useColorScheme } from 'react-native';
Expand Down Expand Up @@ -252,6 +252,14 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
// Side by side layouts move the tabs into a rail on the left, like the
// webmail's navigation rail.
const { isSplit } = useLayout();
// Appearance > Show Toolbar Labels covers the tab names too (#128). With
// it off a tab is its icon, centred in the room the name leaves.
const showTabLabels = useSettingsStore((state) => state.showToolbarLabels);
const tabItemStyle = showTabLabels ? undefined : ({ justifyContent: 'center' } as const);
// Android has TalkBack read a tab's own text, which an icon-only tab
// lacks; iOS is given "Mail, tab, 1 of 5" by the navigator either way.
const iconOnlyTabName = (name: string) =>
(Platform.OS === 'android' && !showTabLabels ? { tabBarAccessibilityLabel: name } : null);
// A bottom tab bar keeps the screens clear of the gesture bar or taskbar;
// with the tabs in a side rail the whole tab area has to.
const bottomInset = useSafeAreaInsets().bottom;
Expand All @@ -273,6 +281,8 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
freezeOnBlur: true,
tabBarPosition: isSplit ? 'left' : 'bottom',
tabBarVariant: isSplit ? 'material' : 'uikit',
tabBarShowLabel: showTabLabels,
tabBarItemStyle: tabItemStyle,
// A narrow rail (icon over label), not a wide sidebar with labels
// beside the icons.
...(isSplit ? { tabBarLabelPosition: 'below-icon' as const } : null),
Expand Down Expand Up @@ -304,6 +314,8 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
options={{
title: tabLabels.mail,
tabBarButtonTestID: 'tab-mail',
// TalkBack read the unread count with the name; keep it.
...iconOnlyTabName(inboxUnreadCount > 0 ? `${inboxUnreadCount > 99 ? '99+' : inboxUnreadCount}, ${tabLabels.mail}` : tabLabels.mail),
tabBarIcon: ({ color, size }) => <Mail size={size} color={color} />,
tabBarBadge: inboxUnreadCount > 0 ? (inboxUnreadCount > 99 ? '99+' : inboxUnreadCount) : undefined,
tabBarBadgeStyle: {
Expand All @@ -329,7 +341,7 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
title: tabLabels.calendar,
tabBarButtonTestID: 'tab-calendar',
tabBarIcon: ({ color, size }) => <Calendar size={size} color={color} />,
tabBarItemStyle: hasCalendar ? undefined : disabledTabStyle,
tabBarItemStyle: hasCalendar ? tabItemStyle : [tabItemStyle, disabledTabStyle],
tabBarAccessibilityLabel: hasCalendar ? tabLabels.calendar : unavailable(tabLabels.calendar),
...(calendarAllowed ? null : hiddenTab),
}}
Expand All @@ -346,7 +358,7 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
title: tabLabels.contacts,
tabBarButtonTestID: 'tab-contacts',
tabBarIcon: ({ color, size }) => <BookUser size={size} color={color} />,
tabBarItemStyle: hasContacts ? undefined : disabledTabStyle,
tabBarItemStyle: hasContacts ? tabItemStyle : [tabItemStyle, disabledTabStyle],
tabBarAccessibilityLabel: hasContacts ? tabLabels.contacts : unavailable(tabLabels.contacts),
...(contactsAllowed ? null : hiddenTab),
}}
Expand All @@ -363,7 +375,7 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
title: tabLabels.files,
tabBarButtonTestID: 'tab-files',
tabBarIcon: ({ color, size }) => <HardDrive size={size} color={color} />,
tabBarItemStyle: hasFiles ? undefined : disabledTabStyle,
tabBarItemStyle: hasFiles ? tabItemStyle : [tabItemStyle, disabledTabStyle],
tabBarAccessibilityLabel: hasFiles ? tabLabels.files : unavailable(tabLabels.files),
...(filesAllowed ? null : hiddenTab),
}}
Expand All @@ -378,6 +390,7 @@ function MainTabsNavigator({ navigation }: NativeStackScreenProps<RootStackParam
options={{
title: tabLabels.settings,
tabBarButtonTestID: 'tab-settings',
...iconOnlyTabName(tabLabels.settings),
tabBarIcon: ({ color, size }) => <Settings size={size} color={color} />,
}}
>
Expand Down
2 changes: 1 addition & 1 deletion docs/parity/08-settings-push-i18n-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Legend: RN? = key exists in RN store; Honored = read by RN app code outside `sto
| calendarInvitationParsingEnabled | same | yes | yes | CalendarInvitationBanner |
| protocolOpenMode | – | no | – | N/A (web protocol handlers) |
| toolbarPosition | – | no | – | N/A |
| showToolbarLabels | same | yes | yes | EmailThreadScreen |
| showToolbarLabels | same | yes | yes | EmailThreadScreen; the tab bar's names too (App.tsx, #128) |
| hideAccountSwitcher, showRailAccountList, proInterface | – | no | – | N/A |
| enableUnifiedMailbox, unifiedCrossAccount, enableCross*View, allMailFolderIds | – | no | – | RN has a UnifiedInbox screen without these switches. Owner: mail-list agent |
| includeGroupInUnified (true) | same (**false**) | yes | yes | Default differs |
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,7 @@
"system_default": "افتراضي النظام"
},
"toolbar_labels": {
"description_mobile": "عرض تسميات نصية بجانب أيقونات شريط الأدوات."
"description_mobile": "عرض تسميات نصية بجانب أيقونات شريط الأدوات والتنقل."
},
"accessibility_link": {
"description_mobile": "حجم النص وتقليل الحركة والإعدادات الجاهزة لإمكانية الوصول موجودة في صفحة إمكانية الوصول."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "Predeterminat del sistema"
},
"toolbar_labels": {
"description_mobile": "Mostra etiquetes de text al costat de les icones de la barra d'eines."
"description_mobile": "Mostra etiquetes de text al costat de les icones de la barra d'eines i de navegació."
},
"accessibility_link": {
"description_mobile": "La mida del text, el moviment reduït i els perfils predefinits d'accessibilitat són a la pàgina Accessibilitat."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "Podle systému"
},
"toolbar_labels": {
"description_mobile": "Zobrazovat textové popisky vedle ikon na panelu nástrojů."
"description_mobile": "Zobrazovat textové popisky vedle ikon na panelu nástrojů a v navigaci."
},
"accessibility_link": {
"description_mobile": "Velikost textu, omezení pohybu a předvolby přístupnosti najdete na stránce Přístupnost."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/da.json
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,7 @@
"system_default": "Systemstandard"
},
"toolbar_labels": {
"description_mobile": "Vis tekstetiketter ved siden af værktøjslinjeikoner."
"description_mobile": "Vis tekstetiketter ved siden af værktøjslinje- og navigationsikoner."
},
"accessibility_link": {
"description_mobile": "Tekststørrelse, reduceret bevægelse og forudindstillingerne for tilgængelighed findes på siden Tilgængelighed."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -870,7 +870,7 @@
"system_default": "Systemstandard"
},
"toolbar_labels": {
"description_mobile": "Textbeschriftungen neben den Symbolleistensymbolen anzeigen."
"description_mobile": "Textbeschriftungen neben den Symbolleisten- und Navigationssymbolen anzeigen."
},
"description_mobile": "Passen Sie an, wie die App aussieht",
"accessibility_link": {
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1168,7 +1168,7 @@
"system_default": "System default"
},
"toolbar_labels": {
"description_mobile": "Display text labels next to toolbar icons."
"description_mobile": "Display text labels next to toolbar and navigation icons."
}
},
"backup": {
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -866,7 +866,7 @@
"system_default": "Predeterminado del sistema"
},
"toolbar_labels": {
"description_mobile": "Mostrar etiquetas de texto junto a los iconos de la barra de herramientas."
"description_mobile": "Mostrar etiquetas de texto junto a los iconos de la barra de herramientas y de navegación."
},
"accessibility_link": {
"description_mobile": "El tamaño del texto, la reducción de movimiento y los ajustes predefinidos de accesibilidad están en la página Accesibilidad."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/et.json
Original file line number Diff line number Diff line change
Expand Up @@ -684,7 +684,7 @@
"system_default": "Süsteemi vaikeseade"
},
"toolbar_labels": {
"description_mobile": "Kuva tekstisildid tööriistariba ikoonide kõrval."
"description_mobile": "Kuva tekstisildid tööriistariba ja navigeerimise ikoonide kõrval."
}
},
"backup": {
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -854,7 +854,7 @@
"system_default": "پیش‌فرض سیستم"
},
"toolbar_labels": {
"description_mobile": "نمایش برچسب‌های متنی کنار آیکون‌های نوار ابزار."
"description_mobile": "نمایش برچسب‌های متنی کنار آیکون‌های نوار ابزار و ناوبری."
},
"accessibility_link": {
"description_mobile": "اندازهٔ متن، کاهش حرکت و پیش‌تنظیم‌های دسترس‌پذیری در صفحهٔ دسترس‌پذیری هستند."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -864,7 +864,7 @@
"system_default": "Par défaut du système"
},
"toolbar_labels": {
"description_mobile": "Afficher les libellés à côté des icônes de la barre d'outils."
"description_mobile": "Afficher les libellés à côté des icônes de la barre d'outils et de navigation."
},
"accessibility_link": {
"description_mobile": "La taille du texte, la réduction des mouvements et les préréglages d'accessibilité se trouvent sur la page Accessibilité."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/he.json
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,7 @@
"system_default": "ברירת המחדל של המערכת"
},
"toolbar_labels": {
"description_mobile": "הצג תוויות טקסט ליד סמלי סרגל הכלים."
"description_mobile": "הצג תוויות טקסט ליד סמלי סרגל הכלים והניווט."
},
"accessibility_link": {
"description_mobile": "גודל טקסט, הפחתת תנועה והגדרות הנגישות המוכנות נמצאים בעמוד נגישות."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/hu.json
Original file line number Diff line number Diff line change
Expand Up @@ -856,7 +856,7 @@
"system_default": "Rendszer alapértelmezése"
},
"toolbar_labels": {
"description_mobile": "Szöveges feliratok megjelenítése az eszköztár ikonjai mellett."
"description_mobile": "Szöveges feliratok megjelenítése az eszköztár és a navigáció ikonjai mellett."
},
"accessibility_link": {
"description_mobile": "A szövegméret, a csökkentett mozgás és az előbeállítások a Kisegítő lehetőségek oldalon találhatók."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -862,7 +862,7 @@
"system_default": "Predefinita di sistema"
},
"toolbar_labels": {
"description_mobile": "Mostra le etichette di testo accanto alle icone della barra degli strumenti."
"description_mobile": "Mostra le etichette di testo accanto alle icone della barra degli strumenti e di navigazione."
},
"accessibility_link": {
"description_mobile": "Dimensione del testo, movimento ridotto e i preset di accessibilità si trovano nella pagina Accessibilità."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "システムのデフォルト"
},
"toolbar_labels": {
"description_mobile": "ツールバーアイコンの横にテキストラベルを表示します。"
"description_mobile": "ツールバーとナビゲーションのアイコンの横にテキストラベルを表示します。"
},
"accessibility_link": {
"description_mobile": "文字サイズ、動きを減らす設定、アクセシビリティのプリセットは「アクセシビリティ」ページにあります。"
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,7 @@
"system_default": "시스템 기본값"
},
"toolbar_labels": {
"description_mobile": "도구 모음 아이콘 옆에 텍스트 설명을 보여줘요."
"description_mobile": "도구 모음과 탐색 아이콘 옆에 텍스트 설명을 보여줘요."
},
"accessibility_link": {
"description_mobile": "글자 크기, 움직임 줄이기, 접근성 프리셋은 접근성 페이지에 있어요."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/lv.json
Original file line number Diff line number Diff line change
Expand Up @@ -859,7 +859,7 @@
"system_default": "Sistēmas noklusējums"
},
"toolbar_labels": {
"description_mobile": "Rādīt teksta aprakstus blakus rīkjoslas ikonām."
"description_mobile": "Rādīt teksta aprakstus blakus rīkjoslas un navigācijas ikonām."
},
"accessibility_link": {
"description_mobile": "Teksta lielums, samazināta kustība un pieejamības sagataves ir lapā Pieejamība."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/mn.json
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,7 @@
"system_default": "Системийн өгөгдмөл"
},
"toolbar_labels": {
"description_mobile": "Хэрэгслийн самбарын дүрсүүдийн хажууд текстэн шошго харуулах."
"description_mobile": "Хэрэгслийн самбар болон навигацийн дүрсүүдийн хажууд текстэн шошго харуулах."
},
"accessibility_link": {
"description_mobile": "Текстийн хэмжээ, хөдөлгөөнийг багасгах болон хүртээмжийн бэлэн тохиргоонууд Хүртээмж хуудсанд байна."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/nb.json
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,7 @@
"system_default": "Systemstandard"
},
"toolbar_labels": {
"description_mobile": "Vis tekst ved siden av ikonene på verktøylinjen."
"description_mobile": "Vis tekst ved siden av ikonene på verktøylinjen og i navigasjonen."
},
"accessibility_link": {
"description_mobile": "Tekststørrelse, redusert bevegelse og forhåndsvalgene for tilgjengelighet finner du på siden Tilgjengelighet."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "Systeemstandaard"
},
"toolbar_labels": {
"description_mobile": "Tekstlabels naast werkbalkpictogrammen weergeven."
"description_mobile": "Tekstlabels naast werkbalk- en navigatiepictogrammen weergeven."
},
"accessibility_link": {
"description_mobile": "Tekstgrootte, minder beweging en de toegankelijkheidsvoorinstellingen vind je op de pagina Toegankelijkheid."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "Ustawienie systemowe"
},
"toolbar_labels": {
"description_mobile": "Wyświetlaj etykiety tekstowe obok ikon paska narzędzi."
"description_mobile": "Wyświetlaj etykiety tekstowe obok ikon paska narzędzi i nawigacji."
},
"accessibility_link": {
"description_mobile": "Rozmiar tekstu, ograniczony ruch i gotowe zestawy dostępności znajdziesz na stronie Dostępność."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@
"system_default": "Padrão do sistema"
},
"toolbar_labels": {
"description_mobile": "Exibir etiquetas de texto ao lado dos ícones da barra de ferramentas."
"description_mobile": "Exibir etiquetas de texto ao lado dos ícones da barra de ferramentas e de navegação."
},
"accessibility_link": {
"description_mobile": "Tamanho do texto, movimento reduzido e as predefinições de acessibilidade estão na página Acessibilidade."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ro.json
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
"system_default": "Implicit de sistem"
},
"toolbar_labels": {
"description_mobile": "Afișați etichete text lângă pictogramele din bara de instrumente."
"description_mobile": "Afișați etichete text lângă pictogramele din bara de instrumente și de navigare."
},
"accessibility_link": {
"description_mobile": "Dimensiunea textului, mișcarea redusă și presetările de accesibilitate se află pe pagina Accesibilitate."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@
"system_default": "Как в системе"
},
"toolbar_labels": {
"description_mobile": "Показывать текстовые подписи рядом со значками панели инструментов."
"description_mobile": "Показывать текстовые подписи рядом со значками панели инструментов и навигации."
},
"accessibility_link": {
"description_mobile": "Размер текста, уменьшение анимации и наборы настроек находятся на странице «Специальные возможности»."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/sk.json
Original file line number Diff line number Diff line change
Expand Up @@ -859,7 +859,7 @@
"system_default": "Podľa systému"
},
"toolbar_labels": {
"description_mobile": "Zobrazovať textové popisky vedľa ikon na paneli nástrojov."
"description_mobile": "Zobrazovať textové popisky vedľa ikon na paneli nástrojov a v navigácii."
},
"accessibility_link": {
"description_mobile": "Veľkosť textu, znížený pohyb a predvoľby prístupnosti nájdete na stránke Prístupnosť."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/th.json
Original file line number Diff line number Diff line change
Expand Up @@ -966,7 +966,7 @@
"system_default": "ค่าเริ่มต้นของระบบ"
},
"toolbar_labels": {
"description_mobile": "แสดงข้อความข้างไอคอนบนแถบเครื่องมือ"
"description_mobile": "แสดงข้อความข้างไอคอนบนแถบเครื่องมือและแถบนำทาง"
}
},
"backup": {
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,7 @@
"system_default": "Sistem varsayılanı"
},
"toolbar_labels": {
"description_mobile": "Araç çubuğu simgelerinin yanında metin etiketleri göster."
"description_mobile": "Araç çubuğu ve gezinme simgelerinin yanında metin etiketleri göster."
},
"accessibility_link": {
"description_mobile": "Metin boyutu, hareketi azaltma ve erişilebilirlik hazır ayarları Erişilebilirlik sayfasındadır."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -862,7 +862,7 @@
"system_default": "Як у системі"
},
"toolbar_labels": {
"description_mobile": "Показувати текстові підписи біля значків панелі інструментів."
"description_mobile": "Показувати текстові підписи біля значків панелі інструментів і навігації."
},
"accessibility_link": {
"description_mobile": "Розмір тексту, зменшення руху та набори налаштувань доступності розташовано на сторінці «Доступність»."
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/zh-TW.json
Original file line number Diff line number Diff line change
Expand Up @@ -859,7 +859,7 @@
"system_default": "系統預設"
},
"toolbar_labels": {
"description_mobile": "在工具列圖示旁顯示文字標籤。"
"description_mobile": "在工具列和導覽圖示旁顯示文字標籤。"
},
"accessibility_link": {
"description_mobile": "文字大小、減少動態效果和無障礙預設組合都在「無障礙」頁面中。"
Expand Down
2 changes: 1 addition & 1 deletion locales/rn/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -859,7 +859,7 @@
"system_default": "系统默认"
},
"toolbar_labels": {
"description_mobile": "在工具栏图标旁显示文字标签。"
"description_mobile": "在工具栏和导航图标旁显示文字标签。"
},
"accessibility_link": {
"description_mobile": "文字大小、减少动效和无障碍预设都在“无障碍”页面中。"
Expand Down
Loading
Loading