mono/packages/kbot/ref/hooks/useFileHistorySnapshotInit.ts
2026-04-01 01:05:48 +02:00

26 lines
767 B
TypeScript

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])
}