* sorting

add menu
add sort by left to Read
add sort alphabetical
add sort by ID
add Asc/Desc

* woops

* woops

* Camel case
This commit is contained in:
robo
2022-02-24 06:16:21 +00:00
committed by GitHub
parent 55a3f8ed23
commit d4221044cc
3 changed files with 93 additions and 3 deletions

View File

@@ -10,22 +10,38 @@ import { BooleanParam, useQueryParam, StringParam } from 'use-query-params';
interface IUseLibraryOptions {
downloaded: NullAndUndefined<boolean>
setDownloaded: (downloaded: NullAndUndefined<boolean>)=>void
setDownloaded: (downloaded: NullAndUndefined<boolean>) => void
unread: NullAndUndefined<boolean>
setUnread: (unread: NullAndUndefined<boolean>) => void
query: NullAndUndefined<string>
setQuery: (query: NullAndUndefined<string>) => void
active: boolean
sorts: NullAndUndefined<string>
setSorts: (sorts: NullAndUndefined<string>) => void
sortDesc: NullAndUndefined<boolean>
setSortDesc: (sortDesc: NullAndUndefined<boolean>) => void
}
export default function useLibraryOptions(): IUseLibraryOptions {
const [downloaded, setDownloaded] = useQueryParam('downloaded', BooleanParam);
const [unread, setUnread] = useQueryParam('unread', BooleanParam);
const [query, setQuery] = useQueryParam('query', StringParam);
const [sorts, setSorts] = useQueryParam('sorts', StringParam);
const [sortDesc, setSortDesc] = useQueryParam('sortDesc', BooleanParam);
// eslint-disable-next-line eqeqeq
const active = !(unread == undefined) || !(downloaded == undefined);
return {
downloaded, setDownloaded, unread, setUnread, query, setQuery, active,
downloaded,
setDownloaded,
unread,
setUnread,
query,
setQuery,
active,
sorts,
setSorts,
sortDesc,
setSortDesc,
};
}