26 lines
1003 B
TypeScript
26 lines
1003 B
TypeScript
'use client';
|
|
|
|
import { useDispatch, useSelector } from 'react-redux';
|
|
import { toggleSidebar } from '@/store/themeConfigSlice';
|
|
import { IRootState } from '@/store';
|
|
|
|
const SidebarToggleButton = () => {
|
|
const dispatch = useDispatch();
|
|
const themeConfig = useSelector((state: IRootState) => state.themeConfig);
|
|
|
|
return (
|
|
<button
|
|
type="button"
|
|
className="flex h-8 w-8 items-center justify-center rounded-full transition duration-300 hover:bg-gray-500/10 dark:text-white-light dark:hover:bg-dark-light/10"
|
|
onClick={() => dispatch(toggleSidebar())}
|
|
// Optional: You might want to hide this button if the sidebar is already open
|
|
// or show a different icon depending on the sidebar state.
|
|
// For simplicity, it just toggles.
|
|
>
|
|
{/* You can use a generic menu icon here, or condition it based on themeConfig.sidebar */}
|
|
|
|
</button>
|
|
);
|
|
};
|
|
|
|
export default SidebarToggleButton; |