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; |