LGTM
This commit is contained in:
parent
9248e26af2
commit
f2a2651b8a
95 changed files with 3993 additions and 1471 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import { useTranslation } from 'react-i18next';
|
||||
import { CheckIcon } from '../ui/icons/CheckIcon';
|
||||
import { LogoIcon } from '../ui/icons/LogoIcon';
|
||||
import {
|
||||
|
|
@ -90,6 +91,7 @@ export default function SeoLandingPage({
|
|||
pageKey: SeoLandingKey;
|
||||
onOpenDashboard: () => void;
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
const page = SEO_LANDING_PAGES[pageKey];
|
||||
const url = `${PUBLIC_URL}${page.path}`;
|
||||
|
||||
|
|
@ -119,9 +121,9 @@ export default function SeoLandingPage({
|
|||
|
||||
<section className="bg-navy-950 text-white">
|
||||
<div className="mx-auto max-w-6xl px-6 py-16 md:px-10 md:py-20">
|
||||
<nav className="mb-6 text-sm font-medium text-warm-400" aria-label="Breadcrumb">
|
||||
<nav className="mb-6 text-sm font-medium text-warm-400" aria-label={t('seo.breadcrumb')}>
|
||||
<a href="/" className="hover:text-teal-200">
|
||||
Home
|
||||
{t('mobileMenu.home')}
|
||||
</a>
|
||||
<span className="mx-2">/</span>
|
||||
<span className="text-warm-200">{page.eyebrow}</span>
|
||||
|
|
@ -144,7 +146,7 @@ export default function SeoLandingPage({
|
|||
href="/data-sources"
|
||||
className="rounded-lg border-2 border-teal-400 px-6 py-[10px] text-center font-semibold text-teal-300 transition-colors hover:bg-teal-400/10"
|
||||
>
|
||||
Review the data sources
|
||||
{t('seo.reviewDataSources')}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -156,10 +158,9 @@ export default function SeoLandingPage({
|
|||
<LogoIcon className="h-4 w-4" />
|
||||
Perfect Postcode
|
||||
</div>
|
||||
<h2 className="mt-5 text-2xl font-bold md:text-3xl">What you can compare</h2>
|
||||
<h2 className="mt-5 text-2xl font-bold md:text-3xl">{t('seo.whatYouCanCompare')}</h2>
|
||||
<p className="mt-3 leading-relaxed text-warm-600 dark:text-warm-300">
|
||||
Each page is built around real shortlisting work: removing impossible places, comparing
|
||||
the remaining postcodes, and deciding what to validate next.
|
||||
{t('seo.whatYouCanCompareDesc')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="grid gap-3">
|
||||
|
|
@ -177,10 +178,9 @@ export default function SeoLandingPage({
|
|||
|
||||
<section className="mx-auto max-w-6xl px-6 pb-16 md:px-10">
|
||||
<div className="mb-7 max-w-3xl">
|
||||
<h2 className="text-2xl font-bold md:text-3xl">How to use it</h2>
|
||||
<h2 className="text-2xl font-bold md:text-3xl">{t('seo.howToUseIt')}</h2>
|
||||
<p className="mt-3 leading-relaxed text-warm-600 dark:text-warm-300">
|
||||
Use these workflows to make the page useful before you open a listing portal or book a
|
||||
viewing.
|
||||
{t('seo.howToUseItDesc')}
|
||||
</p>
|
||||
</div>
|
||||
<SectionGrid sections={page.workflows} />
|
||||
|
|
@ -193,10 +193,9 @@ export default function SeoLandingPage({
|
|||
<section className="bg-white py-14 dark:bg-navy-900">
|
||||
<div className="mx-auto max-w-6xl px-6 md:px-10">
|
||||
<div className="mb-7 max-w-3xl">
|
||||
<h2 className="text-2xl font-bold md:text-3xl">Method and limitations</h2>
|
||||
<h2 className="text-2xl font-bold md:text-3xl">{t('seo.methodAndLimitations')}</h2>
|
||||
<p className="mt-3 leading-relaxed text-warm-600 dark:text-warm-300">
|
||||
The data is designed for comparison and shortlisting. Important decisions still need
|
||||
current listings, professional checks, and direct local validation.
|
||||
{t('seo.methodAndLimitationsDesc')}
|
||||
</p>
|
||||
</div>
|
||||
<SectionGrid sections={page.methodology} />
|
||||
|
|
@ -205,7 +204,7 @@ export default function SeoLandingPage({
|
|||
|
||||
<section className="mx-auto max-w-6xl px-6 py-14 md:px-10">
|
||||
<div className="mb-7 max-w-3xl">
|
||||
<h2 className="text-2xl font-bold md:text-3xl">Questions buyers ask</h2>
|
||||
<h2 className="text-2xl font-bold md:text-3xl">{t('seo.questionsBuyersAsk')}</h2>
|
||||
</div>
|
||||
<div className="grid gap-4">
|
||||
{page.faq.map((item) => (
|
||||
|
|
@ -222,9 +221,9 @@ export default function SeoLandingPage({
|
|||
|
||||
<section className="mx-auto max-w-6xl px-6 pb-16 md:px-10">
|
||||
<div className="mb-7 max-w-3xl">
|
||||
<h2 className="text-2xl font-bold md:text-3xl">Related guides</h2>
|
||||
<h2 className="text-2xl font-bold md:text-3xl">{t('seo.relatedGuides')}</h2>
|
||||
<p className="mt-3 leading-relaxed text-warm-600 dark:text-warm-300">
|
||||
Continue through the indexed public pages using canonical internal links.
|
||||
{t('seo.relatedGuidesDesc')}
|
||||
</p>
|
||||
</div>
|
||||
<LinkGrid links={page.relatedLinks} />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue