/**
* useLastSaved Hook
* Track the last save timestamp based on dependencies
*
* @example
* const [data, setData] = useState({})
* const lastSaved = useLastSaved([data])
*
* Last saved: {lastSaved ? new Date(lastSaved).toLocaleString() : 'Never'}
*/
import { useState, useEffect } from 'react'
/**
* Hook that tracks when dependencies last changed
* @param dependencies - Array of values to watch
* @returns Timestamp of the last change, or null if never changed
*/
export function useLastSaved(dependencies: any[]): number | null {
const [lastSaved, setLastSaved] = useState(Date.now())
useEffect(() => {
setLastSaved(Date.now())
// eslint-disable-next-line react-hooks/exhaustive-deps
}, dependencies)
return lastSaved
}