"use client"; import { create } from "zustand"; import { persist } from "zustand/middleware"; interface userPlayerPreferencesState { voiceover: Record; player: Record; getPreferredVoiceover: (id: number) => string | undefined; setPreferredVoiceover: (id: number, voiceover: string) => void; getPreferredPlayer: (id: number) => string | undefined; setPreferredPlayer: (id: number, player: string) => void; } export const useUserPlayerPreferencesStore = create()( persist( (set, get) => ({ voiceover: {}, player: {}, getPreferredVoiceover: (id: number) => get().voiceover[id], setPreferredVoiceover: (id: number, voiceover: string) => { set({ voiceover: { ...get().voiceover, [id]: voiceover }, player: get().player, }); }, getPreferredPlayer: (id: number) => get().player[id], setPreferredPlayer: (id: number, player: string) => { set({ player: { ...get().player, [id]: player }, voiceover: get().voiceover, }); }, }), { name: "player-preferences", } ) );