diff --git a/components/Footer/Footer.tsx b/components/Footer/Footer.tsx
index 911a9451e..e65daf067 100644
--- a/components/Footer/Footer.tsx
+++ b/components/Footer/Footer.tsx
@@ -208,6 +208,9 @@ const AboutLinks = () => {
{t("links.mapleAI")}
+
+ {t("links.testimony21stCentury")}
+
>
)
}
diff --git a/components/Navbar.tsx b/components/Navbar.tsx
index b9f4b3bd1..3d49d7d49 100644
--- a/components/Navbar.tsx
+++ b/components/Navbar.tsx
@@ -8,6 +8,7 @@ import { Col, Container, Dropdown, Nav, Navbar, NavDropdown } from "./bootstrap"
import {
Avatar,
+ NavbarLink21stCentury,
NavbarLinkAI,
NavbarLinkBills,
NavbarLinkEditProfile,
@@ -87,6 +88,7 @@ const MobileNav: React.FC> = () => {
+
@@ -222,6 +224,7 @@ const DesktopNav: React.FC> = () => {
+
diff --git a/components/NavbarComponents.tsx b/components/NavbarComponents.tsx
index 97d545deb..ace009e1c 100644
--- a/components/NavbarComponents.tsx
+++ b/components/NavbarComponents.tsx
@@ -32,6 +32,27 @@ export const Avatar = () => {
)
}
+export const NavbarLink21stCentury: React.FC<
+ React.PropsWithChildren<{
+ handleClick?: any
+ other?: any
+ }>
+> = ({ handleClick, other }) => {
+ const isMobile = useMediaQuery("(max-width: 768px)")
+ const { t } = useTranslation(["common", "auth"])
+ return (
+
+
+ {t("navigation.testimony21stCentury")}
+
+
+ )
+}
+
export const NavbarLinkAI: React.FC<
React.PropsWithChildren<{
handleClick?: any
diff --git a/components/about/Testimony21stCentury/Testimony21stCentury.tsx b/components/about/Testimony21stCentury/Testimony21stCentury.tsx
new file mode 100644
index 000000000..21bb0c165
--- /dev/null
+++ b/components/about/Testimony21stCentury/Testimony21stCentury.tsx
@@ -0,0 +1,135 @@
+import { useTranslation } from "next-i18next"
+import { Container, Row, Col } from "../../bootstrap"
+import {
+ MemberItem,
+ Divider,
+ DescrContainer,
+ NameContainer,
+ PageTitle,
+ PageDescr,
+ SectionContainer,
+ SectionTitle
+} from "../../shared/CommonComponents"
+
+const Testimony21stCentury = () => {
+ const { t } = useTranslation("testimony21stCentury")
+ const whiteSpace = "\u00A0"
+
+ return (
+
+
+
+ {t("title")}
+
+
+
+
+
+ {whiteSpace}
+
+ {t("section1.desc1")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section2.title")}
+
+
+ {t("section2.desc1Main")}
+
+ {/*
+ */}
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section3.title")}
+
+
+ {t("section3.desc1Main")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section4.title")}
+
+
+ {t("section4.desc1Main")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section5.title")}
+
+
+ {t("section5.desc1Main")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section6.title")}
+
+
+ {t("section6.desc1Main")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section7.title")}
+
+
+ {t("section7.desc1Main")}
+
+
+
+
+
+
+
+
+ {whiteSpace}
+ {t("section8.title")}
+
+
+ {t("section8.desc1Main")}
+
+
+
+
+
+ )
+}
+
+export default Testimony21stCentury
diff --git a/pages/about/testimony-in-the-21st-century.tsx b/pages/about/testimony-in-the-21st-century.tsx
new file mode 100644
index 000000000..219192dd2
--- /dev/null
+++ b/pages/about/testimony-in-the-21st-century.tsx
@@ -0,0 +1,21 @@
+import { createPage } from "../../components/page"
+import { createGetStaticTranslationProps } from "components/translations"
+import Testimony21stCentury from "components/about/Testimony21stCentury/Testimony21stCentury"
+
+export default createPage({
+ title: "Testimony in the 21st Century",
+ Page: () => {
+ return (
+
+
+
+ )
+ }
+})
+
+export const getStaticProps = createGetStaticTranslationProps([
+ "auth",
+ "common",
+ "footer",
+ "testimony21stCentury"
+])
diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index 1db9e1fda..2d5da578a 100644
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -56,6 +56,7 @@
"maple_abbr": "MAPLE",
"maple_fullName": "Massachusetts Platform for Legislative Engagement",
"navigation": {
+ "testimony21stCentury": "Testimony in the 21st Century",
"accountProfile": "Profile",
"additionalResources": "Additional Resources",
"ai": "How MAPLE Uses AI",
diff --git a/public/locales/en/footer.json b/public/locales/en/footer.json
index 1423b0ee9..5facdab40 100644
--- a/public/locales/en/footer.json
+++ b/public/locales/en/footer.json
@@ -14,6 +14,7 @@
"team": "Team",
"faq": "FAQ",
"mapleAI": "How MAPLE Uses AI",
+ "testimony21stCentury": "Testimony in the 21st Century",
"socials": {
"instagram": "Follow MAPLE on Intagram",
"linkedin":"Follow MAPLE on LinkedIn",
diff --git a/public/locales/en/testimony21stCentury.json b/public/locales/en/testimony21stCentury.json
new file mode 100644
index 000000000..b6afb4256
--- /dev/null
+++ b/public/locales/en/testimony21stCentury.json
@@ -0,0 +1,42 @@
+{
+ "title": "Testimony in the 21st Century",
+ "section1": {
+ "title": "",
+ "desc1": "Despite this being a “testimony” website, we often struggle to define it!"
+ },
+ "section2": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "“Public testimony” used to be the sole avenue for influencing legislation and creating a record of legislative discussions and intent. But not anymore!"
+ },
+ "section3": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "A “tweet” or viral video can influence legislation (and often does), and civic debate has moved from meeting halls to online forums and feeds."
+ },
+ "section4": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "While “public testimony” may seem archaic, its underlying goals remain imperative – influencing legislation and documenting legislative discussions."
+ },
+ "section5": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "Whatever the manifestation of political expression - whether a tweet, post, public comment or testimony - these expressions are essential."
+ },
+ "section6": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "Perhaps just as essential is the space that elicits, houses and shares those political expressions."
+ },
+ "section7": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "We, at MAPLE, do not take this responsibility lightly, and neither should you."
+ },
+ "section8": {
+ "title": "",
+ "desc1Title": "",
+ "desc1Main": "However, you should not be intimidated by the phrase “public testimony”. It should not conjure much more uncomfortability than sharing a tweet or post."
+ }
+}