import React from "react" import moment from "moment" import * as antd from "antd" import classnames from "classnames" import "./index.less" const defaultDateFormat = "DD-MM-YYYY hh:mm" export default class ScheduledProgress extends React.Component { isDateReached = (date) => { const format = this.props.dateFormat ?? defaultDateFormat const now = moment().format(format) const result = moment(date, format).isSameOrBefore(moment(now, format)) console.debug(`[${date}] is before [${now}] => ${result}`) return result } getDiffBetweenDates = (start, end) => { // THIS IS NOT COUNTING WITH THE YEAR const format = "DD-MM-YYYY" const startDate = moment(start, format) const endDate = moment(end, format) const now = moment().format(format) // count days will took to complete const days = endDate.diff(startDate, "days") const daysLeft = endDate.diff(moment(now, format), "days") const daysPassed = moment(now, format).diff(startDate, "days") let percentage = 0 switch (daysLeft) { case 0: { percentage = 99 break } case 1: { percentage = 95 break } default: { if (daysPassed > 0 && daysPassed < days) { percentage = (daysPassed / days) * 100 } break } } if (daysPassed > days) { percentage = 100 } return { daysLeft, daysPassed, percentage } } render() { const startReached = this.isDateReached(this.props.start) const finishReached = this.isDateReached(this.props.finish) const datesDiff = this.getDiffBetweenDates(this.props.start, this.props.finish) return
{this.props.start}
{this.props.finish}
} }