This repository stores a react component that anyone can use to conveniently collect and display comments related to platform resources.
Usage
Install the npm package
npm install react-cimpress-comment --save
import the component
import { Comments } from 'react-cimpress-comment'
add the css dependencies
<link rel="stylesheet" href="https://static.ux.cimpress.io/mcp-ux-css/1.1/release/css/mcp-ux-css.min.css"/>
<link rel="stylesheet" href="//cloud.typography.com/7971714/6011752/css/fonts.css"/>
and then use wherever needed
render() {
return (
<div>
<Comments resourceUri={"https://some_resource_server.cimpress.io/v0/resource/resourceId"}
newestFirst={false} editComments={true} accessToken={"accessToken"}/>
</div>
);
}
which will result in something like
There is also a variant of the component that places the comments in a drawer, and provides a button with comment count as a badge that opens the drawer.
import { CommentsDrawerLink } from 'react-cimpress-comment'
render() {
return (
<div>
<CommentsDrawerLink resourceUri={"https://some_resource_server.cimpress.io/v0/resource/resourceId"}
newestFirst={false} editComments={true} accessToken={"accessToken"} />
</div>
);
}
Optional props:
header
allows overwriting the header/title partfooter
allows overwriting the footer partposition
, by default "right". Can also move the drawer to the "left" side.
Publishing a new version to NPM
New patch version: $ npm version patch [ && npm publish ]
// minor changes
New minor version: $ npm version minor [ && npm publish ]
// backwards compatible
New major version: $ npm version major [ && npm publish ]
// breaking changes
Publish a module: $ npm publish
Note: The way we publish new versions is by using the command line tools.
Development
Make sure you have the up-to-date translation files by calling
CLIENT_ID="<here the client id>" CLIENT_SECRET="<here the client secret>" npm run translate
For developing you can use storybook
npm run storybook
will run both the mockserver and the storybook UI.
During and after development it is good to check or update BackstopJS data. Using the right commands, like
backstop test
to perform the generation of the test screenshots and their diffs to references and
backstop approve
to promote images to references if the breaking changes are intended.
Make sure you have backstop installed npm install -g backstopjs
or use the one in node_modules
.