diff --git a/src/lib/analytics/types.ts b/src/lib/analytics/types.ts
index 83cc1422..7caa9b35 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 0a8c32cd..27f57a14 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 c02478f9..0428e54c 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(() => {
+ style={[pal.text, s.bold, styles.profileCardDisplayName]}
+ numberOfLines={1}>
{store.me.displayName || store.me.handle}
-
+
@{store.me.handle}
{
{
]}>
-
+
Feedback
+
+
+ Help
+
+
@@ -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 4f56b8e5..ef0d8e46 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() {
@@ -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"
/>
·
@@ -58,6 +61,15 @@ export const DesktopRightNav = observer(function DesktopRightNav() {
href="https://blueskyweb.xyz/support/tos"
text="Terms"
/>
+
+ ·
+
+