import { useState, Dispatch, SetStateAction, MutableRefObject } from "react"; import { Stack } from "@mui/material"; import CircularProgressOptical from "@src/components/CircularProgressOptical"; export interface ISnackbarProgressRef { setProgress: Dispatch>; setTarget: Dispatch>; } export interface ISnackbarProgressProps { target?: number; stateRef: MutableRefObject; label?: React.ReactNode; } export default function SnackbarProgress({ target: targetProp = 100, stateRef, label, }: ISnackbarProgressProps) { const [progress, setProgress] = useState(0); const [target, setTarget] = useState(targetProp); stateRef.current = { setProgress, setTarget }; return ( {progress}/{target} {label}
); }