import { defineStore } from 'pinia'; import { useServerPagination } from '@/composables/useServerPagination'; import { pagesRepo } from '@/data/repositories/pagesRepo'; import { STORE_PERSISTENT_KEYS } from '@/types/enums'; import type { WordPressPage } from '@/types/models/pagesModels'; export const usePagesStore = defineStore( 'pagesStore', () => { const serverPagination = useServerPagination( async (page: number, perPage: number) => await pagesRepo.getPagesWithSubscriptionBlock({ page, perPage }, undefined), { itemsPerPage: 5, initialPage: 1, autoLoad: true } ); const resetToFirstPage = async () => { await serverPagination.goToPage(1); }; return { pages: serverPagination.items, isPagesLoading: serverPagination.isLoading, resetToFirstPage, ...serverPagination }; }, { persist: { key: STORE_PERSISTENT_KEYS.PAGES_STORE } } );