mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
wip (#135)
This commit is contained in:
35
web/lib/providers/deep-link-provider.tsx
Normal file
35
web/lib/providers/deep-link-provider.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
"use client"
|
||||
|
||||
import React, { useEffect, ReactNode } from "react"
|
||||
|
||||
interface DeepLinkProviderProps {
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export function DeepLinkProvider({ children }: DeepLinkProviderProps) {
|
||||
useEffect(() => {
|
||||
const eventHandlers: { [key: string]: (event: Event) => void } = {
|
||||
click: (event: Event) => {
|
||||
const e = event as MouseEvent
|
||||
console.log("Click event:", { x: e.clientX, y: e.clientY })
|
||||
},
|
||||
keydown: (event: Event) => {
|
||||
const e = event as KeyboardEvent
|
||||
console.log("Keydown event:", { key: e.key, code: e.code })
|
||||
}
|
||||
}
|
||||
|
||||
// just a react thing
|
||||
Object.entries(eventHandlers).forEach(([eventType, handler]) => {
|
||||
window.addEventListener(eventType, handler)
|
||||
})
|
||||
|
||||
return () => {
|
||||
Object.entries(eventHandlers).forEach(([eventType, handler]) => {
|
||||
window.removeEventListener(eventType, handler)
|
||||
})
|
||||
}
|
||||
}, [])
|
||||
|
||||
return <>{children}</>
|
||||
}
|
||||
Reference in New Issue
Block a user