/**
 * `/__preview/estimate` — dev/CI-only mock-render «денежного экрана» (issue #801).
 *
 * Зачем: без бэкенда `/api/v1/me` + `POST /estimate` отвечают 401 / network-fail,
 * `/trade-in` рендерит пустой EmptyState → axe / lighthouse нечего аудировать
 * (нет reachable rendered content). Этот маршрут рендерит реальный
 * `<EstimateResult>` (HeroSummary + price-range bar + таблицы аналогов/сделок)
 * на статичном fixture БЕЗ единого сетевого запроса.
 *
 * Folder назван `%5F%5Fpreview` (URL-encoded `__preview`): App Router исключает
 * из роутинга папки с leading `_` (private folders), поэтому литеральный
 * underscore-сегмент задаётся через `%5F`. Итоговый URL — `/__preview/estimate`.
 *
 * Production guard: страница 404'ит (`notFound()`) если `NEXT_PUBLIC_ENABLE_PREVIEW`
 * не выставлен в `"true"`. В dev (`next dev`) preview включён всегда. Так
 * preview-bundle не утекает в публичный prod (live за auth-gate Caddy).
 * RouteGuard дополнительно пропускает `/__preview/*` без вызова `/me`
 * (см. `components/auth/RouteGuard.tsx`).
 */

import { notFound } from "next/navigation";

import { EstimateResult } from "@/components/trade-in/EstimateResult";
import {
  MOCK_ESTIMATE,
  MOCK_ESTIMATE_INPUT,
} from "@/lib/mocks/trade-in-estimate";

/** Preview доступен в dev всегда; в собранном build — только при явном флаге. */
function previewEnabled(): boolean {
  return (
    process.env.NODE_ENV !== "production" ||
    process.env.NEXT_PUBLIC_ENABLE_PREVIEW === "true"
  );
}

export default function PreviewEstimatePage() {
  if (!previewEnabled()) {
    notFound();
  }

  return (
    <main
      style={{
        minHeight: "100vh",
        background: "#f8f9fb",
        padding: "24px 16px",
        boxSizing: "border-box",
      }}
    >
      <div style={{ maxWidth: 1280, margin: "0 auto 20px" }}>
        <h1
          style={{
            margin: "0 0 4px",
            fontSize: 22,
            fontWeight: 800,
            color: "#1a1d23",
          }}
        >
          Trade-In Estimator
        </h1>
        <p style={{ margin: 0, fontSize: 14, color: "#6b7280" }}>
          Превью результата оценки на статичных данных (без бэкенда) — для
          a11y / lighthouse аудита.
        </p>
      </div>

      <div style={{ maxWidth: 1280, margin: "0 auto" }}>
        <EstimateResult estimate={MOCK_ESTIMATE} input={MOCK_ESTIMATE_INPUT} />
      </div>
    </main>
  );
}
