'use client'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import clsx from 'clsx'; import Logo from '@/app/ui/logo'; import DropDownList from '@/app/ui/navigation/nav-link-dropdown'; import { logout } from '@/app/actions/auth'; import { useTranslations } from 'next-intl'; import navigation from './navigation.json'; import { useSideMenuStore } from '@/app/stores/sideMenuStore'; import { useRef } from 'react'; import { useClickOutside } from '@/app/hooks/useClickOutside'; import { fetchReferralUserStats } from '@/app/actions/referralsActions'; import { useQuery } from '@tanstack/react-query'; import { env } from 'process'; import { getBuildData } from '@/app/actions/action'; export default function NavLinks() { const { data: referralLink, isLoading, isError, error } = useQuery({ queryKey: ['referralUserStats'], queryFn: () => { return fetchReferralUserStats(); }, select: (data) => { if (data?.referralLink) { return data?.referralLink; } else { return null; } } }); const { data: frontendBuildDate, } = useQuery({ queryKey: ['frontendBuildDate'], queryFn: async () => { try { const response = await fetch('/build-info.json'); if (!response.ok) { return null; } return response.json(); } catch (error) { return null; } }, select: (data) => { if (data?.buildTime) { return data.buildTime; } return null; }, retry: false }); const { data: backendBuildDate, } = useQuery({ queryKey: ['backendBuildDate'], queryFn: () => getBuildData(), select: (data) => { if (data) { return data; } return null; }, retry: false }); const pathname = usePathname().replace('/en/', '/').replace('/ru/', '/'); const t = useTranslations('Global'); const setMenuState = useSideMenuStore(s => s.setValue); const menuState = useSideMenuStore(s => s.value); const links = navigation; const sideMenuRef = useRef(null) useClickOutside( sideMenuRef, () => { setMenuState(false); }, menuState ); return ( ); }