---
import type { types } from 'react-bricks/astro'
import { reactBricksAstroStore } from 'react-bricks/astro'
import SlotViewer from './SlotViewer.astro'
// import reactBricksAstroStore from '../../ReactBricks/reactBricksAstroStore'

interface Props {
  page: types.Page
  name: string
}

let error = false
const { page, name } = Astro.props as Props

reactBricksAstroStore.setPage(page)

if (!page) {
  error = true
}

const pageType = reactBricksAstroStore.getPageType(page)

if (!pageType) {
  console.error(`Unknown pageType ${page.type}.`)
  error = true
}

if (!pageType?.template) {
  console.error(`Page ${page.name} has no Template defined.`)
  error = true
}

const slot = pageType?.template?.find((slot) => slot.slotName === name)

if (!slot) {
  console.error(`Slot ${name} not found in ${pageType} page type.`)
  error = true
}
---

{error ? '' : <SlotViewer page={page} slotName={name} />}
