import { db } from '@/helpers' import { Category, Banner, Slider } from 'models' import { BannerOne, BannerTwo, BestSellsSlider, Categories, DiscountSlider, MostFavouraiteProducts, Slider as MainSlider, } from 'components' import { siteTitle } from '@/utils' // export const revalidate = 20 export const dynamic = 'force-dynamic' export const getData = async category => { await db.connect() const currentCategory = await Category.findOne({ slug: category, }).lean() if (!currentCategory) return { notFound: true } const sliders = await Slider.find({ category_id: currentCategory?._id }).lean() const bannerOneType = await Banner.find({ category_id: currentCategory?._id, type: 'one', }).lean() const bannerTwoType = await Banner.find({ category_id: currentCategory?._id, type: 'two', }).lean() const childCategories = await Category.find({ parent: currentCategory?._id, }).lean() await db.disconnect() return { currentCategory, sliders, bannerOneType, bannerTwoType, childCategories, } } const MainCategory = async ({ params: { category } }) => { const { currentCategory, sliders, bannerOneType, bannerTwoType, childCategories } = await getData(category) //? Render(s) return (
) } export default MainCategory export async function generateMetadata({ params: { category } }) { const { currentCategory, sliders, bannerOneType, bannerTwoType, childCategories } = await getData(category) return { title: `${currentCategory.name} | ${siteTitle}`, } }