From 833a0fc02808ae1dce43783d43f3b2762c5cb789 Mon Sep 17 00:00:00 2001 From: Lucas Reis Date: Tue, 8 Aug 2023 03:40:30 -0300 Subject: [PATCH] Feat: Adds the Info snackbar when the About info is copied (#7488) * feat: adding the snackbar when the version info was copied * fix: PR review --- app/constants/snack_bar.ts | 7 +++++++ app/screens/settings/about/about.tsx | 3 +++ assets/base/i18n/en.json | 1 + 3 files changed, 11 insertions(+) diff --git a/app/constants/snack_bar.ts b/app/constants/snack_bar.ts index 8d1fccda6..21b063653 100644 --- a/app/constants/snack_bar.ts +++ b/app/constants/snack_bar.ts @@ -8,6 +8,7 @@ export const SNACK_BAR_TYPE = keyMirror({ ADD_CHANNEL_MEMBERS: null, FAVORITE_CHANNEL: null, FOLLOW_THREAD: null, + INFO_COPIED: null, LINK_COPIED: null, MESSAGE_COPIED: null, MUTE_CHANNEL: null, @@ -43,6 +44,12 @@ export const SNACK_BAR_CONFIG: Record = { iconName: 'check', canUndo: true, }, + INFO_COPIED: { + id: t('snack.bar.info.copied'), + defaultMessage: 'Info copied to clipboard', + iconName: 'content-copy', + canUndo: false, + }, LINK_COPIED: { id: t('snack.bar.link.copied'), defaultMessage: 'Link copied to clipboard', diff --git a/app/screens/settings/about/about.tsx b/app/screens/settings/about/about.tsx index 964067e52..b0bdb19cc 100644 --- a/app/screens/settings/about/about.tsx +++ b/app/screens/settings/about/about.tsx @@ -13,11 +13,13 @@ import CompassIcon from '@components/compass_icon'; import FormattedText from '@components/formatted_text'; import SettingContainer from '@components/settings/container'; import AboutLinks from '@constants/about_links'; +import {SNACK_BAR_TYPE} from '@constants/snack_bar'; import {useTheme} from '@context/theme'; import useAndroidHardwareBackHandler from '@hooks/android_back_handler'; import {t} from '@i18n'; import {popTopScreen} from '@screens/navigation'; import {buttonBackgroundStyle, buttonTextStyle} from '@utils/buttonStyles'; +import {showSnackBar} from '@utils/snack_bar'; import {preventDoubleTap} from '@utils/tap'; import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme'; import {typography} from '@utils/typography'; @@ -180,6 +182,7 @@ const About = ({componentId, config, license}: AboutProps) => { const databaseSchemaVersion = intl.formatMessage({id: 'settings.about.database.schema', defaultMessage: 'Database Schema Version: {version}'}, {version: config.SchemaVersion}); const copiedString = `${appVersion}\n${server}\n${database}\n${databaseSchemaVersion}`; Clipboard.setString(copiedString); + showSnackBar({barType: SNACK_BAR_TYPE.INFO_COPIED, sourceScreen: componentId}); }, [intl, config], ); diff --git a/assets/base/i18n/en.json b/assets/base/i18n/en.json index 9041b6668..d4e0c3ea1 100644 --- a/assets/base/i18n/en.json +++ b/assets/base/i18n/en.json @@ -982,6 +982,7 @@ "snack.bar.channel.members.added": "{numMembers, number} {numMembers, plural, one {member} other {members}} added", "snack.bar.favorited.channel": "This channel was favorited", "snack.bar.following.thread": "Thread followed", + "snack.bar.info.copied": "Info copied to clipboard", "snack.bar.link.copied": "Link copied to clipboard", "snack.bar.message.copied": "Text copied to clipboard", "snack.bar.mute.channel": "This channel was muted",