49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
import * as api from "../service/BlogService";
|
|
|
|
// برای client
|
|
export const useGetBlogs = () =>
|
|
useQuery({
|
|
queryKey: ["blogs"],
|
|
queryFn: api.getBlogs,
|
|
});
|
|
|
|
export const useGetBlogsPinned = () =>
|
|
useQuery({
|
|
queryKey: ["blogs-pinned"],
|
|
queryFn: api.getBlogsPinned,
|
|
});
|
|
|
|
export const useGetBlogCategories = () =>
|
|
useQuery({
|
|
queryKey: ["blog-categories"],
|
|
queryFn: api.getBlogCategories,
|
|
});
|
|
|
|
export const useGetBlogCombined = () =>
|
|
useQuery({
|
|
queryKey: ["blog-combined"],
|
|
queryFn: api.getCombinedBlogs,
|
|
});
|
|
|
|
// برای server prefetch
|
|
export const blogsQueryOptions = {
|
|
queryKey: ["blogs"],
|
|
queryFn: api.getBlogs,
|
|
};
|
|
|
|
export const blogsPinnedQueryOptions = {
|
|
queryKey: ["blogs-pinned"],
|
|
queryFn: api.getBlogsPinned,
|
|
};
|
|
|
|
export const blogCategoriesQueryOptions = {
|
|
queryKey: ["blog-categories"],
|
|
queryFn: api.getBlogCategories,
|
|
};
|
|
|
|
export const blogCombinedQueryOptions = {
|
|
queryKey: ["blog-combined"],
|
|
queryFn: api.getCombinedBlogs,
|
|
};
|