use ExternalLink components for external links (#10758)

* use ExternalLink components for external links

* test

* strict
This commit is contained in:
Kerry 2023-05-04 09:26:26 +12:00 committed by GitHub
parent 42e6c9839c
commit 37b7dfe943
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 281 additions and 47 deletions

View file

@ -26,6 +26,7 @@ import EventIndexPeg from "../../../indexing/EventIndexPeg";
import { SettingLevel } from "../../../settings/SettingLevel";
import SeshatResetDialog from "../dialogs/SeshatResetDialog";
import InlineSpinner from "../elements/InlineSpinner";
import ExternalLink from "../elements/ExternalLink";
interface IState {
enabling: boolean;
@ -197,9 +198,9 @@ export default class EventIndexPanel extends React.Component<{}, IState> {
},
{
nativeLink: (sub) => (
<a href={nativeLink} target="_blank" rel="noreferrer noopener">
<ExternalLink href={nativeLink} target="_blank" rel="noreferrer noopener">
{sub}
</a>
</ExternalLink>
),
},
)}
@ -217,9 +218,13 @@ export default class EventIndexPanel extends React.Component<{}, IState> {
},
{
desktopLink: (sub) => (
<a href="https://element.io/get-started" target="_blank" rel="noreferrer noopener">
<ExternalLink
href="https://element.io/get-started"
target="_blank"
rel="noreferrer noopener"
>
{sub}
</a>
</ExternalLink>
),
},
)}

View file

@ -31,6 +31,7 @@ import { Action } from "../../../../../dispatcher/actions";
import { UserTab } from "../../../dialogs/UserTab";
import dis from "../../../../../dispatcher/dispatcher";
import CopyableText from "../../../elements/CopyableText";
import ExternalLink from "../../../elements/ExternalLink";
interface IProps {
closeSettingsFn: () => void;
@ -114,9 +115,9 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
for (const tocEntry of tocLinks) {
legalLinks.push(
<div key={tocEntry.url}>
<a href={tocEntry.url} rel="noreferrer noopener" target="_blank">
<ExternalLink href={tocEntry.url} rel="noreferrer noopener" target="_blank">
{tocEntry.text}
</a>
</ExternalLink>
</div>,
);
}
@ -143,27 +144,31 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
{},
{
photo: (sub) => (
<a
<ExternalLink
href="themes/element/img/backgrounds/lake.jpg"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
author: (sub) => (
<a href="https://www.flickr.com/golan" rel="noreferrer noopener" target="_blank">
<ExternalLink
href="https://www.flickr.com/golan"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
terms: (sub) => (
<a
<ExternalLink
href="https://creativecommons.org/licenses/by-sa/4.0/"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
},
)}
@ -175,27 +180,27 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
{},
{
colr: (sub) => (
<a
<ExternalLink
href="https://github.com/matrix-org/twemoji-colr"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
author: (sub) => (
<a href="https://mozilla.org" rel="noreferrer noopener" target="_blank">
<ExternalLink href="https://mozilla.org" rel="noreferrer noopener" target="_blank">
{sub}
</a>
</ExternalLink>
),
terms: (sub) => (
<a
<ExternalLink
href="https://www.apache.org/licenses/LICENSE-2.0"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
},
)}
@ -208,23 +213,31 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
{},
{
twemoji: (sub) => (
<a href="https://twemoji.twitter.com/" rel="noreferrer noopener" target="_blank">
<ExternalLink
href="https://twemoji.twitter.com/"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
author: (sub) => (
<a href="https://twemoji.twitter.com/" rel="noreferrer noopener" target="_blank">
<ExternalLink
href="https://twemoji.twitter.com/"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
terms: (sub) => (
<a
<ExternalLink
href="https://creativecommons.org/licenses/by/4.0/"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
},
)}
@ -256,9 +269,9 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
},
{
a: (sub) => (
<a href="https://element.io/help" rel="noreferrer noopener" target="_blank">
<ExternalLink href="https://element.io/help" rel="noreferrer noopener" target="_blank">
{sub}
</a>
</ExternalLink>
),
},
);
@ -273,9 +286,9 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
},
{
a: (sub) => (
<a href="https://element.io/help" rel="noreferrer noopener" target="_blank">
<ExternalLink href="https://element.io/help" rel="noreferrer noopener" target="_blank">
{sub}
</a>
</ExternalLink>
),
},
)}
@ -321,13 +334,13 @@ export default class HelpUserSettingsTab extends React.Component<IProps, IState>
{},
{
a: (sub) => (
<a
<ExternalLink
href="https://matrix.org/security-disclosure-policy/"
rel="noreferrer noopener"
target="_blank"
>
{sub}
</a>
</ExternalLink>
),
},
)}