import React, { FC, useEffect, useState } from 'react';
import { Box, Text } from 'ink';
const Spinner: FC<{ type?: keyof typeof spinners }> = ({ type = 'countdown' }) => {
const { interval, frames } = spinners[type];
const [i, setI] = useState(0);
useEffect(() => {
const _ = setInterval(() => {
setI((v) => (v < frames.length - 1 ? v + 1 : 0));
}, interval);
return () => clearInterval(_);
}, []);
return frames[i];
};
const spinners = {
countdown: {
interval: 80,
frames: [
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
{' '}
,
],
},
};
export default Spinner;