diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 823def224..80ddd0a6c 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,3 +1,9 @@ +## July 31, 2024 + +- **Feature** New footer (public and admin) [🎟️ DESENG-662](https://citz-gdx.atlassian.net/browse/DESENG-662) + - Implemented new footer design for desktop and mobile viewports. + - Addressed some issues with z-index between footer and side nav. + ## July 30, 2024 - **Feature** New admin header [🎟️ DESENG-660](https://citz-gdx.atlassian.net/browse/DESENG-660) diff --git a/met-web/src/assets/images/BritishColumbiaLogoDarkCropped.svg b/met-web/src/assets/images/BritishColumbiaLogoDarkCropped.svg new file mode 100644 index 000000000..f3b562f5c --- /dev/null +++ b/met-web/src/assets/images/BritishColumbiaLogoDarkCropped.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/met-web/src/components/feedback/FeedbackModal/index.tsx b/met-web/src/components/feedback/FeedbackModal/index.tsx index c06d02666..19e497d19 100644 --- a/met-web/src/components/feedback/FeedbackModal/index.tsx +++ b/met-web/src/components/feedback/FeedbackModal/index.tsx @@ -15,10 +15,10 @@ import { createFeedback } from 'services/feedbackService'; import { openNotification } from 'services/notificationService/notificationSlice'; import { useAppDispatch } from 'hooks'; import { customRatings, commentTypes } from './constants'; -import { ZIndex } from 'styles/Theme'; import { useAppTranslation } from 'hooks'; import { Button, IconButton, CustomTextField } from 'components/common/Input'; import { useTheme } from '@mui/material/styles'; +import { ZIndex } from 'styles/Theme'; export const FeedbackModal = () => { const { t: translate } = useAppTranslation(); @@ -94,8 +94,8 @@ export const FeedbackModal = () => { bottom: bottomSpacing, right: rightSpacing, transform: 'rotate(-90deg)', - zIndex: ZIndex.footer + 1, transformOrigin: 'bottom right', + zIndex: ZIndex.feedback, }} > { + return >; +}; + +const SocialLinkIcon = ({ iconLink, fontAwesomeIcon }: SocialLinkIconProps) => { + return ( + + + + ); +}; const Footer = () => { const baseURL = getBaseUrl(); const { t: translate } = useAppTranslation(); const isLoggedIn = useAppSelector((state) => state.user.authentication.authenticated); + const isMediumScreenOrLarger: boolean = useMediaQuery((theme: Theme) => theme.breakpoints.up('md')); + const linkStyles = { + color: Palette.text.primary, + textDecoration: 'none', + '&:hover': { color: Palette.primary.light }, + }; return ( - + + {/* Footer acknowledgement container */} - {translate('footer.body')} +

{translate('footer.body')}

- + + {/* Footer main container */} + - - + - - - {translate('footer.connectWithUs')} - + + {/* Footer accessibility paragraph and link */} +

{translate('footer.statement')}

+ + + + + {translate('footer.accessibility')} + + + +
+ + {/* Footer more info */} - + {translate('footer.moreInfo')} - - - - {translate('footer.home')} + + {translate('footer.aboutEngageBC')} + - - - - {translate('footer.accessibility')} - - - - + {translate('footer.aboutGov')} + - - - - {translate('footer.copyright')} + + + + {/* Footer connect with us */} + + + {translate('footer.connectWithUs')} + + {translate('footer.contactInformation')} + - - - - {translate('footer.disclaimer')} + + {translate('footer.serviceCentres')} + - + + + + + + + + + + + {/* Footer divider */} + + + + + {/* Footer copyright date and admin login */} + +

{translate('footer.copyrightNotice')}

- + { event.preventDefault(); UserService.doLogin(baseURL); }} + sx={linkStyles} > {translate('footer.login')} + - - + + + {/* Footer copyright, privacy, and disclaimer links */} + + + + {translate('footer.copyright')} + + {translate('footer.privacy')} - -
- - - - - - - - + + {translate('footer.disclaimer')} + - - {translate('footer.copyrightNotice')} -
); diff --git a/met-web/src/components/layout/Footer/types.ts b/met-web/src/components/layout/Footer/types.ts new file mode 100644 index 000000000..3c5d51c3b --- /dev/null +++ b/met-web/src/components/layout/Footer/types.ts @@ -0,0 +1,6 @@ +import { IconDefinition } from '@fortawesome/fontawesome-svg-core'; + +export interface SocialLinkIconProps { + iconLink: string; + fontAwesomeIcon: IconDefinition; +} diff --git a/met-web/src/components/layout/SideNav/SideNav.tsx b/met-web/src/components/layout/SideNav/SideNav.tsx index 5292b002b..5214c09c0 100644 --- a/met-web/src/components/layout/SideNav/SideNav.tsx +++ b/met-web/src/components/layout/SideNav/SideNav.tsx @@ -14,7 +14,7 @@ import { } from '@mui/material'; import { useLocation } from 'react-router-dom'; import { Routes, Route } from './SideNavElements'; -import { DarkTheme, Palette, colors } from '../../../styles/Theme'; +import { DarkTheme, Palette, colors, ZIndex } from '../../../styles/Theme'; import { SideNavProps, DrawerBoxProps } from './types'; import { When } from 'react-if'; import { useAppSelector } from 'hooks'; @@ -135,6 +135,7 @@ const DrawerBox = ({ isMediumScreenOrLarger, setOpen }: DrawerBoxProps) => { borderBottomRightRadius: '16px', boxShadow: '0 5px 10px rgba(0, 0, 0, 0.4)', mt: '5.625rem', + zIndex: ZIndex.sideNav, }} > @@ -159,9 +160,11 @@ const SideNav = ({ open, setOpen, isMediumScreen }: SideNavProps) => { border: 'none', width: '300px', boxSizing: 'border-box', - backgroundColor: Palette.background.default, + background: 'transparent', + height: '43.75rem', }, }} + hideBackdrop elevation={0} variant="permanent" sx={{ diff --git a/met-web/src/locales/common.json b/met-web/src/locales/common.json index 1d426e0ef..981f36105 100644 --- a/met-web/src/locales/common.json +++ b/met-web/src/locales/common.json @@ -22,14 +22,18 @@ "connectWithUs": "CONNECT WITH US", "moreInfo": "MORE INFO", "home": "Home", - "accessibility": "Accessibility", + "accessibility": "Accessibility & Inclusion", "aboutGov": "About gov.bc.ca", "copyright": "Copyright", "disclaimer": "Disclaimer", "login": "Admin Login", "privacy": "Privacy", "copyrightNotice": "© 2023 Government of British Columbia", - "defaultLogo": "British Columbia Logo" + "defaultLogo": "British Columbia Logo", + "serviceCentres": "Service Centres", + "contactInformation": "Contact Information", + "aboutEngageBC": "About engageBC", + "statement": "We are committed to providing accessible and inclusive digital experiences and help in 120 languages including TDD to British Columbians." }, "feedback": { "websiteFeedback": "Website Feedback", diff --git a/met-web/src/styles/Theme.ts b/met-web/src/styles/Theme.ts index 8d7c7a044..418b5da0d 100644 --- a/met-web/src/styles/Theme.ts +++ b/met-web/src/styles/Theme.ts @@ -116,6 +116,10 @@ export const colors = { tint: '#F4E1E2', }, }, + acknowledgement: { + border: '#fcba19', + background: '#292929', + }, }; export const Palette = { @@ -170,6 +174,11 @@ export const Palette = { icons: { surveyReady: colors.notification.success.shade, }, + acknowledgement: { + font: colors.surface.gray[10], + background: colors.acknowledgement.background, + border: colors.acknowledgement.border, + }, }; export const BaseTheme = createTheme({ @@ -437,5 +446,7 @@ export const DarkTheme = createTheme({ }); export const ZIndex = { - footer: BaseTheme.zIndex.drawer + 1, + feedback: '1002', + sideNav: '1001', + footer: '1000', };