diff --git a/src/components/Post/Embed/index.tsx b/src/components/Post/Embed/index.tsx
index 3efd231367..1462ef542f 100644
--- a/src/components/Post/Embed/index.tsx
+++ b/src/components/Post/Embed/index.tsx
@@ -23,7 +23,7 @@ import {ContentHider} from '#/components/moderation/ContentHider'
import {PostAlerts} from '#/components/moderation/PostAlerts'
import {RichText} from '#/components/RichText'
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import * as bsky from '#/types/bsky'
import {
type Embed as TEmbed,
@@ -284,7 +284,7 @@ export function QuoteEmbed({
childContainerStyle={[a.pt_sm]}>
{({active}) => (
<>
- {!active && }
+ {!active && }
)
+
+ if (hover) {
+ console.log({
+ isWeb,
+ web,
+ isNative,
+ native,
+ })
+ }
+
+ if (isWeb && web) {
+ return isTouchDevice ? null : el
+ } else if (isNative && native) {
+ return el
+ }
+
+ return null
}
diff --git a/src/components/SubtleWebHover.tsx b/src/components/SubtleWebHover.tsx
deleted file mode 100644
index d60968e9cf..0000000000
--- a/src/components/SubtleWebHover.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import {type ViewStyleProp} from '#/alf'
-
-export function SubtleWebHover({}: ViewStyleProp & {hover: boolean}) {
- return null
-}
diff --git a/src/components/SubtleWebHover.web.tsx b/src/components/SubtleWebHover.web.tsx
deleted file mode 100644
index 8e7b48f93e..0000000000
--- a/src/components/SubtleWebHover.web.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import {StyleSheet, View} from 'react-native'
-
-import {isTouchDevice} from '#/lib/browser'
-import {useTheme, type ViewStyleProp} from '#/alf'
-
-export function SubtleWebHover({
- style,
- hover,
-}: ViewStyleProp & {hover: boolean}) {
- const t = useTheme()
- if (isTouchDevice) {
- return null
- }
- let opacity = 0.5
- switch (t.name) {
- case 'dark':
- opacity = 0.4
- break
- case 'dim':
- opacity = 0.45
- break
- case 'light':
- opacity = 0.5
- break
- }
- return (
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- position: 'absolute',
- left: 0,
- right: 0,
- bottom: 0,
- top: 0,
- pointerEvents: 'none',
- // @ts-ignore web only
- transition: '0.15s ease-in-out opacity',
- },
-})
diff --git a/src/screens/PostThread/components/ThreadItemPost.tsx b/src/screens/PostThread/components/ThreadItemPost.tsx
index a43c92e0e8..fcdd0c1194 100644
--- a/src/screens/PostThread/components/ThreadItemPost.tsx
+++ b/src/screens/PostThread/components/ThreadItemPost.tsx
@@ -41,7 +41,7 @@ import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
import {PostControls} from '#/components/PostControls'
import {RichText} from '#/components/RichText'
import * as Skele from '#/components/Skeleton'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import {Text} from '#/components/Typography'
export type ThreadItemPostProps = {
@@ -246,7 +246,7 @@ const ThreadItemPostInner = memo(function ThreadItemPostInner({
const {isActive: live} = useActorStatus(post.author)
return (
-
+
-
+
)
})
-function SubtleHover({children}: {children: ReactNode}) {
+function SubtleHoverWrapper({children}: {children: ReactNode}) {
const {
state: hover,
onIn: onHoverIn,
@@ -354,7 +354,7 @@ function SubtleHover({children}: {children: ReactNode}) {
onPointerEnter={onHoverIn}
onPointerLeave={onHoverOut}
style={a.pointer}>
-
+
{children}
)
diff --git a/src/screens/PostThread/components/ThreadItemTreePost.tsx b/src/screens/PostThread/components/ThreadItemTreePost.tsx
index 5d31233585..ed080d0a65 100644
--- a/src/screens/PostThread/components/ThreadItemTreePost.tsx
+++ b/src/screens/PostThread/components/ThreadItemTreePost.tsx
@@ -40,7 +40,7 @@ import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
import {PostControls} from '#/components/PostControls'
import {RichText} from '#/components/RichText'
import * as Skele from '#/components/Skeleton'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import {Text} from '#/components/Typography'
/**
@@ -310,7 +310,7 @@ const ThreadItemTreePostInner = memo(function ThreadItemTreePostInner({
return (
-
+
-
+
)
})
-function SubtleHover({children}: {children: React.ReactNode}) {
+function SubtleHoverWrapper({children}: {children: React.ReactNode}) {
const {
state: hover,
onIn: onHoverIn,
@@ -397,7 +397,7 @@ function SubtleHover({children}: {children: React.ReactNode}) {
onPointerEnter={onHoverIn}
onPointerLeave={onHoverOut}
style={[a.flex_1, a.pointer]}>
-
+
{children}
)
diff --git a/src/view/com/notifications/NotificationFeedItem.tsx b/src/view/com/notifications/NotificationFeedItem.tsx
index 3034864f11..5809e71065 100644
--- a/src/view/com/notifications/NotificationFeedItem.tsx
+++ b/src/view/com/notifications/NotificationFeedItem.tsx
@@ -66,7 +66,7 @@ import {InlineLinkText, Link} from '#/components/Link'
import * as MediaPreview from '#/components/MediaPreview'
import {ProfileHoverCard} from '#/components/ProfileHoverCard'
import {Notification as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import {Text} from '#/components/Typography'
import {useSimpleVerificationState} from '#/components/verification'
import {VerificationCheck} from '#/components/verification/VerificationCheck'
@@ -613,7 +613,7 @@ let NotificationFeedItem = ({
}}>
{({hovered}) => (
<>
-
+
{/* TODO: Prevent conditional rendering and move toward composable
notifications for clearer accessibility labeling */}
diff --git a/src/view/com/post/Post.tsx b/src/view/com/post/Post.tsx
index 58cb40f711..78eae70d5e 100644
--- a/src/view/com/post/Post.tsx
+++ b/src/view/com/post/Post.tsx
@@ -35,7 +35,7 @@ import {PostRepliedTo} from '#/components/Post/PostRepliedTo'
import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
import {PostControls} from '#/components/PostControls'
import {RichText} from '#/components/RichText'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import * as bsky from '#/types/bsky'
export function Post({
@@ -167,7 +167,7 @@ function PostInner({
onPointerLeave={() => {
setHover(false)
}}>
-
+
{showReplyLine && }
diff --git a/src/view/com/posts/PostFeedItem.tsx b/src/view/com/posts/PostFeedItem.tsx
index 91eca5ba1d..89ea9b6810 100644
--- a/src/view/com/posts/PostFeedItem.tsx
+++ b/src/view/com/posts/PostFeedItem.tsx
@@ -58,7 +58,7 @@ import {PostControls} from '#/components/PostControls'
import {DiscoverDebug} from '#/components/PostControls/DiscoverDebug'
import {ProfileHoverCard} from '#/components/ProfileHoverCard'
import {RichText} from '#/components/RichText'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import * as bsky from '#/types/bsky'
interface FeedItemProps {
@@ -317,7 +317,7 @@ let FeedItemInner = ({
onPointerLeave={() => {
setHover(false)
}}>
-
+
{isThreadChild && (
diff --git a/src/view/com/posts/ViewFullThread.tsx b/src/view/com/posts/ViewFullThread.tsx
index 0f083c330c..dc2edd20de 100644
--- a/src/view/com/posts/ViewFullThread.tsx
+++ b/src/view/com/posts/ViewFullThread.tsx
@@ -8,7 +8,7 @@ import {useLingui} from '@lingui/react'
import {usePalette} from '#/lib/hooks/usePalette'
import {makeProfileLink} from '#/lib/routes/links'
import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {SubtleWebHover} from '#/components/SubtleWebHover'
+import {SubtleHover} from '#/components/SubtleHover'
import {Link} from '../util/Link'
import {Text} from '../util/text/Text'
@@ -33,7 +33,7 @@ export function ViewFullThread({uri}: {uri: string}) {
noFeedback
onPointerEnter={onHoverIn}
onPointerLeave={onHoverOut}>
-
-
+