<template>
  <div class="min-h-[calc(100vh-9rem)] w-full">
    <ItemsHero v-if="hero" :data="hero" />
    <div class="container mx-auto py-12 px-2 min-h-[50vh] flex flex-col gap-2">
      <div v-for="item in content" class="contents">
        <DynamicZoneSection v-if="item.__component == 'dynamic-zone.section'" :data="item" />
        <DynamicZoneSpacer v-else-if="item.__component == 'dynamic-zone.spacer'" :data="item" />
        <DynamicZoneColumnImageText v-else-if="item.__component == 'dynamic-zone.column-image-text'" :data="item" />
        <DynamicZoneDualColumnText v-else-if="item.__component == 'dynamic-zone.dual-column-text'" :data="item" />
        <DynamicZoneFullImage v-else-if="item.__component == 'dynamic-zone.full-image'" :data="item" />
        <DynamicZoneFullText v-else-if="item.__component == 'dynamic-zone.full-text'" :data="item" />
        <DynamicZoneGallery v-else-if="item.__component == 'dynamic-zone.gallery'" :data="item" />
        <DynamicZoneFileViewer v-else-if="item.__component == 'dynamic-zone.file-viewer'" :data="item" />
        <DynamicZoneFileDownload v-else-if="item.__component == 'dynamic-zone.file-download'" :data="item" />
        <DynamicZoneEmbedding v-else-if="item.__component == 'dynamic-zone.embedding'" :data="item" />
        <SharedList v-else-if="item.__component == 'shared.list'" :data="item" />
        <SharedEmphasiseArticle v-else-if="item.__component == 'shared.emphasise-article'" :data="item" />
        <br />
      </div>
    </div>
  </div>
</template>

<script setup lang="ts">
import type { PropType } from "vue";
import type ItemsHero from "../types/component/items/hero";
import type { ComponentTypes } from "../types/component/baseComponent";

defineProps({
  hero: { type: Object as PropType<ItemsHero>, required: false, default: null },
  content: Array<ComponentTypes>,
});
</script>