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
23 changes: 6 additions & 17 deletions src/components/FocusModeNotification.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import React from 'react';
import {View} from 'react-native';
import useEnvironment from '@hooks/useEnvironment';
import useLocalize from '@hooks/useLocalize';
import useStyleUtils from '@hooks/useStyleUtils';
import useThemeStyles from '@hooks/useThemeStyles';
import {openLink} from '@libs/actions/Link';
import colors from '@styles/theme/colors';
import ConfirmModal from './ConfirmModal';
import {ThreeLeggedLaptopWoman} from './Icon/Illustrations';
import Text from './Text';
import TextLinkWithRef from './TextLink';
import RenderHTML from './RenderHTML';

type FocusModeNotificationProps = {
onClose: () => void;
Expand All @@ -19,7 +18,7 @@ function FocusModeNotification({onClose}: FocusModeNotificationProps) {
const StyleUtils = useStyleUtils();
const {environmentURL} = useEnvironment();
const {translate} = useLocalize();
const href = `${environmentURL}/settings/preferences/priority-mode`;
const priorityModePageUrl = `${environmentURL}/settings/preferences/priority-mode`;

return (
<ConfirmModal
Expand All @@ -30,19 +29,9 @@ function FocusModeNotification({onClose}: FocusModeNotificationProps) {
onBackdropPress={onClose}
onCancel={onClose}
prompt={
<Text>
{translate('focusModeUpdateModal.prompt')}
<TextLinkWithRef
style={styles.link}
onPress={() => {
onClose();
openLink(href, environmentURL);
}}
>
{translate('focusModeUpdateModal.settings')}
</TextLinkWithRef>
.
</Text>
<View style={[styles.renderHTML, styles.flexRow]}>
<RenderHTML html={translate('focusModeUpdateModal.prompt', {priorityModePageUrl})} />
</View>
}
isVisible
image={ThreeLeggedLaptopWoman}
Expand Down
12 changes: 12 additions & 0 deletions src/components/PriorityModeController.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,18 @@ export default function PriorityModeController() {
hasSwitched.current = true;
}, [accountID, currentRouteName, hasTriedFocusMode, hasTriedFocusModeMetadata, isInFocusMode, isInFocusModeMetadata, isLoadingReportData, validReportCount]);

useEffect(() => {
if (!shouldShowModal) {
return;
}
const isNarrowLayout = getIsNarrowLayout();
const shouldHideModalOnNavigation = (isNarrowLayout && currentRouteName !== SCREENS.HOME) || (!isNarrowLayout && currentRouteName !== SCREENS.REPORT);

if (shouldHideModalOnNavigation) {
setShouldShowModal(false);
}
}, [currentRouteName, shouldShowModal]);

return shouldShowModal ? <FocusModeNotification onClose={closeModal} /> : null;
}

Expand Down
5 changes: 3 additions & 2 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2735,8 +2736,8 @@ ${amount} für ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Willkommen im #Fokus-Modus!',
prompt: 'Bleiben Sie auf dem Laufenden, indem Sie nur ungelesene Chats oder Chats sehen, die Ihre Aufmerksamkeit erfordern. Keine Sorge, Sie können dies jederzeit in ändern.',
settings: 'Einstellungen',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Bleiben Sie auf dem Laufenden, indem Sie nur ungelesene Chats oder Chats sehen, die Ihre Aufmerksamkeit erfordern. Keine Sorge, Sie können dies jederzeit in <a href="${priorityModePageUrl}">Einstellungen</a> ändern.`,
Comment thread
samranahm marked this conversation as resolved.
},
notFound: {
chatYouLookingForCannotBeFound: 'Der gesuchte Chat kann nicht gefunden werden.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2716,8 +2717,8 @@ const translations = {
},
focusModeUpdateModal: {
title: 'Welcome to #focus mode!',
prompt: "Stay on top of things by only seeing unread chats or chats that need your attention. Don't worry, you can change this at any point in ",
settings: 'settings',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Stay on top of things by only seeing unread chats or chats that need your attention. Don’t worry, you can change this at any point in <a href="${priorityModePageUrl}">settings</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'The chat you are looking for cannot be found.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2693,8 +2694,8 @@ ${amount} para ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: '¡Bienvenido al modo #concentración!',
prompt: 'Mantente al tanto de todo viendo sólo los chats no leídos o los que necesitan tu atención. No te preocupes, puedes cambiar el ajuste en cualquier momento desde la ',
settings: 'configuración',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Mantente al tanto de todo viendo sólo los chats no leídos o los que necesitan tu atención. No te preocupes, puedes cambiar el ajuste en cualquier momento desde la <a href="${priorityModePageUrl}">configuración</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'El chat que estás buscando no se pudo encontrar.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2731,8 +2732,8 @@ ${amount} pour ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Bienvenue en mode #focus !',
prompt: 'Restez au courant des choses en ne voyant que les discussions non lues ou celles qui nécessitent votre attention. Ne vous inquiétez pas, vous pouvez changer cela à tout moment dans',
settings: 'paramètres',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Restez au courant des choses en ne voyant que les discussions non lues ou celles qui nécessitent votre attention. Ne vous inquiétez pas, vous pouvez changer cela à tout moment dans <a href="${priorityModePageUrl}">paramètres</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'Le chat que vous recherchez est introuvable.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2744,8 +2745,8 @@ ${amount} per ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Benvenuto in modalità #focus!',
prompt: 'Rimani al passo vedendo solo le chat non lette o quelle che richiedono la tua attenzione. Non preoccuparti, puoi cambiare questa impostazione in qualsiasi momento in',
settings: 'impostazioni',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Rimani al passo vedendo solo le chat non lette o quelle che richiedono la tua attenzione. Non preoccuparti, puoi cambiare questa impostazione in qualsiasi momento in <a href="${priorityModePageUrl}">impostazioni</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'La chat che stai cercando non può essere trovata.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2733,8 +2734,8 @@ ${date} - ${merchant}に${amount}`,
},
focusModeUpdateModal: {
title: '#focusモードへようこそ!',
prompt: '未読のチャットや注意が必要なチャットのみを表示することで、物事を把握しましょう。心配しないでください、これはいつでも変更できます。',
settings: '設定',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`未読のチャットや注意が必要なチャットのみを表示することで、物事を把握しましょう。心配しないでください、これはいつでも<a href="${priorityModePageUrl}">設定</a>で変更できます。`,
},
notFound: {
chatYouLookingForCannotBeFound: 'お探しのチャットが見つかりません。',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2745,8 +2746,8 @@ ${amount} voor ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Welkom in de #focusmodus!',
prompt: 'Blijf op de hoogte door alleen ongelezen chats of chats die uw aandacht nodig hebben te bekijken. Maak je geen zorgen, je kunt dit op elk moment wijzigen in',
settings: 'instellingen',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Blijf op de hoogte door alleen ongelezen chats of chats die uw aandacht nodig hebben te bekijken. Maak je geen zorgen, je kunt dit op elk moment wijzigen in <a href="${priorityModePageUrl}">instellingen</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'De chat die je zoekt kan niet worden gevonden.',
Expand Down
5 changes: 5 additions & 0 deletions src/languages/params.ts
Original file line number Diff line number Diff line change
Expand Up @@ -945,6 +945,10 @@ type MergeAccountIntoParams = {
login: string;
};

type FocusModeUpdateParams = {
priorityModePageUrl: string;
};

export type {
SettlementAccountReconciliationParams,
ContactMethodsRouteParams,
Expand Down Expand Up @@ -1256,4 +1260,5 @@ export type {
ErrorODIntegrationParams,
DisconnectYourBankAccountParams,
MergeAccountIntoParams,
FocusModeUpdateParams,
};
5 changes: 3 additions & 2 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2739,8 +2740,8 @@ ${amount} dla ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Witamy w trybie #focus!',
prompt: 'Bądź na bieżąco, widząc tylko nieprzeczytane czaty lub czaty, które wymagają Twojej uwagi. Nie martw się, możesz to zmienić w dowolnym momencie w',
settings: 'ustawienia',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Bądź na bieżąco, widząc tylko nieprzeczytane czaty lub czaty, które wymagają Twojej uwagi. Nie martw się, możesz to zmienić w dowolnym momencie w <a href="${priorityModePageUrl}">ustawienia</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'Nie można znaleźć czatu, którego szukasz.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2737,8 +2738,8 @@ ${amount} para ${merchant} - ${date}`,
},
focusModeUpdateModal: {
title: 'Bem-vindo ao modo #focus!',
prompt: 'Mantenha-se atualizado vendo apenas os chats não lidos ou que precisam da sua atenção. Não se preocupe, você pode mudar isso a qualquer momento em',
settings: 'configurações',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`Mantenha-se atualizado vendo apenas os chats não lidos ou que precisam da sua atenção. Não se preocupe, você pode mudar isso a qualquer momento em <a href="${priorityModePageUrl}">configurações</a>.`,
},
notFound: {
chatYouLookingForCannotBeFound: 'O chat que você está procurando não pode ser encontrado.',
Expand Down
5 changes: 3 additions & 2 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ import type {
FiltersAmountBetweenParams,
FlightLayoverParams,
FlightParams,
FocusModeUpdateParams,
FormattedMaxLengthParams,
GoBackMessageParams,
ImportedTagsMessageParams,
Expand Down Expand Up @@ -2707,8 +2708,8 @@ ${merchant}的${amount} - ${date}`,
},
focusModeUpdateModal: {
title: '欢迎进入#专注模式!',
prompt: '通过仅查看未读聊天或需要您注意的聊天来保持对事物的掌控。别担心,您可以随时在',
settings: '设置',
prompt: ({priorityModePageUrl}: FocusModeUpdateParams) =>
`通过仅查看未读聊天或需要您注意的聊天来保持对事物的掌控。别担心,您可以随时在<a href="${priorityModePageUrl}">设置</a>中更改。`,
},
notFound: {
chatYouLookingForCannotBeFound: '您要查找的聊天无法找到。',
Expand Down
Loading