Files
llink/js/desktop/src/stores/autoplay-payload-store.ts
T

18 lines
633 B
TypeScript

import { create } from "zustand";
import type { AutoplayPayload } from "@/lib/autoplay-ipc";
interface AutoplayPayloadState {
payload: AutoplayPayload | null;
pendingNav: { networkId: string; streamId: string; nonce: number } | null;
setPayload: (payload: AutoplayPayload | null) => void;
setPendingNav: (d: { networkId: string; streamId: string } | null) => void;
}
export const useAutoplayPayloadStore = create<AutoplayPayloadState>((set) => ({
payload: null,
pendingNav: null,
setPayload: (payload) => set({ payload }),
setPendingNav: (d) =>
set({ pendingNav: d ? { ...d, nonce: Date.now() } : null }),
}));