Skip to content
Snippets Groups Projects
Socials.tsx 1.63 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 {
                socials {
                    name
                    url
                    id
                    logo {
                        id
                        imageFile {
                            childImageSharp {
                                gatsbyImageData
                            }
                            name
                            publicURL
                        }
                    }
                }
            }
        }
    `)

    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