"use client"; // NextJs components import Image from "next/image"; import Link from "next/link"; // React query import { useQuery } from "@tanstack/react-query"; import { Queries } from "@/api/queries"; // Components import Loader from "./Loader"; import VideoPlayer from "./VideoPlayer"; import SectionTitle from "./SectionTitle"; // Images and cions import { SlEye } from "react-icons/sl"; import aydym from "@/public/aydym-com.webp"; import horjun from "@/public/horjun.png"; import belet from "@/public/belet.jpg"; import ReactionsBlock from "./treasury/ReactionsBlock"; import { useCallback, useEffect, useState } from "react"; import axios from "axios"; interface IProps { video_id: number; } const InfoBlock = ({ video_id }: IProps) => { const { data, isFetching, error } = useQuery({ queryKey: ["video", `video:${video_id}`], queryFn: () => Queries.getVideo(video_id), }); const [view, setView] = useState(data?.data?.view || 0); const addView = useCallback(async () => { const materials = localStorage.getItem('MHB_MATERIALS_ID'); if (materials) { const materialsArray = materials.split(','); if (!materialsArray.includes(video_id.toString())) { const res = await axios.post(`https://turkmentv.gov.tm/v2/api/material/${video_id}/views/increment`); if (res.status === 200) { materialsArray.push(video_id.toString()); setView(view + 1); } } localStorage.setItem('MHB_MATERIALS_ID', materialsArray.join(',')); } else { const res = await axios.post(`https://turkmentv.gov.tm/v2/api/material/${video_id}/views/increment`); if (res.status === 200) { localStorage.setItem('MHB_MATERIALS_ID', [video_id.toString()].join(',')); setView(view + 1); } } }, [video_id]) useEffect(() => { addView(); }, []); if (isFetching) return (
{data!.data.desc}
) : null}