32 lines
627 B
TypeScript
32 lines
627 B
TypeScript
|
/*
|
||
|
SPDX-FileCopyrightText: © 2025 Hornwitser <code@hornwitser.no>
|
||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||
|
*/
|
||
|
|
||
|
export const useEventsStore = defineStore("events", () => {
|
||
|
const state = {
|
||
|
lastEventId: ref(0),
|
||
|
};
|
||
|
const getters = {
|
||
|
}
|
||
|
const actions = {
|
||
|
async fetchLastEventId() {
|
||
|
const requestFetch = useRequestFetch();
|
||
|
state.lastEventId.value = await requestFetch("/api/last-event-id");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
appEventSource?.addEventListener("event", (event) => {
|
||
|
if (event.data.id !== undefined) {
|
||
|
state.lastEventId.value = event.data.id
|
||
|
return;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
return {
|
||
|
...state,
|
||
|
...getters,
|
||
|
...actions,
|
||
|
};
|
||
|
});
|