allVersions: sortAllVersions()

in apps/chat/src/store/publication/publication.reducers.ts [218:274]


            allVersions: sortAllVersions(
              uniqBy(
                [
                  ...(state.publicVersionGroups[key]?.allVersions || []),
                  ...(payload.publicVersionGroups[key]?.allVersions || []),
                ],
                'id',
              ),
            ),
          };
        }
      }
    },
    setSelectedVersionForPublicVersionGroup: (
      state,
      {
        payload,
      }: PayloadAction<{
        versionGroupId: string;
        newVersion: PublicVersionOption;
      }>,
    ) => {
      // link to state.publicVersionGroups[payload.versionGroupId]
      const versionGroup = state.publicVersionGroups[payload.versionGroupId];

      if (versionGroup) {
        versionGroup.selectedVersion = payload.newVersion;
      }
    },
    removePublicVersionGroups: (
      state,
      {
        payload,
      }: PayloadAction<{
        groupsToRemove: {
          versionGroupId: string;
          groupIds: string[];
        }[];
      }>,
    ) => {
      // versionGroups it's a link to state.publicVersionGroups[payload.versionGroupId]
      const groupWithIdsToRemove = payload.groupsToRemove.map((group) => ({
        versionGroup: state.publicVersionGroups[group.versionGroupId],
        idsToRemove: group.groupIds,
        versionGroupId: group.versionGroupId,
      }));

      groupWithIdsToRemove.forEach(
        ({ versionGroup, idsToRemove, versionGroupId }) => {
          if (versionGroup) {
            const filteredVersionGroups = versionGroup.allVersions.filter(
              (group) => !idsToRemove.includes(group.id),
            );

            versionGroup.allVersions = filteredVersionGroups;

            if (idsToRemove.includes(versionGroup.selectedVersion.id)) {