From eaf288ab2b55bedad7a91a08d39b5bf278022355 Mon Sep 17 00:00:00 2001 From: Jeremy Stucki Date: Mon, 11 Dec 2023 17:34:48 +0100 Subject: [PATCH] fix: use noreferrer instead of noopener, also fix external link detection in appdir footer noreferrer implies noopener. See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/noreferrer and discussion here: https://github.com/jsx-eslint/eslint-plugin-react/issues/2022 --- apps/www/components/Events/Detail.js | 4 ++-- apps/www/components/Footer/index.js | 4 ++-- apps/www/components/Frame/PureFooter.js | 8 ++++++-- apps/www/pages/mitteilung.js | 2 +- .../app/veranstaltungen/components/event-teaser.tsx | 2 +- apps/www/src/components/layout/footer/index.tsx | 10 +++++----- apps/www/src/components/share/share-overlay.tsx | 2 +- .../styleguide/src/components/IconButton/index.tsx | 2 +- 8 files changed, 19 insertions(+), 15 deletions(-) diff --git a/apps/www/components/Events/Detail.js b/apps/www/components/Events/Detail.js index 08a2f1077c..ec5f499291 100644 --- a/apps/www/components/Events/Detail.js +++ b/apps/www/components/Events/Detail.js @@ -82,7 +82,7 @@ const Event = withT( !!where && intersperse(where.split('\n'), (d, i) =>
) if (locationLink && location) { location = ( - + {location} ) @@ -111,7 +111,7 @@ const Event = withT( /> {!!link && (

- + {link}

diff --git a/apps/www/components/Footer/index.js b/apps/www/components/Footer/index.js index 227430ce71..b798f640ed 100644 --- a/apps/www/components/Footer/index.js +++ b/apps/www/components/Footer/index.js @@ -271,7 +271,7 @@ const Footer = ({ t, me, signOut, isOnMarketingPage, hasActiveMembership }) => { {t('footer/about/projecR')} @@ -348,7 +348,7 @@ const Footer = ({ t, me, signOut, isOnMarketingPage, hasActiveMembership }) => { {...navLinkStyle} style={{ ...fontStyles.sansSerifRegular14 }} href='https://github.com/republik/plattform' - rel='noopener' + rel='noreferrer' target='_blank' > {t('footer/opensource')} diff --git a/apps/www/components/Frame/PureFooter.js b/apps/www/components/Frame/PureFooter.js index 0af64eb0f5..6aef95b2ce 100644 --- a/apps/www/components/Frame/PureFooter.js +++ b/apps/www/components/Frame/PureFooter.js @@ -68,7 +68,7 @@ const Footer = ({ en }) => ( Project R @@ -76,7 +76,11 @@ const Footer = ({ en }) => (
- + Republik AG
Sihlhallenstrasse 1
diff --git a/apps/www/pages/mitteilung.js b/apps/www/pages/mitteilung.js index 751fcad004..86af8ae1c9 100644 --- a/apps/www/pages/mitteilung.js +++ b/apps/www/pages/mitteilung.js @@ -140,7 +140,7 @@ const Page = ({ router: { query: rawQuery }, me, inNativeApp }) => { const logo = isProjectR ? (
diff --git a/apps/www/src/app/veranstaltungen/components/event-teaser.tsx b/apps/www/src/app/veranstaltungen/components/event-teaser.tsx index 2435268576..155494042c 100644 --- a/apps/www/src/app/veranstaltungen/components/event-teaser.tsx +++ b/apps/www/src/app/veranstaltungen/components/event-teaser.tsx @@ -123,7 +123,7 @@ export const EventTeaser = ({ isPage, isMember, event }: EventProps) => {
Wo
{event.locationLink ? ( - + {event.location} ) : ( diff --git a/apps/www/src/components/layout/footer/index.tsx b/apps/www/src/components/layout/footer/index.tsx index df395aab2b..a390987e51 100644 --- a/apps/www/src/components/layout/footer/index.tsx +++ b/apps/www/src/components/layout/footer/index.tsx @@ -26,8 +26,8 @@ function isLinkOfSameHost(link: string | UrlObject, host: string) { } return new URL(link).hostname === new URL(host).hostname } catch (e) { - // console.error(e) - return false + // Relative links fail to parse with new URL(), so we assume they are in fact relative + return true } } @@ -291,14 +291,14 @@ export default async function Footer() { const baseURL = process.env.NEXT_PUBLIC_BASE_URL - const isExternalLink = isLinkOfSameHost(link, baseURL) + const isExternalLink = !isLinkOfSameHost(link, baseURL) return (
  • {name} @@ -359,7 +359,7 @@ export default async function Footer() { /> Der Republik Code ist Open Source diff --git a/apps/www/src/components/share/share-overlay.tsx b/apps/www/src/components/share/share-overlay.tsx index 0b1fe8f7e3..9fcadf4811 100644 --- a/apps/www/src/components/share/share-overlay.tsx +++ b/apps/www/src/components/share/share-overlay.tsx @@ -42,7 +42,7 @@ function ShareButton({ target='_blank' href={href} onClick={onClick} - rel='noopener noreferrer' + rel='noreferrer' > {label} diff --git a/packages/styleguide/src/components/IconButton/index.tsx b/packages/styleguide/src/components/IconButton/index.tsx index 738cde918c..61efbbeac0 100644 --- a/packages/styleguide/src/components/IconButton/index.tsx +++ b/packages/styleguide/src/components/IconButton/index.tsx @@ -75,7 +75,7 @@ const IconButton = React.forwardRef< onMouseDown={onMouseDown} href={href} target={target} - rel={target === '_blank' ? 'noopener' : ''} + rel={target === '_blank' ? 'noreferrer' : ''} ref={ref} title={title} disabled={disabled}