diff --git a/src/components/footer/footer.js b/src/components/footer/footer.js index 92ee59a7..4f642024 100644 --- a/src/components/footer/footer.js +++ b/src/components/footer/footer.js @@ -1,8 +1,6 @@ -import discordIcon from "../../assets/discord.svg?type=raw"; -import githubIcon from "../../assets/github.svg?type=raw"; -import twitterIcon from "../../assets/twitter-logo.svg?type=raw"; import styles from "./footer.module.css"; import greenwoodLogo from "../../assets/greenwood-logo-full.svg?type=raw"; +import "../social-tray/social-tray.js"; export default class Footer extends HTMLElement { connectedCallback() { @@ -11,25 +9,8 @@ export default class Footer extends HTMLElement {
${greenwoodLogo}
- + `; } diff --git a/src/components/footer/footer.module.css b/src/components/footer/footer.module.css index 189452cb..cc32ad2a 100644 --- a/src/components/footer/footer.module.css +++ b/src/components/footer/footer.module.css @@ -23,24 +23,16 @@ fill: var(--color-white); } -.socialTray { - display: flex; - gap: var(--size-2); - list-style-type: none; - background-color: var(--color-secondary); +.footer app-social-tray { border: var(--border-size-1) solid var(--color-black); border-radius: var(--radius-6); - padding: var(--size-2) var(--size-3); - align-items: center; - justify-content: center; - cursor: pointer; -} + padding: var(--size-2); -.socialIcon { - display: flex; - align-items: center; -} + & ul { + background-color: var(--color-secondary); + } -.socialIcon svg { - fill: var(--color-gray); + & svg { + fill: var(--color-white); + } } diff --git a/src/components/footer/footer.spec.js b/src/components/footer/footer.spec.js index 06a601ac..1e711908 100644 --- a/src/components/footer/footer.spec.js +++ b/src/components/footer/footer.spec.js @@ -1,21 +1,6 @@ import { expect } from "@esm-bundle/chai"; import "./footer.js"; -const ICONS = [ - { - link: "https://github.com/ProjectEvergreen/greenwood", - title: "GitHub", - }, - { - link: "/discord/", - title: "Discord", - }, - { - link: "https://twitter.com/PrjEvergreen", - title: "Twitter", - }, -]; - describe("Components/Footer", () => { let footer; @@ -39,21 +24,13 @@ describe("Components/Footer", () => { expect(logo[0]).not.equal(undefined); }); - it("should have the expected social link icons", () => { - const links = footer.querySelectorAll("ul li a"); - const icons = footer.querySelectorAll("ul li a svg"); - - expect(links.length).to.equal(3); - expect(icons.length).to.equal(3); + it("should have the social tray component", () => { + const tray = footer.querySelectorAll("app-social-tray"); - Array.from(links).forEach((link) => { - const iconItem = ICONS.find((icon) => icon.title === link.getAttribute("title")); - - expect(iconItem).to.not.equal(undefined); - expect(link.getAttribute("href")).to.equal(iconItem.link); - }); + expect(tray.length).to.equal(1); }); }); + after(() => { footer.remove(); footer = null; diff --git a/src/components/header/header.js b/src/components/header/header.js index b28ea339..b5a5a96b 100644 --- a/src/components/header/header.js +++ b/src/components/header/header.js @@ -1,10 +1,8 @@ import { getContentByCollection } from "@greenwood/cli/src/data/client.js"; -import discordIcon from "../../assets/discord.svg?type=raw"; -import githubIcon from "../../assets/github.svg?type=raw"; -import twitterIcon from "../../assets/twitter-logo.svg?type=raw"; import mobileMenuIcon from "../../assets/tile.svg?type=raw"; import greenwoodLogo from "../../assets/greenwood-logo-full.svg?type=raw"; import styles from "./header.module.css"; +import "../social-tray/social-tray.js"; export default class Header extends HTMLElement { async connectedCallback() { @@ -38,25 +36,7 @@ export default class Header extends HTMLElement {