misc_pterodactyl-panel/resources/scripts/state/admin/servers.ts

27 lines
797 B
TypeScript

import { action, Action } from 'easy-peasy';
export interface AdminServerStore {
selectedServers: number[];
setSelectedServers: Action<AdminServerStore, number[]>;
appendSelectedServer: Action<AdminServerStore, number>;
removeSelectedServer: Action<AdminServerStore, number>;
}
const roles: AdminServerStore = {
selectedServers: [],
setSelectedServers: action((state, payload) => {
state.selectedServers = payload;
}),
appendSelectedServer: action((state, payload) => {
state.selectedServers = state.selectedServers.filter(id => id !== payload).concat(payload);
}),
removeSelectedServer: action((state, payload) => {
state.selectedServers = state.selectedServers.filter(id => id !== payload);
}),
};
export default roles;