diff --git a/next-env.d.ts b/next-env.d.ts index c4e7c0e..a3e4680 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import './.next/types/routes.d.ts' +import './.next/dev/types/routes.d.ts' // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/src/components/sections/Hero.tsx b/src/components/sections/Hero.tsx index 15a3f5d..4b1fc7c 100644 --- a/src/components/sections/Hero.tsx +++ b/src/components/sections/Hero.tsx @@ -76,17 +76,16 @@ export function Hero({ hero }: HeroProps) { /> {/* ── Text content (above T-Rex z-[20]) ── */} -
- {/* Align with header: max-w-[1204px] + px-[30px] mirrors HeaderClient inner container */} -
-
+
+
+
{title && (

{subtitle} diff --git a/src/components/sections/LocationsSlider.tsx b/src/components/sections/LocationsSlider.tsx index 5056e9e..7933e6b 100644 --- a/src/components/sections/LocationsSlider.tsx +++ b/src/components/sections/LocationsSlider.tsx @@ -98,22 +98,22 @@ export function LocationsSlider({ locations }: { locations: LocationData[] }) { className="object-cover transition-transform duration-700 ease-out group-hover:scale-105" priority={idx < 2} /> -
+

{loc.name}

{loc.tagline}

{loc.description} diff --git a/src/payload-types.ts b/src/payload-types.ts index 844f37c..5a6d6b5 100644 --- a/src/payload-types.ts +++ b/src/payload-types.ts @@ -81,6 +81,7 @@ export interface Config { 'tickets-page': TicketsPage 'locations-page': LocationsPage 'blog-index-page': BlogIndexPage + 'dinosaur-page': DinosaurPage } globalsSelect: { 'home-page': HomePageSelect | HomePageSelect @@ -95,6 +96,7 @@ export interface Config { 'tickets-page': TicketsPageSelect | TicketsPageSelect 'locations-page': LocationsPageSelect | LocationsPageSelect 'blog-index-page': BlogIndexPageSelect | BlogIndexPageSelect + 'dinosaur-page': DinosaurPageSelect | DinosaurPageSelect } locale: null widgets: { @@ -753,23 +755,6 @@ export interface Form { blockName?: string | null blockType: 'textarea' } - | { - name: string - label?: string | null - width?: number | null - defaultValue?: string | null - options?: - | { - label: string - value: string - id?: string | null - }[] - | null - required?: boolean | null - id?: string | null - blockName?: string | null - blockType: 'radio' - } | { name: string label?: string | null @@ -1508,24 +1493,6 @@ export interface FormsSelect { id?: T blockName?: T } - radio?: - | T - | { - name?: T - label?: T - width?: T - defaultValue?: T - options?: - | T - | { - label?: T - value?: T - id?: T - } - required?: T - id?: T - blockName?: T - } date?: | T | { @@ -2117,6 +2084,120 @@ export interface BlogIndexPage { updatedAt?: string | null createdAt?: string | null } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "dinosaur-page". + */ +export interface DinosaurPage { + id: number + heroTitle?: string | null + heroDescription?: string | null + /** + * Число у круглому бейджі (наприклад "26") + */ + heroStat?: string | null + heroStatLabel?: string | null + /** + * Головне зображення героя (T-Rex / динозавр) + */ + heroImage?: (number | null) | Media + heroFeatures?: + | { + text: string + id?: string | null + }[] + | null + /** + * 8 видів для інтерактивного колеса + */ + dinosaurs?: + | { + /** + * Назва виду + */ + name: string + /** + * Наприклад: Крейдяний + */ + epoch?: string | null + /** + * Наприклад: 12 м + */ + length?: string | null + /** + * Наприклад: 7 т + */ + weight?: string | null + /** + * Велике зображення (центр колеса) + */ + image?: (number | null) | Media + /** + * Мініатюра для дуги колеса + */ + thumbnailImage?: (number | null) | Media + id?: string | null + }[] + | null + /** + * Фото з динопарку + */ + galleryImages?: + | { + image: number | Media + id?: string | null + }[] + | null + activitiesTitle?: string | null + activitiesDescription?: string | null + activities?: + | { + name: string + /** + * Наприклад: 150 грн + */ + price?: string | null + description?: string | null + image?: (number | null) | Media + href?: string | null + id?: string | null + }[] + | null + whyVisitTitle?: string | null + whyVisitItems?: + | { + title: string + description: string + id?: string | null + }[] + | null + /** + * Якщо порожньо — секція приховується + */ + reviewVideos?: + | { + src: string + poster?: string | null + label?: string | null + id?: string | null + }[] + | null + /** + * Час роботи + */ + workingHours?: string | null + comboDescription?: string | null + meta?: { + title?: string | null + description?: string | null + /** + * Maximum upload file size: 12MB. Recommended file size for images is <500KB. + */ + image?: (number | null) | Media + } + updatedAt?: string | null + createdAt?: string | null +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "home-page_select". @@ -2503,6 +2584,80 @@ export interface BlogIndexPageSelect { createdAt?: T globalType?: T } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "dinosaur-page_select". + */ +export interface DinosaurPageSelect { + heroTitle?: T + heroDescription?: T + heroStat?: T + heroStatLabel?: T + heroImage?: T + heroFeatures?: + | T + | { + text?: T + id?: T + } + dinosaurs?: + | T + | { + name?: T + epoch?: T + length?: T + weight?: T + image?: T + thumbnailImage?: T + id?: T + } + galleryImages?: + | T + | { + image?: T + id?: T + } + activitiesTitle?: T + activitiesDescription?: T + activities?: + | T + | { + name?: T + price?: T + description?: T + image?: T + href?: T + id?: T + } + whyVisitTitle?: T + whyVisitItems?: + | T + | { + title?: T + description?: T + id?: T + } + reviewVideos?: + | T + | { + src?: T + poster?: T + label?: T + id?: T + } + workingHours?: T + comboDescription?: T + meta?: + | T + | { + title?: T + description?: T + image?: T + } + updatedAt?: T + createdAt?: T + globalType?: T +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "collections_widget".