import { createFileRoute } from "@tanstack/react-router";
import { useEffect, useState } from "react";
import { AuthProvider } from "@/legacy/contexts/AuthContext";
import { ThemeProvider } from "@/legacy/contexts/ThemeContext";
import App from "@/legacy/App";
import { AppErrorBoundary } from "@/legacy/components/AppErrorBoundary";
import "@/legacy/legacy.css";

export const Route = createFileRoute("/")({
  head: () => ({
    meta: [
      { title: "ClaimAI Manager — سامانه هوشمند تحلیل ادعا و تأخیر پروژه" },
      {
        name: "description",
        content:
          "ClaimAI Manager پلتفرم تخصصی تحلیل ادعا، تأخیر و مدیریت دعاوی پروژه‌های عمرانی با هوش مصنوعی — تهیه لایحه فنی-حقوقی، تحلیل خسارت و بررسی قرارداد.",
      },
      { property: "og:title", content: "ClaimAI Manager — تحلیل هوشمند ادعا و تأخیر پروژه" },
      {
        property: "og:description",
        content:
          "تحلیل ادعا، تأخیر و خسارت پروژه‌های ساخت با هوش مصنوعی؛ تولید لایحه فنی-حقوقی و بررسی قرارداد.",
      },
    ],
  }),
  component: Index,
});

function Index() {
  const [mounted, setMounted] = useState(false);
  useEffect(() => {
    setMounted(true);
    document.documentElement.lang = "fa";
    document.documentElement.dir = "rtl";
    document.body.classList.add("theme-ultraPro", "noise-overlay");
  }, []);

  if (!mounted) return null;

  return (
    <ThemeProvider>
      <AuthProvider>
        {/* مرز خطای فارسی: خطای رندر به‌جای صفحهٔ سفید، پیام قابل‌فهم و
            دکمهٔ تلاش مجدد نشان می‌دهد و دادهٔ ذخیره‌شده حفظ می‌شود. */}
        <AppErrorBoundary area="مرکز کنترل پروژه">
          <a
            href="/workspace"
            style={{
              display: "block",
              padding: "12px 24px",
              background: "#eef4fc",
              color: "#245fba",
              fontSize: 14,
              textAlign: "right",
              minHeight: 48,
            }}
          >
            بازگشت به فضای کاری: کتابخانهٔ پایدار، پرسش مستند و آرشیو گزارش‌ها ←
          </a>
          <App />
        </AppErrorBoundary>
      </AuthProvider>
    </ThemeProvider>
  );
}
