mirror of
https://github.com/supabase/supabase.git
synced 2026-10-18 07:39:07 +03:00
* init * moar * moat * moar * add read replica bar * moar * Update DiskMangementPanelForm.tsx * added temp state mang to test * moar * Prepare react queries + data from API for disk mgt * moat * moat * moar * Update DiskMangementReviewAndSubmitDialog.tsx * badge updates * Hook up actual endpoints for E2E testing, but commented out for now for local dev * Hook up real data + clean up files and add tests * Update APi types * Hook up E2E and fix all validation logic * Only show new disk mgt UI for orb billing * Add note on RRs 25% more disk size * Add state to handle free plan for disk mgt * Update increase disk size CTA in reports/database * Fix file spelling errors * Address feedback * Fix missing framer motion package in ui * Address comments * Address feedabck * Minor fix * Use new disk util endpoint * Remove unused import * Address feedback * More addressing of feedback * Update pricing details for IO2 - no included disk size --------- Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import MotionNumber from 'motion-number'
|
|
|
|
interface CountdownTimerSpanProps {
|
|
seconds: number
|
|
}
|
|
|
|
const CountdownTimerSpan = ({ seconds }: CountdownTimerSpanProps) => {
|
|
const transitionConfig = {
|
|
y: { type: 'spring', duration: 0.35, bounce: 0 },
|
|
}
|
|
|
|
const hours = Math.floor(seconds / 3600)
|
|
const minutes = Math.floor((seconds % 3600) / 60)
|
|
const remainingSeconds = seconds % 60
|
|
|
|
const formatConfig = { minimumIntegerDigits: 2 }
|
|
const formatValue = (value: number) => value.toString().padStart(2, '0')
|
|
|
|
return (
|
|
<span className="text-foreground text-sm font-mono">
|
|
<MotionNumber
|
|
format={formatConfig}
|
|
value={formatValue(hours)}
|
|
transition={transitionConfig}
|
|
/>
|
|
hr
|
|
<MotionNumber
|
|
format={formatConfig}
|
|
value={formatValue(minutes)}
|
|
transition={transitionConfig}
|
|
/>
|
|
m
|
|
<MotionNumber
|
|
format={formatConfig}
|
|
value={formatValue(remainingSeconds)}
|
|
transition={transitionConfig}
|
|
/>
|
|
s
|
|
</span>
|
|
)
|
|
}
|
|
|
|
export default CountdownTimerSpan
|