slugSelector fn added

This commit is contained in:
Al Murad Uzzaman
2024-05-20 12:15:34 +06:00
parent ae35d98eee
commit e7da8ab6df
13 changed files with 181 additions and 252 deletions
+6 -10
View File
@@ -11,15 +11,14 @@ import languages from "@/config/language.json";
export const getSinglePage = async <C extends CollectionKey>(
collectionName: C,
lang: keyof ContentEntryMap | undefined,
lang: keyof ContentEntryMap | undefined
): Promise<CollectionEntry<C>[]> => {
const { default_language } = config.settings;
// If lang is undefined, use the default language
const selectedLanguageCode = lang || default_language;
const language = languages.find(
(l: any) => l.languageCode === selectedLanguageCode,
(l: any) => l.languageCode === selectedLanguageCode
);
if (!language) {
@@ -28,12 +27,11 @@ export const getSinglePage = async <C extends CollectionKey>(
const { contentDir } = language;
// Explicitly define the type of pages to CollectionEntry<C>[]
const pages: CollectionEntry<C>[] = (await getCollection(
contentDir as any,
({ id }: any) => {
return id.startsWith(collectionName) && !id.endsWith("-index.md");
},
}
)) as CollectionEntry<C>[];
// @ts-ignore
@@ -44,15 +42,14 @@ export const getSinglePage = async <C extends CollectionKey>(
export const getListPage = async <C extends CollectionKey>(
collectionName: C,
lang: keyof ContentEntryMap | undefined,
lang: keyof ContentEntryMap | undefined
): Promise<CollectionEntry<C>[]> => {
const { default_language } = config.settings;
// If lang is undefined, use the default language
const selectedLanguageCode = lang || default_language;
const language = languages.find(
(l: any) => l.languageCode == selectedLanguageCode,
(l: any) => l.languageCode == selectedLanguageCode
);
if (!language) {
@@ -61,12 +58,11 @@ export const getListPage = async <C extends CollectionKey>(
const { contentDir } = language;
// Fetch the collection based on the language
const pages: CollectionEntry<C>[] = (await getCollection(
contentDir as any,
({ id }: any) => {
return id.startsWith(collectionName);
},
}
)) as CollectionEntry<C>[];
return pages;