mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-26 07:44:05 +00:00
Major additions: - Complete Next.js studio application with 1600+ components - Docker support (Dockerfile.combined, docker-compose.yml) - GCP deployment documentation and benchmarks - SQL benchmark scripts for performance testing - Sentry integration for monitoring - Comprehensive test suite and mocks Studio features: - Dashboard and admin interfaces - Data visualization components - Authentication and user management - API integration with RuVector backend - Static data and public assets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
25 lines
604 B
TypeScript
25 lines
604 B
TypeScript
import { useEffect } from 'react'
|
|
|
|
export function useHotKey(
|
|
callback: (e: KeyboardEvent) => void,
|
|
key: string,
|
|
dependencies: any[] = [],
|
|
options?: { enabled?: boolean }
|
|
): void {
|
|
const enabled = options?.enabled ?? true
|
|
|
|
useEffect(() => {
|
|
if (!enabled) return
|
|
|
|
function handler(e: KeyboardEvent) {
|
|
if ((e.metaKey || e.ctrlKey) && e.key === key && !e.altKey && !e.shiftKey) {
|
|
callback(e)
|
|
}
|
|
}
|
|
|
|
window.addEventListener('keydown', handler)
|
|
return () => {
|
|
window.removeEventListener('keydown', handler)
|
|
}
|
|
}, [key, enabled, ...dependencies])
|
|
}
|