diff options
author | Eric Bailey <git@esb.lol> | 2024-02-12 21:13:42 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 19:13:42 -0800 |
commit | bbf049d477817f745b26887612ed68e0ae00daf3 (patch) | |
tree | df824c9d29ac1e90515c09cd0aa94619d0d7a9a2 | |
parent | 543e114877fcd00dd8c717a1116757a1a37d5aff (diff) | |
download | voidsky-bbf049d477817f745b26887612ed68e0ae00daf3.tar.zst |
Remove invites code UI (#2851)
* Hide invite codes UI, comment in settings * Just comment out
-rw-r--r-- | src/view/screens/Settings/index.tsx | 117 | ||||
-rw-r--r-- | src/view/shell/Drawer.tsx | 55 | ||||
-rw-r--r-- | src/view/shell/desktop/RightNav.tsx | 87 |
3 files changed, 66 insertions, 193 deletions
diff --git a/src/view/screens/Settings/index.tsx b/src/view/screens/Settings/index.tsx index 458952527..9abf0f2bd 100644 --- a/src/view/screens/Settings/index.tsx +++ b/src/view/screens/Settings/index.tsx @@ -41,7 +41,7 @@ import { import {useSession, useSessionApi, SessionAccount} from '#/state/session' import {useProfileQuery} from '#/state/queries/profile' import {useClearPreferencesMutation} from '#/state/queries/preferences' -import {useInviteCodesQuery} from '#/state/queries/invites' +// TODO import {useInviteCodesQuery} from '#/state/queries/invites' import {clear as clearStorage} from '#/state/persisted/store' import {clearLegacyStorage} from '#/state/persisted/legacy' import {STATUS_PAGE_URL} from 'lib/constants' @@ -153,20 +153,21 @@ export function SettingsScreen({}: Props) { const {openModal} = useModalControls() const {isSwitchingAccounts, accounts, currentAccount} = useSession() const {mutate: clearPreferences} = useClearPreferencesMutation() - const {data: invites} = useInviteCodesQuery() - const invitesAvailable = invites?.available?.length ?? 0 + // TODO + // const {data: invites} = useInviteCodesQuery() + // const invitesAvailable = invites?.available?.length ?? 0 const {setShowLoggedOut} = useLoggedOutViewControls() const closeAllActiveElements = useCloseAllActiveElements() const exportCarControl = useDialogControl() - const primaryBg = useCustomPalette<ViewStyle>({ - light: {backgroundColor: colors.blue0}, - dark: {backgroundColor: colors.blue6}, - }) - const primaryText = useCustomPalette<TextStyle>({ - light: {color: colors.blue3}, - dark: {color: colors.blue2}, - }) + // const primaryBg = useCustomPalette<ViewStyle>({ + // light: {backgroundColor: colors.blue0}, + // dark: {backgroundColor: colors.blue6}, + // }) + // const primaryText = useCustomPalette<TextStyle>({ + // light: {color: colors.blue3}, + // dark: {color: colors.blue2}, + // }) const dangerBg = useCustomPalette<ViewStyle>({ light: {backgroundColor: colors.red1}, @@ -209,10 +210,12 @@ export function SettingsScreen({}: Props) { exportCarControl.open() }, [exportCarControl]) + /* TODO const onPressInviteCodes = React.useCallback(() => { track('Settings:InvitecodesButtonClicked') openModal({name: 'invite-codes'}) }, [track, openModal]) + */ const onPressLanguageSettings = React.useCallback(() => { navigation.navigate('LanguageSettings') @@ -392,51 +395,57 @@ export function SettingsScreen({}: Props) { <View style={styles.spacer20} /> - <Text type="xl-bold" style={[pal.text, styles.heading]}> - <Trans>Invite a Friend</Trans> - </Text> + {/* TODO ( + <> + <Text type="xl-bold" style={[pal.text, styles.heading]}> + <Trans>Invite a Friend</Trans> + </Text> - <TouchableOpacity - testID="inviteFriendBtn" - style={[ - styles.linkCard, - pal.view, - isSwitchingAccounts && styles.dimmed, - ]} - onPress={isSwitchingAccounts ? undefined : onPressInviteCodes} - accessibilityRole="button" - accessibilityLabel={_(msg`Invite`)} - accessibilityHint={_(msg`Opens invite code list`)} - disabled={invites?.disabled}> - <View - style={[ - styles.iconContainer, - invitesAvailable > 0 ? primaryBg : pal.btn, - ]}> - <FontAwesomeIcon - icon="ticket" - style={ - (invitesAvailable > 0 - ? primaryText - : pal.text) as FontAwesomeIconStyle - } - /> - </View> - <Text type="lg" style={invitesAvailable > 0 ? pal.link : pal.text}> - {invites?.disabled ? ( - <Trans> - Your invite codes are hidden when logged in using an App - Password - </Trans> - ) : invitesAvailable === 1 ? ( - <Trans>{invitesAvailable} invite code available</Trans> - ) : ( - <Trans>{invitesAvailable} invite codes available</Trans> - )} - </Text> - </TouchableOpacity> + <TouchableOpacity + testID="inviteFriendBtn" + style={[ + styles.linkCard, + pal.view, + isSwitchingAccounts && styles.dimmed, + ]} + onPress={isSwitchingAccounts ? undefined : onPressInviteCodes} + accessibilityRole="button" + accessibilityLabel={_(msg`Invite`)} + accessibilityHint={_(msg`Opens invite code list`)} + disabled={invites?.disabled}> + <View + style={[ + styles.iconContainer, + invitesAvailable > 0 ? primaryBg : pal.btn, + ]}> + <FontAwesomeIcon + icon="ticket" + style={ + (invitesAvailable > 0 + ? primaryText + : pal.text) as FontAwesomeIconStyle + } + /> + </View> + <Text + type="lg" + style={invitesAvailable > 0 ? pal.link : pal.text}> + {invites?.disabled ? ( + <Trans> + Your invite codes are hidden when logged in using an App + Password + </Trans> + ) : invitesAvailable === 1 ? ( + <Trans>{invitesAvailable} invite code available</Trans> + ) : ( + <Trans>{invitesAvailable} invite codes available</Trans> + )} + </Text> + </TouchableOpacity> - <View style={styles.spacer20} /> + <View style={styles.spacer20} /> + </> + )*/} <Text type="xl-bold" style={[pal.text, styles.heading]}> <Trans>Accessibility</Trans> diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx index 62a6b9040..2a37d1fe9 100644 --- a/src/view/shell/Drawer.tsx +++ b/src/view/shell/Drawer.tsx @@ -44,12 +44,10 @@ import {formatCountShortOnly} from 'view/com/util/numeric/format' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useSetDrawerOpen} from '#/state/shell' -import {useModalControls} from '#/state/modals' import {useSession, SessionAccount} from '#/state/session' import {useProfileQuery} from '#/state/queries/profile' import {useUnreadNotifications} from '#/state/queries/notifications/unread' import {emitSoftReset} from '#/state/events' -import {useInviteCodesQuery} from '#/state/queries/invites' import {NavSignupCard} from '#/view/shell/NavSignupCard' import {TextLink} from '../com/util/Link' @@ -228,8 +226,7 @@ let DrawerContent = ({}: {}): React.ReactNode => { {hasSession ? ( <> - <InviteCodes /> - <View style={{height: 10}} /> + <View style={{height: 16}} /> <SearchMenuItem isActive={isAtSearch} onPress={onPressSearch} /> <HomeMenuItem isActive={isAtHome} onPress={onPressHome} /> <NotificationsMenuItem @@ -621,56 +618,6 @@ function MenuItem({ ) } -let InviteCodes = ({}: {}): React.ReactNode => { - const {track} = useAnalytics() - const setDrawerOpen = useSetDrawerOpen() - const pal = usePalette('default') - const {data: invites} = useInviteCodesQuery() - const invitesAvailable = invites?.available?.length ?? 0 - const {openModal} = useModalControls() - const {_} = useLingui() - - const onPress = React.useCallback(() => { - track('Menu:ItemClicked', {url: '#invite-codes'}) - setDrawerOpen(false) - openModal({name: 'invite-codes'}) - }, [openModal, track, setDrawerOpen]) - - return ( - <TouchableOpacity - testID="menuItemInviteCodes" - style={styles.inviteCodes} - onPress={onPress} - accessibilityRole="button" - accessibilityLabel={_(msg`Invite codes: ${invitesAvailable} available`)} - accessibilityHint={_(msg`Opens list of invite codes`)} - disabled={invites?.disabled}> - <FontAwesomeIcon - icon="ticket" - style={[ - styles.inviteCodesIcon, - invitesAvailable > 0 ? pal.link : pal.textLight, - ]} - size={18} - /> - <Text - type="lg-medium" - style={invitesAvailable > 0 ? pal.link : pal.textLight}> - {invites?.disabled ? ( - <Trans> - Your invite codes are hidden when logged in using an App Password - </Trans> - ) : invitesAvailable === 1 ? ( - <Trans>{invitesAvailable} invite code available</Trans> - ) : ( - <Trans>{invitesAvailable} invite codes available</Trans> - )} - </Text> - </TouchableOpacity> - ) -} -InviteCodes = React.memo(InviteCodes) - const styles = StyleSheet.create({ view: { flex: 1, diff --git a/src/view/shell/desktop/RightNav.tsx b/src/view/shell/desktop/RightNav.tsx index d955832aa..264fef194 100644 --- a/src/view/shell/desktop/RightNav.tsx +++ b/src/view/shell/desktop/RightNav.tsx @@ -1,6 +1,5 @@ import React from 'react' -import {StyleSheet, TouchableOpacity, View} from 'react-native' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {StyleSheet, View} from 'react-native' import {usePalette} from 'lib/hooks/usePalette' import {DesktopSearch} from './Search' import {DesktopFeeds} from './Feeds' @@ -9,12 +8,9 @@ import {TextLink} from 'view/com/util/Link' import {FEEDBACK_FORM_URL, HELP_DESK_URL} from 'lib/constants' import {s} from 'lib/styles' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' -import {formatCount} from 'view/com/util/numeric/format' -import {useModalControls} from '#/state/modals' import {useLingui} from '@lingui/react' -import {Plural, Trans, msg, plural} from '@lingui/macro' +import {Trans, msg} from '@lingui/macro' import {useSession} from '#/state/session' -import {useInviteCodesQuery} from '#/state/queries/invites' export function DesktopRightNav({routeName}: {routeName: string}) { const pal = usePalette('default') @@ -103,78 +99,11 @@ export function DesktopRightNav({routeName}: {routeName: string}) { /> </View> </View> - - {hasSession && <InviteCodes />} </View> </View> ) } -function InviteCodes() { - const pal = usePalette('default') - const {openModal} = useModalControls() - const {data: invites} = useInviteCodesQuery() - const invitesAvailable = invites?.available?.length ?? 0 - const {_} = useLingui() - - const onPress = React.useCallback(() => { - openModal({name: 'invite-codes'}) - }, [openModal]) - - if (!invites) { - return null - } - - if (invites?.disabled) { - return ( - <View style={[styles.inviteCodes, pal.border]}> - <FontAwesomeIcon - icon="ticket" - style={[styles.inviteCodesIcon, pal.textLight]} - size={16} - /> - <Text type="md-medium" style={pal.textLight}> - <Trans> - Your invite codes are hidden when logged in using an App Password - </Trans> - </Text> - </View> - ) - } - - return ( - <TouchableOpacity - style={[styles.inviteCodes, pal.border]} - onPress={onPress} - accessibilityRole="button" - accessibilityLabel={_( - plural(invitesAvailable, { - one: 'Invite codes: # available', - other: 'Invite codes: # available', - }), - )} - accessibilityHint={_(msg`Opens list of invite codes`)}> - <FontAwesomeIcon - icon="ticket" - style={[ - styles.inviteCodesIcon, - invitesAvailable > 0 ? pal.link : pal.textLight, - ]} - size={16} - /> - <Text - type="md-medium" - style={invitesAvailable > 0 ? pal.link : pal.textLight}> - <Plural - value={formatCount(invitesAvailable)} - one="# invite code available" - other="# invite codes available" - /> - </Text> - </TouchableOpacity> - ) -} - const styles = StyleSheet.create({ rightNav: { // @ts-ignore web only @@ -193,18 +122,6 @@ const styles = StyleSheet.create({ messageLine: { marginBottom: 10, }, - - inviteCodes: { - borderTopWidth: 1, - paddingHorizontal: 12, - paddingVertical: 12, - flexDirection: 'row', - }, - inviteCodesIcon: { - marginTop: 2, - marginRight: 6, - flexShrink: 0, - }, desktopFeedsContainer: { borderTopWidth: 1, borderBottomWidth: 1, |