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:
Julien Froidefond
2025-09-29 08:51:20 +02:00
parent 641a009b34
commit 8d657872c0
14 changed files with 554 additions and 180 deletions

View 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]);
}