cache control added to .env

This commit is contained in:
parsa aghaei 2024-11-11 12:44:23 +03:30
parent 5123f4e2d1
commit beff602ffa
6 changed files with 15 additions and 6 deletions

3
.env
View File

@ -1,4 +1,5 @@
NEXT_PUBLIC_CATEGORIES_PER_CATEGORY_PAGE=10 NEXT_PUBLIC_CATEGORIES_PER_CATEGORY_PAGE=10
NEXT_PUBLIC_POSTS_PER_CATEGORY_PAGE=10 NEXT_PUBLIC_POSTS_PER_CATEGORY_PAGE=10
NEXT_PUBLIC_POSTS_PER_POSTS_PAGE=10 NEXT_PUBLIC_POSTS_PER_POSTS_PAGE=10
NEXT_PUBLIC_POSTS_PER_FILTERED_POSTS_PAGE=10 NEXT_PUBLIC_POSTS_PER_FILTERED_POSTS_PAGE=10
NEXT_PUBLIC_BLOG_CACHE=true

View File

@ -14,6 +14,9 @@ async function fetchCategoryData(
): Promise<CategoryDataType> { ): Promise<CategoryDataType> {
const res = await fetch( const res = await fetch(
`${process.env.NEXT_PUBLIC_BLOG_API_URL}/categories/${categorySlug}/posts?per_page=${searchParams.get("per_page") || process.env.NEXT_PUBLIC_POSTS_PER_CATEGORY_PAGE}${searchParams.get("page") ? `&page=${searchParams.get("page")}` : ""}`, `${process.env.NEXT_PUBLIC_BLOG_API_URL}/categories/${categorySlug}/posts?per_page=${searchParams.get("per_page") || process.env.NEXT_PUBLIC_POSTS_PER_CATEGORY_PAGE}${searchParams.get("page") ? `&page=${searchParams.get("page")}` : ""}`,
{
cache: process.env.NEXT_PUBLIC_BLOG_CACHE ? "force-cache" : "no-store",
},
); );
if (res.status === 404) { if (res.status === 404) {

View File

@ -28,6 +28,9 @@ export const metadata: Metadata = {
export default async function Categories({ searchParams }: categoryPropsType) { export default async function Categories({ searchParams }: categoryPropsType) {
const CategoriesData: CategoriesListType = await fetch( const CategoriesData: CategoriesListType = await fetch(
`${process.env.NEXT_PUBLIC_BLOG_API_URL}/categories?per_page=${searchParams.per_page ? searchParams.per_page : process.env.NEXT_PUBLIC_CATEGORIES_PER_CATEGORY_PAGE}${searchParams.page ? `&page=${searchParams.page}` : ""}`, `${process.env.NEXT_PUBLIC_BLOG_API_URL}/categories?per_page=${searchParams.per_page ? searchParams.per_page : process.env.NEXT_PUBLIC_CATEGORIES_PER_CATEGORY_PAGE}${searchParams.page ? `&page=${searchParams.page}` : ""}`,
{
cache: process.env.NEXT_PUBLIC_BLOG_CACHE ? "force-cache" : "no-store",
},
).then((res) => res.json()); ).then((res) => res.json());
const dict = await getDictionary(getDefaultLocale()); const dict = await getDictionary(getDefaultLocale());

View File

@ -77,7 +77,7 @@ export default async function FilteredPosts({
FilteredPostsData = await fetch( FilteredPostsData = await fetch(
`${process.env.NEXT_PUBLIC_BLOG_API_URL}${filteredPostApiUrl}&per_page=${searchParams.per_page ? searchParams.per_page : process.env.NEXT_PUBLIC_POSTS_PER_FILTERED_POSTS_PAGE}${searchParams.page ? `&page=${searchParams.page}` : ""}`, `${process.env.NEXT_PUBLIC_BLOG_API_URL}${filteredPostApiUrl}&per_page=${searchParams.per_page ? searchParams.per_page : process.env.NEXT_PUBLIC_POSTS_PER_FILTERED_POSTS_PAGE}${searchParams.page ? `&page=${searchParams.page}` : ""}`,
{ {
cache: "no-store", cache: process.env.NEXT_PUBLIC_BLOG_CACHE ? "force-cache" : "no-store",
}, },
).then((res) => res.json()); ).then((res) => res.json());
} else { } else {

View File

@ -9,9 +9,9 @@ export default async function Blog() {
latest_categories: []; latest_categories: [];
most_viewed_posts: []; most_viewed_posts: [];
random_posts: []; random_posts: [];
} = await fetch(`${process.env.NEXT_PUBLIC_BLOG_API_URL}/homepage`,{cache:"no-store"}).then( } = await fetch(`${process.env.NEXT_PUBLIC_BLOG_API_URL}/homepage`, {
(res) => res.json(), cache: process.env.NEXT_PUBLIC_BLOG_CACHE ? "force-cache" : "no-store",
); }).then((res) => res.json());
return ( return (
<div className="flex w-full max-w-[1280px] flex-col items-center gap-[50px] pt-5 md:gap-[100px]"> <div className="flex w-full max-w-[1280px] flex-col items-center gap-[50px] pt-5 md:gap-[100px]">
<New data={homePageData.latest_posts} /> <New data={homePageData.latest_posts} />

View File

@ -12,7 +12,9 @@ import { redirect } from "next/navigation";
async function fetchPostData(postSlug: string): Promise<PostSlugPagePostType> { async function fetchPostData(postSlug: string): Promise<PostSlugPagePostType> {
const res = await fetch( const res = await fetch(
`${process.env.NEXT_PUBLIC_BLOG_API_URL}/posts/${postSlug}`, `${process.env.NEXT_PUBLIC_BLOG_API_URL}/posts/${postSlug}`, {
cache: process.env.NEXT_PUBLIC_BLOG_CACHE ? "force-cache" : "no-store",
}
); );
if (res.status === 404) { if (res.status === 404) {