1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Refactoring duplicates code

This commit is contained in:
grafixeyehero 2022-08-21 03:09:22 +03:00
parent 368a6064c2
commit cf137497a0
20 changed files with 491 additions and 513 deletions

View file

@ -5,13 +5,16 @@ import * as userSettings from '../../scripts/settings/userSettings';
import { IQuery } from './type';
type SortProps = {
sortMenuOptions: () => { name: string; id: string}[];
getSortMenuOptions: () => {
name: string;
id: string;
}[];
query: IQuery;
savedQueryKey: string;
getSettingsKey: () => string;
reloadItems: () => void;
}
const Sort: FunctionComponent<SortProps> = ({ sortMenuOptions, query, savedQueryKey, reloadItems }: SortProps) => {
const Sort: FunctionComponent<SortProps> = ({ getSortMenuOptions, query, getSettingsKey, reloadItems }: SortProps) => {
const element = useRef<HTMLDivElement>(null);
useEffect(() => {
@ -20,10 +23,10 @@ const Sort: FunctionComponent<SortProps> = ({ sortMenuOptions, query, savedQuery
if (btnSort) {
btnSort.addEventListener('click', (e) => {
libraryBrowser.showSortMenu({
items: sortMenuOptions(),
items: getSortMenuOptions(),
callback: () => {
query.StartIndex = 0;
userSettings.saveQuerySettings(savedQueryKey, query);
userSettings.saveQuerySettings(getSettingsKey(), query);
reloadItems();
},
query: query,
@ -31,7 +34,7 @@ const Sort: FunctionComponent<SortProps> = ({ sortMenuOptions, query, savedQuery
});
});
}
}, [sortMenuOptions, query, reloadItems, savedQueryKey]);
}, [getSortMenuOptions, query, reloadItems, getSettingsKey]);
return (
<div ref={element}>