diff --git a/src/alf/atoms.ts b/src/alf/atoms.ts
index 1ccb0460..1dc2dfa7 100644
--- a/src/alf/atoms.ts
+++ b/src/alf/atoms.ts
@@ -267,6 +267,9 @@ export const atoms = {
font_bold: {
fontWeight: tokens.fontWeight.bold,
},
+ font_heavy: {
+ fontWeight: tokens.fontWeight.heavy,
+ },
italic: {
fontStyle: 'italic',
},
diff --git a/src/alf/tokens.ts b/src/alf/tokens.ts
index 1bddd95d..675844e2 100644
--- a/src/alf/tokens.ts
+++ b/src/alf/tokens.ts
@@ -118,6 +118,7 @@ export const fontWeight = {
normal: '400',
semibold: '500',
bold: '600',
+ heavy: '700',
} as const
export const gradients = {
diff --git a/src/view/screens/Search/Explore.tsx b/src/view/screens/Search/Explore.tsx
index c7f5f939..dd93bf81 100644
--- a/src/view/screens/Search/Explore.tsx
+++ b/src/view/screens/Search/Explore.tsx
@@ -64,7 +64,7 @@ function SuggestedItemsHeader({
fill={t.palette.primary_500}
style={{marginLeft: -2}}
/>
- {title}
+ {title}
{description}
@@ -119,6 +119,9 @@ function LoadMore({
})
.filter(Boolean) as LoadMoreItems[]
}, [item.items, moderationOpts])
+
+ if (items.length === 0) return null
+
const type = items[0].type
return (
@@ -142,20 +145,20 @@ function LoadMore({
a.relative,
{
height: 32,
- width: 32 + 15 * 3,
+ width: 32 + 15 * items.length,
},
]}>
item.type === 'profile').slice(-3),
- })
+ if (hasNextProfilesPage) {
+ i.push({
+ type: 'loadMore',
+ key: 'loadMoreProfiles',
+ isLoadingMore: isLoadingMoreProfiles,
+ onLoadMore: onLoadMoreProfiles,
+ items: i.filter(item => item.type === 'profile').slice(-3),
+ })
+ }
} else {
if (profilesError) {
i.push({
@@ -412,7 +417,7 @@ export function Explore() {
message: _(msg`Failed to load feeds preferences`),
error: cleanError(preferencesError),
})
- } else {
+ } else if (hasNextFeedsPage) {
i.push({
type: 'loadMore',
key: 'loadMoreFeeds',
@@ -454,6 +459,8 @@ export function Explore() {
profilesError,
feedsError,
preferencesError,
+ hasNextProfilesPage,
+ hasNextFeedsPage,
])
const renderItem = React.useCallback(