misc_pterodactyl-panel/resources/scripts/state/admin/mounts.ts
2022-12-15 19:06:14 -07:00

29 lines
841 B
TypeScript

import type { Action } from 'easy-peasy';
import { action } from 'easy-peasy';
interface AdminMountStore {
selectedMounts: number[];
setSelectedMounts: Action<AdminMountStore, number[]>;
appendSelectedMount: Action<AdminMountStore, number>;
removeSelectedMount: Action<AdminMountStore, number>;
}
const mounts: AdminMountStore = {
selectedMounts: [],
setSelectedMounts: action((state, payload) => {
state.selectedMounts = payload;
}),
appendSelectedMount: action((state, payload) => {
state.selectedMounts = state.selectedMounts.filter(id => id !== payload).concat(payload);
}),
removeSelectedMount: action((state, payload) => {
state.selectedMounts = state.selectedMounts.filter(id => id !== payload);
}),
};
export type { AdminMountStore };
export default mounts;