diff options
author | Eric Bailey <git@esb.lol> | 2024-06-03 20:10:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-04 02:10:43 +0100 |
commit | 3e1f0768916774642516d88254a6cf7a6a82331f (patch) | |
tree | 03204ed91e457eef7082c8cf8e1213bb622e5bdb /src/view/screens/Settings/index.tsx | |
parent | de93e8de746f3c8a7b1755aaa034043951371ae0 (diff) | |
download | voidsky-3e1f0768916774642516d88254a6cf7a6a82331f.tar.zst |
[🙅] Disambiguation of the deactivation (#4267)
* Disambiguation of the deactivation * Snapshot crackle pop * Change log context * [🙅] Add status to session state (#4269) * Add status to session state * [🙅] Add new deactivated screen (#4270) * Add new deactivated screen * Update copy, handle logout * Remove icons, adjust padding * [🙅] Add deactivate account dialog (#4290) * Deactivate dialog (cherry picked from commit 33940e2dfe0d710c0665a7f68b198b46f54db4a2) * Factor out dialog, add to delete modal too (cherry picked from commit 47d70f6b74e7d2ea7330fd172499fe91ba41062d) * Update copy, icon (cherry picked from commit e6efabbe78c3f3d9f0f8fb0a06a6a1c4fbfb70a9) * Update copy (cherry picked from commit abb0ce26f6747ab0548f6f12df0dee3c64464852) * Sizing tweaks (cherry picked from commit fc716d5716873f0fddef56496fc48af0614b2e55) * Add a11y label
Diffstat (limited to 'src/view/screens/Settings/index.tsx')
-rw-r--r-- | src/view/screens/Settings/index.tsx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/view/screens/Settings/index.tsx b/src/view/screens/Settings/index.tsx index a647ea902..d075cc696 100644 --- a/src/view/screens/Settings/index.tsx +++ b/src/view/screens/Settings/index.tsx @@ -60,6 +60,7 @@ import {Text} from 'view/com/util/text/Text' import * as Toast from 'view/com/util/Toast' import {UserAvatar} from 'view/com/util/UserAvatar' import {ScrollView} from 'view/com/util/Views' +import {DeactivateAccountDialog} from '#/screens/Settings/components/DeactivateAccountDialog' import {useTheme} from '#/alf' import {useDialogControl} from '#/components/Dialog' import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings' @@ -307,6 +308,11 @@ export function SettingsScreen({}: Props) { Toast.show(_(msg`Legacy storage cleared, you need to restart the app now.`)) }, [_]) + const deactivateAccountControl = useDialogControl() + const onPressDeactivateAccount = React.useCallback(() => { + deactivateAccountControl.open() + }, [deactivateAccountControl]) + const {mutate: onPressDeleteChatDeclaration} = useDeleteActorDeclaration() return ( @@ -791,6 +797,29 @@ export function SettingsScreen({}: Props) { <Trans>Export My Data</Trans> </Text> </TouchableOpacity> + + <TouchableOpacity + style={[pal.view, styles.linkCard]} + onPress={onPressDeactivateAccount} + accessible={true} + accessibilityRole="button" + accessibilityLabel={_(msg`Deactivate account`)} + accessibilityHint={_( + msg`Opens modal for account deactivation confirmation`, + )}> + <View style={[styles.iconContainer, dangerBg]}> + <FontAwesomeIcon + icon={'users-slash'} + style={dangerText as FontAwesomeIconStyle} + size={18} + /> + </View> + <Text type="lg" style={dangerText}> + <Trans>Deactivate my account</Trans> + </Text> + </TouchableOpacity> + <DeactivateAccountDialog control={deactivateAccountControl} /> + <TouchableOpacity style={[pal.view, styles.linkCard]} onPress={onPressDeleteAccount} |