From 2f7b5fdad0a531c55c73e91b537f4f55219b8cd1 Mon Sep 17 00:00:00 2001 From: Hossein Mehrabi Date: Wed, 31 Jan 2024 11:53:08 +0330 Subject: [PATCH] fix: sort tags on landing page based on their number of posts --- src/containers/HomePage/HomePage.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/containers/HomePage/HomePage.tsx b/src/containers/HomePage/HomePage.tsx index 25325dc..496e97e 100644 --- a/src/containers/HomePage/HomePage.tsx +++ b/src/containers/HomePage/HomePage.tsx @@ -1,6 +1,6 @@ import { Button, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import React from 'react' +import React, { useMemo } from 'react' import { Grid, GridItem } from '../../components/Grid/Grid' import { Hero } from '../../components/Hero' import { PostsGrid } from '../../components/PostsGrid' @@ -28,10 +28,17 @@ export type HomePageProps = React.DetailedHTMLProps< export const HomePage: React.FC = ({ data, - data: { highlighted = [], shows = [], tags = [], latest }, + data: { highlighted = [], shows = [], tags: _tags = [], latest }, ...props }) => { const query = useRecentPosts({ initialData: latest, limit: 12 }) + const tags = useMemo( + () => + _tags + .filter((t) => !!t.postsCount && t.postsCount > 0) + .sort((a, b) => (a.postsCount! > b.postsCount! ? -1 : 1)), + [_tags], + ) return (