refactor: update theme management and enhance UI components
- Refactored theme imports in `preferences.ts` and `ThemeSelector.tsx` to use centralized `theme-config`. - Added new CSS variables for special cards in `globals.css` to improve theme consistency. - Enhanced `Header` and `TaskCard` components with theme dropdown functionality for better user experience. - Updated `ThemeProvider` to support cycling through dark themes, improving theme selection flexibility. - Cleaned up unused imports and streamlined component structures for better maintainability.
This commit is contained in:
30
src/hooks/useKeyboardShortcuts.ts
Normal file
30
src/hooks/useKeyboardShortcuts.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect } from 'react';
|
||||
import { useTheme } from '@/contexts/ThemeContext';
|
||||
|
||||
export function useKeyboardShortcuts() {
|
||||
const { toggleTheme, cycleDarkThemes } = useTheme();
|
||||
|
||||
useEffect(() => {
|
||||
const handleKeyDown = (event: KeyboardEvent) => {
|
||||
// Cmd + T pour basculer entre light et le thème dark préféré
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.key === 'D') {
|
||||
event.preventDefault();
|
||||
toggleTheme();
|
||||
}
|
||||
|
||||
// Cmd + Shift + T pour faire tourner les thèmes dark
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.key === 'T') {
|
||||
event.preventDefault();
|
||||
cycleDarkThemes();
|
||||
}
|
||||
};
|
||||
|
||||
document.addEventListener('keydown', handleKeyDown);
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('keydown', handleKeyDown);
|
||||
};
|
||||
}, [toggleTheme, cycleDarkThemes]);
|
||||
}
|
||||
Reference in New Issue
Block a user