-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into sc-6804/hero-and-custom
- Loading branch information
Showing
10 changed files
with
225 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,71 +1,86 @@ | ||
import React from "react" | ||
import "./css/footer.css" | ||
import { LaunchWareLogoLight } from "./LaunchWareLogoLight" | ||
import { Link } from "gatsby" | ||
import { companySocialProfiles, getCompanySocialProfile } from "../../configuration/getCompanySocialProfile" | ||
import { CompanySocialIcon } from "../social/CompanySocialIcon" | ||
import { companyContactInformation } from "../../configuration/companyContactInformation" | ||
|
||
import "./css/footer.css" | ||
|
||
const Footer = () => { | ||
const socialListItems = Object.keys(companySocialProfiles).map((network: string) => { | ||
return <li key={network}><CompanySocialIcon network={network} /></li> | ||
}) | ||
|
||
return ( | ||
<footer className="footer"> | ||
<div className="footer_container"> | ||
<div className="footer_logo-container"> | ||
<LaunchWareLogoLight className="footer_logo" /> | ||
</div> | ||
<div className="footer_grid"> | ||
<nav className="footer_group"> | ||
<nav className="footer_group footer_group__serve"> | ||
<h3 className="footer_headline">How we serve</h3> | ||
<ul className="footer_link-list"> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/services">Services</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/capabilities">Capabilities</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/case-studies">Case Studies</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<a href="#">Book Your Launch Call</a> | ||
</li> | ||
</ul> | ||
</nav> | ||
|
||
<nav className="footer_group"> | ||
<nav className="footer_group footer_group__who"> | ||
<h3 className="footer_headline">Who we are</h3> | ||
<ul className="footer_link-list"> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/about">About</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/careers">Careers</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<Link to="/blog">Insight</Link> | ||
</li> | ||
<li> | ||
<li className="footer_link-list-item"> | ||
<a href="#">Book Your Launch Call</a> | ||
</li> | ||
</ul> | ||
</nav> | ||
|
||
<div className="footer_group"> | ||
<div className="footer_group footer_group__connect"> | ||
<h3 className="footer_headline">Connect</h3> | ||
<p><a href="tel:50855555555">Change Phone Number</a></p> | ||
<p><a href="mailto:[email protected]">[email protected]</a></p> | ||
<p><a href={`tel:${companyContactInformation.phone}`}> {companyContactInformation.phone}</a></p> | ||
<p><a href={`mailto:${companyContactInformation.email}`}>{companyContactInformation.email}</a></p> | ||
<ul className="footer_social-list"> | ||
<li></li> | ||
{socialListItems} | ||
</ul> | ||
</div> | ||
|
||
<form className="footer_group"> | ||
<form className="footer_group footer_group__last"> | ||
<h3 className="footer_headline">Stay in our orbit</h3> | ||
<input type="email" placeholder="Email" /> | ||
<input type="submit" className="button button__full-width" value="Submit" data-lpignore="true" /> | ||
<p>By submitting this form, you confirm that you have read and agree to the Terms & Conditions.</p> | ||
<input type="email" placeholder="Email" className="footer_opt-in-email" /> | ||
<input type="submit" className="button button__full-width footer_button" value="Submit" data-lpignore="true" /> | ||
<p className="footer_opt-in-terms">By submitting this form, you confirm that you have read and agree to the Terms & Conditions.</p> | ||
</form> | ||
</div> | ||
<p className="footer_copyright-notice">© {new Date().getFullYear()} LaunchWare. All rights reserved.</p> | ||
|
||
<div className="footer_legal"> | ||
<p className="footer_copyright-notice">© {new Date().getFullYear()} LaunchWare. All rights reserved.</p> | ||
<ul className="footer_legal-links"> | ||
<li><Link to="/disclaimer">Disclaimer</Link></li> | ||
<li><Link to="/cookies">Cookies</Link></li> | ||
</ul> | ||
</div> | ||
</div> | ||
</footer> | ||
</footer > | ||
) | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import React from "react" | ||
|
||
import { getCompanySocialProfile } from "../../configuration/getCompanySocialProfile"; | ||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" | ||
|
||
export const CompanySocialIcon = ({ network }: { network: string }) => { | ||
const { icon, url } = getCompanySocialProfile(network); | ||
return <a href={url}><FontAwesomeIcon icon={icon} /></a> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
export const companyContactInformation = { | ||
phone: "CHANGE NUMBER", | ||
email: "[email protected]", | ||
mailingAddress: { | ||
streetAddress: "71 Summer Street", | ||
streetAddress2: "3rd Floor", | ||
city: "Boston", | ||
state: "MA", | ||
zipCode: "02021", | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { | ||
faXTwitter, | ||
faFacebook, | ||
faYoutube, | ||
faLinkedin, | ||
faInstagram, | ||
} from "@fortawesome/free-brands-svg-icons"; | ||
|
||
export class SocialProfileNotFoundError extends Error { | ||
constructor(network: string) { | ||
super(`Social profile not found for network: ${network}`); | ||
} | ||
} | ||
|
||
export const companySocialProfiles = { | ||
linkedIn: { | ||
icon: faLinkedin, | ||
url: "https://www.linkedin.com/company/launchware/", | ||
}, | ||
x: { | ||
icon: faXTwitter, | ||
url: "https://twitter.com/launchware", | ||
}, | ||
facebook: { | ||
icon: faFacebook, | ||
url: "https://www.facebook.com/LaunchWare/", | ||
}, | ||
youtube: { | ||
icon: faYoutube, | ||
url: "https://www.youtube.com/@LaunchWareSoftwareDevelopment", | ||
}, | ||
instagram: { | ||
icon: faInstagram, | ||
url: "https://www.instagram.com/launchware/", | ||
}, | ||
} as Record<string, { icon: any; url: string }>; | ||
|
||
export const getCompanySocialProfile = (network: string) => { | ||
const result = companySocialProfiles[network]; | ||
|
||
if (!result) { | ||
throw new SocialProfileNotFoundError(network); | ||
} | ||
|
||
return result; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,8 @@ | ||
.button { | ||
.button, | ||
input.button { | ||
@apply bg-launch-orange text-white font-bold py-2 px-3 rounded-md hover:text-launch-orange hover:bg-white border-launch-orange border-x-2 border-y-2; | ||
} | ||
|
||
.button__full-width { | ||
@apply w-full; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1201,6 +1201,32 @@ | |
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.49.0.tgz#86f79756004a97fa4df866835093f1df3d03c333" | ||
integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w== | ||
|
||
"@fortawesome/[email protected]": | ||
version "6.4.2" | ||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz#1766039cad33f8ad87f9467b98e0d18fbc8f01c5" | ||
integrity sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA== | ||
|
||
"@fortawesome/fontawesome-svg-core@^6.4.2": | ||
version "6.4.2" | ||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.2.tgz#37f4507d5ec645c8b50df6db14eced32a6f9be09" | ||
integrity sha512-gjYDSKv3TrM2sLTOKBc5rH9ckje8Wrwgx1CxAPbN5N3Fm4prfi7NsJVWd1jklp7i5uSCVwhZS5qlhMXqLrpAIg== | ||
dependencies: | ||
"@fortawesome/fontawesome-common-types" "6.4.2" | ||
|
||
"@fortawesome/free-brands-svg-icons@^6.4.2": | ||
version "6.4.2" | ||
resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.4.2.tgz#9b8e78066ea6dd563da5dfa686615791d0f7cc71" | ||
integrity sha512-LKOwJX0I7+mR/cvvf6qIiqcERbdnY+24zgpUSouySml+5w8B4BJOx8EhDR/FTKAu06W12fmUIcv6lzPSwYKGGg== | ||
dependencies: | ||
"@fortawesome/fontawesome-common-types" "6.4.2" | ||
|
||
"@fortawesome/react-fontawesome@^0.2.0": | ||
version "0.2.0" | ||
resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz#d90dd8a9211830b4e3c08e94b63a0ba7291ddcf4" | ||
integrity sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw== | ||
dependencies: | ||
prop-types "^15.8.1" | ||
|
||
"@gatsbyjs/parcel-namer-relative-to-cwd@^2.12.0": | ||
version "2.12.0" | ||
resolved "https://registry.yarnpkg.com/@gatsbyjs/parcel-namer-relative-to-cwd/-/parcel-namer-relative-to-cwd-2.12.0.tgz#4bd49fb678e739624d0bc39c3376b4781bf6a0ee" | ||
|