diff --git a/sites/public/src/components/shared/CustomSiteFooter.module.scss b/sites/public/src/components/shared/CustomSiteFooter.module.scss index 6c19ca84983..8ce8f44b8e5 100644 --- a/sites/public/src/components/shared/CustomSiteFooter.module.scss +++ b/sites/public/src/components/shared/CustomSiteFooter.module.scss @@ -27,6 +27,9 @@ flex-direction: column; align-items: flex-start; margin: auto; + a { + text-decoration: none; + } } .icon-container { @@ -74,9 +77,10 @@ } .text-container { - display: flex; - flex-direction: column; margin-block-end: var(--seeds-s4); + a { + text-decoration: underline; + } } .text-container:last-of-type { diff --git a/sites/public/src/components/shared/CustomSiteFooter.tsx b/sites/public/src/components/shared/CustomSiteFooter.tsx index fd78e1d35f8..30119f1f1bf 100644 --- a/sites/public/src/components/shared/CustomSiteFooter.tsx +++ b/sites/public/src/components/shared/CustomSiteFooter.tsx @@ -1,49 +1,70 @@ import React from "react" -import Link from "next/link" -import { t } from "@bloom-housing/ui-components" +import { Link } from "@bloom-housing/ui-seeds" import MaxWidthLayout from "../../layouts/max-width" +import { + FooterContent, + FooterLinks, + getGenericFooterLinksContent, + getGenericFooterTextContent, +} from "../../static_content/generic_footer_content" +import { + getJurisdictionFooterLinksContent, + getJurisdictionFooterTextContent, +} from "../../static_content/jurisdiction_footer_content" import styles from "./CustomSiteFooter.module.scss" const CustomSiteFooter = () => { + const textContent: FooterContent | null = + getJurisdictionFooterTextContent() || getGenericFooterTextContent() + const footerLinksContent: FooterLinks | null = + getJurisdictionFooterLinksContent() || getGenericFooterLinksContent() + + const showContentFooter = textContent.logo || textContent.textSections?.length > 0 + const showLinksFooter = footerLinksContent.links?.length > 0 || footerLinksContent.cityString + + if (!showContentFooter && !showLinksFooter) return <> + return ( ) } diff --git a/sites/public/src/static_content/generic_footer_content.tsx b/sites/public/src/static_content/generic_footer_content.tsx new file mode 100644 index 00000000000..a111e6f1b8e --- /dev/null +++ b/sites/public/src/static_content/generic_footer_content.tsx @@ -0,0 +1,51 @@ +import { Link } from "@bloom-housing/ui-seeds" +import { t } from "@bloom-housing/ui-components" + +export type FooterContent = { + textSections: React.ReactNode[] + logo?: { + logoSrc: string + logoAltText?: string + logoUrl?: string + } +} + +export type FooterLinks = { + links: { + text: string + href: string + }[] + cityString?: string +} + +export const getGenericFooterTextContent = (): FooterContent => { + return { + textSections: [ + <> + {t("footer.content.projectOf")}{" "} + Mayor's Office of Housing Development{" "} + , + <> +

{t("footer.content.applicationQuestions")}

+

{t("footer.content.programQuestions")}

+ , + ], + logo: { + logoSrc: "/images/default-housing-logo.svg", + logoAltText: "Jurisdiction Logo", + logoUrl: "/", + }, + } +} + +export const getGenericFooterLinksContent = (): FooterLinks => { + return { + links: [ + { text: t("footer.giveFeedback"), href: "/" }, + { text: t("footer.contact"), href: "/" }, + { text: t("pageTitle.privacy"), href: "/privacy" }, + { text: t("pageTitle.disclaimer"), href: "/disclaimer" }, + ], + cityString: t("footer.copyright"), + } +} diff --git a/sites/public/src/static_content/jurisdiction_footer_content.tsx b/sites/public/src/static_content/jurisdiction_footer_content.tsx new file mode 100644 index 00000000000..3b9eb16c154 --- /dev/null +++ b/sites/public/src/static_content/jurisdiction_footer_content.tsx @@ -0,0 +1,9 @@ +import { FooterContent, FooterLinks } from "./generic_footer_content" + +export const getJurisdictionFooterTextContent = (): FooterContent => { + return null +} + +export const getJurisdictionFooterLinksContent = (): FooterLinks => { + return null +}