-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathAccount.tsx
More file actions
85 lines (77 loc) · 3.01 KB
/
Account.tsx
File metadata and controls
85 lines (77 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import { useAuth } from '../Hooks/useAuth';
import Redirect from '../Components/Redirect';
import { FaCar, FaUser, FaPhoneAlt,FaBookOpen } from 'react-icons/fa';
import NittAutoDriversModal from '../Components/NittAutoDriversModal';
import AboutRideNitt from '../Components/AboutRideNitt';
import { Link, redirect } from 'react-router-dom';
import axios from 'axios';
import { toast } from 'react-toastify';
import { useState } from 'react';
export default function AccountPage() {
const { user, refreshAuth } = useAuth();
const [showDrivers, setShowDrivers] = useState(false);
const [showAbout, setShowAbout] = useState(false);
const handleLogout = () => {
axios.delete("/auth/logout")
.then(() => {
redirect("/start")
refreshAuth()
})
.catch((err) => {
console.log(err);
toast.error("Failed to logout");
});
}
if (!user) {
return (
<Redirect to='/start' />
)
}
return (
<div className="p-8 pb-40 bg-gradient-to-b from-[#E0F6EF8C] via-[#FFFFFF] to-[#C1EDE08C] min-h-screen relative">
<div>
<header className="header h-[max] relative">
<div className="text-4xl font-semibold text-[#008955] font-Quicksand">My Account</div>
<div className="mt-2 text-neutral-600 font-Quicksand font-[600]">Stay updated!</div>
</header>
<ul className='mt-4 flex flex-col gap-2'>
<li>
<Link className='flex items-center gap-2 p-2 bg-green-100 border border-solid border-black rounded-xl' to="/profile">
<FaUser className='text-green-800' />
<span> Profile </span>
</Link>
</li>
<li>
<Link className='flex items-center gap-2 p-2 bg-green-100 border border-solid border-black rounded-xl' to="/my-rides">
<FaCar className='text-green-800' />
<span> My Rides </span>
</Link>
</li>
<li>
<button
className='flex items-center gap-2 p-2 bg-green-100 border border-solid border-black rounded-xl w-full'
onClick={() => setShowDrivers(true)}
>
<FaPhoneAlt className='text-green-800' />
<span>Contact NITT Auto Drivers</span>
</button>
</li>
<li>
<button
className='flex items-center gap-2 p-2 bg-green-100 border border-solid border-black rounded-xl w-full'
onClick={() => setShowAbout(true)}
>
<FaBookOpen className='text-green-800' />
<span>About RideNITT</span>
</button>
</li>
<li>
<button onClick={handleLogout} className="p-2 border-[1.5px] border-[black] rounded-[90px] bg-[#008955] text-[white] font-[Quicksand] font-[700]">Logout</button>
</li>
</ul>
</div>
<NittAutoDriversModal show={showDrivers} onClose={() => setShowDrivers(false)} />
<AboutRideNitt show={showAbout} onClose={() => setShowAbout(false)} />
</div>
)
}