public/js/util/publishState.js (26 lines of code) (raw):

const publishState = (atom) => { if (!atom) return {}; // @TODO - Add "Taken down" state when the API returns a taken down time if (atom.contentChangeDetails.published) { if(atom.contentChangeDetails.takenDown && atom.contentChangeDetails.takenDown.date > atom.contentChangeDetails.published.date) { return { id: 'taken-down', text: 'Taken down' }; } if (atom.contentChangeDetails.lastModified && atom.contentChangeDetails.published.date >= atom.contentChangeDetails.lastModified.date) { return { id: 'published', text: 'Published' }; } return { id: 'unpublished-changes', text: 'Unpublished changes' }; } return { id: 'draft', text: 'Draft' }; }; export default publishState;