mirror of
https://github.com/supabase/supabase.git
synced 2026-06-05 12:22:26 +08:00
fix(studio): human readable formatting for total consumed times (#39011)
* fix: human readable formatting for total consumed times * chore: accidental turkish spelling of performance * fix: imports for renamed utils file * feat: add tests for formatDuration util
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import dayjs from 'dayjs'
|
||||
import duration from 'dayjs/plugin/duration'
|
||||
|
||||
dayjs.extend(duration)
|
||||
|
||||
export const formatDuration = (milliseconds: number) => {
|
||||
const duration = dayjs.duration(milliseconds, 'milliseconds')
|
||||
|
||||
const days = Math.floor(duration.asDays())
|
||||
const hours = duration.hours()
|
||||
const minutes = duration.minutes()
|
||||
const seconds = duration.seconds()
|
||||
const totalSeconds = duration.asSeconds()
|
||||
|
||||
if (totalSeconds < 60) {
|
||||
return `${totalSeconds.toFixed(2)}s`
|
||||
}
|
||||
|
||||
const parts = []
|
||||
if (days > 0) parts.push(`${days}d`)
|
||||
if (hours > 0) parts.push(`${hours}h`)
|
||||
if (minutes > 0) parts.push(`${minutes}m`)
|
||||
if (seconds > 0) parts.push(`${seconds}s`)
|
||||
|
||||
return parts.length > 0 ? parts.join(' ') : '0s'
|
||||
}
|
||||
Reference in New Issue
Block a user