import { create } from "zustand";

export type State = {
  pageSize: 15 | 50 | 100;
  currentPage: number;
  totalPages: number;
};

export type Actions = {
  setPageSize: (size: 15 | 50 | 100) => void;
  setCurrentPage: (page: number | undefined) => void;
  setTotalPages: (total: number | undefined) => void;
};

export const usePaginationStore = create<State & Actions>((set) => ({
  pageSize: 15,
  currentPage: 1,
  totalPages: 1,
  setPageSize: (size) => set({ pageSize: size, currentPage: 1 }),
  setCurrentPage: (page) => set({ currentPage: page }),
  setTotalPages: (total) => set({ totalPages: total ?? 1 }),
}));
