All files / components/Translate index.tsx

100% Statements 4/4
80% Branches 4/5
100% Functions 2/2
100% Lines 4/4

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                        1x   2x   2x                   1x      
/* eslint-disable react/no-danger */
import * as React from "react";
 
import { Consumer } from "app/services/intl/context";
import { Values } from "app/records/Intl";
 
type Props = {
  t?: string;
  values?: Values;
  html?: boolean;
};
 
const Translate = React.forwardRef(
  ({ t = "", values = {}, html = false }: Props, ref: React.Ref<HTMLSpanElement>) => (
    <Consumer>
      {intl =>
        html ? (
          <span ref={ref} dangerouslySetInnerHTML={{ __html: intl.t(t, values) }} />
        ) : (
          intl.t(t, values)
        )
      }
    </Consumer>
  ),
);
 
Translate.displayName = "Translate";
 
export default Translate;