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 {