SurfSense/surfsense_web/app/(home)/page.tsx
xianren 3f85f2a56b fix(a11y): remove nested <main> landmarks under (home) layout
The (home)/layout.tsx already wraps children in <main>. Having another
<main> inside each child page produces nested landmarks, which is
invalid HTML and confuses screen readers.

Changed the outermost wrapper from <main> → <div> in:
- surfsense_web/app/(home)/page.tsx (homepage)
- surfsense_web/app/(home)/free/page.tsx (free AI chat landing)

Other (home) descendants (login/register/privacy/terms/changelog/
announcements/blog/contact/free/[model_slug]) were already using <div>.

Closes #1191
2026-04-16 22:30:55 +08:00

29 lines
1,008 B
TypeScript

import dynamic from "next/dynamic";
import { AuthRedirect } from "@/components/homepage/auth-redirect";
import { FeaturesBentoGrid } from "@/components/homepage/features-bento-grid";
import { FeaturesCards } from "@/components/homepage/features-card";
import { HeroSection } from "@/components/homepage/hero-section";
const WhySurfSense = dynamic(() =>
import("@/components/homepage/why-surfsense").then((m) => ({ default: m.WhySurfSense }))
);
const ExternalIntegrations = dynamic(() => import("@/components/homepage/integrations"));
const CTAHomepage = dynamic(() =>
import("@/components/homepage/cta").then((m) => ({ default: m.CTAHomepage }))
);
export default function HomePage() {
return (
<div className="min-h-screen bg-gradient-to-b from-gray-50 to-gray-100 text-gray-900 dark:from-black dark:to-gray-900 dark:text-white">
<AuthRedirect />
<HeroSection />
<WhySurfSense />
<FeaturesCards />
<FeaturesBentoGrid />
<ExternalIntegrations />
<CTAHomepage />
</div>
);
}