Links: extract external navigation links component

The Header and Footer shared some duplicated code related to external
links. We moved the markup and CSS into a separate Links component to
DRY it up.

We currently apply a 'line-through' style to the Figma links, since they
are not yet implemented. This is a visual treatment only an needs fixed
before production release!
This commit is contained in:
rektdeckard
2020-10-10 16:03:26 -04:00
parent 413aa24d3b
commit 1a2c3ef1de
5 changed files with 128 additions and 187 deletions

View File

@@ -0,0 +1,41 @@
.links {
display: flex;
flex-flow: column wrap;
align-content: flex-start;
align-items: flex-start;
justify-content: center;
/* column-gap: 72px; */
/* -webkit-column-gap: 72px; */
margin: 32px 0 64px;
max-height: 144px;
}
.links > div {
margin: 0 72px 24px 0;
display: flex;
align-items: center;
}
.links svg {
margin-right: 12px;
}
a.nav-link {
text-decoration: none;
position: relative;
color: black;
}
a.nav-link:after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 0%;
border-bottom: 1px solid black;
transition: 0.2s;
}
a.nav-link:hover:after {
width: 100%;
}

View File

@@ -0,0 +1,80 @@
import React from "react";
import { OutboundLink } from "react-ga";
import { ArrowElbowDownRight } from "phosphor-react";
import "./Links.css";
interface LinksProps {}
const Links: React.FC<LinksProps> = () => {
return (
<div className="links">
<div>
<ArrowElbowDownRight size={24} />
<OutboundLink
className="nav-link"
to="https://phosphoricons.com/assets/phosphor-icons.zip"
eventLabel="Download all"
download
type="application/zip"
>
Download all
</OutboundLink>
</div>
<div>
<ArrowElbowDownRight size={24} />
<OutboundLink
className="nav-link"
to="#"
eventLabel="Figma library"
style={{ textDecoration: "line-through" }}
>
Figma library
</OutboundLink>
</div>
<div>
<ArrowElbowDownRight size={24} />
<OutboundLink
className="nav-link"
to="#"
eventLabel="Figma plugin"
style={{ textDecoration: "line-through" }}
>
Figma plugin
</OutboundLink>
</div>
<div>
<ArrowElbowDownRight size={24} />
<a
className="nav-link"
href="https://github.com/phosphor-icons/phosphor-web/issues"
>
Request an icon
</a>
</div>
<div>
<ArrowElbowDownRight size={24} />
<span>
<a className="nav-link" href="https://paypal.me/minoraxis">
Donate on PayPal
</a>
{" / "}
<a className="nav-link" href="https://patreon.com/phosphoricons">
Patreon
</a>
</span>
</div>
<div>
<ArrowElbowDownRight size={24} />
<a
className="nav-link"
href="https://github.com/phosphor-icons/phosphor-web"
>
Github
</a>
</div>
</div>
);
};
export default Links;