Skip to content
Snippets Groups Projects
Socials.tsx 1.77 KiB
Newer Older
import { graphql, useStaticQuery } from "gatsby"
Toavina's avatar
Toavina committed
import React from "react"
import Logo from "./core/Logo"
Tojo's avatar
Tojo committed

Julien MARGAIL's avatar
Julien MARGAIL committed
interface ISocials {
Toavina's avatar
Toavina committed
    layout?: string
    name: string
    logo: any
    url: string
Tojo's avatar
Tojo committed
}

Julien MARGAIL's avatar
Julien MARGAIL committed
const Socials = (props: ISocials) => {
    const dataDirectus = useStaticQuery(graphql`
        query getSocials {
            directus {
Manoa Harinjo's avatar
Manoa Harinjo committed
                socials(
                    filter: { status: { _eq: "published" } }
                    sort: "sort"
                ) {
                        imageFile {
                            childImageSharp {
                                gatsbyImageData
                            }
                            name
                            publicURL
                        }
Manoa Harinjo's avatar
Manoa Harinjo committed
                    sort
                }
            }
        }
    `)

    const dataSocials = dataDirectus.directus.socials

    const { layout } = props
Tojo's avatar
Tojo committed

Toavina's avatar
Toavina committed
    return (
        <div className={`flex ${layout == "col" ? "w-8 flex-col" : ""} gap-2`}>
            {dataSocials.map((item: any, key: number) => {
                return (
                    <div
                        className={`tooltip ${
                            layout == "row" ? "tooltip-top" : "tooltip-right"
                        } `}
                        data-tip={item.name}
                        key={key}
                    >
                        <Logo
                            image={item.logo?.imageFile}
                            url={item.url}
                            className={"h-7 w-7"}
Toavina's avatar
Toavina committed
        </div>
    )
}
Tojo's avatar
Tojo committed

Toavina's avatar
Toavina committed
export default Socials