scratch-www/src/views/preview/meta.jsx

41 lines
1.1 KiB
React
Raw Normal View History

const React = require('react');
const Helmet = require('react-helmet').default;
const projectShape = require('./projectshape.jsx').projectShape;
const Meta = props => {
const {title, instructions, author} = props.projectInfo;
// Do not want to render any meta tags unless all the info is loaded
// Check only author (object) because it is ok to have empty string instructions
if (!author) return null;
const truncatedInstructions = instructions.split(' ')
.slice(0, 50)
.join(' ');
return (
<Helmet>
<title>{`${title} on Scratch`}</title>
<meta
content={`${title} on Scratch by ${author.username}`}
name="description"
/>
<meta
content={`Scratch - ${title}`}
property="og:title"
/>
<meta
content={truncatedInstructions}
property="og:description"
/>
</Helmet>
);
};
Meta.propTypes = {
projectInfo: projectShape
};
module.exports = Meta;