From ed4295f8d0fd6c77774062c5dd056a900ad248b2 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Mon, 7 Apr 2025 11:48:59 -0500 Subject: [PATCH] Add trending header if not top module --- src/screens/Search/Explore.tsx | 14 +++++++++++++- src/screens/Search/components/ModuleHeader.tsx | 10 +++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/screens/Search/Explore.tsx b/src/screens/Search/Explore.tsx index fd742bb13d..88a636fbd6 100644 --- a/src/screens/Search/Explore.tsx +++ b/src/screens/Search/Explore.tsx @@ -50,6 +50,7 @@ import {type Props as IcoProps} from '#/components/icons/common' import {type Props as SVGIconProps} from '#/components/icons/common' import {ListSparkle_Stroke2_Corner0_Rounded as ListSparkle} from '#/components/icons/ListSparkle' import {StarterPack} from '#/components/icons/StarterPack' +import {Trending2_Stroke2_Corner2_Rounded as Graph} from '#/components/icons/Trending' import {UserCircle_Stroke2_Corner0_Rounded as Person} from '#/components/icons/UserCircle' import {Loader} from '#/components/Loader' import * as ProfileCard from '#/components/ProfileCard' @@ -107,6 +108,7 @@ type ExploreScreenItems = title: string icon: React.ComponentType iconSize?: IcoProps['size'] + bottomBorder?: boolean searchButton?: { label: string metricsTag: MetricEvents['explore:module:searchButtonPress']['module'] @@ -532,6 +534,13 @@ export function Explore({ if (isNewUser) { i.push(...suggestedFollowsModule) i.push(...suggestedStarterPacksModule) + i.push({ + type: 'header', + key: 'trending-topics-header', + title: _(msg`Trending topics`), + icon: Graph, + bottomBorder: true, + }) i.push(trendingTopicsModule) } else { i.push(trendingTopicsModule) @@ -545,6 +554,7 @@ export function Explore({ return i }, [ + _, topBorder, isNewUser, suggestedFollowsModule, @@ -576,7 +586,7 @@ export function Explore({ ) case 'header': { return ( - + {item.title} {item.searchButton && ( @@ -760,6 +770,8 @@ export function Explore({ + {/* Very non-scientific way to avoid small gap on scroll */} + diff --git a/src/screens/Search/components/ModuleHeader.tsx b/src/screens/Search/components/ModuleHeader.tsx index c6411d1c0d..9c208d2b24 100644 --- a/src/screens/Search/components/ModuleHeader.tsx +++ b/src/screens/Search/components/ModuleHeader.tsx @@ -18,7 +18,12 @@ export function Container({ style, children, headerHeight, -}: {children: React.ReactNode; headerHeight?: number} & ViewStyleProp) { + bottomBorder, +}: { + children: React.ReactNode + headerHeight?: number + bottomBorder?: boolean +} & ViewStyleProp) { const t = useTheme() return ( - {/* Very non-scientific way to avoid small gap on scroll */} - {children} )