11import React from 'react' ;
22import PropTypes from 'prop-types' ;
3- import { Trans } from 'react-i18next' ;
3+ // import { Trans } from 'react-i18next';
44import { CrossIcon } from '../../../common/icons' ;
55
66/**
77 * Banner displays a dismissible announcement bar with a link and a close icon.
88 * It's typically used to highlight opportunities, but use and design can be flexible.
99 *
10- * This component is ** presentational only** — visibility logic (open/close state) should be
10+ * This component is presentational only — visibility logic (open/close state) should be
1111 * controlled by the parent via the `onClose` handler.
1212 *
1313 * @param {Object } props
@@ -24,17 +24,28 @@ import { CrossIcon } from '../../../common/icons';
2424
2525const Banner = ( { onClose } ) => {
2626 // URL can be updated depending on the opportunity or announcement.
27- const bannerURL = 'https://processingfoundation.org/donate' ;
27+ // const bannerURL = 'https://processingfoundation.org/donate';
2828
29- const bannerCopy = (
29+ // currently holds donation copy, will switch back when temp maintenance is done
30+ // const bannerCopy = (
31+ // <>
32+ // <Trans i18nKey="Banner.Copy" components={{ bold: <strong /> }} />
33+ // </>
34+ // );
35+
36+ // temp copy for maintenance, will remove on 3/22/2026
37+ const bannerTempCopy = (
3038 < >
31- < Trans i18nKey = "Banner.Copy" components = { { bold : < strong /> } } />
39+ p5js.org will be undergoing scheduled maintenance on{ ' ' }
40+ < strong > Sunday March 22, 2026 2026 8:00am CET</ strong > . The editor and the
41+ website may be down for up to 24 hours.
3242 </ >
3343 ) ;
3444
3545 return (
3646 < div className = "banner" >
37- < a href = { bannerURL } > { bannerCopy } </ a >
47+ { /* <a href={bannerURL}>{bannerCopy}</a> */ }
48+ < a href = "https://p5js.org" > { bannerTempCopy } </ a >
3849 < button className = "banner-close-button" onClick = { onClose } >
3950 < CrossIcon icon = { { default : '#000' , hover : '#333' } } />
4051 </ button >
0 commit comments