import { graphql, useStaticQuery } from "gatsby"; interface CategoriesQueryResult { allMarkdownRemark: { group: Array<{ fieldValue: string; totalCount: number; }>; }; } const useCategoriesList = () => { const { allMarkdownRemark } = useStaticQuery( graphql` query CategoriesListQuery { allMarkdownRemark( filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } } ) { group(field: frontmatter___category) { fieldValue totalCount } } } `, ); return allMarkdownRemark.group ?? []; }; export default useCategoriesList;