clientjs/packages/dashboard-components/src/ui/AnnotationQuote.jsx
author ymh <ymh.work@gmail.com>
Mon, 04 Apr 2022 17:02:10 +0200
changeset 26 eb14941af2e7
parent 0 5f4fcbc80b37
permissions -rw-r--r--
Added tag 0.2.2 for changeset 7f7cdcd01dea


import React from 'react';
import PropTypes from 'prop-types';

import { getAnnotationStyle } from '../utils';

const AnnotationQuote = ({ annotation, metacategories }) => {
  let selector = false;

  if (annotation.target[0].selector) {
    selector = annotation.target[0].selector.find(s => s.type === 'TextQuoteSelector');
  }

  if (selector) {
    return (
      <div className="exact">
        <p>
          { selector.prefix }
          <span style={getAnnotationStyle(annotation, metacategories)}>{ selector.exact }</span>
          { selector.suffix }
        </p>
      </div>
    );
  }
  return null;
};


AnnotationQuote.propTypes = {
  annotation: PropTypes.object.isRequired,
  metacategories: PropTypes.arrayOf(PropTypes.object).isRequired,
};

export default AnnotationQuote;