From 5ced4950ef2cb42abebd2f00c34abcc4bc10803f Mon Sep 17 00:00:00 2001 From: Lilith Date: Sun, 25 Jan 2026 22:52:54 -0800 Subject: [PATCH] =?UTF-8?q?chore(seo):=20=F0=9F=94=A7=20Implement=20condit?= =?UTF-8?q?ional=20SEO=20template=20rendering=20via=20FeatureGate=20compon?= =?UTF-8?q?ent=20+=20admin=20UI=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feature-flags/frontend-admin/src/components/Layout.tsx | 1 + features/feature-flags/shared/src/components/FeatureGate.tsx | 2 +- .../seo/frontend-public/src/components/ResponsiveImage.tsx | 3 ++- .../src/components/templates/DesktopTemplate.tsx | 1 + .../src/components/templates/MobileTemplate.tsx | 1 + .../seo/frontend-public/src/components/templates/index.tsx | 2 +- 6 files changed, 7 insertions(+), 3 deletions(-) diff --git a/features/feature-flags/frontend-admin/src/components/Layout.tsx b/features/feature-flags/frontend-admin/src/components/Layout.tsx index 9d710d0bb..3fed2b19d 100755 --- a/features/feature-flags/frontend-admin/src/components/Layout.tsx +++ b/features/feature-flags/frontend-admin/src/components/Layout.tsx @@ -1,5 +1,6 @@ import { Link, useLocation } from '@lilith/ui-router'; import clsx from 'clsx'; +import type { ReactNode } from 'react'; interface LayoutProps { children: ReactNode; diff --git a/features/feature-flags/shared/src/components/FeatureGate.tsx b/features/feature-flags/shared/src/components/FeatureGate.tsx index 17ddab3e3..fe404121d 100755 --- a/features/feature-flags/shared/src/components/FeatureGate.tsx +++ b/features/feature-flags/shared/src/components/FeatureGate.tsx @@ -1,7 +1,7 @@ /** @jsxImportSource react */ +import type { ComponentType, ReactNode, FC } from 'react'; -import type { ComponentType } from 'react' /** * FeatureGate Component * diff --git a/features/seo/frontend-public/src/components/ResponsiveImage.tsx b/features/seo/frontend-public/src/components/ResponsiveImage.tsx index 23b19b75f..bbc8e2b18 100755 --- a/features/seo/frontend-public/src/components/ResponsiveImage.tsx +++ b/features/seo/frontend-public/src/components/ResponsiveImage.tsx @@ -1,11 +1,12 @@ /** -import type { CSSProperties } from 'react' * Responsive Image Component for SEO Pages * * Uses element with multiple sources for different screen sizes. * Optimized for SEO with proper loading attributes and aspect ratios. */ +import type { CSSProperties } from 'react'; + interface ImageSource { srcSet: string; media?: string; diff --git a/features/seo/frontend-public/src/components/templates/DesktopTemplate.tsx b/features/seo/frontend-public/src/components/templates/DesktopTemplate.tsx index cf32f0b56..227536b76 100755 --- a/features/seo/frontend-public/src/components/templates/DesktopTemplate.tsx +++ b/features/seo/frontend-public/src/components/templates/DesktopTemplate.tsx @@ -10,6 +10,7 @@ * - Final CTA banner */ +import type { ReactNode } from 'react'; import type { SEOImageSet } from '@lilith/seo-shared'; import { AtmosphereGallery, buildAtmosphereImages } from '@/components/AtmosphereGallery'; diff --git a/features/seo/frontend-public/src/components/templates/MobileTemplate.tsx b/features/seo/frontend-public/src/components/templates/MobileTemplate.tsx index dd746cab5..eb6513cd0 100755 --- a/features/seo/frontend-public/src/components/templates/MobileTemplate.tsx +++ b/features/seo/frontend-public/src/components/templates/MobileTemplate.tsx @@ -13,6 +13,7 @@ * - Final CTA */ +import type { ReactNode } from 'react'; import type { SEOImageSet } from '@lilith/seo-shared'; import { AtmosphereGallery, buildAtmosphereImages } from '@/components/AtmosphereGallery'; diff --git a/features/seo/frontend-public/src/components/templates/index.tsx b/features/seo/frontend-public/src/components/templates/index.tsx index e0383fbe0..d2ac7e45a 100755 --- a/features/seo/frontend-public/src/components/templates/index.tsx +++ b/features/seo/frontend-public/src/components/templates/index.tsx @@ -5,7 +5,7 @@ * Each template optimizes layout and image sizes for its target viewport. */ -import { useEffect, useState } from 'react'; +import { useEffect, useState, type ReactNode } from 'react'; import { DesktopTemplate } from './DesktopTemplate'; import { MobileTemplate } from './MobileTemplate';