From f17e1346f052f56c66f88c857b82b87defd502d2 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:04:04 +0300 Subject: [PATCH 1/8] Rename getMembers file to get-members --- .../src/lib/data/utils/{getMembers.js => get-members.js} | 0 apps/climatemappedafrica/src/lib/data/utils/index.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/climatemappedafrica/src/lib/data/utils/{getMembers.js => get-members.js} (100%) diff --git a/apps/climatemappedafrica/src/lib/data/utils/getMembers.js b/apps/climatemappedafrica/src/lib/data/utils/get-members.js similarity index 100% rename from apps/climatemappedafrica/src/lib/data/utils/getMembers.js rename to apps/climatemappedafrica/src/lib/data/utils/get-members.js diff --git a/apps/climatemappedafrica/src/lib/data/utils/index.js b/apps/climatemappedafrica/src/lib/data/utils/index.js index 553889702..52ea9d7ef 100644 --- a/apps/climatemappedafrica/src/lib/data/utils/index.js +++ b/apps/climatemappedafrica/src/lib/data/utils/index.js @@ -1,4 +1,4 @@ -export * from "./getMembers"; +export * from "./get-members"; export function imageFromMedia({ alt = null, url = null }) { return { alt, src: url }; From d2f10f8607d75774199c25eaba50a7e84defce79 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:04:49 +0300 Subject: [PATCH 2/8] Clean up Card --- apps/climatemappedafrica/src/components/Card/ActionArea.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/climatemappedafrica/src/components/Card/ActionArea.js b/apps/climatemappedafrica/src/components/Card/ActionArea.js index d6f547012..0e8c2d68f 100644 --- a/apps/climatemappedafrica/src/components/Card/ActionArea.js +++ b/apps/climatemappedafrica/src/components/Card/ActionArea.js @@ -43,10 +43,4 @@ ActionArea.propTypes = { onClick: PropTypes.func, }; -ActionArea.defaultProps = { - children: undefined, - href: undefined, - onClick: undefined, -}; - export default ActionArea; From 36ed00734a18db0dfffd1151830cf3f542cd9f64 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:05:15 +0300 Subject: [PATCH 3/8] Fix team member key --- apps/climatemappedafrica/src/components/AboutTeam/AboutTeam.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/climatemappedafrica/src/components/AboutTeam/AboutTeam.js b/apps/climatemappedafrica/src/components/AboutTeam/AboutTeam.js index cfbb83f7e..f5167ad09 100644 --- a/apps/climatemappedafrica/src/components/AboutTeam/AboutTeam.js +++ b/apps/climatemappedafrica/src/components/AboutTeam/AboutTeam.js @@ -76,7 +76,7 @@ function AboutTeam({ title, members: membersProp, ...props }) { key={uniqueId("team-chunk-")} > {membersChunks.map((member) => ( - + ))} From abfe5171d3040488fb22d2ba907922a17f4c2324 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:05:39 +0300 Subject: [PATCH 4/8] Implement PageHero in the CMS --- .../src/payload/blocks/PageHero.js | 55 +++++++++++++++++++ .../src/payload/collections/Pages.js | 3 +- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 apps/climatemappedafrica/src/payload/blocks/PageHero.js diff --git a/apps/climatemappedafrica/src/payload/blocks/PageHero.js b/apps/climatemappedafrica/src/payload/blocks/PageHero.js new file mode 100644 index 000000000..fde2b7fbd --- /dev/null +++ b/apps/climatemappedafrica/src/payload/blocks/PageHero.js @@ -0,0 +1,55 @@ +import { slateEditor } from "@payloadcms/richtext-slate"; + +import image from "../fields/image"; +import richText from "../fields/richText"; + +const PageHero = { + slug: "page-hero", + fields: [ + { + name: "overline", + label: { + en: "Overline", + }, + type: "text", + required: true, + localized: true, + }, + richText({ + name: "title", + label: { + en: "Title", + }, + editor: slateEditor({ + admin: { + elements: [], + leaves: ["bold"], + }, + }), + required: true, + localized: true, + }), + richText({ + name: "subtitle", + label: { + en: "Subtitle", + }, + editor: slateEditor({ + admin: { + elements: ["link"], + leaves: ["bold", "code", "italic", "underline"], + }, + }), + required: true, + localized: true, + }), + image({ + overrides: { + name: "background", + required: true, + }, + }), + ], +}; + +export default PageHero; diff --git a/apps/climatemappedafrica/src/payload/collections/Pages.js b/apps/climatemappedafrica/src/payload/collections/Pages.js index 666cfd805..b12ef87f3 100644 --- a/apps/climatemappedafrica/src/payload/collections/Pages.js +++ b/apps/climatemappedafrica/src/payload/collections/Pages.js @@ -1,3 +1,4 @@ +import PageHero from "../blocks/PageHero"; import Summary from "../blocks/Summary"; import Team from "../blocks/Team"; import fullTitle from "../fields/fullTitle"; @@ -29,7 +30,7 @@ const Pages = { { name: "blocks", type: "blocks", - blocks: [Summary, Team], + blocks: [PageHero, Summary, Team], localized: true, admin: { initCollapsed: true, From 7fd8d6be6c0aa0166f109a897f1c38d8a93eb3a5 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:06:13 +0300 Subject: [PATCH 5/8] Load PageHero data from CMS --- .../src/lib/data/blockify/index.js | 2 ++ .../src/lib/data/blockify/page-hero.js | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 apps/climatemappedafrica/src/lib/data/blockify/page-hero.js diff --git a/apps/climatemappedafrica/src/lib/data/blockify/index.js b/apps/climatemappedafrica/src/lib/data/blockify/index.js index af50c6631..07d61107f 100644 --- a/apps/climatemappedafrica/src/lib/data/blockify/index.js +++ b/apps/climatemappedafrica/src/lib/data/blockify/index.js @@ -1,6 +1,8 @@ +import pageHero from "./page-hero"; import team from "./team"; const propsifyBlockBySlug = { + "page-hero": pageHero, team, }; diff --git a/apps/climatemappedafrica/src/lib/data/blockify/page-hero.js b/apps/climatemappedafrica/src/lib/data/blockify/page-hero.js new file mode 100644 index 000000000..0a732a785 --- /dev/null +++ b/apps/climatemappedafrica/src/lib/data/blockify/page-hero.js @@ -0,0 +1,16 @@ +import { imageFromMedia } from "@/climatemappedafrica/lib/data/utils"; + +async function pageHero(block) { + const { background: media, ...others } = block; + let background = null; + if (media) { + background = imageFromMedia(media); + } + return { + ...others, + background, + slug: block.blockType, + }; +} + +export default pageHero; From 66eccbcb05aa7b098da6622beee2e7f65d309930 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Mon, 14 Oct 2024 21:06:35 +0300 Subject: [PATCH 6/8] Implement PageHero on the front-end --- .../src/components/PageHero/PageHero.js | 79 +++++++++++++++++ .../src/components/PageHero/PageHero.snap.js | 68 ++++++++++++++ .../src/components/PageHero/PageHero.test.js | 87 ++++++++++++++++++ .../src/components/PageHero/index.js | 3 + .../src/components/PageHero/useStyles.js | 16 ++++ .../src/components/RichHeader/RichHeader.js | 88 +++++++++++++++++++ .../components/RichHeader/RichHeader.snap.js | 40 +++++++++ .../components/RichHeader/RichHeader.test.js | 83 +++++++++++++++++ .../src/components/RichHeader/index.js | 3 + .../src/pages/[[...slug]].js | 7 +- 10 files changed, 472 insertions(+), 2 deletions(-) create mode 100644 apps/climatemappedafrica/src/components/PageHero/PageHero.js create mode 100644 apps/climatemappedafrica/src/components/PageHero/PageHero.snap.js create mode 100644 apps/climatemappedafrica/src/components/PageHero/PageHero.test.js create mode 100644 apps/climatemappedafrica/src/components/PageHero/index.js create mode 100644 apps/climatemappedafrica/src/components/PageHero/useStyles.js create mode 100644 apps/climatemappedafrica/src/components/RichHeader/RichHeader.js create mode 100644 apps/climatemappedafrica/src/components/RichHeader/RichHeader.snap.js create mode 100644 apps/climatemappedafrica/src/components/RichHeader/RichHeader.test.js create mode 100644 apps/climatemappedafrica/src/components/RichHeader/index.js diff --git a/apps/climatemappedafrica/src/components/PageHero/PageHero.js b/apps/climatemappedafrica/src/components/PageHero/PageHero.js new file mode 100644 index 000000000..e9b440488 --- /dev/null +++ b/apps/climatemappedafrica/src/components/PageHero/PageHero.js @@ -0,0 +1,79 @@ +import { Box, Grid } from "@mui/material"; +import PropTypes from "prop-types"; +import React from "react"; + +import useStyles from "./useStyles"; + +import RichHeader from "@/climatemappedafrica/components/RichHeader"; +import Section from "@/climatemappedafrica/components/Section"; + +function AboutHero({ background, overline, subtitle, title, ...props }) { + const classes = useStyles(props); + let backgroundSx; + if (background?.src?.length) { + backgroundSx = { + background: `url('${background.src}')`, + backgroundSize: "cover", + backgroundPosition: "center", + }; + } + + return ( + +
+ + + + {title} + + + +
+
+ ); +} + +AboutHero.propTypes = { + background: PropTypes.shape({}), + overline: PropTypes.string, + subtitle: PropTypes.arrayOf(PropTypes.shape({})), + title: PropTypes.arrayOf(PropTypes.shape({})), +}; + +export default AboutHero; diff --git a/apps/climatemappedafrica/src/components/PageHero/PageHero.snap.js b/apps/climatemappedafrica/src/components/PageHero/PageHero.snap.js new file mode 100644 index 000000000..c9ef55b49 --- /dev/null +++ b/apps/climatemappedafrica/src/components/PageHero/PageHero.snap.js @@ -0,0 +1,68 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders unchanged 1`] = ` +
+
+
+
+
+
+
+ About +
+
+

+ Project + + background + + and team +

+
+
+
+ Learn more about + + the team + + behind the project, + + the development stages + + and how you can help improve + + ClimateMap + + . +
+
+
+
+
+
+
+
+`; diff --git a/apps/climatemappedafrica/src/components/PageHero/PageHero.test.js b/apps/climatemappedafrica/src/components/PageHero/PageHero.test.js new file mode 100644 index 000000000..85994fd80 --- /dev/null +++ b/apps/climatemappedafrica/src/components/PageHero/PageHero.test.js @@ -0,0 +1,87 @@ +import { createRender } from "@commons-ui/testing-library"; +import React from "react"; + +import PageHero from "."; + +import theme from "@/climatemappedafrica/theme"; + +// eslint-disable-next-line testing-library/render-result-naming-convention +const render = createRender({ theme }); + +const defaultProps = { + overline: "About", + title: [ + { + children: [ + { + text: "Project ", + children: null, + }, + { + text: "background", + bold: true, + children: null, + }, + { + text: " and team", + children: null, + }, + ], + }, + ], + subtitle: [ + { + children: [ + { + text: "Learn more about ", + children: null, + }, + { + text: "the team", + bold: true, + children: null, + }, + { + text: " behind the project,", + children: null, + }, + { + text: " the development stages", + italic: true, + children: null, + }, + { + text: " and how you can help improve ", + children: null, + }, + { + children: [ + { + text: "ClimateMap", + children: null, + }, + ], + linkType: "custom", + type: "link", + url: "/", + href: "/", + }, + { + text: ".", + children: null, + }, + ], + }, + ], + background: { + alt: "Mt. Kenya", + src: "/media/sat-mtKenya-2@2x.jpg", + }, +}; + +describe("", () => { + it("renders unchanged", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); +}); diff --git a/apps/climatemappedafrica/src/components/PageHero/index.js b/apps/climatemappedafrica/src/components/PageHero/index.js new file mode 100644 index 000000000..21e049ca2 --- /dev/null +++ b/apps/climatemappedafrica/src/components/PageHero/index.js @@ -0,0 +1,3 @@ +import PageHero from "./PageHero"; + +export default PageHero; diff --git a/apps/climatemappedafrica/src/components/PageHero/useStyles.js b/apps/climatemappedafrica/src/components/PageHero/useStyles.js new file mode 100644 index 000000000..579cd75b2 --- /dev/null +++ b/apps/climatemappedafrica/src/components/PageHero/useStyles.js @@ -0,0 +1,16 @@ +import makeStyles from "@mui/styles/makeStyles"; + +const useStyles = makeStyles(({ breakpoints, typography }) => ({ + section: { + zIndex: 1, + position: "relative", + paddingBottom: `${typography.pxToRem(70)} !important`, + paddingTop: `${typography.pxToRem(70)} !important`, + [breakpoints.up("lg")]: { + paddingBottom: `${typography.pxToRem(100)} !important`, + paddingTop: `${typography.pxToRem(100)} !important`, + }, + }, +})); + +export default useStyles; diff --git a/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js new file mode 100644 index 000000000..e514a8820 --- /dev/null +++ b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js @@ -0,0 +1,88 @@ +import { RichTypography } from "@commons-ui/core"; +import { RichText } from "@commons-ui/payload"; +import { Box } from "@mui/material"; +import PropTypes from "prop-types"; +import React from "react"; + +const Header = React.forwardRef(function Header(props, ref) { + const { + OverlineProps, + SubtitleProps, + TitleProps, + children, + overline, + subtitle, + sx, + ...others + } = props; + + return ( + + + {overline} + + + ({ + textDecorationColor: theme.palette.text.primary, + }), + LinkProps: { + color: "text.primary", + sx: { + textDecoration: "underline", + }, + }, + ...SubtitleProps?.typographyProps, + }} + elements={subtitle} + sx={{ + mt: 2.5, + ...SubtitleProps?.sx, + }} + /> + + ); +}); + +Header.propTypes = { + className: PropTypes.string, + overline: PropTypes.string, + subtitle: PropTypes.arrayOf(PropTypes.shape({})), +}; + +export default Header; diff --git a/apps/climatemappedafrica/src/components/RichHeader/RichHeader.snap.js b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.snap.js new file mode 100644 index 000000000..c9622ab92 --- /dev/null +++ b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.snap.js @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders unchanged 1`] = ` +
+
+
+ About +
+
+
+ Learn more about + + the team + + behind the project, + + the development stages + + and how you can help improve + + ClimateMap + + . +
+
+
+
+`; diff --git a/apps/climatemappedafrica/src/components/RichHeader/RichHeader.test.js b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.test.js new file mode 100644 index 000000000..634a8acdb --- /dev/null +++ b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.test.js @@ -0,0 +1,83 @@ +import { createRender } from "@commons-ui/testing-library"; +import React from "react"; + +import RichHeader from "."; + +import theme from "@/climatemappedafrica/theme"; + +// eslint-disable-next-line testing-library/render-result-naming-convention +const render = createRender({ theme }); + +const defaultProps = { + overline: "About", + title: [ + { + children: [ + { + text: "Project ", + children: null, + }, + { + text: "background", + bold: true, + children: null, + }, + { + text: " and team", + children: null, + }, + ], + }, + ], + subtitle: [ + { + children: [ + { + text: "Learn more about ", + children: null, + }, + { + text: "the team", + bold: true, + children: null, + }, + { + text: " behind the project,", + children: null, + }, + { + text: " the development stages", + italic: true, + children: null, + }, + { + text: " and how you can help improve ", + children: null, + }, + { + children: [ + { + text: "ClimateMap", + children: null, + }, + ], + linkType: "custom", + type: "link", + url: "/", + href: "/", + }, + { + text: ".", + children: null, + }, + ], + }, + ], +}; + +describe("", () => { + it("renders unchanged", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); +}); diff --git a/apps/climatemappedafrica/src/components/RichHeader/index.js b/apps/climatemappedafrica/src/components/RichHeader/index.js new file mode 100644 index 000000000..7d9e46155 --- /dev/null +++ b/apps/climatemappedafrica/src/components/RichHeader/index.js @@ -0,0 +1,3 @@ +import RichHeader from "./RichHeader"; + +export default RichHeader; diff --git a/apps/climatemappedafrica/src/pages/[[...slug]].js b/apps/climatemappedafrica/src/pages/[[...slug]].js index 566308264..96fc28c94 100644 --- a/apps/climatemappedafrica/src/pages/[[...slug]].js +++ b/apps/climatemappedafrica/src/pages/[[...slug]].js @@ -3,10 +3,12 @@ import { SWRConfig } from "swr"; import AboutTeam from "@/climatemappedafrica/components/AboutTeam"; import Page from "@/climatemappedafrica/components/Page"; +import PageHero from "@/climatemappedafrica/components/PageHero"; import Summary from "@/climatemappedafrica/components/Summary"; import { getPageServerSideProps } from "@/climatemappedafrica/lib/data"; const componentsBySlugs = { + "page-hero": PageHero, summary: Summary, team: AboutTeam, }; @@ -26,11 +28,12 @@ function Index({ blocks, fallback, ...props }) { {blocks.map((block) => { - const Component = componentsBySlugs[block.slug]; + const Component = componentsBySlugs[block.blockType]; if (!Component) { return null; } - return ; + // Just in case same block appears twice on the same page, use id + return ; })} From 36769ceaa5ab14e5aca59b96dd399df38f0ae8aa Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Tue, 15 Oct 2024 09:40:42 +0300 Subject: [PATCH 7/8] Add thumbnails to blocks --- .../public/images/payload/blocks/page-hero.jpg | Bin 0 -> 8546 bytes .../public/images/payload/blocks/summary.jpg | Bin 0 -> 2907 bytes .../public/images/payload/blocks/team.jpg | Bin 0 -> 6461 bytes .../climatemappedafrica/src/pages/[[...slug]].js | 2 +- .../src/payload/blocks/PageHero.js | 4 ++++ .../src/payload/blocks/Summary.js | 1 + .../src/payload/blocks/Team.js | 1 + 7 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 apps/climatemappedafrica/public/images/payload/blocks/page-hero.jpg create mode 100644 apps/climatemappedafrica/public/images/payload/blocks/summary.jpg create mode 100644 apps/climatemappedafrica/public/images/payload/blocks/team.jpg diff --git a/apps/climatemappedafrica/public/images/payload/blocks/page-hero.jpg b/apps/climatemappedafrica/public/images/payload/blocks/page-hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d68e89bb5b8473699d7ea5d8233766c205d3cd20 GIT binary patch literal 8546 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 literal 0 HcmV?d00001 diff --git a/apps/climatemappedafrica/public/images/payload/blocks/team.jpg b/apps/climatemappedafrica/public/images/payload/blocks/team.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4af575cafc4796d8efa2594564446fce19540feb GIT binary patch literal 6461 zcmb6-2Q*w=w|9&>NHC*DA563`Y7o8GAZmo@jNV0x7EwcV!4NHpHWIx?uhB=4Afk7o zMhWpI`TpO2m`=) zc)uqO@NtuXn1BEup8!HcL`X~qAtNJ&kdl&Lp`swaLV1Ohl!AtW5(=ZHrY5^eOGg8v zqk>VxKwz9cJ^={<0SSzplpOXS!(}@_NeqMly6mu!&UPt7!(7`|%(3}h;Og)+Go}!G!aNjnLH{mZ#dF%{No>?Gug@FG zt?REwzX};%nVWbbZIhSO@Rcpnk(*_tCZ>N1qh>?XZbyhSDPCH9V_2LqxvM!y{GOU} zOkhcg9O(3?&3JW73+*aw@aXHsub`{Gx=dxVd?n1^Xd_BpXWt^9T4hi8X^4uHF|EC2 zERa>aSLzUU7BF>CCqTWU022liH zK#!(E`?YiqJHlz6Vmtn)8~TP2lkR6Y{8y|RL6IRQ<>g^%6GnX=kMP39wJeJ z?}JU^zT?gAHqMcIQk=*P&f|wZMv7)7z&;@lhg8H}=0vrgWTwgi#7Z7dlAd$uY6~ay zI(!K`#5gAfk%2CO#2InXIyYyJ znTh#&Ooz8w_)0DLpxd>K|CB8=I=!+*Oyp5ci3ngn1fBhSLbh~G4KMVI&kRwuFV|pH zYnge@%-8vt11{fLx)vb^^M9hMY1WC{#r~Myv8f z0syyIdqCSs<#e?=ifhxt9OZegny_2!b_FC!lBTk%vZmO=|5#N@v(Dq;GsXrHeSCdCuP6VN zf;~g~V!GXycMM<`)5c57%cdt|j$i20@Fw_0hN|*}QX7{>(%2;l8^nXeksF6EPU3i)g5GVk z-+>G+X*gIXl=*9$eeHA_NPj4xcV1M!uCS@KbZm63Ipn#*txlJtfm!%F_tMdH>!X-# zZmaVMg%lGER`M-bzhx-)IJ%LCBQwh6K-w?0-jgSsMr-Gbt(gEu>i*L9@>*5Mn0Oqz zHZVz}b0yA}CQf-EQ4^E;>Y^<6+u*>%5Aa{`=n`v2gnhh2ox#RPO@Wo$vc6aD%Xdze zX7#7WUYb&R#m2B}nO;@{k1B%sAD$OhaL**@v(>~jzpjYw;gu<0NMh$55c76dqo-u6`l#2ykYw=z|>G%cF0uAdL5N7Z2%HU@LIRAYWgI#Q?t!6i*Q{& zRD8Jn`zqo+evm_D)bmygbDsnZCG5i1M14jE2i&(_seD^mk+w*<1Sq@6t;9xV2WnMf z-BhI#X+LrhTIesMTnfL^;u|XMS^LIzc^2#i7rmuQfq7UA-*nLW%2nyLW|HG`*raN_ ze)A2Hrdqfn)j@ING-Yq}$($s$M{j8#D}ER;g_5j^+n#|^FCkoFN(kTWbH8N$>l8q! zgj&cZ8m{OaN3$+6i z^D|^ULaY@$-i?;cYT|k+02^S0Q$Ia!vK{a)$k&iFqEXdB(ZYvJ{T086qMu6dCbd0k z>%fdyXN*6xvg?ru_gfOSXLT68V01r}^<%^jd^fp(fWpZ%&RV|Z{%GX9wdA3*sDq`e z@oRUMwF&n(9+`e1&PO`6VQIILr->K8PN&;C{Xx)_^%*zh9zkQ9J`XaWaFIa3u=?#6 ziF{`(*B<)t+FKd}AViVnvnAt!WL~IvNfN8Jt2JsDp}AcsthMZTmlZ<40@Sk#Hjc&CC6PdJck8$ zg(V3r)tfh?y@PWOMZb#G^YgCD3y(@j`=;m3wc0_!SM5Z0eY4&3M{5b_8GYutEUW{kenVJbb%>=$bOJ-g~!^oSd; zd>w{x;eVko&Kz+0T#*6*fkC)h1)qq3%UTRBT8JsJxyPj9tjnJ0ziEl$uqc z9nK*rteCq?Ag6EHW^Lo;6Pj3#o&QH-Czl2NGU5VfTe|;>44vCtVAVP`pEDHSm_;?X zHGrP>Q2yvtqjn-pT4?k;EBo49QtMv4J-tz^-P2Ga=dWkp_{8{{qO`HwHv{CVk=3t4 z$+aM%R?e2|&c-mCN2ji|v7RALm(;VxyzO1vT_j6&^E2>fP&`vmeU$VM_HqH|L5j;G{on(5{MCd?Gig z!VU_@Tml1&Qc4E}_!?FZrlVLe(Id)IGC!vy?oQN<>L&PE zZs>P1jS9#@rRWx|JF}ZGGilI`yg;9w_+=mOZ&+32$Mv8u1`#q}^hf2)eL^k2WyPoe z)U-f3uU~w{avip3+f8dTmZhIGq#V;orC=j*h3^i;YR9)MxrywBrXSPvop6@Bc~UQ= ztZT;eHl>*!5r^052!pu|HpOx=8k1TQ@!pJEW2ZwHRLvdl*_Gwm#v&q}+7#he69RM4 z%F<19bf=bpfe}DQ@k*4NlDJMJJ^A`LzY^o zvNb+WSQZll@^v$}BY#zQ7d2*C$?!^9Woe;}j#lU97Rg>x1F~L5qU`3CcdJ)%8G(o5 zcQ1j5hihU$1b;dWTo1yA#N~or&yWOMZI@dvr)xPnzxQ`VCrfb&c%72r23SV%|36MS zQ2Hv!`|4*`TszAV6-|nlKuT0#YcKmf1=WIIjsr;VXyS<$XZyiS&(6e52ILFjLziH# zJsL1vIz5>|4(M#$y+0%|NdF4>Nk24uPc9ji#&cCte3OEguP;QB|Lht+A4!5$1@*$O ziNQ=UI9T(=^_PL;GOgA=0pZGu;TN&5Y@EaHuf-=FJU4fr<-UD$w%=dorO$3RbgxKkJDmR|Cti8~_8 z(rT>r76Wy_*^@nelN&p1n98yD1oB8HLK%s-DivrV4IoME> z{LW@KgxZxU4SY@U8|W3X66&7Xr?@NV&=Gaev0!Y}!Bo*#kYR6axJxki>fj+5*qU-u zehgP!v=kkdJBY1(dc;Ar+6{WHs%O~yn&uLiHE&APC~aVND^{KdQuGR8Y)Y!&{>JDg zEQN9HuQL8jh?2r!^WecMW#HlMXjioO(GXGRCy%CtQjKL3rZF<~iEHk9&MTJ|$*nLn zETE(FVUv=0jLy5GWaZb#FRy!fjI^Fk|0Q9qgr3Pv**w-nhYV#mC zGJ0Ru??T5DA8=v3wYekvSe>kYOz&^rp%{?ZG7=hR`+R{7`oZNK7s&w25Tai^4QFCL?nVrxff93Yl{p z1*f_&4umMQ(e$D+k(`siM=EIYZY{&?B_OcPQ8z~&>vOtD3sTtH&28@e{%slE;TV_a z9{Rm0VYhb~wlDPbabQAPb*OKrsq6v4!!boS+?Rn)lBs6q)>T>US)RoXfHQ0I-q%1` z#bE8EQ8Ag(pLPs#ut!9X4?OLj>7Rk!iUk3)OlT&Oz z2u-9+o`b#uo%A1Bhlm#a5YjabZ46jFj2F7{T=V4qkRg#qyuP5wWJD>Y=Dyps2VckA z6C#NScrGifJoqX-Vp)|U>6|_nHO{wkdK5h>R{c70+5_xKbbpQ2uDk-JnCq)U62>6J zBPr7_e&mV0Y8g8}-ZHuWh|P;l^RV1qAq7j1zfvq72qX(!0$iHT=IiRn zLVu6_e^~?>JQDG=RSTS$W^O&_hNvDvY?ny`DO$C|-j!!i=gLc^a zt42{`1_Ur9%P`+WQ1svvHjPnrqu%tFUa0X~^G)5_0}bhkU4c~OGs1|Tt9{!UvsH|N zR{HBA3T|)4HZ!?ajSigBJSJ7I5Pd}4vNj7@^EMOftL(LlhYTK{5?AiWjyGM)zzg4q zDLNTUksiBu+kvw&?Ll1p3Fm9Ty@01$w40AUMRVvioM6V=^cSz_VFdI|XjUGROI5X4 zsXRQ{wqM!X$-56;W_z;GeA_YO(cu>VhOrX#O2b?9os!OsgF!2;H+OwGopM-TIHLEW z+=y}qleLSW8+vVWlw;e(3TRyg0`;(o(DMKB^aQ8DbP45#gh23SdW1nok?+l?CQ0c^ z(Ki&7dm^Bedi;LM>Gb4O-#0}S|8QBImQ$}HrO0o zlT3UVb~1k|o#%JzJ82bq-O*c2BsJczV=hKtmzN1T(oLD{rqR@{VFYPw2(M+dib%V$ zVeT>#S-EY5z~X7su1ME(8ystUN~2SE%oik83?$TT;ixrPiG3@jzCy~2o}7poercJ4 zEpQf*b$hl@rF=C@h(EK8>Nd&V_~Y!+WTV9Nf_w|>OW^&MNg2j_D_14Q2>sknGE0+q z)R0P>c)C*3pn#$vgAzLCHl!v}TMl7wbYsdS#HJ>oP)`gvwz&8k<)Pn0M~kU$EUum( z4%<#s=_eN1*@hw;sU9dMC6+acX_R@8UyEbE$b2N`T6itaj+h`l`L}P$||{?-{Da{!Grr<`X_kwvDpa)D6^?+ ziyE^d-x!R3gr8t*tHj$p0fU4;ltyA%R4FZmC^hkKes=;4qYVG83hIQ)hG`FN8Hg@x$?hiBdItc9&GKKBnqQ6;V?TamGT;?NghN|L>GW^U=g0nx95 z*D`G6jW8KNEb z)he?7GC!`&;iJ^!*X+KKvI_LA;csDrSc|kuU5s`0OyUDC0cv#m7g2tAcC1b0(In{! zN>&_7d$&)qb*M>D z!|n$R$wPa{1-I0NtsQ AB>(^b literal 0 HcmV?d00001 diff --git a/apps/climatemappedafrica/src/pages/[[...slug]].js b/apps/climatemappedafrica/src/pages/[[...slug]].js index 96fc28c94..690f52524 100644 --- a/apps/climatemappedafrica/src/pages/[[...slug]].js +++ b/apps/climatemappedafrica/src/pages/[[...slug]].js @@ -32,7 +32,7 @@ function Index({ blocks, fallback, ...props }) { if (!Component) { return null; } - // Just in case same block appears twice on the same page, use id + // Just in case a block appears twice on the same page, use id as key return ; })} diff --git a/apps/climatemappedafrica/src/payload/blocks/PageHero.js b/apps/climatemappedafrica/src/payload/blocks/PageHero.js index fde2b7fbd..cbeead4c4 100644 --- a/apps/climatemappedafrica/src/payload/blocks/PageHero.js +++ b/apps/climatemappedafrica/src/payload/blocks/PageHero.js @@ -5,6 +5,7 @@ import richText from "../fields/richText"; const PageHero = { slug: "page-hero", + imageURL: "/images/payload/blocks/page-hero.jpg", fields: [ { name: "overline", @@ -43,6 +44,9 @@ const PageHero = { required: true, localized: true, }), + // NOTE(kilemensi): We can add a 'variant' / 'select' here to support + // different page heros e.g. 2 background images as in + // /data or /stories pages image({ overrides: { name: "background", diff --git a/apps/climatemappedafrica/src/payload/blocks/Summary.js b/apps/climatemappedafrica/src/payload/blocks/Summary.js index c3d71796b..b29e3202d 100644 --- a/apps/climatemappedafrica/src/payload/blocks/Summary.js +++ b/apps/climatemappedafrica/src/payload/blocks/Summary.js @@ -4,6 +4,7 @@ import richText from "../fields/richText"; const Summary = { slug: "summary", + imageURL: "/images/payload/blocks/summary.jpg", fields: [ { name: "title", diff --git a/apps/climatemappedafrica/src/payload/blocks/Team.js b/apps/climatemappedafrica/src/payload/blocks/Team.js index c5831807d..e78293795 100644 --- a/apps/climatemappedafrica/src/payload/blocks/Team.js +++ b/apps/climatemappedafrica/src/payload/blocks/Team.js @@ -1,5 +1,6 @@ const Team = { slug: "team", + imageURL: "/images/payload/blocks/team.jpg", fields: [ { name: "title", From 59d7673bb13e2cb495976c907e1fea8939f23826 Mon Sep 17 00:00:00 2001 From: Clemence Kyara Date: Tue, 15 Oct 2024 09:48:01 +0300 Subject: [PATCH 8/8] Ensure component name matches filename --- .../climatemappedafrica/src/components/PageHero/PageHero.js | 6 +++--- .../src/components/RichHeader/RichHeader.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/climatemappedafrica/src/components/PageHero/PageHero.js b/apps/climatemappedafrica/src/components/PageHero/PageHero.js index e9b440488..3d4dd937b 100644 --- a/apps/climatemappedafrica/src/components/PageHero/PageHero.js +++ b/apps/climatemappedafrica/src/components/PageHero/PageHero.js @@ -7,7 +7,7 @@ import useStyles from "./useStyles"; import RichHeader from "@/climatemappedafrica/components/RichHeader"; import Section from "@/climatemappedafrica/components/Section"; -function AboutHero({ background, overline, subtitle, title, ...props }) { +function PageHero({ background, overline, subtitle, title, ...props }) { const classes = useStyles(props); let backgroundSx; if (background?.src?.length) { @@ -69,11 +69,11 @@ function AboutHero({ background, overline, subtitle, title, ...props }) { ); } -AboutHero.propTypes = { +PageHero.propTypes = { background: PropTypes.shape({}), overline: PropTypes.string, subtitle: PropTypes.arrayOf(PropTypes.shape({})), title: PropTypes.arrayOf(PropTypes.shape({})), }; -export default AboutHero; +export default PageHero; diff --git a/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js index e514a8820..68fd26425 100644 --- a/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js +++ b/apps/climatemappedafrica/src/components/RichHeader/RichHeader.js @@ -4,7 +4,7 @@ import { Box } from "@mui/material"; import PropTypes from "prop-types"; import React from "react"; -const Header = React.forwardRef(function Header(props, ref) { +const RichHeader = React.forwardRef(function RichHeader(props, ref) { const { OverlineProps, SubtitleProps, @@ -79,10 +79,10 @@ const Header = React.forwardRef(function Header(props, ref) { ); }); -Header.propTypes = { +RichHeader.propTypes = { className: PropTypes.string, overline: PropTypes.string, subtitle: PropTypes.arrayOf(PropTypes.shape({})), }; -export default Header; +export default RichHeader;