tududi/app/frontend/components/Sidebar/SidebarFooter.tsx
Chris Veleris dfcb97a355 Move to React
Add .gitignore

Removed node_modules from previous commit

Fix task modes

Fix task modes

Fix task modes

Remove node_modules

Update basic task modal

Add notes functionality

Improve UI

Setup views

Add scopes

Fix projects layout

Restructure

Fix rest of the UI issues

Cleanup old views

Add .env to .gitignore
2024-10-25 21:03:43 +03:00

68 lines
2.2 KiB
TypeScript

import React from 'react';
import { Link } from 'react-router-dom';
interface SidebarFooterProps {
currentUser: { email: string };
isDarkMode: boolean;
toggleDarkMode: () => void;
isDropdownOpen: boolean;
toggleDropdown: () => void;
}
const SidebarFooter: React.FC<SidebarFooterProps> = ({
currentUser,
isDarkMode,
toggleDarkMode,
isDropdownOpen,
toggleDropdown,
}) => {
return (
<div className="mt-auto">
<div className="border-t border-gray-200 dark:border-gray-700 pt-3">
<div className="relative">
<button
className="flex justify-center items-center text-gray-700 dark:text-gray-300 w-full focus:outline-none"
onClick={toggleDropdown}
>
<strong>{currentUser.email}</strong>
<i className={`ml-2 bi ${isDropdownOpen ? 'bi-caret-up-fill' : 'bi-caret-down-fill'}`}></i>
</button>
{/* Dropdown menu */}
{isDropdownOpen && (
<ul className="absolute bottom-full mb-2 w-full bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-300 rounded-lg shadow-lg z-50">
<li className="hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer">
<Link
to="/profile"
className="block w-full px-4 py-2 text-left"
>
Profile
</Link>
</li>
<li className="border-t border-gray-200 dark:border-gray-700"></li>
<li className="hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer">
<a
href="/logout"
className="block w-full px-4 py-2 text-left text-red-500"
>
Sign out
</a>
</li>
</ul>
)}
</div>
{/* Dark Mode Toggle */}
<button
id="darkModeToggle"
className="mt-3 w-full flex items-center justify-center text-gray-700 dark:text-gray-300"
onClick={toggleDarkMode}
>
<i className={`bi ${isDarkMode ? 'bi-sun' : 'bi-moon'} text-lg`}></i>
</button>
</div>
</div>
);
};
export default SidebarFooter;