import { IReactionPack } from '@livelike/javascript';
import { createStore } from './store';

export type ReactionPackStore = {
  [reactionSpaceId: string]: IReactionPack[];
};

const initialReactionPack: ReactionPackStore = {};

export const reactionPackStore = createStore(initialReactionPack);

export type UpdateReactionPackActionArgs = {
  reactionSpaceId: string;
  reactionPacks: IReactionPack[];
};

export const reactionPackStoreActions = {
  updateReactionPackAction({
    reactionSpaceId,
    reactionPacks,
  }: UpdateReactionPackActionArgs) {
    reactionPackStore.set({
      ...reactionPackStore.get(),
      [reactionSpaceId]: reactionPacks,
    });
  },
};
