Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 146x 146x 146x 146x 146x 25x 25x 25x 25x 25x 25x 25x 25x 146x | import React, { FunctionComponent, MouseEventHandler } from 'react';
import { preventDefault } from '../common/dom';
import { parseAnchor } from '../common/utility';
import withLanguage, { WithLanguageProps } from './withLanguage';
import { TranslatedStringProps } from './TranslatedString';
export type TranslatedLinkProps = TranslatedStringProps & {
testId?: string;
onClick: MouseEventHandler;
};
const TranslatedLink: FunctionComponent<TranslatedLinkProps & WithLanguageProps> = ({
data,
id,
language,
onClick,
testId,
}) => {
const translatedString = language.translate(id, data);
const parsedString = parseAnchor(translatedString);
return parsedString.length ?
<>
{ parsedString[0] }
<a
data-test={ testId }
href="#"
onClick={ preventDefault(onClick) }
>
{ parsedString[1] }
</a>
{ parsedString[2] }
</> :
<>{ translatedString }</>;
};
export default withLanguage(TranslatedLink);
|