"use client";

import { useMemo } from 'react';
import { useQuery } from '@tanstack/react-query';
import { useAppLanguage } from '@/components/providers/app-language-provider';
import { fetchSharedDictionary } from '@/components/layout/header/profile-menu-translations';
import { resolveSharedProfileLabels, type SharedProfilePage } from './profile-page-dictionary';

export function useSharedProfileLabels<P extends SharedProfilePage>(page: P) {
  const { language } = useAppLanguage();
  const { data } = useQuery({
    queryKey: ['translations', 'shared', page, language],
    queryFn: ({ signal }) => fetchSharedDictionary(page, language, signal),
    staleTime: 30_000,
    refetchOnMount: 'always',
    refetchOnWindowFocus: 'always',
    retry: 1,
  });
  return useMemo(() => resolveSharedProfileLabels(page, language, data ?? {}), [page, language, data]);
}
