diff --git a/src/components/SubtleHover.tsx b/src/components/SubtleHover.tsx new file mode 100644 index 0000000000..bb5911baa6 --- /dev/null +++ b/src/components/SubtleHover.tsx @@ -0,0 +1,34 @@ +import {View} from 'react-native' + +import {atoms as a, useTheme, type ViewStyleProp} from '#/alf' + +export function SubtleHover({style, hover}: ViewStyleProp & {hover: boolean}) { + const t = useTheme() + + let opacity: number + switch (t.name) { + case 'dark': + opacity = 0.4 + break + case 'dim': + opacity = 0.45 + break + case 'light': + opacity = 0.5 + break + } + + return ( + + ) +} diff --git a/src/screens/Search/Explore.tsx b/src/screens/Search/Explore.tsx index 79e27ec9a4..973d4a6ddf 100644 --- a/src/screens/Search/Explore.tsx +++ b/src/screens/Search/Explore.tsx @@ -52,6 +52,7 @@ import {StarterPack} from '#/components/icons/StarterPack' import {UserCircle_Stroke2_Corner0_Rounded as Person} from '#/components/icons/UserCircle' import {Loader} from '#/components/Loader' import * as ProfileCard from '#/components/ProfileCard' +import {SubtleHover} from '#/components/SubtleHover' import {Text} from '#/components/Typography' import * as ModuleHeader from './components/ModuleHeader' import { @@ -69,33 +70,26 @@ function LoadMore({item}: {item: ExploreScreenItems & {type: 'loadMore'}}) { onPress={item.onLoadMore} style={[a.relative, a.w_full]}> {({hovered, pressed}) => ( - - + + - {item.message} - - {item.isLoadingMore ? ( - - ) : ( - - )} - + {item.message} + {item.isLoadingMore ? ( + + ) : ( + + )} + + )} ) diff --git a/src/screens/Search/components/StarterPackCard.tsx b/src/screens/Search/components/StarterPackCard.tsx index 1b9f948282..fcb0ef0680 100644 --- a/src/screens/Search/components/StarterPackCard.tsx +++ b/src/screens/Search/components/StarterPackCard.tsx @@ -19,6 +19,7 @@ import {PlusSmall_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus import {Link} from '#/components/Link' import {MediaInsetBorder} from '#/components/MediaInsetBorder' import {useStarterPackLink} from '#/components/StarterPack/StarterPackCard' +import {SubtleHover} from '#/components/SubtleHover' import {Text} from '#/components/Typography' import * as bsky from '#/types/bsky' @@ -48,75 +49,80 @@ export function StarterPackCard({ .map(item => item.subject) return ( - - - - - - + + {s => ( + <> + - + + - - - - {view.record.name} - - - {view.creator?.did === currentAccount?.did - ? _(msg`By you`) - : _(msg`By ${sanitizeHandle(view.creator.handle, '@')}`)} - - - - - Open pack - - - - + + + + {view.record.name} + + + {view.creator?.did === currentAccount?.did + ? _(msg`By you`) + : _(msg`By ${sanitizeHandle(view.creator.handle, '@')}`)} + + + + + Open pack + + + + + + )} + ) } diff --git a/src/screens/Search/modules/ExploreSuggestedAccounts.tsx b/src/screens/Search/modules/ExploreSuggestedAccounts.tsx index ee179bbc6f..8d66dfbc18 100644 --- a/src/screens/Search/modules/ExploreSuggestedAccounts.tsx +++ b/src/screens/Search/modules/ExploreSuggestedAccounts.tsx @@ -17,6 +17,7 @@ import {atoms as a} from '#/alf' import {Button} from '#/components/Button' import * as ProfileCard from '#/components/ProfileCard' import {boostInterests, Tabs} from '#/components/ProgressGuide/FollowDialog' +import {SubtleHover} from '#/components/SubtleHover' import {Text} from '#/components/Typography' import type * as bsky from '#/types/bsky' @@ -133,10 +134,7 @@ let Tab = ({ a.py_sm, a.border, active || hovered || pressed || focused - ? [ - t.atoms.bg_contrast_25, - {borderColor: t.atoms.bg_contrast_25.backgroundColor}, - ] + ? [t.atoms.bg_contrast_25, t.atoms.border_contrast_medium] : [t.atoms.bg, t.atoms.border_contrast_low], ]}> {s => ( - - - - - - { - logger.metric( - 'suggestedUser:follow', - { - logContext: 'Explore', - location: 'Card', - recId, - position, - }, - {statsig: true}, - ) - }} - /> - - - - + <> + + + + + + + { + logger.metric( + 'suggestedUser:follow', + { + logContext: 'Explore', + location: 'Card', + recId, + position, + }, + {statsig: true}, + ) + }} + /> + + + + + )} ) diff --git a/src/screens/Search/modules/ExploreTrendingTopics.tsx b/src/screens/Search/modules/ExploreTrendingTopics.tsx index 75ca193510..d44201a185 100644 --- a/src/screens/Search/modules/ExploreTrendingTopics.tsx +++ b/src/screens/Search/modules/ExploreTrendingTopics.tsx @@ -17,6 +17,7 @@ import {type Props as SVGIconProps} from '#/components/icons/common' import {Flame_Stroke2_Corner1_Rounded as FlameIcon} from '#/components/icons/Flame' import {Trending3_Stroke2_Corner1_Rounded as TrendingIcon} from '#/components/icons/Trending' import {Link} from '#/components/Link' +import {SubtleHover} from '#/components/SubtleHover' import {Text} from '#/components/Typography' const TOPIC_COUNT = 5 @@ -92,15 +93,8 @@ export function TrendRow({ PressableComponent={Pressable}> {({hovered, pressed}) => ( <> - + +