Files
breakpilot-lehrer/studio-v2/components/ThemeToggle.tsx
Benjamin Boenisch 5a31f52310 Initial commit: breakpilot-lehrer - Lehrer KI Platform
Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website,
Klausur-Service, School-Service, Voice-Service, Geo-Service,
BreakPilot Drive, Agent-Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:26 +01:00

47 lines
1.5 KiB
TypeScript

'use client'
import { useTheme } from '@/lib/ThemeContext'
interface ThemeToggleProps {
className?: string
}
export function ThemeToggle({ className = '' }: ThemeToggleProps) {
const { toggleTheme, isDark } = useTheme()
return (
<button
onClick={toggleTheme}
className={`p-3 backdrop-blur-xl border rounded-2xl transition-all ${
isDark
? 'bg-white/10 border-white/20 text-white hover:bg-white/20'
: 'bg-black/5 border-black/10 text-slate-700 hover:bg-black/10'
} ${className}`}
aria-label={isDark ? 'Switch to light mode' : 'Switch to dark mode'}
title={isDark ? 'Hell' : 'Dunkel'}
>
{isDark ? (
// Sun icon for switching to light mode
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
/>
</svg>
) : (
// Moon icon for switching to dark mode
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
/>
</svg>
)}
</button>
)
}