mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-26 01:06:23 +02:00
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
29 lines
1,008 B
TypeScript
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>
|
|
);
|
|
}
|