diff --git a/lib/assets/javascripts/locale/en_GB/timeago.js b/lib/assets/javascripts/locale/en_GB/timeago.js new file mode 100644 index 0000000..68b170f --- /dev/null +++ b/lib/assets/javascripts/locale/en_GB/timeago.js @@ -0,0 +1,17 @@ +module.exports = (number, index) => + [ + ['just now', 'right now'], + ['less than a minute ago', 'in %s seconds'], + ['1 minute ago', 'in 1 minute'], + ['%s minutes ago', 'in %s minutes'], + ['1 hour ago', 'in 1 hour'], + ['%s hours ago', 'in %s hours'], + ['1 day ago', 'in 1 day'], + ['%s days ago', 'in %s days'], + ['1 week ago', 'in 1 week'], + ['%s weeks ago', 'in %s weeks'], + ['1 month ago', 'in 1 month'], + ['%s months ago', 'in %s months'], + ['1 year ago', 'in 1 year'], + ['%s years ago', 'in %s years'], + ][index]; diff --git a/lib/assets/javascripts/utils/timeagoFactory.js b/lib/assets/javascripts/utils/timeagoFactory.js new file mode 100644 index 0000000..78116dc --- /dev/null +++ b/lib/assets/javascripts/utils/timeagoFactory.js @@ -0,0 +1,17 @@ +import enGB from '../locale/en_GB/timeago'; + +/* global timeago */ +const TimeagoFactory = (() => { + timeago.register('en_GB', enGB); + /* + @param el - DOM element + @returns + */ + return { + render: (el) => { + timeago().render(el, 'en_GB'); + }, + }; +})(); + +export default TimeagoFactory; diff --git a/lib/assets/javascripts/views/answers/status.js b/lib/assets/javascripts/views/answers/status.js index 29fd110..1be58c5 100644 --- a/lib/assets/javascripts/views/answers/status.js +++ b/lib/assets/javascripts/views/answers/status.js @@ -4,6 +4,7 @@ isString } from '../../utils/isType'; import { Tinymce } from '../../utils/tinymce'; import debounce from '../../utils/debounce'; +import TimeagoFactory from '../../utils/timeagoFactory'; $(() => { /* @@ -89,7 +90,7 @@ if (isNumber(data.question.id)) { if (isString(data.question.answer_status)) { $(`#answer-status-${data.question.id}`).html(data.question.answer_status); // TODO check partial render of this view on the server - timeago().render($('time.timeago')); + TimeagoFactory.render($('time.timeago')); } if (isString(data.question.locking)) { $(`#answer-locking-${data.question.id}`).html(data.question.locking); @@ -117,5 +118,5 @@ }); } }); - timeago().render($('time.timeago')); + TimeagoFactory.render($('time.timeago')); });