add duration to workflow block timeline (#3107)

This commit is contained in:
Jonathan Dobson
2025-08-05 16:56:29 -04:00
committed by GitHub
parent 9c8ed3a701
commit 9fb6eb942f
3 changed files with 58 additions and 14 deletions

View File

@@ -47,3 +47,33 @@ export const getInitialValues = (
return iv as Record<string, unknown>;
};
export interface Duration {
hour: number;
minute: number;
second: number;
}
export const toDuration = (seconds: number): Duration => {
let minutes = Math.floor(seconds / 60);
let hours = Math.floor(minutes / 60);
seconds = seconds % 60;
minutes = minutes % 60;
hours = hours % 24;
return {
hour: Math.floor(hours),
minute: Math.floor(minutes),
second: Math.floor(seconds),
};
};
export const formatDuration = (duration: Duration): string => {
if (duration.hour) {
return `${duration.hour}h ${duration.minute}m ${duration.second}s`;
} else if (duration.minute) {
return `${duration.minute}m ${duration.second}s`;
} else {
return `${duration.second}s`;
}
};