Files
recall/src/components/work-mode-toggle.tsx
Daniel Arroyo ece8163d15 chore: Various improvements and CI setup
- Add Jenkinsfile for CI/CD pipeline
- Fix keyboard shortcut '?' handling for help dialog
- Update note form and connections components
- Add work mode toggle improvements
- Update navigation history and usage tracking
- Improve validators
- Add session summaries
2026-03-23 22:25:36 -03:00

36 lines
1.1 KiB
TypeScript

'use client'
import { useState, useEffect } from 'react'
import { getWorkMode, setWorkMode } from '@/lib/work-mode'
import { Button } from '@/components/ui/button'
import { Monitor, Eye } from 'lucide-react'
export function WorkModeToggle() {
const [enabled, setEnabled] = useState(false)
useEffect(() => {
setEnabled(getWorkMode())
const handlePreferencesChange = () => {
// Re-read work mode state when preferences change
setEnabled(getWorkMode())
}
window.addEventListener('preferences-updated', handlePreferencesChange)
return () => window.removeEventListener('preferences-updated', handlePreferencesChange)
}, [])
const toggle = () => {
const newValue = !enabled
setEnabled(newValue)
setWorkMode(newValue)
// Dispatch event so other components know work mode changed
window.dispatchEvent(new CustomEvent('work-mode-changed', { detail: { enabled: newValue } }))
}
return (
<Button variant="ghost" size="sm" onClick={toggle} title="Modo trabajo">
{enabled ? <Eye className="h-4 w-4" /> : <Monitor className="h-4 w-4" />}
</Button>
)
}