Files
DeviceManager/src/lib/share.ts
Thea Schöbl 2808973ad0 feat: enable stricter type checking options
feat: make the app more fault tolerant
2024-04-06 14:28:23 +02:00

26 lines
587 B
TypeScript

import type { Action } from "svelte/action";
import { readonly, writable } from "svelte/store";
const setCanShare = writable(false);
export const canShare = readonly(setCanShare);
let shareCallback: ((event: Event) => void) | undefined;
export function triggerShare(event: Event) {
shareCallback?.(event);
}
export const share: Action<Window, (event: Event) => void> = (
_node,
callback: (event: Event) => void,
) => {
setCanShare.set(true);
shareCallback = callback;
return {
destroy() {
setCanShare.set(false);
shareCallback = undefined;
},
};
};