atlp-rwanda/hackers-ec-Fe

View on GitHub
src/components/auth/VerifyAccount.tsx

Summary

Maintainability
A
0 mins
Test Coverage
A
94%
import { useEffect } from 'react';
import { useParams } from 'react-router-dom';
import { DynamicData } from '../../@types/DynamicData';
import useToast from '../../hooks/useToast';
import { verify } from '../../redux/features/VerifyAccountSlice';
import { useAppDispatch } from '../../redux/hooks/hooks';
import VerifiedCard from '../cards/VerifiedCard';

const VerifyAccount = () => {
    const { showErrorMessage, showSuccessMessage } = useToast();
    const dispatch = useAppDispatch();
    const { token } = useParams();

    useEffect(() => {
        const verifyUser = async () => {
            try {
                const res = await dispatch(verify(token as string)).unwrap();
                showSuccessMessage(res.message);
            } catch (error) {
                const err = error as DynamicData;
                showErrorMessage(
                    err?.data?.message ||
                        err?.message ||
                        'Unknown error occured! Please try again!',
                );
            }
        };
        verifyUser();
    }, [dispatch, showSuccessMessage, showErrorMessage, token]);
    return (
        <>
            <VerifiedCard />
        </>
    );
};

export default VerifyAccount;