"use client";

/**
 * Web Vitals 采集初始化组件（P6 硬化）
 *
 * - "use client" 客户端组件
 * - 在 useEffect 中调用 initWebVitals()（动态 import 避免未安装包问题）
 * - 不渲染任何可见 UI
 *
 * 关联：02-architecture-design.md §12 可观测性
 */

import { useEffect } from "react";

/**
 * Web Vitals 采集初始化组件。
 *
 * 仅在生产环境启用采集，开发环境跳过以避免控制台噪音。
 */
export function WebVitalsInitializer(): null {
  useEffect(() => {
    if (process.env.NODE_ENV !== "production") return;
    // 动态 import 避免未安装包导致构建失败
    void import("@/lib/observability/web-vitals").then(({ initWebVitals }) => {
      void initWebVitals();
    });
  }, []);

  return null;
}

export default WebVitalsInitializer;
