Skip to content
Snippets Groups Projects
index.tsx 1.05 KiB
Newer Older
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
import React, { ReactElement } from "react"
import { graphql, PageProps } from "gatsby"
import { Layout, Sections } from "@onegeo-suite/gatsby-theme-onegeo"
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
interface IData {
    directus: {
        site: {
            sections: {
                sections_id: {
                    id: string
                }
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
            }[]
            options?: any
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
        }
    }
}

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>
        <Layout theme={options.theme}>
            <Sections ids={ids} />
        </Layout>
    )
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
export default Index

export const query = graphql`
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
    query {
        directus {
            site {
                sections {
                    sections_id {
                        id
                    }
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
                }
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
            }
        }
Tovo Ramontalambo's avatar
Tovo Ramontalambo committed
`