diff --git a/src/components/AccountList.tsx b/src/components/AccountList.tsx index 70fc29d5b6..55320b57f6 100644 --- a/src/components/AccountList.tsx +++ b/src/components/AccountList.tsx @@ -44,8 +44,8 @@ export function AccountList({ return ( + ]}> + ]}> Suggested for you diff --git a/src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx b/src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx index 01828011b2..506468b235 100644 --- a/src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx +++ b/src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx @@ -29,7 +29,6 @@ export function TimeIndicator({ return ( {(showSpinner || error) && ( + style={[ + a.pointer_events_none, + a.absolute, + a.inset_0, + a.justify_center, + a.align_center, + ]}> {showSpinner && } {error && ( diff --git a/src/components/Post/Embed/index.tsx b/src/components/Post/Embed/index.tsx index 732d10815f..7a78fb722f 100644 --- a/src/components/Post/Embed/index.tsx +++ b/src/components/Post/Embed/index.tsx @@ -307,7 +307,7 @@ export function QuoteEmbed({ onBeforePress={onBeforePress} onPressIn={onPressIn} onPressOut={onPressOut}> - + + exiting={FadeOutUp.duration(duration / 2)}> {children} ) diff --git a/src/lib/custom-animations/LikeIcon.tsx b/src/lib/custom-animations/LikeIcon.tsx index 025e96f4be..d01c715b29 100644 --- a/src/lib/custom-animations/LikeIcon.tsx +++ b/src/lib/custom-animations/LikeIcon.tsx @@ -6,7 +6,7 @@ import Animated, { } from 'react-native-reanimated' import {s} from '#/lib/styles' -import {useTheme} from '#/alf' +import {atoms as a, useTheme} from '#/alf' import { Heart2_Filled_Stroke2_Corner0_Rounded as HeartIconFilled, Heart2_Stroke2_Corner0_Rounded as HeartIconOutline, @@ -90,7 +90,7 @@ export function AnimatedLikeIcon({ ) : ( )} @@ -98,31 +98,35 @@ export function AnimatedLikeIcon({ <> ) : null} diff --git a/src/lib/custom-animations/LikeIcon.web.tsx b/src/lib/custom-animations/LikeIcon.web.tsx index 081bec45c1..98816e3423 100644 --- a/src/lib/custom-animations/LikeIcon.web.tsx +++ b/src/lib/custom-animations/LikeIcon.web.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native' import {useReducedMotion} from 'react-native-reanimated' import {s} from '#/lib/styles' -import {useTheme} from '#/alf' +import {atoms as a, useTheme} from '#/alf' import { Heart2_Filled_Stroke2_Corner0_Rounded as HeartIconFilled, Heart2_Stroke2_Corner0_Rounded as HeartIconOutline, @@ -78,41 +78,45 @@ export function AnimatedLikeIcon({ ) : ( )} ) diff --git a/src/screens/Messages/components/MessageInputEmbed.tsx b/src/screens/Messages/components/MessageInputEmbed.tsx index c4d61b000e..85da6ca854 100644 --- a/src/screens/Messages/components/MessageInputEmbed.tsx +++ b/src/screens/Messages/components/MessageInputEmbed.tsx @@ -167,6 +167,7 @@ export function MessageInputEmbed({ content = ( + ]}> + + style={[ + a.flex_row, + a.gap_sm, + a.align_center, + {maxWidth: '100%'}, + disableTaps + ? a.pointer_events_none + : IS_IOS + ? a.pointer_events_auto + : a.pointer_events_box_none, + ]}> {profile.viewer?.followedBy && !blockHide ? ( diff --git a/src/screens/Profile/Header/Metrics.tsx b/src/screens/Profile/Header/Metrics.tsx index 4704a44fe8..9a25eef824 100644 --- a/src/screens/Profile/Header/Metrics.tsx +++ b/src/screens/Profile/Header/Metrics.tsx @@ -30,8 +30,7 @@ export function ProfileHeaderMetrics({ return ( + style={[a.flex_row, a.gap_sm, a.align_center, a.pointer_events_box_none]}> + style={[ + a.px_lg, + a.pt_md, + a.pb_sm, + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + ]}> + style={[ + a.flex_row, + a.justify_end, + a.align_center, + a.gap_xs, + a.pb_lg, + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + ]}> @@ -126,7 +136,7 @@ let ProfileHeaderLabeler = ({ <> {isSelf && } {descriptionRT && !moderation.ui('profileView').blur ? ( - + + style={[ + a.px_lg, + a.pt_md, + a.pb_sm, + a.overflow_hidden, + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + ]}> + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + ]}> {descriptionRT && !moderation.ui('profileView').blur ? ( - + + + style={[ + a.relative, + {height: 150}, + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + ]}> ) : ( @@ -248,7 +255,7 @@ let ProfileHeaderShell = ({ a.px_lg, a.pt_xs, a.pb_sm, - IS_IOS ? a.pointer_events_auto : {pointerEvents: 'box-none'}, + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, ]} /> ))} diff --git a/src/screens/Profile/Header/index.tsx b/src/screens/Profile/Header/index.tsx index b064ea329a..0aec902a18 100644 --- a/src/screens/Profile/Header/index.tsx +++ b/src/screens/Profile/Header/index.tsx @@ -160,15 +160,8 @@ const MinimalHeader = memo(function MinimalHeader({ return ( { - setMinimalHeaderHeight(evt.nativeEvent.layout.height) - onLayout(evt) - }} style={[ + visible ? a.pointer_events_auto : a.pointer_events_none, a.absolute, a.z_50, t.atoms.bg, @@ -179,7 +172,14 @@ const MinimalHeader = memo(function MinimalHeader({ paddingTop: insets.top, }, animatedStyle, - ]}> + ]} + aria-hidden={!visible} + accessibilityElementsHidden={!visible} + importantForAccessibility={visible ? 'auto' : 'no-hide-descendants'} + onLayout={evt => { + setMinimalHeaderHeight(evt.nativeEvent.layout.height) + onLayout(evt) + }}> {hideBackButton ? : } diff --git a/src/screens/Settings/components/CopyButton.tsx b/src/screens/Settings/components/CopyButton.tsx index 23c4fa8dd0..f5fc7ed027 100644 --- a/src/screens/Settings/components/CopyButton.tsx +++ b/src/screens/Settings/components/CopyButton.tsx @@ -48,14 +48,14 @@ export function CopyButton({ entering={ZoomIn.duration(100)} exiting={FadeOutUp.duration(2000)} style={[ + a.pointer_events_none, a.absolute, {bottom: '100%', right: 0}, a.justify_center, a.gap_sm, a.z_10, a.pb_sm, - ]} - pointerEvents="none"> + ]}> + ]}> {formatTime(currentSeekTime)} diff --git a/src/screens/VideoFeed/index.tsx b/src/screens/VideoFeed/index.tsx index 81242e4a64..b9a3db64b1 100644 --- a/src/screens/VideoFeed/index.tsx +++ b/src/screens/VideoFeed/index.tsx @@ -917,13 +917,13 @@ function Overlay({ {IS_ANDROID && status === 'loading' && ( + ]}> )} diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index f7d76558b3..24161d8fa8 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -1245,7 +1245,7 @@ function ComposerEmbeds({ - + {canRemoveQuote && ( diff --git a/src/view/com/composer/ExternalEmbed.tsx b/src/view/com/composer/ExternalEmbed.tsx index e4bdabac32..5b9841ab19 100644 --- a/src/view/com/composer/ExternalEmbed.tsx +++ b/src/view/com/composer/ExternalEmbed.tsx @@ -44,7 +44,7 @@ export const ExternalEmbedGif = ({ return ( {linkInfo ? ( - + ) : error ? ( @@ -129,7 +129,7 @@ export const ExternalEmbedLink = ({ return ( {linkComponent ? ( - {linkComponent} + {linkComponent} ) : error ? ( diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx index b81b050d7b..c360f5feb8 100644 --- a/src/view/com/pager/PagerWithHeader.tsx +++ b/src/view/com/pager/PagerWithHeader.tsx @@ -23,7 +23,7 @@ import { type PagerRef, type RenderTabBarFnProps, } from '#/view/com/pager/Pager' -import {useTheme} from '#/alf' +import {atoms as a, useTheme} from '#/alf' import {IS_IOS} from '#/env' import {type ListMethods} from '../util/List' import {PagerHeaderProvider} from './PagerHeaderContext' @@ -273,11 +273,15 @@ let PagerTabBar = ({ const headerRef = useRef(null) return ( + style={[ + IS_IOS ? a.pointer_events_auto : a.pointer_events_box_none, + styles.tabBarMobile, + headerTransform, + t.atoms.bg, + ]}> {renderHeader?.({setMinimumHeight: setMinimumHeaderHeight})} { diff --git a/src/view/com/util/LoadingPlaceholder.tsx b/src/view/com/util/LoadingPlaceholder.tsx index 3afba7f306..0464d04322 100644 --- a/src/view/com/util/LoadingPlaceholder.tsx +++ b/src/view/com/util/LoadingPlaceholder.tsx @@ -69,12 +69,7 @@ export function PostLoadingPlaceholder({ @@ -82,12 +77,7 @@ export function PostLoadingPlaceholder({ @@ -95,12 +85,7 @@ export function PostLoadingPlaceholder({