Returns {
currentPage: number;
getFilteredAndSortedRepos: () => {
paginatedRepos: Repository[];
totalCount: number;
};
getUniqueLanguages: () => string[];
itemsPerPage: number;
searchQuery: string;
selectedLanguage: string;
setCurrentPage: Dispatch<SetStateAction<number>>;
setSearchQuery: Dispatch<SetStateAction<string>>;
setSelectedLanguage: Dispatch<SetStateAction<string>>;
setSortBy: Dispatch<SetStateAction<"stars" | "forks" | "updated">>;
setSortOrder: Dispatch<SetStateAction<"asc" | "desc">>;
sortBy: "stars" | "forks" | "updated";
sortOrder: "asc" | "desc";
}
State and functions for filtering repositories
currentPage: number
getFilteredAndSortedRepos: () => { paginatedRepos: Repository[]; totalCount: number }
getUniqueLanguages: () => string[]
itemsPerPage: number
searchQuery: string
selectedLanguage: string
setCurrentPage: Dispatch<SetStateAction<number>>
setSearchQuery: Dispatch<SetStateAction<string>>
setSelectedLanguage: Dispatch<SetStateAction<string>>
setSortBy: Dispatch<SetStateAction<"stars" | "forks" | "updated">>
setSortOrder: Dispatch<SetStateAction<"asc" | "desc">>
sortBy: "stars" | "forks" | "updated"
sortOrder: "asc" | "desc"
Custom hook for filtering and sorting repository data
This hook provides: