diff --git a/web/src/features/progress/CircleProgressbar.tsx b/web/src/features/progress/CircleProgressbar.tsx index 8f5bd0d..d410014 100644 --- a/web/src/features/progress/CircleProgressbar.tsx +++ b/web/src/features/progress/CircleProgressbar.tsx @@ -58,17 +58,10 @@ const CircleProgressbar: React.FC = () => { const theme = useMantineTheme(); const { classes } = useStyles({ position, duration: progressDuration }); - const progressComplete = () => { + useNuiEvent('progressCancel', () => { + setValue(99); setVisible(false); - fetchNui('progressComplete'); - }; - - const progressCancel = () => { - setValue(99); // Sets the final value to 100% kek - setVisible(false); - }; - - useNuiEvent('progressCancel', progressCancel); + }); useNuiEvent('circleProgress', (data) => { if (visible) return; @@ -90,13 +83,13 @@ const CircleProgressbar: React.FC = () => { return ( <> - + fetchNui('progressComplete')}> setVisible(false)} className={classes.progress} label={{value}%} /> diff --git a/web/src/features/progress/Progressbar.tsx b/web/src/features/progress/Progressbar.tsx index ebc2d19..7447014 100644 --- a/web/src/features/progress/Progressbar.tsx +++ b/web/src/features/progress/Progressbar.tsx @@ -52,16 +52,7 @@ const Progressbar: React.FC = () => { const [label, setLabel] = React.useState(''); const [duration, setDuration] = React.useState(0); - const progressComplete = () => { - setVisible(false); - fetchNui('progressComplete'); - }; - - const progressCancel = () => { - setVisible(false); - }; - - useNuiEvent('progressCancel', progressCancel); + useNuiEvent('progressCancel', () => setVisible(false)); useNuiEvent('progress', (data) => { setVisible(true); @@ -72,11 +63,11 @@ const Progressbar: React.FC = () => { return ( <> - + fetchNui('progressComplete')}> setVisible(false)} sx={{ animation: 'progress-bar linear', animationDuration: `${duration}ms`, diff --git a/web/src/transitions/ScaleFade.tsx b/web/src/transitions/ScaleFade.tsx index b0016cc..7955013 100644 --- a/web/src/transitions/ScaleFade.tsx +++ b/web/src/transitions/ScaleFade.tsx @@ -1,9 +1,13 @@ import { AnimatePresence, motion } from 'framer-motion'; -const ScaleFade: React.FC<{ visible: boolean; children: React.ReactNode }> = ({ visible, children }) => { +const ScaleFade: React.FC<{ visible: boolean; children: React.ReactNode; onExitComplete?: () => void }> = ({ + visible, + children, + onExitComplete, +}) => { return ( <> - + {visible && (