- Initial commit
This commit is contained in:
64
app/library/helpers.js
Normal file
64
app/library/helpers.js
Normal file
@@ -0,0 +1,64 @@
|
||||
import numeral from 'numeral';
|
||||
|
||||
export const formatPrice = (price, format = '$ 0,0[.]00') => {
|
||||
return numeral(price).format(format);
|
||||
};
|
||||
|
||||
export const getAuctionTime = ({ end, start }) => {
|
||||
const now = new Date();
|
||||
const compareToEnd = new Date(end);
|
||||
const compareToStart = new Date(start);
|
||||
|
||||
let delta;
|
||||
if (now < start) {
|
||||
delta = start - now;
|
||||
return 'Bidding starts in ${parseTimeDifferential(delta)}';
|
||||
}
|
||||
|
||||
if (now > start && now < end) {
|
||||
delta = end - now;
|
||||
return 'Bidding ends in ${parseTimeDifferential(delta)}';
|
||||
}
|
||||
|
||||
return 'Bidding has ended';
|
||||
};
|
||||
|
||||
export const parseHumanReadableTimeDifferential = (delta) => {
|
||||
const oneMinute = 60 * 1000;
|
||||
const oneHour = oneMinute * 60;
|
||||
const oneDay = oneHour * 24;
|
||||
const oneWeek = oneDay * 7;
|
||||
const oneMonth = oneWeek * 4;
|
||||
|
||||
let compare = delta / oneMonth;
|
||||
if (compare >= 1) {
|
||||
compare = Math.floor(compare);
|
||||
return `${compare} month${compare > 1 ? 's' : ''}`;
|
||||
}
|
||||
|
||||
compare = delta / oneWeek;
|
||||
if (compare >= 1) {
|
||||
compare = Math.floor(compare);
|
||||
return `${compare} week${compare > 1 ? 's' : ''}`;
|
||||
}
|
||||
|
||||
compare = delta / oneDay;
|
||||
if (compare > 1) {
|
||||
compare = Math.floor(compare);
|
||||
return `${compare} day${compare > 1 ? 's' : ''}`;
|
||||
}
|
||||
|
||||
compare = delta / oneHour;
|
||||
if (compare > 1) {
|
||||
compare = Math.floor(compare);
|
||||
return `${compare} hour${compare > 1 ? 's' : ''}`;
|
||||
}
|
||||
|
||||
compare = delta / oneMinute;
|
||||
if (compare > 1) {
|
||||
compare = Math.floor(compare);
|
||||
return `${compare} minute${compare > 1 ? 's' : ''}`;
|
||||
}
|
||||
|
||||
return 'less than a minute';
|
||||
};
|
||||
Reference in New Issue
Block a user