Files
Genarrative/src/components/rpg-entry/useRpgEntrySaveResume.ts
2026-04-21 18:27:46 +08:00

29 lines
755 B
TypeScript

import { useCallback } from 'react';
import type { ProfileSaveArchiveSummary } from '../../../packages/shared/src/contracts/runtime';
type UseRpgEntrySaveResumeParams = {
handleResumeSaveEntry: (entry: ProfileSaveArchiveSummary) => Promise<void>;
};
/**
* RPG 入口域里的“继续游戏”入口只负责转发恢复动作,
* 让壳层组件不直接知道具体的存档恢复实现细节。
*/
export function useRpgEntrySaveResume(
params: UseRpgEntrySaveResumeParams,
) {
const { handleResumeSaveEntry } = params;
const resumeSelectedSave = useCallback(
async (entry: ProfileSaveArchiveSummary) => {
await handleResumeSaveEntry(entry);
},
[handleResumeSaveEntry],
);
return {
resumeSelectedSave,
};
}