<script>
	import { browser } from '$app/environment';
	import { maxSize } from '$lib/config';
	import { modulo } from '$lib/math';
	import { canvas } from '$lib/stores/canvas';
	import { sensor } from '$lib/stores/widgets';

	const kSensorSize = 2;

	let left;
	let right;
	let top;
	let bottom;

	let timer;
	const fetchItems = function fetchItems(left, top, right, bottom) {
		clearTimeout(timer);
		timer = setTimeout(() => {
			sensor.set({ left, top, right, bottom });
		}, 50);
	};

	$: {
		if (browser) {
			left = modulo($canvas.x - window.screen.width * kSensorSize, maxSize);
			top = modulo($canvas.y - window.screen.height * kSensorSize, maxSize);
			right = left + 2 * window.screen.width * kSensorSize;
			bottom = top + 2 * window.screen.height * kSensorSize;

			fetchItems(left, top, right, bottom);
		}
	}
</script>
