export function throttle(callback, wait) {
    let timeoutId = null;
    let lastExecutedTime = 0;
  
    return function (...args) {
      const currentTime = Date.now();
  
      const execute = () => {
        lastExecutedTime = currentTime;
        callback.apply(this, args);
      };
  
      if (currentTime - lastExecutedTime >= wait) {
        execute();
      } else {
        clearTimeout(timeoutId);
        timeoutId = setTimeout(execute, wait - (currentTime - lastExecutedTime));
      }
    };
  }
  