From 37143960f52ae9a96006deed466f16e516e06fa2 Mon Sep 17 00:00:00 2001 From: Kakabay <2kakabayashyrberdyew@gmail.com> Date: Wed, 23 Oct 2024 17:01:01 +0500 Subject: [PATCH] commit --- api/queries.ts | 6 +++++ app/(main)/news/[slug]/page.tsx | 20 ++++++++-------- components/home/SmallSwiperNews.tsx | 6 ++++- components/news/NewsItem.tsx | 37 ++++++++++++++++++++++++++++- 4 files changed, 57 insertions(+), 12 deletions(-) diff --git a/api/queries.ts b/api/queries.ts index dd05bc8..459c356 100644 --- a/api/queries.ts +++ b/api/queries.ts @@ -48,6 +48,12 @@ export class Queries { }).then((res) => res.json().then((res) => res as NewsType)); } + public static async getHomeBannerSingle3(id: string): Promise { + return await fetch(`https://turkmentv.gov.tm/v2/api/slider?type=small3/${id}`, { + next: { revalidate: 3600 }, + }).then((res) => res.json().then((res) => res as NewsType)); + } + public static async getNewsItem(id: string): Promise { return await fetch(`${baseUrl.NEWS_SRC}${routes.newsItem(id)}?locale=tm`, { next: { revalidate: 3600 }, diff --git a/app/(main)/news/[slug]/page.tsx b/app/(main)/news/[slug]/page.tsx index e4edc17..d08c370 100644 --- a/app/(main)/news/[slug]/page.tsx +++ b/app/(main)/news/[slug]/page.tsx @@ -1,11 +1,11 @@ -import { Queries } from "@/api/queries"; -import PageTitle from "@/components/PageTitle"; -import MainNews from "@/components/news/MainNews"; -import NewsGrid from "@/components/news/NewsGrid"; -import Item from "@/components/news/NewsItem"; -import Hydrate from "@/utils/HydrateClient"; -import getQueryClient from "@/utils/getQueryClient"; -import { dehydrate } from "@tanstack/react-query"; +import { Queries } from '@/api/queries'; +import PageTitle from '@/components/PageTitle'; +import MainNews from '@/components/news/MainNews'; +import NewsGrid from '@/components/news/NewsGrid'; +import Item from '@/components/news/NewsItem'; +import Hydrate from '@/utils/HydrateClient'; +import getQueryClient from '@/utils/getQueryClient'; +import { dehydrate } from '@tanstack/react-query'; export async function generateStaticParams() { const news = await Queries.getNews(1, { perPage: 20 }); @@ -24,11 +24,11 @@ interface IParams { const NewsItem = async ({ params }: IParams) => { const queryClient = getQueryClient(); await queryClient.prefetchQuery({ - queryKey: ["news_item", params.slug], + queryKey: ['news_item', params.slug], queryFn: () => Queries.getNewsItem(params.slug), }); await queryClient.prefetchInfiniteQuery({ - queryKey: ["news", "infinite"], + queryKey: ['news', 'infinite'], queryFn: ({ pageParam = 1 }) => Queries.getNews(pageParam, {}), }); diff --git a/components/home/SmallSwiperNews.tsx b/components/home/SmallSwiperNews.tsx index 9c28277..0e9f702 100644 --- a/components/home/SmallSwiperNews.tsx +++ b/components/home/SmallSwiperNews.tsx @@ -19,6 +19,8 @@ const SmallSwiperNews = () => { if (isFetching) return ; if (error) return

{JSON.stringify(error)}

; + console.log(!!null); + return (
{ */} {data?.data.map((item, index) => ( - +
{ queryFn: () => Queries.getNewsItem(id), }); + const { data: bannerData } = useQuery({ + queryKey: ['banner_item', id], + queryFn: () => Queries.getHomeBannerSingle3(id), + }); + if (isFetching) return ; if (error) return

{JSON.stringify(error)}

; return (
- + {/*

{data?.data.published_at}

+
+
+ {data?.data.featured_images && data.data.featured_images[0].path ? ( + {data!.data.slug + ) : null} +
+
+ {/*

{data!.data.title}

*/} + {/*

+
+
*/} + +
+ +

{data?.data.published_at}

+
+
{data?.data.featured_images && data.data.featured_images[0].path ? (