Files
appco_dist/.output/server/chunks/build/userPostsStore-Bdw9FITb.mjs
T
2025-08-24 13:00:31 +03:30

56 lines
1.4 KiB
JavaScript

import { defineStore } from 'pinia';
import { ref, computed, nextTick } from 'vue';
import { a as useConfigStore } from './server.mjs';
import { a as getUserPosts } from './media-c-l6vPxp.mjs';
const useUserPostStore = defineStore("userPosts", () => {
const posts = ref([]);
const endPage = ref(false);
const config = useConfigStore();
const loading2 = ref(false);
const currentPage = ref(0);
const limit = ref(15);
const total = ref(0);
computed(() => config.sellerConfig?.store);
async function loadPosts(userId, page) {
try {
loading2.value = true;
await nextTick();
const res = await getUserPosts(userId, page, limit.value);
loading2.value = false;
return res;
} catch (e) {
console.log(e);
} finally {
loading2.value = false;
}
}
function loadStateNextPage(res) {
posts.value.push(...res?.data ?? []);
total.value = res?.count ?? 0;
currentPage.value++;
if (posts.value.length >= total.value) {
endPage.value = true;
}
}
function reset() {
currentPage.value = 0;
posts.value = [];
total.value = 0;
endPage.value = false;
}
return {
loadPosts,
posts,
reset,
loadStateNextPage,
endPage,
currentPage,
limit,
loading: loading2
};
});
export { useUserPostStore as u };
//# sourceMappingURL=userPostsStore-Bdw9FITb.mjs.map