44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import { defineStore } from 'pinia';
|
|
import { b as getStories, i as isStoryInLocalSeen } from './media-BbtM6xvT.mjs';
|
|
import { ref } from 'vue';
|
|
import { groupBy } from 'lodash-es';
|
|
|
|
const useMediaStore = defineStore("media", () => {
|
|
const users = ref([]);
|
|
const getList = async () => {
|
|
users.value = [];
|
|
const res = await getStories();
|
|
const group = groupBy(res, "user_id");
|
|
Object.keys(group).forEach((userId) => {
|
|
var _a;
|
|
if ((_a = group[userId]) == null ? void 0 : _a.length) {
|
|
const user = group[userId][0].users;
|
|
const media = group[userId].filter((item) => {
|
|
var _a2;
|
|
return (_a2 = item == null ? void 0 : item.mediaitems) == null ? void 0 : _a2.length;
|
|
}).map((item) => {
|
|
let storyView = item.storyviews;
|
|
if (isStoryInLocalSeen(item.id)) {
|
|
storyView = [...storyView != null ? storyView : [], { user_id: "me" }];
|
|
}
|
|
return {
|
|
id: item.id,
|
|
caption: item.caption,
|
|
storyviews: storyView,
|
|
url: item.mediaitems[0].media_url,
|
|
type: item.mediaitems[0].media_type
|
|
};
|
|
});
|
|
users.value.push({ id: userId, name: user == null ? void 0 : user.name, avatar: user == null ? void 0 : user.avatar, stories: media });
|
|
}
|
|
});
|
|
};
|
|
return {
|
|
users,
|
|
getList
|
|
};
|
|
});
|
|
|
|
export { useMediaStore as u };
|
|
//# sourceMappingURL=media-kxpEX2xr.mjs.map
|