diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx
index 71be3969ac..f6b6e53395 100644
--- a/src/view/com/posts/FeedItem.tsx
+++ b/src/view/com/posts/FeedItem.tsx
@@ -203,9 +203,9 @@ export const FeedItem = observer(function FeedItemImpl({
+ )}`}>
+ items={dropdownItems}
+ accessibilityLabel="More options"
+ accessibilityHint="">
diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx
index 1a6f047f67..8734cf32f6 100644
--- a/src/view/com/util/Link.tsx
+++ b/src/view/com/util/Link.tsx
@@ -142,6 +142,7 @@ export const TextLink = observer(function TextLink({
dataSet,
title,
onPress,
+ ...orgProps
}: {
testID?: string
type?: TypographyVariant
@@ -190,7 +191,8 @@ export const TextLink = observer(function TextLink({
title={title}
// @ts-ignore web only -prf
hrefAttrs={hrefAttrs} // hack to get open in new tab to work on safari. without this, safari will open in a new window
- {...props}>
+ {...props}
+ {...orgProps}>
{text}
)
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx
index 7a42ab4d32..80d506b4a6 100644
--- a/src/view/com/util/UserAvatar.tsx
+++ b/src/view/com/util/UserAvatar.tsx
@@ -230,7 +230,11 @@ export function UserAvatar({
// onSelectNewAvatar is only passed as prop on the EditProfile component
return onSelectNewAvatar ? (
-
+
{avatar ? (
+
{banner ? (
) : null}
-
+
My Feeds
-
+
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index 60cda31db2..e53d4a08e2 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import {FlatList, View} from 'react-native'
+import {FlatList, View, useWindowDimensions} from 'react-native'
import {useFocusEffect, useIsFocused} from '@react-navigation/native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {FontAwesomeIconStyle} from '@fortawesome/react-native-fontawesome'
@@ -26,9 +26,6 @@ import {useAnalytics} from 'lib/analytics/analytics'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {ComposeIcon2} from 'lib/icons'
-const HEADER_OFFSET_MOBILE = 78
-const HEADER_OFFSET_TABLET = 50
-const HEADER_OFFSET_DESKTOP = 0
const POLL_FREQ = 30e3 // 30sec
type Props = NativeStackScreenProps
@@ -160,16 +157,10 @@ const FeedPage = observer(function FeedPageImpl({
}) {
const store = useStores()
const pal = usePalette('default')
- const {isMobile, isTablet, isDesktop} = useWebMediaQueries()
+ const {isDesktop} = useWebMediaQueries()
const [onMainScroll, isScrolledDown, resetMainScroll] = useOnMainScroll(store)
const {screen, track} = useAnalytics()
- const [headerOffset, setHeaderOffset] = React.useState(
- isMobile
- ? HEADER_OFFSET_MOBILE
- : isTablet
- ? HEADER_OFFSET_TABLET
- : HEADER_OFFSET_DESKTOP,
- )
+ const headerOffset = useHeaderOffset()
const scrollElRef = React.useRef(null)
const {appState} = useAppState({
onForeground: () => doPoll(true),
@@ -214,17 +205,6 @@ const FeedPage = observer(function FeedPageImpl({
}
}, [isPageFocused, scrollToTop, feed])
- // listens for resize events
- React.useEffect(() => {
- setHeaderOffset(
- isMobile
- ? HEADER_OFFSET_MOBILE
- : isTablet
- ? HEADER_OFFSET_TABLET
- : HEADER_OFFSET_DESKTOP,
- )
- }, [isMobile, isTablet])
-
// fires when page within screen is activated/deactivated
// - check for latest
React.useEffect(() => {
@@ -301,6 +281,8 @@ const FeedPage = observer(function FeedPageImpl({
type="title-lg"
href="/settings/home-feed"
style={{fontWeight: 'bold'}}
+ accessibilityLabel="Feed Preferences"
+ accessibilityHint=""
text={
)
})
+
+function useHeaderOffset() {
+ const {isDesktop, isTablet} = useWebMediaQueries()
+ const {fontScale} = useWindowDimensions()
+ if (isDesktop) {
+ return 0
+ }
+ if (isTablet) {
+ return 50
+ }
+ // default text takes 44px, plus 34px of pad
+ // scale the 44px by the font scale
+ return 34 + 44 * fontScale
+}
diff --git a/src/view/screens/Settings.tsx b/src/view/screens/Settings.tsx
index 4783f33538..7b17b53472 100644
--- a/src/view/screens/Settings.tsx
+++ b/src/view/screens/Settings.tsx
@@ -651,7 +651,11 @@ function AccountDropdownBtn({handle}: {handle: string}) {
]
return (
-
+