pkg-components
Version:
85 lines (72 loc) • 3.05 kB
text/typescript
import { getGlobalStyle } from '../../../../utils'
export const color = {
0: getGlobalStyle('--color-feedback-success-light'),
1: getGlobalStyle('--color-feedback-warning-light'),
2: getGlobalStyle('--color-campaigns-yellow'),
3: getGlobalStyle('--color-feedback-warning-dark'),
4: getGlobalStyle('--color-feedback-success-light'),
5: getGlobalStyle('--color-primary-red')
}
export interface IColor {
0: string
1: string
2: string
3: string
4: string
5: string
}
export const calculateRemainingTime = (pDatCre: string, timeDelivery: number) => {
const fechaCreacion = new Date(pDatCre)
const fechaEntrega = new Date(fechaCreacion.getTime() + timeDelivery * 60000) // Convertir minutos a milisegundos
const ahora = new Date()
const tiempoRestante = fechaEntrega - ahora
const hourEntrega = fechaEntrega.getHours()
const minutesEntrega = fechaEntrega.getMinutes()
const hourEntrega12 = (hourEntrega % 12) || 12 // Convertir a formato de 12 horas
const period = hourEntrega >= 12 ? 'PM' : 'AM'
if (tiempoRestante <= 0) {
const hourDeRetraso = Math.floor(Math.abs(tiempoRestante) / 3600000) // Calcular hour de retraso
const minutesDeRetraso = Math.floor((Math.abs(tiempoRestante) % 3600000) / 60000) // Calcular minutes restantes
if (hourDeRetraso === 0) {
return {
minutes: `${minutesDeRetraso} min`,
delay: true,
remainingTimeText: `${minutesDeRetraso} min de retraso`
}
} else if (minutesDeRetraso === 0) {
return {
hour: `${hourDeRetraso} ${hourDeRetraso > 1 ? 'horas' : 'hora'}`,
delay: true,
remainingTimeText: `${hourDeRetraso} ${hourDeRetraso > 1 ? 'horas de retraso' : 'hora de retraso'}`
}
}
return {
hour: hourDeRetraso,
minutes: `${minutesDeRetraso} min`,
delay: true,
remainingTimeText: `${hourDeRetraso} horas y ${minutesDeRetraso} min de retraso`
}
}
const hourRestantes = Math.floor(tiempoRestante / 3600000) // Convertir milisegundos a hour
const minutesRestantes = Math.floor((tiempoRestante % 3600000) / 60000) // Calcular los minutes restantes
if (hourRestantes === 0) {
return {
minutes: `${minutesRestantes} min`,
remainingTimeText: `${minutesRestantes} min restantes`,
entregaText: `Entregar a las ${hourEntrega12}:${minutesEntrega < 10 ? '0' : ''}${minutesEntrega} ${period}`
}
}
if (minutesRestantes === 0) {
return {
hour: `${hourRestantes} hour`,
remainingTimeText: `${hourRestantes} hour restantes`,
entregaText: `Entregar a las ${hourEntrega12}:${minutesEntrega < 10 ? '0' : ''}${minutesEntrega} ${period}`
}
}
return {
hour: hourRestantes,
minutes: `${minutesRestantes} min`,
remainingTimeText: `${hourRestantes} hour y ${minutesRestantes} min restantes`,
entregaText: `Entregar a las ${hourEntrega12}:${minutesEntrega < 10 ? '0' : ''}${minutesEntrega} ${period}`
}
}