From a7cf03c192470cbab13edeb1aec99e0c66dede10 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Sun, 1 May 2022 00:56:06 +0200 Subject: Update / use typescript --- src/lib/stores/actions.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/lib/stores/actions.ts (limited to 'src/lib/stores/actions.ts') diff --git a/src/lib/stores/actions.ts b/src/lib/stores/actions.ts new file mode 100644 index 0000000..95702dc --- /dev/null +++ b/src/lib/stores/actions.ts @@ -0,0 +1,41 @@ +import { derived, writable } from 'svelte/store'; +import type { Readable, Writable } from 'svelte/store'; + +export type Actions = { + topic?: TopicAction +}; + +export type TopicAction = { + id: string +}; + +/* + * This is a store to set the actions in the top header. + */ + +const actions: Writable = writable({}); + +export const enableTopicActions = (id: string) => { + + actions.update((actionsValue: Actions): Actions => { + + actionsValue.topic = { + id + }; + return actionsValue; + }); +}; + +export const disableTopicActions = () => { + + actions.update((actionsValue): Actions => { + + delete actionsValue.topic; + return actionsValue; + }); +}; + +export const topicActions: Readable = derived( + actions, + ($actions) => $actions.topic +); -- cgit