import { AnimatePresence, motion } from 'framer-motion' import { useEffect, useState } from 'react' import { useParams } from 'common' import CountdownTimerRadial from 'components/ui/CountdownTimer/CountdownTimerRadial' import CountdownTimerSpan from 'components/ui/CountdownTimer/CountdownTimerSpan' import { useRemainingDurationForDiskAttributeUpdate } from 'data/config/disk-attributes-query' import { COOLDOWN_DURATION } from 'data/config/disk-attributes-update-mutation' import { Card, CardContent } from 'ui' import FormMessage from './FormMessage' export function DiskCountdownRadial() { const { ref } = useParams() const [remainingTime, setRemainingTime] = useState(0) const { remainingDuration: initialRemainingTime, error, isSuccess, } = useRemainingDurationForDiskAttributeUpdate({ projectRef: ref, }) const progressPercentage = (remainingTime / COOLDOWN_DURATION) * 100 useEffect(() => { if (initialRemainingTime > 0) setRemainingTime(initialRemainingTime) }, [initialRemainingTime]) useEffect(() => { if (remainingTime <= 0) return const timer = setInterval(() => { setRemainingTime(Math.max(0, remainingTime - 1)) }, 1000) return () => clearInterval(timer) }, [remainingTime]) return ( {remainingTime > 0 && isSuccess && (

6-hour cooldown period is in progress

You can't modify your disk configuration again until the 6-hour cool down period ends.

)} {error && }
) }