diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-07-05 19:58:29 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-05 19:58:29 -0500 |
commit | d442b1cd4c58b0624fe76f90e23a2e7c02393d17 (patch) | |
tree | 183bf5e48c85610a5380df91cbb3ae1dccbbb1c5 /src | |
parent | 3a6073abb899cf3e73c530fceed2322955ee97b1 (diff) | |
download | voidsky-d442b1cd4c58b0624fe76f90e23a2e7c02393d17.tar.zst |
Update support links (#977)
* Add the new zendesk feedback form URL * Dont wrap handle or display name in the drawer * Add help link * Tune drawer footer layout * Type fixes * make helpdesk urls more composable for future * fix typo --------- Co-authored-by: Ansh Nanda <anshnanda10@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/analytics/types.ts | 1 | ||||
-rw-r--r-- | src/lib/constants.ts | 22 | ||||
-rw-r--r-- | src/view/shell/Drawer.tsx | 45 | ||||
-rw-r--r-- | src/view/shell/desktop/RightNav.tsx | 18 |
4 files changed, 71 insertions, 15 deletions
diff --git a/src/lib/analytics/types.ts b/src/lib/analytics/types.ts index 83cc14221..7caa9b357 100644 --- a/src/lib/analytics/types.ts +++ b/src/lib/analytics/types.ts @@ -79,6 +79,7 @@ interface TrackPropertiesMap { // MENU events 'Menu:ItemClicked': {url: string} 'Menu:FeedbackClicked': {} + 'Menu:HelpClicked': {} // MOBILE SHELL events 'MobileShell:MyProfileButtonPressed': {} 'MobileShell:HomeButtonPressed': {} diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 0a8c32cd6..27f57a14e 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -1,5 +1,23 @@ -export const FEEDBACK_FORM_URL = - 'https://docs.google.com/forms/d/e/1FAIpQLSdavFRXTdB6tRobaFrRR2A1gv3b-IBHwQkBmNZTRpoqmcrPrQ/viewform?usp=sf_link' +const HELP_DESK_LANG = 'en-us' +export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}` + +const BASE_FEEDBACK_FORM_URL = `${HELP_DESK_URL}/requests/new` +export function FEEDBACK_FORM_URL({ + email, + handle, +}: { + email?: string + handle?: string +}): string { + let str = BASE_FEEDBACK_FORM_URL + if (email) { + str += `?tf_anonymous_requester_email=${encodeURIComponent(email)}` + if (handle) { + str += `&tf_17205412673421=${encodeURIComponent(handle)}` + } + } + return str +} export const MAX_DISPLAY_NAME = 64 export const MAX_DESCRIPTION = 256 diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx index c02478f98..0428e54c3 100644 --- a/src/view/shell/Drawer.tsx +++ b/src/view/shell/Drawer.tsx @@ -16,7 +16,7 @@ import { FontAwesomeIconStyle, } from '@fortawesome/react-native-fontawesome' import {s, colors} from 'lib/styles' -import {FEEDBACK_FORM_URL} from 'lib/constants' +import {FEEDBACK_FORM_URL, HELP_DESK_URL} from 'lib/constants' import {useStores} from 'state/index' import { HomeIcon, @@ -116,8 +116,19 @@ export const DrawerContent = observer(() => { const onPressFeedback = React.useCallback(() => { track('Menu:FeedbackClicked') - Linking.openURL(FEEDBACK_FORM_URL) + Linking.openURL( + FEEDBACK_FORM_URL({ + email: store.session.currentSession?.email, + handle: store.session.currentSession?.handle, + }), + ) + }, [track, store.session.currentSession]) + + const onPressHelp = React.useCallback(() => { + track('Menu:HelpClicked') + Linking.openURL(HELP_DESK_URL) }, [track]) + // rendering // = @@ -138,10 +149,14 @@ export const DrawerContent = observer(() => { <UserAvatar size={80} avatar={store.me.avatar} /> <Text type="title-lg" - style={[pal.text, s.bold, styles.profileCardDisplayName]}> + style={[pal.text, s.bold, styles.profileCardDisplayName]} + numberOfLines={1}> {store.me.displayName || store.me.handle} </Text> - <Text type="2xl" style={[pal.textLight, styles.profileCardHandle]}> + <Text + type="2xl" + style={[pal.textLight, styles.profileCardHandle]} + numberOfLines={1}> @{store.me.handle} </Text> <Text @@ -299,7 +314,7 @@ export const DrawerContent = observer(() => { <TouchableOpacity accessibilityRole="link" accessibilityLabel="Send feedback" - accessibilityHint="Opens Google Forms feedback link" + accessibilityHint="" onPress={onPressFeedback} style={[ styles.footerBtn, @@ -310,13 +325,23 @@ export const DrawerContent = observer(() => { ]}> <FontAwesomeIcon style={pal.link as FontAwesomeIconStyle} - size={19} + size={18} icon={['far', 'message']} /> - <Text type="2xl-medium" style={[pal.link, s.pl10]}> + <Text type="lg-medium" style={[pal.link, s.pl10]}> Feedback </Text> </TouchableOpacity> + <TouchableOpacity + accessibilityRole="link" + accessibilityLabel="Send feedback" + accessibilityHint="" + onPress={onPressHelp} + style={[styles.footerBtn]}> + <Text type="lg-medium" style={[pal.link, s.pl10]}> + Help + </Text> + </TouchableOpacity> </View> </SafeAreaView> </View> @@ -495,8 +520,8 @@ const styles = StyleSheet.create({ footer: { flexDirection: 'row', - justifyContent: 'space-between', - paddingRight: 30, + gap: 8, + paddingRight: 20, paddingTop: 20, paddingLeft: 20, }, @@ -507,7 +532,7 @@ const styles = StyleSheet.create({ borderRadius: 25, }, footerBtnFeedback: { - paddingHorizontal: 24, + paddingHorizontal: 20, }, footerBtnFeedbackLight: { backgroundColor: '#DDEFFF', diff --git a/src/view/shell/desktop/RightNav.tsx b/src/view/shell/desktop/RightNav.tsx index 4f56b8e52..ef0d8e46c 100644 --- a/src/view/shell/desktop/RightNav.tsx +++ b/src/view/shell/desktop/RightNav.tsx @@ -6,7 +6,7 @@ import {usePalette} from 'lib/hooks/usePalette' import {DesktopSearch} from './Search' import {Text} from 'view/com/util/text/Text' import {TextLink} from 'view/com/util/Link' -import {FEEDBACK_FORM_URL} from 'lib/constants' +import {FEEDBACK_FORM_URL, HELP_DESK_URL} from 'lib/constants' import {s} from 'lib/styles' import {useStores} from 'state/index' import {pluralize} from 'lib/strings/helpers' @@ -37,7 +37,10 @@ export const DesktopRightNav = observer(function DesktopRightNav() { <TextLink type="md" style={pal.link} - href={FEEDBACK_FORM_URL} + href={FEEDBACK_FORM_URL({ + email: store.session.currentSession?.email, + handle: store.session.currentSession?.handle, + })} text="Send feedback" /> <Text type="md" style={pal.textLight}> @@ -47,7 +50,7 @@ export const DesktopRightNav = observer(function DesktopRightNav() { type="md" style={pal.link} href="https://blueskyweb.xyz/support/privacy-policy" - text="Privacy Policy" + text="Privacy" /> <Text type="md" style={pal.textLight}> · @@ -58,6 +61,15 @@ export const DesktopRightNav = observer(function DesktopRightNav() { href="https://blueskyweb.xyz/support/tos" text="Terms" /> + <Text type="md" style={pal.textLight}> + · + </Text> + <TextLink + type="md" + style={pal.link} + href={HELP_DESK_URL} + text="Help" + /> </View> </View> <InviteCodes /> |