| import { useEffect, useRef } from 'react' | |
| import { | |
| type FileHistorySnapshot, | |
| type FileHistoryState, | |
| fileHistoryEnabled, | |
| fileHistoryRestoreStateFromLog, | |
| } from '../utils/fileHistory.js' | |
| export function useFileHistorySnapshotInit( | |
| initialFileHistorySnapshots: FileHistorySnapshot[] | undefined, | |
| fileHistoryState: FileHistoryState, | |
| onUpdateState: (newState: FileHistoryState) => void, | |
| ): void { | |
| const initialized = useRef(false) | |
| useEffect(() => { | |
| if (!fileHistoryEnabled() || initialized.current) { | |
| return | |
| } | |
| initialized.current = true | |
| if (initialFileHistorySnapshots) { | |
| fileHistoryRestoreStateFromLog(initialFileHistorySnapshots, onUpdateState) | |
| } | |
| }, [fileHistoryState, initialFileHistorySnapshots, onUpdateState]) | |
| } | |