diff --git a/apps/backend/src/router/auth.ts b/apps/backend/src/router/auth.ts index d84eb85b..d721edbb 100644 --- a/apps/backend/src/router/auth.ts +++ b/apps/backend/src/router/auth.ts @@ -47,7 +47,7 @@ router.get('/logout', (req: Request, res: Response) => { res.status(500).json({ error: 'Failed to log out' }); } else { res.clearCookie('jwt'); - res.redirect('http://localhost:5173/'); + res.redirect('http://localhost:5173/?status=logout'); } }); }); @@ -60,8 +60,8 @@ router.get( router.get( '/google/callback', passport.authenticate('google', { - successRedirect: CLIENT_URL, - failureRedirect: '/login/failed', + successRedirect: `${CLIENT_URL}?login=success`, + failureRedirect: `${CLIENT_URL}?login=failed`, }), ); @@ -73,8 +73,8 @@ router.get( router.get( '/github/callback', passport.authenticate('github', { - successRedirect: CLIENT_URL, - failureRedirect: '/login/failed', + successRedirect: `${CLIENT_URL}?login=success`, + failureRedirect: `${CLIENT_URL}?login=failed`, }), ); diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 51d2eef1..89ab27ff 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -25,6 +25,7 @@ "react-confetti": "^6.1.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", + "react-toastify": "^10.0.5", "recoil": "^0.7.7", "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7", diff --git a/apps/frontend/src/screens/Landing.tsx b/apps/frontend/src/screens/Landing.tsx index 6fec6f08..c0ecebeb 100644 --- a/apps/frontend/src/screens/Landing.tsx +++ b/apps/frontend/src/screens/Landing.tsx @@ -1,8 +1,30 @@ import { PlayCard } from '@/components/Card'; +import { useEffect } from 'react'; +import { toast, ToastContainer } from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; export const Landing = () => { + useEffect(() => { + const params = new URLSearchParams(window.location.search); + + if (params.get('login') === 'failed') { + toast.error('Login failed , Please try again later'); + } + if (params.get('login') === 'success') { + toast.success('Login successful'); + } + if (params.get('status') === 'logout') { + toast.warning('Signout successful'); + } + + params.delete('login'); + const newUrl = window.location.pathname + params.toString(); + window.history.replaceState({}, '', newUrl); + }, []); + return (
+