Files
towercontrol/src/components/ui/header/HeaderDesktop.tsx
Julien Froidefond 714f8ccd5e feat: integrate emoji-mart and refactor emoji usage
- Added @emoji-mart/data and @emoji-mart/react dependencies for enhanced emoji support.
- Replaced static emoji characters with Emoji component in various UI components for consistency and improved rendering.
- Updated generateDateTitle function to return an object with emoji and text for better structure.
- Marked the task for removing emojis from the UI as complete in TODO.md.
2025-10-05 20:29:46 +02:00

59 lines
2.1 KiB
TypeScript

'use client';
import { AuthButton } from '@/components/AuthButton';
import { HeaderControls } from './HeaderControls';
import { ThemeDropdown } from './ThemeDropdown';
import { useKeyboardShortcutsModal } from '@/contexts/KeyboardShortcutsContext';
import { Emoji } from '@/components/ui/Emoji';
interface HeaderDesktopProps {
title: string;
subtitle: string;
syncing: boolean;
}
export function HeaderDesktop({ title, subtitle, syncing }: HeaderDesktopProps) {
const { openModal: openShortcutsModal } = useKeyboardShortcutsModal();
return (
<div className="hidden lg:flex items-center justify-between gap-6">
{/* Titre et status */}
<div className="flex items-center gap-6">
<div className="flex items-center gap-4 min-w-0">
<div className={`w-3 h-3 rounded-full shadow-lg ${
syncing
? 'bg-yellow-400 animate-spin shadow-yellow-400/50'
: 'bg-cyan-400 animate-pulse shadow-cyan-400/50'
}`}></div>
<div className="min-w-0">
<h1 className="text-xl xl:text-2xl font-mono font-bold text-[var(--foreground)] tracking-wider truncate">
<span className="sm:hidden">{title}</span>
<span className="hidden sm:inline">{title}</span>
</h1>
<p className="text-[var(--muted-foreground)] mt-1 font-mono text-xs sm:text-sm truncate">
{subtitle}
</p>
</div>
</div>
{/* Navigation desktop */}
<HeaderControls variant="desktop" />
</div>
{/* Contrôles à droite */}
<div className="flex items-center gap-2">
{/* Keyboard Shortcuts desktop */}
<button
onClick={openShortcutsModal}
className="text-[var(--muted-foreground)] hover:text-[var(--primary)] transition-colors p-1 rounded-md hover:bg-[var(--card-hover)]"
title="Raccourcis clavier (Cmd+?)"
>
<Emoji emoji="⌨️" size={16} />
</button>
<ThemeDropdown variant="desktop" />
<AuthButton />
</div>
</div>
);
}