import React, { ReactElement } from "react"
import { graphql, PageProps } from "gatsby"

import { Layout, Sections } from "@onegeo-suite/gatsby-theme-onegeo"

interface IData {
    directus: {
        site: {
            sections: {
                sections_id: {
                    id: string
                }
            }[]
            options?: any
        }
    }
}

function Index({ data }: PageProps<IData>): ReactElement {
    const sections = data.directus.site.sections
    const options = data.directus.site.options ?? {}

    const ids = sections.map((section) => section.sections_id.id)
    if (!ids || ids.length == 0) return <Layout>No section !</Layout>

    return (
        <Layout theme={options.theme}>
            <Sections ids={ids} />
        </Layout>
    )
}

export default Index

export const query = graphql`
    query {
        directus {
            site {
                sections(sort: "sort") {
                    sections_id(filter: { status: { _eq: "published" } }) {
                        id
                    }
                    sort
                }
                options
            }
        }
    }
`