diff options
Diffstat (limited to 'assets/src/stores/received_requests.ts')
| -rw-r--r-- | assets/src/stores/received_requests.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/assets/src/stores/received_requests.ts b/assets/src/stores/received_requests.ts new file mode 100644 index 0000000..48916ad --- /dev/null +++ b/assets/src/stores/received_requests.ts @@ -0,0 +1,17 @@ +import { writable } from "svelte/store"; +import type { IncomingRequest } from "../models/incoming_request"; + +const createRequestStore = () => { + const { subscribe, update } = writable<IncomingRequest[]>([]); + + return { + subscribe, + addRequest: (request: IncomingRequest) => update(state => [request, ...state]), + removeRequest: (token: string) => + update(state => + state.filter(request => request.info.token !== token) + ), + }; +}; + +export default createRequestStore(); |
