Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
3 changes: 2 additions & 1 deletion src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2214,7 +2214,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Geräteverwaltung',
description: 'Verwalten Sie alle Geräte, auf denen Sie sich mit Ihrem Expensify-Konto angemeldet haben.',
description:
'Verwalten Sie alle Geräte, bei denen Sie sich mit Ihrem Expensify Konto angemeldet haben. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Erfahren Sie mehr</a>',
revoke: 'Widerrufen',
unknownDevice: 'Unbekanntes Gerät',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2285,7 +2285,8 @@ const translations = {
},
deviceManagementPage: {
title: 'Device management',
description: 'Manage all the devices that you have logged into with your Expensify Account.',
description:
'Manage all the devices that you have logged into with your Expensify Account. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Learn more</a>',
revoke: 'Revoke',
unknownDevice: 'Unknown Device',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2101,7 +2101,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Gestión de dispositivos',
description: 'Gestiona todos los dispositivos en los que has iniciado sesión con tu cuenta de Expensify.',
description:
'Gestiona todos los dispositivos en los que has iniciado sesión con tu cuenta de Expensify. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Más información</a>',
revoke: 'Revocar',
unknownDevice: 'Dispositivo Desconocido',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2219,7 +2219,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Gestion des appareils',
description: 'Gérez tous les appareils sur lesquels vous vous êtes connecté avec votre compte Expensify.',
description:
'Gérez tous les appareils sur lesquels vous vous êtes connecté avec votre compte Expensify. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">En savoir plus</a>',
revoke: 'Révoquer',
unknownDevice: 'Appareil Inconnu',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2213,7 +2213,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Gestione dei dispositivi',
description: `Gestisci tutti i dispositivi su cui hai effettuato l'accesso con il tuo account Expensify.`,
description:
'Gestisci tutti i dispositivi su cui hai effettuato l\'accesso con il tuo account Expensify. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Scopri di più</a>',
revoke: 'Revoca',
unknownDevice: 'Dispositivo Sconosciuto',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2192,7 +2192,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'デバイス管理',
description: 'Expensifyアカウントでログインしたすべてのデバイスを管理します。',
description:
'Expensify アカウントでログインしているすべてのデバイスを管理できます。<a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">詳しくはこちら</a>',
revoke: '取り消す',
unknownDevice: '不明なデバイス',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2208,7 +2208,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Apparaatbeheer',
description: 'Beheer alle apparaten waarop u bent ingelogd met uw Expensify-account.',
description:
'Beheer alle apparaten waarop je bent ingelogd met je Expensify-account. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Meer informatie</a>',
revoke: 'Intrekken',
unknownDevice: 'Onbekend Apparaat',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2208,7 +2208,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Zarządzanie urządzeniami',
description: 'Zarządzaj wszystkimi urządzeniami, na których zalogowałeś się za pomocą swojego konta Expensify.',
description:
'Zarządzaj wszystkimi urządzeniami, na które zalogowałeś(-aś) się za pomocą konta Expensify. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Dowiedz się więcej</a>',
revoke: 'Cofnąć',
unknownDevice: 'Nieznane Urządzenie',
},
Expand Down
3 changes: 2 additions & 1 deletion src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2205,7 +2205,8 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: 'Gerenciamento de dispositivos',
description: 'Gerencie todos os dispositivos nos quais você fez login com sua conta do Expensify.',
description:
'Gerencie todos os dispositivos nos quais você fez login com sua conta Expensify. <a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">Saiba mais</a>',
revoke: 'Revogar',
unknownDevice: 'Dispositivo Desconhecido',
},
Expand Down
2 changes: 1 addition & 1 deletion src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2150,7 +2150,7 @@ const translations: TranslationDeepObject<typeof en> = {
},
deviceManagementPage: {
title: '设备管理',
description: '管理您使用 Expensify 账户登录过的所有设备。',
description: '管理所有已使用你的 Expensify 账户登录的设备。<a href="https://help.expensify.com/articles/new-expensify/settings/Manage-Logged-in-Devices">了解详情</a>',
revoke: '撤销',
unknownDevice: '未知设备',
},
Expand Down
14 changes: 12 additions & 2 deletions src/pages/settings/Security/DeviceManagementPage.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import {FlashList} from '@shopify/flash-list';
import type {ListRenderItemInfo} from '@shopify/flash-list';
import React from 'react';
import React, {useMemo} from 'react';
import {View} from 'react-native';
import type {OnyxEntry} from 'react-native-onyx';
import Button from '@components/Button';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import OfflineWithFeedback from '@components/OfflineWithFeedback';
import RenderHTML from '@components/RenderHTML';
import ScreenWrapper from '@components/ScreenWrapper';
import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
Expand All @@ -29,6 +30,15 @@ function DeviceManagementPage() {
const [logins] = useOnyx(ONYXKEYS.LOGINS, {selector: getDeviceLogins});
const [autoGeneratedLogin] = useOnyx(ONYXKEYS.CREDENTIALS, {selector: autoGeneratedLoginSelector});

const listHeader = useMemo(
Comment thread
arosiclair marked this conversation as resolved.
Outdated
() => (
<View style={[styles.pv3]}>
<RenderHTML html={translate('deviceManagementPage.description')} />
</View>
),
[styles.pv3, translate],
);

const renderItem = ({item}: ListRenderItemInfo<Login>) => {
const {deviceName, deviceVersion, os, osVersion} = item.additionalData ?? {};
return (
Expand Down Expand Up @@ -61,13 +71,13 @@ function DeviceManagementPage() {
title={translate('deviceManagementPage.title')}
onBackButtonPress={Navigation.goBack}
/>
<Text style={[styles.ph5, styles.pv3]}>{translate('deviceManagementPage.description')}</Text>
<FlashList
data={logins}
renderItem={renderItem}
keyExtractor={getLoginKey}
maintainVisibleContentPosition={{disabled: true}}
contentContainerStyle={[styles.ph5]}
ListHeaderComponent={listHeader}
/>
</ScreenWrapper>
);
Expand Down
Loading