|
|
@@ -11,25 +11,29 @@ export const getDuration = (event: PorterAppEvent): string => {
|
|
|
const timeDifferenceMilliseconds = endTimeStamp - startTimeStamp;
|
|
|
|
|
|
const seconds = Math.floor(timeDifferenceMilliseconds / 1000);
|
|
|
- const hours = Math.floor(seconds / 3600);
|
|
|
- const minutes = Math.floor((seconds % 3600) / 60);
|
|
|
+ const weeks = Math.floor(seconds / 604800);
|
|
|
+ const remainingDays = Math.floor((seconds % 604800) / 86400);
|
|
|
+ const remainingHours = Math.floor((seconds % 86400) / 3600);
|
|
|
+ const remainingMinutes = Math.floor((seconds % 3600) / 60);
|
|
|
const remainingSeconds = seconds % 60;
|
|
|
|
|
|
- let formattedTime = "";
|
|
|
+ if (weeks > 0) {
|
|
|
+ return `${weeks}w ${remainingDays}d`;
|
|
|
+ }
|
|
|
|
|
|
- if (hours > 0) {
|
|
|
- formattedTime += `${hours}h `;
|
|
|
+ if (remainingDays > 0) {
|
|
|
+ return `${remainingDays}d ${remainingHours}h`;
|
|
|
}
|
|
|
|
|
|
- if (minutes > 0) {
|
|
|
- formattedTime += `${minutes}m `;
|
|
|
+ if (remainingHours > 0) {
|
|
|
+ return `${remainingHours}h ${remainingMinutes}m`;
|
|
|
}
|
|
|
|
|
|
- if (hours === 0 && minutes === 0) {
|
|
|
- formattedTime += `${remainingSeconds}s`;
|
|
|
+ if (remainingMinutes > 0) {
|
|
|
+ return `${remainingMinutes}m ${remainingSeconds}s`;
|
|
|
}
|
|
|
|
|
|
- return formattedTime.trim();
|
|
|
+ return `${remainingSeconds}s`;
|
|
|
};
|
|
|
|
|
|
export const getStatusIcon = (status: string) => {
|