Home Reference Source

src/components/core/DocumentTitle.jsx

import React from 'react';
import PropTypes from 'prop-types';
import { Helmet } from 'react-helmet';
import { connect } from 'react-redux';
import { getModelSelector } from '../../selectors/models';
import propsResolver from '../../utils/propsResolver';
import { createStructuredSelector } from 'reselect';

function DocumentTitle({ title, model }) {
  let resolveTitle = title;
  if (title && model) {
    resolveTitle = propsResolver(title, model);
  }

  return <Helmet title={resolveTitle} />;
}

DocumentTitle.propTypes = {
  title: PropTypes.string,
  modelLink: PropTypes.string,
};

const mapStateToProps = createStructuredSelector({
  model: (state, { modelLink }) => getModelSelector(modelLink)(state),
});

export default connect(mapStateToProps)(DocumentTitle);