diff --git a/src/components/FeedbackCard/FeedbackCard.test.tsx b/src/components/FeedbackCard/FeedbackCard.test.tsx
index 4472c9fa1..47ec0ea48 100644
--- a/src/components/FeedbackCard/FeedbackCard.test.tsx
+++ b/src/components/FeedbackCard/FeedbackCard.test.tsx
@@ -16,14 +16,11 @@ describe('Feedback Card component', () => {
render()
expect(
- screen.getByRole('heading', { level: 2, name: 'Got feedback?' })
+ screen.getByRole('heading', { level: 3, name: 'Got Feedback?' })
).toBeInTheDocument()
expect(
screen.getByRole('link', { name: 'feedback@ussforbit.us' })
).toBeInTheDocument()
- expect(
- screen.getByRole('link', { name: 'Send us feedback' })
- ).toBeInTheDocument()
})
describe('trackEvent functions called', () => {
@@ -48,18 +45,6 @@ describe('Feedback Card component', () => {
render()
})
- it("calls trackEvent when clicking 'Send us feedback' link", () => {
- const link = screen.getByRole('link', { name: 'Send us feedback' })
-
- fireEvent.click(link)
-
- expect(mockTrackEvents).toHaveBeenCalledTimes(1)
- expect(mockTrackEvents).toHaveBeenCalledWith(
- 'Feedback',
- 'Send us feedback'
- )
- })
-
it("calls trackEvent when clicking 'feedback@ussforbit.us' link", () => {
const link = screen.getByRole('link', { name: 'feedback@ussforbit.us' })
diff --git a/src/components/FeedbackCard/FeedbackCard.tsx b/src/components/FeedbackCard/FeedbackCard.tsx
index 864d6dcd4..b76c5c440 100644
--- a/src/components/FeedbackCard/FeedbackCard.tsx
+++ b/src/components/FeedbackCard/FeedbackCard.tsx
@@ -1,7 +1,5 @@
import React from 'react'
-import styles from './FeedbackCard.module.scss'
-
import { useAnalytics } from 'stores/analyticsContext'
const FEEDBACK_EMAIL = 'feedback@ussforbit.us'
@@ -11,28 +9,19 @@ const FeedbackCard = () => {
const { trackEvent } = useAnalytics()
return (
-
-
Got feedback?
+
)
}
diff --git a/src/components/Footer/Footer.module.scss b/src/components/Footer/Footer.module.scss
index ff180a719..ae827e9ea 100644
--- a/src/components/Footer/Footer.module.scss
+++ b/src/components/Footer/Footer.module.scss
@@ -6,14 +6,61 @@
color: var(--footer-text);
@include u-font-size('body', '2xs');
+ .border {
+ border-bottom: 1px solid var(--footer-border);
+ padding-right: 0;
+ height: 1px;
+ margin: 1rem 1rem 2rem 1rem;
+ padding: 0 0;
+ }
+
+ h3 {
+ color: white;
+ margin: 0;
+ font-size: 18px;
+ }
+
+ p {
+ color: white;
+ max-width: 281px;
+ }
+
+ ul li a,
+ p {
+ font-size: 14px;
+ }
+
+ img {
+ width: 127px;
+ max-height: 200px;
+ }
+
+ .miniRow {
+ flex-direction: column;
+ }
+
+ .miniCol {
+ padding-bottom: 0;
+ }
+
:global {
- .usa-footer__logo img {
- width: 200px;
- max-height: 200px;
+ .usa-footer__secondary-link {
+ margin-left: 0;
+ a:hover,
+ a:focus {
+ text-decoration: underline;
+ color: white;
+ }
}
-
- .grid-col-auto {
- align-self: center;
+ .usa-footer__return-to-top {
+ background: #000;
+ a {
+ color: $theme-ultraviolet-lighter;
+ &:hover,
+ &:focus {
+ color: #fff;
+ }
+ }
}
.usa-footer__secondary-section {
@@ -24,6 +71,11 @@
color: var(--footer-text);
text-decoration: none;
font-weight: 600;
+ &:hover,
+ &:focus {
+ text-decoration: underline;
+ color: white;
+ }
}
}
@@ -40,38 +92,67 @@
}
}
}
-}
-.footer {
- :global {
- @media (max-width: 1040px) {
- .usa-footer__nav {
- width: 100%;
- .grid-row.grid-gap {
- @include u-margin-x(0);
- }
- .grid-row {
- flex-direction: column;
- width: 100%;
- }
- .grid-col {
- @include u-padding-y(2);
- @include u-padding-x(0);
- &:not(:last-child) {
- border-bottom: 2px double var(--footer-border);
- }
- }
- border-bottom: 0px;
- }
+ @include sfds-at-media('desktop') {
+ .miniCol {
+ padding-bottom: 0;
+ flex-direction: row;
+ }
+ .miniRow {
+ flex-direction: row;
+ }
+ }
+
+ @include sfds-at-media('tablet-lg') {
+ //desktop only
+ h3 {
+ margin-bottom: 14px;
+ }
+ .border {
+ border-right: 1px solid var(--footer-border);
+ padding-right: 0;
+ width: 1px;
+ height: auto;
+ border-bottom: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+
+ .miniCol {
+ padding-bottom: 1rem;
+ }
+ :global {
.usa-footer__secondary-section {
- flex-direction: column;
- }
- .usa-footer__primary-content {
- border-top: 0px;
- }
- .usa-list--unstyled > li {
- @include u-margin-x(0);
+ .grid-container {
+ padding: 2rem;
+ max-width: 1800px;
+ }
}
}
}
+
+ //small only
+ @media (max-width: 1024px) {
+ h3 {
+ @include u-padding-y(2);
+ }
+
+ :global(.grid-row) {
+ flex-direction: column;
+ gap: 16px;
+ }
+ :global(.grid-col) {
+ @include u-padding-y(0);
+ @include u-padding-x(2);
+ }
+ .usa-footer__secondary-section {
+ flex-direction: column;
+ }
+ .usa-footer__primary-content {
+ border-top: 0px;
+ }
+ .usa-list--unstyled > li {
+ @include u-margin-x(0);
+ }
+ }
}
diff --git a/src/components/Footer/Footer.test.tsx b/src/components/Footer/Footer.test.tsx
index d1e660daa..e296644ff 100644
--- a/src/components/Footer/Footer.test.tsx
+++ b/src/components/Footer/Footer.test.tsx
@@ -15,7 +15,7 @@ describe('Footer component', () => {
'alt',
'USSF Portal'
)
- expect(screen.getAllByRole('link')).toHaveLength(15)
+ expect(screen.getAllByRole('link')).toHaveLength(17)
})
it('has no a11y violations', async () => {
diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx
index 149a83f3d..423d5ca35 100644
--- a/src/components/Footer/Footer.tsx
+++ b/src/components/Footer/Footer.tsx
@@ -1,58 +1,40 @@
import React from 'react'
import {
Footer as USWDSFooter,
- Logo as USWDSFooterLogo,
+ Grid,
+ GridContainer,
} from '@trussworks/react-uswds'
import Link from 'next/link'
+import FeedbackCard from '../FeedbackCard/FeedbackCard'
import styles from './Footer.module.scss'
const PortalLogo = () => {
return

}
+const returnToTop = (
+
+)
+
const Footer = () => {
return (
>}
secondary={
-
-
- }
- />
-
- ©{new Date().getFullYear()} All rights reserved, USSF Portal
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Quick Links
+
+
+
+ -
+
+ Privacy Policy
+
+ (opens in a new window)
+
+
+
+ -
+
+ Section508.gov
+
+ (opens in a new window)
+
+
+
+ -
+
+ Budget and Performance
+
+ (opens in a new window)
+
+
+
+ -
+
+ Orders & Directives
+
+ (opens in a new window)
+
+
+
+ -
+
+ Office of the Inspector General
+
+ (opens in a new window)
+
+
+
+
+
+
+
+ -
+
+ FOIA Requests
+
+ (opens in a new window)
+
+
+
+ -
+
+ No FEAR Act
+
+ (opens in a new window)
+
+
+
+ -
+
+ USA.gov
+
+ (opens in a new window)
+
+
+
+ -
+
+ Sexual Assault Prevention and Response
+
+ (opens in a new window)
+
+
+
+
+
+
+
+
+
+
+ ©{new Date().getFullYear()} All rights reserved, USSF Portal
+
+
}
/>
)
diff --git a/src/components/PageNav/PageNav.tsx b/src/components/PageNav/PageNav.tsx
index bca9447f5..262e503af 100644
--- a/src/components/PageNav/PageNav.tsx
+++ b/src/components/PageNav/PageNav.tsx
@@ -40,7 +40,7 @@ const PageNav = () => {
))
return (
-