import { useEffect, useState } from 'react';
import { PageMeta } from '../types.js';
import { useQueryParam } from './useQueryParam.js';

export const usePageMeta = () => {
  const [pageMeta, setPageMeta] = useState<PageMeta | null>(null);
  const hsencParam = useQueryParam('_hsenc');

  useEffect(() => {
    const pageId = window.hsVars && window.hsVars.page_id;
    const data: PageMeta = {
      pageId: pageId ?? 0,
      pageUrl: window.location.href,
      pageTitle: document.title,
    };

    if (hsencParam) {
      data._hsenc = hsencParam;
    }

    setPageMeta(data);
  }, [hsencParam]);

  return pageMeta;
};
