// imports import { useQuery } from "@tanstack/vue-query"; import { API_ENDPOINTS, QUERY_KEYS } from "~/constants"; // types export type GetArticlesResponse = ApiPaginated
; const useGetArticles = ( page: Ref, search?: Ref ) => { // state const { $axios: axios } = useNuxtApp(); // methods const handleGetArticles = async () => { const { data } = await axios.get(`${API_ENDPOINTS.blog.articles}`, { params: { offset: (page.value * 10) - 10, limit: 10, search: search ? (search.value.length > 0 ? search.value : undefined) : undefined, } }); return data; }; return useQuery({ queryKey: [QUERY_KEYS.articles, page, search], queryFn: () => handleGetArticles() }); }; export default useGetArticles;