import { create } from "zustand"; export enum EvaluateScene { list, publish, detail, user, userEdit, share, } export interface EvaluateCallback { type: EvaluateScene | '' next: (flag?: boolean) => void, onCancel: () => void, } export interface EvaluateCallbackType extends EvaluateCallback { setCallback: (options: { type: EvaluateScene | '', next: () => void, onCancel: () => void }) => void, clear: () => void, } export const useEvaluateCallback = create()((set) => ({ type: '', next: () => { }, onCancel: () => { }, setCallback: ({ type, next, onCancel }) => { set({ type, next, onCancel, }) }, clear: () => { set({ type: '', next: () => { }, onCancel: () => { } }) } })); export const useEvaluate = () => useEvaluateCallback(({ type, next, onCancel, setCallback, clear }) => ({ type, next, onCancel, setCallback, clear, }))