Files
no-copy-frontend/src/app/ui/header/headerPanel.tsx
T

60 lines
1.6 KiB
TypeScript
Raw Normal View History

2026-02-04 14:41:40 +07:00
'use client'
2025-11-26 14:01:35 +07:00
import NotificationsButton from './notificationsButton';
import UserMenuButton from './userMenuButton';
import Link from 'next/link';
2025-12-10 16:39:13 +07:00
import LanguageSwitcher from '@/app/components/LanguageSwitcher';
2025-12-12 11:00:23 +07:00
import { useTranslations } from 'next-intl';
2026-01-23 15:43:05 +07:00
import BurgerMenu from '@/app/ui/navigation/burger-menu';
2026-02-04 14:41:40 +07:00
import { getUserData } from '@/app/actions/action';
import { useQuery } from '@tanstack/react-query';
2025-11-26 14:01:35 +07:00
export default function HeaderPanel() {
2025-12-12 11:00:23 +07:00
const t = useTranslations("Global");
2026-02-04 14:41:40 +07:00
const {
data: tokens,
isLoading,
isError,
error
} = useQuery({
queryKey: ['userData'],
queryFn: () => {
return getUserData();
},
select: (data) => {
if (typeof data?.tariffInfo?.tokens === 'number') {
return data?.tariffInfo?.tokens
} else {
return null;
}
}
});
2025-12-12 11:00:23 +07:00
2025-11-26 14:01:35 +07:00
return (
<header className="header">
2026-01-23 15:43:05 +07:00
<BurgerMenu />
2025-11-26 14:01:35 +07:00
<div className="header-action">
{/* <LanguageSwitcher /> */}
2026-02-05 13:06:32 +07:00
{typeof tokens === 'number' && (
2026-02-04 14:41:40 +07:00
<Link
href={'/pages/payment'}
className="tokens-balance"
>
<div className="tokens-wrapper" title={t('current-balance-of-protection')}>
<svg viewBox="0 0 24 24" fill="currentColor" style={{ width: "16px", height: "16px" }}>
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z"></path>
</svg>
<span className="tokens-count">{tokens}</span>
<span className="tokens-label">
{t('tokens')}
</span>
</div>
</Link>
)}
2025-11-26 14:01:35 +07:00
<NotificationsButton />
<UserMenuButton />
</div>
</header>
)
}