mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-20 16:51:10 +00:00
55 lines
1 KiB
JavaScript
55 lines
1 KiB
JavaScript
import { create } from 'zustand';
|
|
|
|
const useStreamsTableStore = create((set) => ({
|
|
streams: [],
|
|
pageCount: 0,
|
|
totalCount: 0,
|
|
sorting: [{ id: 'name', desc: false }],
|
|
pagination: {
|
|
pageIndex: 0,
|
|
pageSize: JSON.parse(localStorage.getItem('streams-page-size')) || 50,
|
|
},
|
|
selectedStreamIds: [],
|
|
allQueryIds: [],
|
|
lastQueryParams: null,
|
|
|
|
queryStreams: ({ results, count }, params) => {
|
|
set(() => ({
|
|
streams: results,
|
|
totalCount: count,
|
|
pageCount: Math.ceil(count / params.get('page_size')),
|
|
}));
|
|
},
|
|
|
|
setAllQueryIds: (allQueryIds) => {
|
|
set(() => ({
|
|
allQueryIds,
|
|
}));
|
|
},
|
|
|
|
setSelectedStreamIds: (selectedStreamIds) => {
|
|
set(() => ({
|
|
selectedStreamIds,
|
|
}));
|
|
},
|
|
|
|
setPagination: (pagination) => {
|
|
set(() => ({
|
|
pagination,
|
|
}));
|
|
},
|
|
|
|
setSorting: (sorting) => {
|
|
set(() => ({
|
|
sorting,
|
|
}));
|
|
},
|
|
|
|
setLastQueryParams: (lastQueryParams) => {
|
|
set(() => ({
|
|
lastQueryParams,
|
|
}));
|
|
},
|
|
}));
|
|
|
|
export default useStreamsTableStore;
|