import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";

const eslintConfig = defineConfig([
  ...nextVitals,
  ...nextTs,
  {
    rules: {
      // 디자인 레퍼런스(대시보드.html)의 폰트 로딩을 그대로 이식하기 위해
      // App Router layout 의 <head> 에서 CDN <link> 로 폰트를 불러온다.
      // no-page-custom-font 는 Pages Router 전용 규칙이라 여기선 오탐 → 비활성화.
      "@next/next/no-page-custom-font": "off",
      // 마운트 후 localStorage 복원 / next-themes mounted 가드는
      // SSR 안정성을 위해 effect 내 setState 가 불가피한 정당 패턴 → 비활성화.
      "react-hooks/set-state-in-effect": "off",
    },
  },
  // Override default ignores of eslint-config-next.
  globalIgnores([
    // Default ignores of eslint-config-next:
    ".next/**",
    "out/**",
    "build/**",
    "next-env.d.ts",
  ]),
]);

export default eslintConfig;
