import { MouseEvent } from 'react';
import { useNavigate } from 'react-router';
import { useOperatingSystem, useSearchStore } from '~/hooks';

export const useMouseNavigate = () => {
	const idx = history.state.idx as number;
	const navigate = useNavigate();
	const { isFocused } = useSearchStore();
	const os = useOperatingSystem();
	const realOs = useOperatingSystem(true);

	const handler = (e: MouseEvent) => {
		if (os !== 'browser' || realOs !== 'macOS') return;
		if (e.buttons === 8) {
			if (idx === 0 || isFocused) return;
			navigate(-1);
		} else if (e.buttons === 16) {
			if (idx === history.length - 1 || isFocused) return;
			navigate(1);
		}
	};

	return handler;
};
