Files
rickvanlieshout.com/src/hooks/use-categories-list.ts
2025-07-15 17:28:41 +02:00

30 lines
671 B
TypeScript

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