- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
22 lines
492 B
JavaScript
22 lines
492 B
JavaScript
'use client';
|
|
import { useEffect } from 'react';
|
|
import { useCallbackRef } from './use-callback-ref.mjs';
|
|
|
|
function useInterval(callback, delay) {
|
|
const fn = useCallbackRef(callback);
|
|
useEffect(() => {
|
|
let intervalId = null;
|
|
const tick = () => fn();
|
|
if (delay !== null) {
|
|
intervalId = window.setInterval(tick, delay);
|
|
}
|
|
return () => {
|
|
if (intervalId) {
|
|
window.clearInterval(intervalId);
|
|
}
|
|
};
|
|
}, [delay, fn]);
|
|
}
|
|
|
|
export { useInterval };
|